/* Coach console — "the board" (4.18). Black-and-gold frame, bright working
 * sheets. Spec: the v2 concept book (docs/overhaul/COACH_CONSOLE_DESIGN.md).
 *
 * Loaded after console-overhaul.css and scoped to the coach shell, screen
 * only; reports keep their own print sheet. The frame — the menu rail and the
 * phone bar — is black in both themes because that is where the logo lives;
 * only the working sheets follow the light/dark choice.
 */
@media screen {
  /* ---------- Type and palette ---------- */
  html:has(#shell.coach-athletic-shell) {
    --font-ui: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
    --f-board: "Archivo", "Plus Jakarta Sans", system-ui, sans-serif;
    --board-black: #0d0d0e;
    --board-black-2: #1a1a1c;
    --board-rail-ink: #c4bfb3;
    --board-rail-dim: #948f84;
  }
  html[data-theme="light"]:has(#shell.coach-athletic-shell) {
    --paper: #f3f3f1;
    --ground: #f3f3f1;
    --canvas: #f3f3f1;
    --card: #ffffff;
    --surface: #ffffff;
    --card-2: #f6f6f3;
    --card-3: #ecebe7;
    --band: #efeeea;
    --band-2: #f8f8f6;
    --rule: #dcdad4;
    --rule-2: #e9e8e3;
    --line: #dcdad4;
    --line-2: #e9e8e3;
    background: #f3f3f1;
  }
  html[data-theme="dark"]:has(#shell.coach-athletic-shell) {
    --paper: #0e0e0f;
    --ground: #0e0e0f;
    --canvas: #0e0e0f;
    --card: #17171a;
    --surface: #17171a;
    --card-2: #1d1d20;
    --card-3: #26262a;
    --field: #131315;
    --band: #222226;
    --band-2: #1b1b1e;
    --rule: #2f2f34;
    --rule-2: #242428;
    --line: #2f2f34;
    --line-2: #242428;
    background: #0e0e0f;
  }
  html:has(#shell.coach-athletic-shell) body {
    font-family: var(--font-ui);
  }
  #shell.coach-athletic-shell {
    --cx-radius: 16px;
    --cx-radius-s: 10px;
  }

  /* ---------- The rail: black in both themes ---------- */
  #shell.coach-athletic-shell .rail {
    background: var(--board-black);
    border-right: 0;
    color: var(--board-rail-ink);
    padding: 22px 14px 16px;
  }
  html[data-theme="dark"] #shell.coach-athletic-shell .rail {
    border-right: 1px solid #1f1f22;
  }
  #shell.coach-athletic-shell .rail .brandmark {
    padding: 0 6px 18px;
  }
  #shell.coach-athletic-shell .rail .brandmark.has-logo .logo {
    width: 176px !important;
    height: 64px !important;
    object-fit: contain;
    object-position: left center;
  }
  #shell.coach-athletic-shell .rail .brandmark .nm {
    color: #fff;
  }
  #shell.coach-athletic-shell .rail .brandmark .ro {
    color: var(--board-rail-dim);
  }
  #shell.coach-athletic-shell .rail .grp {
    padding: 20px 12px 6px;
    color: var(--board-rail-dim);
    font-size: 0.75rem;
    font-weight: 600;
  }
  #shell.coach-athletic-shell .rail nav button,
  #shell.coach-athletic-shell .rail .nav-extras > summary {
    min-height: 40px;
    border-radius: 10px;
    color: var(--board-rail-ink);
    font-size: 0.9rem;
    font-weight: 600;
    gap: 12px;
  }
  #shell.coach-athletic-shell .rail nav button .gl {
    color: var(--board-rail-dim);
  }
  #shell.coach-athletic-shell .rail nav button:hover,
  #shell.coach-athletic-shell .rail .nav-extras > summary:hover {
    background: var(--board-black-2);
    color: #fff;
  }
  #shell.coach-athletic-shell .rail nav button[aria-current="page"] {
    background: linear-gradient(90deg, rgb(228 180 60 / 0.22), rgb(228 180 60 / 0.05));
    color: #f8e588;
  }
  #shell.coach-athletic-shell .rail nav button[aria-current="page"] .gl {
    color: #e4b43c;
  }
  #shell.coach-athletic-shell .rail nav button[aria-current="page"]::before {
    display: none;
  }
  #shell.coach-athletic-shell .rail .pip:not(.hide) {
    background: #e4b43c;
    color: #141005;
    font-weight: 800;
  }
  #shell.coach-athletic-shell .rail .nav-extras,
  #shell.coach-athletic-shell .rail-foot {
    border-top-color: #242427;
  }
  #shell.coach-athletic-shell .rail .nav-extras > summary {
    color: var(--board-rail-dim);
  }
  #shell.coach-athletic-shell .rail .rail-foot .who b {
    color: #fff;
  }
  #shell.coach-athletic-shell .rail .rail-foot .who > span > span,
  #shell.coach-athletic-shell .rail .rail-foot .built {
    color: var(--board-rail-dim);
  }
  #shell.coach-athletic-shell .rail .rail-foot .built a {
    color: var(--board-rail-ink);
  }
  #shell.coach-athletic-shell .rail .rail-foot .row > .btn:not(.gold):not(.primary):not([aria-pressed="true"]) {
    background: var(--board-black-2);
    color: #ece8de;
  }
  #shell.coach-athletic-shell .rail .rail-foot .row > .btn:not(.gold):not(.primary):not(:disabled):hover {
    background: #26262a;
  }
  #shell.coach-athletic-shell .rail :focus-visible {
    outline: 2px solid #e4b43c;
    outline-offset: 2px;
  }
  /* Phone: the same black frame across the top. */
  @media (max-width: 900px) {
    html:has(#shell.coach-athletic-shell) .topbar {
      background: var(--board-black);
      border-bottom-color: #242427;
    }
    html:has(#shell.coach-athletic-shell) .topbar .nm {
      color: #fff;
    }
    html:has(#shell.coach-athletic-shell) .topbar .ro {
      color: var(--board-rail-dim);
    }
    html:has(#shell.coach-athletic-shell) .burger {
      background: var(--board-black-2);
      border-color: #2c2c30;
    }
    html:has(#shell.coach-athletic-shell) .burger span,
    html:has(#shell.coach-athletic-shell) .burger span::before,
    html:has(#shell.coach-athletic-shell) .burger span::after {
      background: #f4f1ea;
    }
  }

  /* ---------- Page header ---------- */
  #shell.coach-athletic-shell .coach-contextbar {
    background: transparent;
    border-bottom: 0;
  }
  #shell.coach-athletic-shell .workspace-heading h1,
  #shell.coach-athletic-shell .main h1 {
    font-family: var(--f-board);
    font-size: 2.05rem;
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.02em;
  }
  #shell.coach-athletic-shell .main h2 {
    font-family: var(--f-board);
    font-weight: 700;
    letter-spacing: -0.01em;
  }
  #shell.coach-athletic-shell .workspace-heading .sub {
    font-weight: 500;
  }
  @media (max-width: 700px) {
    #shell.coach-athletic-shell .workspace-heading h1,
    #shell.coach-athletic-shell .main h1 {
      font-size: 1.7rem;
    }
  }

  /* ---------- Sheets, buttons, labels ---------- */
  #shell.coach-athletic-shell .card {
    border-color: var(--rule-2);
    border-radius: 16px;
  }
  html[data-theme="light"] #shell.coach-athletic-shell .card {
    box-shadow: 0 1px 2px rgb(20 20 20 / 0.04);
  }
  #shell.coach-athletic-shell .btn {
    border-radius: 12px;
    font-weight: 700;
  }
  #shell.coach-athletic-shell .main .btn.gold,
  #shell.coach-athletic-shell .main .btn.primary {
    box-shadow: inset 0 -2px 0 rgb(0 0 0 / 0.1);
  }
  html[data-theme="light"] #shell.coach-athletic-shell .main .btn:not(.gold):not(.primary):not([aria-pressed="true"]) {
    background: #fff;
    box-shadow: inset 0 0 0 1px var(--rule);
  }
  html[data-theme="light"] #shell.coach-athletic-shell .main .btn:not(.gold):not(.primary):not(:disabled):hover {
    background: var(--card-2);
  }
  html[data-theme="light"] #shell.coach-athletic-shell .main :is(td, .library-row-actions, .package-row-actions, .session-row-actions, .row-actions, .seg, .roster-stages, .welcome-onboarding) .btn:not(.gold):not(.primary),
  html[data-theme="light"] #shell.coach-athletic-shell .main .welcome-onboarding button {
    background: transparent;
    box-shadow: none;
  }
  #shell.coach-athletic-shell .main .tag {
    font-weight: 700;
  }

  /* ---------- Today: the board ---------- */
  #shell.coach-athletic-shell .athletic-day .welcome-intro h1 {
    margin: 0 0 4px;
    font-family: var(--font-ui);
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0;
    color: var(--ink-2);
  }
  #shell.coach-athletic-shell .athletic-day .welcome-intro h2 {
    margin: 0;
    font-size: 2.05rem;
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.02em;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-date {
    margin: 8px 0 0;
    color: var(--ink-2);
    font-weight: 600;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-intro {
    display: flex;
    flex-direction: column;
  }

  /* Count cards: big numbers that also take you there. */
  #shell.coach-athletic-shell .athletic-day .welcome-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 20px;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-stat {
    display: grid;
    gap: 2px;
    min-height: 0;
    padding: 14px 16px;
    border: 0;
    border-radius: 16px;
    background: var(--card);
    box-shadow: 0 0 0 1px var(--rule-2);
    text-align: left;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-stat:hover {
    box-shadow: 0 0 0 1.5px var(--ink-3);
  }
  #shell.coach-athletic-shell .athletic-day .welcome-stat .welcome-stat-icon {
    display: none;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-stat > span {
    display: grid;
    gap: 2px;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-stat strong {
    font-family: var(--f-board);
    font-size: 1.9rem;
    font-weight: 900;
    line-height: 1.05;
    color: var(--ink);
  }
  #shell.coach-athletic-shell .athletic-day .welcome-stat strong + span {
    color: var(--ink-2);
    font-size: 0.82rem;
    font-weight: 600;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-stat.needs-action strong {
    color: var(--warn-ink, #a86400);
  }
  html[data-theme="dark"] #shell.coach-athletic-shell .athletic-day .welcome-stat.needs-action strong {
    color: #e3a447;
  }

  /* Next up: the one dark card on the page. */
  #shell.coach-athletic-shell .athletic-day .welcome-next {
    position: relative;
    overflow: hidden;
    padding: 22px 24px;
    border: 0;
    border-radius: 20px;
    background: var(--board-black);
    color: #f4f1ea;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-next::after {
    content: "";
    position: absolute;
    right: -70px;
    top: -70px;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    background: radial-gradient(circle, rgb(228 180 60 / 0.22), transparent 70%);
    pointer-events: none;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-next-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #cfc9bc;
    font-weight: 600;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-next-heading .tag {
    color: #f8e588;
    background: rgb(228 180 60 / 0.16);
  }
  #shell.coach-athletic-shell .athletic-day .welcome-next-person,
  #shell.coach-athletic-shell .athletic-day .welcome-next-person:not(.gold):not(.primary):not([aria-pressed="true"]) {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: center;
    gap: 6px 20px;
    width: 100%;
    margin: 12px 0 4px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: inherit;
    text-align: left;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-next-person time {
    order: -1;
    font-family: var(--f-board);
    font-size: 4.2rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.04em;
    color: #e4b43c;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-next-person time small {
    display: block;
    margin-top: 4px;
    font-family: var(--font-ui);
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0;
    color: #cfc9bc;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-next-person > div {
    display: grid;
    gap: 2px;
    min-width: 0;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-next-person strong {
    font-family: var(--f-board);
    font-size: 1.3rem;
    font-weight: 800;
    color: #fff;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-next-person span {
    color: #cfc9bc;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-next-person .welcome-next-open {
    color: #f8e588;
    font-weight: 700;
    font-size: 0.85rem;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-next-person:hover strong {
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-next .welcome-next-flag {
    display: flex;
    gap: 10px;
    margin: 12px 0 0;
    padding: 11px 14px;
    border-radius: 12px;
    background: rgb(236 122 99 / 0.14);
    color: #f6bcaf;
    font-weight: 600;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-next .welcome-next-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-next .welcome-next-actions .btn:not(.gold):not(.primary) {
    background: #232326;
    color: #fff;
    box-shadow: none;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-next .welcome-next-actions .btn:not(.gold):not(.primary):hover {
    background: #2e2e32;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-next .welcome-next-empty strong {
    color: #fff;
    font-family: var(--f-board);
    font-size: 1.25rem;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-next .welcome-next-empty p {
    color: #cfc9bc;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-next :focus-visible {
    outline-color: #f8e588;
  }

  /* Needs attention: a coloured edge says how urgent, the line says why. */
  #shell.coach-athletic-shell .athletic-day .welcome-priorities .priority-row,
  #shell.coach-athletic-shell .athletic-day .welcome-request {
    position: relative;
    padding-left: 16px;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-priorities .priority-row::before,
  #shell.coach-athletic-shell .athletic-day .welcome-request::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    bottom: 12px;
    width: 5px;
    border-radius: 0 4px 4px 0;
    background: var(--warn-ink, #a86400);
  }
  #shell.coach-athletic-shell .athletic-day .welcome-priorities .priority-row[data-tone="bad"]::before {
    background: #c2412d;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-priorities .priority-row:is([data-tone="info"], [data-tone="mut"], [data-tone="gold"], [data-tone="ok"])::before {
    background: #2b62a8;
  }
  html[data-theme="dark"] #shell.coach-athletic-shell .athletic-day .welcome-priorities .priority-row::before,
  html[data-theme="dark"] #shell.coach-athletic-shell .athletic-day .welcome-request::before {
    background: #e3a447;
  }
  html[data-theme="dark"] #shell.coach-athletic-shell .athletic-day .welcome-priorities .priority-row[data-tone="bad"]::before {
    background: #ec7a63;
  }
  html[data-theme="dark"] #shell.coach-athletic-shell .athletic-day .welcome-priorities .priority-row:is([data-tone="info"], [data-tone="mut"], [data-tone="gold"], [data-tone="ok"])::before {
    background: #79a8ea;
  }
  #shell.coach-athletic-shell .athletic-day .welcome-count {
    background: #c2412d;
    color: #fff;
    font-family: var(--f-board);
    font-weight: 800;
  }

  /* Today's sessions: a timeline, not a stack of buttons. */
  #shell.coach-athletic-shell .athletic-day .welcome-session time {
    font-family: var(--f-board);
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--ink);
  }
  #shell.coach-athletic-shell .athletic-day .welcome-session time small {
    display: block;
    font-family: var(--font-ui);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--ink-3);
  }
  #shell.coach-athletic-shell .athletic-day .welcome-session:hover .welcome-session-person strong {
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  @media (max-width: 700px) {
    #shell.coach-athletic-shell .athletic-day .welcome-intro h2 {
      font-size: 1.7rem;
    }
    #shell.coach-athletic-shell .athletic-day .welcome-stats {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }
    #shell.coach-athletic-shell .athletic-day .welcome-stat {
      padding: 12px 14px;
    }
    #shell.coach-athletic-shell .athletic-day .welcome-stat strong {
      font-size: 1.6rem;
    }
    #shell.coach-athletic-shell .athletic-day .welcome-next {
      padding: 18px;
    }
    #shell.coach-athletic-shell .athletic-day .welcome-next-person time {
      font-size: 3.3rem;
    }
    #shell.coach-athletic-shell .athletic-day .welcome-next-person,
    #shell.coach-athletic-shell .athletic-day .welcome-next-person:not(.gold):not(.primary):not([aria-pressed="true"]) {
      grid-template-columns: auto minmax(0, 1fr);
    }
    #shell.coach-athletic-shell .athletic-day .welcome-next-person > .av,
    #shell.coach-athletic-shell .athletic-day .welcome-next-person > img {
      display: none;
    }
  }

  /* ---------- The twelve-week block strip (shared signature) ---------- */
  #shell.coach-athletic-shell .board-weeks {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 3px;
    width: 150px;
    padding-top: 6px;
  }
  #shell.coach-athletic-shell .board-weeks i {
    position: relative;
    height: 8px;
    border-radius: 2px;
    background: var(--rule);
  }
  #shell.coach-athletic-shell .board-weeks i.done {
    background: var(--ink);
  }
  #shell.coach-athletic-shell .board-weeks i.now {
    background: #e4b43c;
  }
  #shell.coach-athletic-shell .board-weeks i.check::after {
    content: "";
    position: absolute;
    left: 50%;
    top: -6px;
    width: 4px;
    height: 4px;
    margin-left: -2px;
    border-radius: 50%;
    background: #e4b43c;
  }
  html[data-theme="dark"] #shell.coach-athletic-shell .board-weeks i.done {
    background: #d9d4c8;
  }
  /* Last seven days: trained / missed / nothing booked. */
  #shell.coach-athletic-shell .board-days {
    display: inline-flex;
    gap: 3px;
  }
  #shell.coach-athletic-shell .board-days i {
    width: 13px;
    height: 22px;
    border-radius: 4px;
    background: var(--band);
  }
  #shell.coach-athletic-shell .board-days i.t {
    background: var(--ink);
  }
  #shell.coach-athletic-shell .board-days i.m {
    background: transparent;
    box-shadow: inset 0 0 0 1.5px #c2412d;
  }
  html[data-theme="dark"] #shell.coach-athletic-shell .board-days i.t {
    background: #d9d4c8;
  }
  html[data-theme="dark"] #shell.coach-athletic-shell .board-days i.m {
    box-shadow: inset 0 0 0 1.5px #ec7a63;
  }

  /* ---------- Clients ---------- */
  #shell.coach-athletic-shell .roster-table {
    border: 0;
    border-radius: 16px;
    background: var(--card);
    box-shadow: 0 0 0 1px var(--rule-2);
  }
  #shell.coach-athletic-shell .roster-table td {
    vertical-align: middle;
  }
  #shell.coach-athletic-shell .roster-table .who-cell b {
    font-weight: 700;
  }
  #shell.coach-athletic-shell .roster-table .who-cell small {
    display: block;
  }
  #shell.coach-athletic-shell .roster-table .who-cell .roster-id {
    color: var(--ink-3);
    font-size: 0.75rem;
  }
  #shell.coach-athletic-shell .roster-table .roster-block small,
  #shell.coach-athletic-shell .roster-table .roster-next small {
    display: block;
    margin-top: 4px;
    color: var(--ink-2);
    font-size: 0.78rem;
    font-weight: 600;
  }
  #shell.coach-athletic-shell .roster-table .roster-next b {
    white-space: nowrap;
    font-size: 0.875rem;
  }
  #shell.coach-athletic-shell .roster-table td[data-l="Status"] > .tag {
    margin-bottom: 6px;
  }
  #shell.coach-athletic-shell .roster-table input[type="checkbox"] {
    accent-color: #e4b43c;
  }

  /* ---------- Client record: the at-a-glance strip ---------- */
  #shell.coach-athletic-shell .dossier-identity h1 {
    font-size: 2rem;
  }
  #shell.coach-athletic-shell .dossier-facts {
    display: grid;
    grid-template-columns: minmax(170px, 1.3fr) repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 4px 0 18px;
    padding: 0;
    border-radius: 16px;
    background: var(--card);
    box-shadow: 0 0 0 1px var(--rule-2);
  }
  #shell.coach-athletic-shell .dossier-fact {
    display: grid;
    align-content: start;
    gap: 4px;
    min-width: 0;
    padding: 14px 18px;
    border-left: 1px solid var(--rule-2);
  }
  #shell.coach-athletic-shell .dossier-fact:first-child {
    border-left: 0;
  }
  #shell.coach-athletic-shell .dossier-fact dt {
    color: var(--ink-2);
    font-size: 0.78rem;
    font-weight: 600;
  }
  #shell.coach-athletic-shell .dossier-fact dd {
    display: grid;
    gap: 4px;
    justify-items: start;
    margin: 0;
  }
  #shell.coach-athletic-shell .dossier-fact dd b {
    font-family: var(--f-board);
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: -0.01em;
  }
  #shell.coach-athletic-shell .dossier-fact dd small {
    color: var(--ink-2);
    font-size: 0.78rem;
    font-weight: 600;
  }
  #shell.coach-athletic-shell .dossier-fact-block .board-weeks {
    width: 100%;
    max-width: 180px;
  }
  @media (max-width: 1100px) {
    #shell.coach-athletic-shell .dossier-facts {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    #shell.coach-athletic-shell .dossier-fact:nth-child(4) {
      border-left: 0;
    }
    #shell.coach-athletic-shell .dossier-fact:nth-child(n + 4) {
      border-top: 1px solid var(--rule-2);
    }
  }
  @media (max-width: 560px) {
    #shell.coach-athletic-shell .dossier-facts {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    #shell.coach-athletic-shell .dossier-fact-block {
      grid-column: 1 / -1;
    }
    #shell.coach-athletic-shell .dossier-fact {
      padding: 9px 12px;
    }
    #shell.coach-athletic-shell .dossier-fact dd b {
      font-size: 1.05rem;
    }
    #shell.coach-athletic-shell .dossier-fact:nth-child(n) {
      border-left: 0;
      border-top: 1px solid var(--rule-2);
    }
    #shell.coach-athletic-shell .dossier-fact:first-child {
      border-top: 0;
    }
    #shell.coach-athletic-shell .dossier-fact:nth-child(odd):not(:first-child) {
      border-left: 1px solid var(--rule-2);
    }
  }

  /* ---------- Calendar ---------- */
  #shell.coach-athletic-shell .session-request-queue {
    margin: 0 0 20px;
    border: 1.5px dashed #e4b43c;
    border-radius: 16px;
    background: color-mix(in srgb, #e4b43c 9%, var(--card));
  }
  #shell.coach-athletic-shell .session-request-queue .session-request-row {
    border-color: color-mix(in srgb, #e4b43c 30%, var(--rule-2));
  }
  #shell.coach-athletic-shell tr[data-session-status] > td:first-child {
    box-shadow: inset 4px 0 0 var(--rule);
    padding-left: 14px;
  }
  #shell.coach-athletic-shell tr[data-session-status="confirmed"] > td:first-child {
    box-shadow: inset 4px 0 0 #e4b43c;
  }
  #shell.coach-athletic-shell tr[data-session-status="completed"] > td:first-child {
    box-shadow: inset 4px 0 0 #1f8a5b;
  }
  #shell.coach-athletic-shell tr[data-session-status="requested"] > td:first-child {
    box-shadow: inset 4px 0 0 #a86400;
  }
  #shell.coach-athletic-shell tr[data-session-status="no_show"] > td:first-child {
    box-shadow: inset 4px 0 0 #c2412d;
  }
  #shell.coach-athletic-shell tr[data-session-status] > td:first-child {
    font-family: var(--f-board);
    font-weight: 800;
  }

  /* ---------- Money ---------- */
  #shell.coach-athletic-shell .finance-summary .kpi .v {
    font-family: var(--f-board);
    font-size: 1.75rem;
    font-weight: 900;
    letter-spacing: -0.02em;
  }
  #shell.coach-athletic-shell .finance-summary .kpi.needs-action .v {
    color: #a86400;
  }
  html[data-theme="dark"] #shell.coach-athletic-shell .finance-summary .kpi.needs-action .v {
    color: #e3a447;
  }
  #shell.coach-athletic-shell .main td[data-l="Amount"] b,
  #shell.coach-athletic-shell .main .num {
    font-family: var(--f-board);
    font-weight: 800;
  }
}
