:root,[data-theme-preview=current],[data-theme=current]{color-scheme:dark;--bg:#08090b;--surface:#0f1113;--surface-2:#16191d;--surface-3:#1e2227;--border:#23272d;--border-strong:#31363e;--text:#edeff2;--text-2:#a8b0ba;--muted:#8b96a3;--accent:#46c8f0;--accent-hover:#6ed5f5;--accent-ink:#04141a;--accent-dim:rgba(70,200,240,0.12);--green:#35d07f;--teal:#35d07f;--amber:#f0b429;--red:#f2555a;--violet:#a78bfa;--blue:#4c9aff;--brand:#0a1a4f;--brand-ink:#ffffff;--radius:6px;--radius-lg:10px;--shadow:0 1px 2px rgba(0,0,0,0.4),0 8px 24px rgba(0,0,0,0.28)}[data-theme-preview=deep-ocean],[data-theme=deep-ocean]{color-scheme:dark;--bg:#071521;--surface:#102737;--surface-2:#0b202f;--surface-3:#183446;--border:#294454;--border-strong:#3b5b6c;--text:#f1f7fa;--text-2:#b6cbd4;--muted:#9bb4c0;--accent:#31c7e8;--accent-hover:#69d8ee;--accent-ink:#071521;--accent-dim:rgba(49,199,232,.16);--green:#4bdd9b;--teal:#4bdd9b;--amber:#f4c15d;--red:#ff858c;--violet:#b9a4ff;--blue:#6ab7ff;--brand:#0b314d;--brand-ink:#ffffff;--shadow:0 1px 2px rgba(0,0,0,.42),0 8px 24px rgba(0,0,0,.3)}[data-theme-preview=pool-day],[data-theme=pool-day]{color-scheme:light;--bg:#f2fafc;--surface:#ffffff;--surface-2:#e7f5f8;--surface-3:#dceff4;--border:#c6dfe8;--border-strong:#9fc5d2;--text:#123047;--text-2:#3e5e70;--muted:#526f7e;--accent:#007596;--accent-hover:#005f7a;--accent-ink:#ffffff;--accent-dim:rgba(0,117,150,.12);--green:#087443;--teal:#087443;--amber:#805000;--red:#b4232b;--violet:#6544b5;--blue:#0d62aa;--brand:#dceff4;--brand-ink:#123047;--shadow:0 1px 2px rgba(18,48,71,.12),0 10px 28px rgba(18,48,71,.12)}[data-theme-preview=sunset-swim],[data-theme=sunset-swim]{color-scheme:light;--bg:#fff8f3;--surface:#ffffff;--surface-2:#faeee8;--surface-3:#f4e2d9;--border:#e9d7ce;--border-strong:#d7b7a8;--text:#302a3e;--text-2:#574e63;--muted:#6b6075;--accent:#b83b3b;--accent-hover:#992f2f;--accent-ink:#ffffff;--accent-dim:rgba(184,59,59,.12);--green:#137346;--teal:#137346;--amber:#865300;--red:#b4232b;--violet:#6947aa;--blue:#1764a5;--brand:#f4e2d9;--brand-ink:#302a3e;--shadow:0 1px 2px rgba(48,42,62,.12),0 10px 28px rgba(48,42,62,.1)}[data-theme-preview=lane-lights],[data-theme=lane-lights]{color-scheme:dark;--bg:#10131a;--surface:#1b202b;--surface-2:#161a23;--surface-3:#252b38;--border:#394151;--border-strong:#4a5364;--text:#f7f9fc;--text-2:#bdc6d4;--muted:#a5afbf;--accent:#39d98a;--accent-hover:#70e6aa;--accent-ink:#10131a;--accent-dim:rgba(57,217,138,.16);--green:#55df9c;--teal:#55df9c;--amber:#f4c45e;--red:#ff858c;--violet:#b6a0ff;--blue:#69bdff;--brand:#17243a;--brand-ink:#ffffff;--shadow:0 1px 2px rgba(0,0,0,.42),0 8px 24px rgba(0,0,0,.3)}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 0}a{color:inherit;text-decoration:none}::selection{background:var(--accent-dim)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px;border:3px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:#3d444d}.shell{display:flex;min-height:100vh;background:var(--bg);color:var(--text)}.sidebar{width:212px;flex:0 0 212px;background:var(--surface);border-right:1px solid var(--border);padding:18px 12px 16px;position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{font-size:15px;font-weight:700;letter-spacing:-.01em}.brand-sub{font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-weight:600;margin-top:2px}.skip-link{position:fixed;top:8px;left:8px;z-index:1000;padding:9px 12px;border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);font-weight:700;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-navigation{min-height:0;flex:1 1;overflow-y:auto}.nav-toggle{display:none!important}.athlete-mobile-nav,.mobile-menu-backdrop{display:none}.nav{gap:14px;margin-top:18px}.nav,.nav-group{display:flex;flex-direction:column}.nav-group{gap:1px}.nav-label{padding:0 10px 4px;color:var(--muted);font-size:9.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.nav a{padding:7px 10px;border-radius:var(--radius);color:var(--text-2);font-weight:500;font-size:13px;border-left:2px solid transparent;transition:background .12s ease,color .12s ease}.nav a:hover{background:var(--surface-2);color:var(--text)}.nav a[aria-current=page]{background:var(--accent-dim);color:var(--text);border-left-color:var(--accent)}.nav-overview,.nav-overview a{display:block}.nav-collapsible{gap:2px}.nav-section-toggle{width:100%;min-height:34px;padding:7px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;border-radius:var(--radius);background:transparent;color:var(--text-2);cursor:pointer;font:inherit;font-size:13px;font-weight:600;text-align:left}.nav-collapsible[data-active=true]>.nav-section-toggle,.nav-section-toggle:hover{background:var(--surface-2);color:var(--text)}.nav-section-chevron{color:var(--muted);font-size:15px;transition:transform .12s ease}.nav-section-toggle[aria-expanded=true] .nav-section-chevron{transform:rotate(180deg)}.nav-section-items{display:flex;flex-direction:column;gap:1px;padding-left:8px}.athlete-log-group{display:flex;flex-direction:column;gap:2px}.workspace-mode{display:grid;grid-template-columns:1fr 1fr;grid-gap:3px;gap:3px;padding:3px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.workspace-mode button{min-height:32px;border:0;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:11px;font-weight:700}.workspace-mode button.active{background:var(--surface-3);color:var(--text)}.sidebar-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--border);font-size:12px}.sidebar-context{display:block;margin-top:2px;color:var(--accent);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-identity{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.sidebar-identity-copy{min-width:0}.sidebar-identity-actions{display:flex;flex:none;flex-direction:column;align-items:stretch;gap:5px}.sidebar-profile-button{flex:none}.sidebar-foot-utilities{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:9px}.sidebar-signout{padding:4px 2px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:10.5px;cursor:pointer}.sidebar-signout:hover{color:var(--text-2);text-decoration:underline;text-underline-offset:2px}.main{flex:1 1;min-width:0;padding:26px 28px 72px}:root{--sidebar-toggle-size:28px;--sidebar-rail-pad:6px;--sidebar-collapsed-width:40px}.sidebar-rail{display:flex;justify-content:flex-end;margin-bottom:2px}.app-account{display:none}.sidebar-collapse-toggle{display:none;align-items:center;justify-content:center;width:var(--sidebar-toggle-size);height:var(--sidebar-toggle-size);padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;transition:color .13s ease,background .13s ease,border-color .13s ease}.sidebar-collapse-toggle svg{width:16px;height:16px;display:block}.sidebar-collapse-chevron{transition:transform .18s ease;transform-origin:10.5px 8px}.sidebar-collapse-toggle[data-collapsed] .sidebar-collapse-chevron{transform:rotate(180deg)}.sidebar-collapse-toggle:hover{color:var(--text);background:var(--surface-2);border-color:var(--border)}.sidebar-collapse-toggle:active{background:var(--surface-3)}.sidebar-collapse-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;color:var(--text)}@media (min-width:721px){.sidebar-collapse-toggle{display:inline-flex}:root[data-sidebar=collapsed] .sidebar{width:var(--sidebar-collapsed-width);flex-basis:var(--sidebar-collapsed-width);min-width:0;padding-left:var(--sidebar-rail-pad);padding-right:var(--sidebar-rail-pad);overflow:hidden}:root[data-sidebar=collapsed] .sidebar>:not(.sidebar-rail){display:none}:root[data-sidebar=collapsed] .sidebar-rail{justify-content:center;margin-bottom:0}}@media (prefers-reduced-motion:reduce){.sidebar-collapse-chevron,.sidebar-collapse-toggle{transition:none}}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--border)}h1{font-size:20px;margin:0;letter-spacing:-.02em}h1,h2{font-weight:650}h2{font-size:12px;margin:0 0 12px;text-transform:uppercase;letter-spacing:.09em;color:var(--text-2)}.subtitle{color:var(--muted);margin:5px 0 0;font-size:12.5px}.page-eyebrow{margin:0 0 5px;color:var(--accent);font-size:9.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.grid{display:grid;grid-gap:12px;gap:12px}.grid-4{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid-2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.stat-label{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.11em;font-weight:650}.stat-value{font-size:27px;font-weight:600;margin-top:8px;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-note{color:var(--muted);font-size:11.5px;margin-top:3px}.stat-card-link{transition:border-color .12s ease,background .12s ease}.stat-card-link:hover{border-color:var(--accent);background:var(--surface-2)}.stat-card-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.action-center{border-color:var(--border-strong)}.priority-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:8px;gap:8px;padding:0;margin:14px 0 0;list-style:none}.priority-list a{display:block;min-height:42px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text-2)}.priority-list a:hover{border-color:var(--accent);color:var(--text)}.all-clear{margin:14px 0 0;color:var(--green)}.next-session{margin:12px 0 0;color:var(--muted);font-size:12.5px}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);font-weight:650;padding:8px 10px;white-space:nowrap}td,th{border-bottom:1px solid var(--border)}td{padding:9px 10px;vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--surface-2)}.table-wrap{overflow-x:auto}.roster-filters input[type=search]{flex:1 1 260px;min-width:180px}.roster-filters select{width:auto;min-width:145px}.pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:12px;gap:12px;margin-top:14px}.pagination>:last-child{justify-self:end}.active-squad-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border)}.active-squad-bar>a{color:var(--text-2)}.squad-quick-switch{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.squad-quick-switch select{width:auto;max-width:min(320px,75vw)}.workspace-selected{box-shadow:inset 0 0 0 1px var(--accent)}.workspace-switch-intro{max-width:62ch;margin-bottom:14px}.workspace-switch{display:flex;flex-direction:column;gap:8px}.workspace-switch form{display:contents}.workspace-switch-option{display:grid;grid-template-columns:minmax(105px,125px) minmax(0,1fr);align-items:center;justify-content:stretch;grid-gap:8px 16px;gap:8px 16px;width:100%;min-height:58px;height:auto;padding:10px 12px;background:var(--surface);color:var(--text-2);border-color:var(--border-strong);text-align:left;white-space:normal;line-height:1.35}.workspace-switch-option:hover{background:var(--surface-2);color:var(--text)}.workspace-switch-title{display:flex;align-items:center;flex-wrap:wrap;gap:5px 7px;min-width:0;color:inherit;font-size:11px;line-height:1.25}.workspace-switch-description{display:block;min-width:0;width:100%;color:var(--muted);font-size:11px;font-weight:500;letter-spacing:0;line-height:1.45;text-transform:none;overflow-wrap:anywhere}.workspace-switch-active{padding:2px 5px;border:1px solid var(--accent);border-radius:999px;color:var(--accent);font-size:8.5px;letter-spacing:.08em;line-height:1.2}.workspace-switch-option.workspace-selected{background:var(--accent-dim);color:var(--text);border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.workspace-switch-option.workspace-selected .workspace-switch-description{color:var(--text-2)}.workspace-switch-option:disabled{cursor:default;opacity:1}@media (max-width:560px){.workspace-switch-option{grid-template-columns:1fr;gap:4px}}.badge{display:inline-block;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:1px solid transparent}.badge-green{background:rgba(53,208,127,.1);color:var(--green);border-color:rgba(53,208,127,.24)}.program-assignment-option{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:0}.program-assignment-option>.muted{font-size:11px}.badge-amber{background:rgba(240,180,41,.1);color:var(--amber);border-color:rgba(240,180,41,.24)}.badge-red{background:rgba(242,85,90,.1);color:var(--red);border-color:rgba(242,85,90,.24)}.badge-gray{background:rgba(107,116,128,.12);color:var(--text-2);border-color:var(--border-strong)}.badge-blue{background:rgba(76,154,255,.1);color:var(--blue);border-color:rgba(76,154,255,.24)}.badge-violet{background:rgba(167,139,250,.1);color:var(--violet);border-color:rgba(167,139,250,.24)}.btn{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:var(--accent-ink);border:1px solid transparent;padding:6px 13px;border-radius:var(--radius);font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .12s ease,border-color .12s ease;min-height:38px}.btn:hover{background:var(--accent-hover)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text-2)}.btn-ghost,.btn-ghost:hover{border-color:var(--border-strong)}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.secondary-action{margin-top:14px;border-top:1px solid var(--border);padding-top:12px}.secondary-action summary{width:-moz-fit-content;width:fit-content;color:var(--muted);cursor:pointer;font-size:13px;font-weight:600}.secondary-action summary:hover{color:var(--text)}.secondary-action form{margin-top:14px}.btn-danger{background:transparent;border-color:rgba(242,85,90,.3);color:var(--red)}.btn-danger:hover{background:rgba(242,85,90,.08);border-color:rgba(242,85,90,.5)}.btn-sm{min-height:34px;padding:4px 9px;font-size:10.5px}input,select,textarea{background:var(--bg);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius);padding:7px 9px;font-size:13px;font-family:inherit;width:100%}input,select{min-height:38px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}input::placeholder{color:var(--muted);opacity:.82}.field-label,label{display:block;font-size:11px;color:var(--muted);margin-bottom:5px;font-weight:650;text-transform:uppercase;letter-spacing:.09em}.field{margin-bottom:12px}.field:has(>#wellness-menstrual){display:none}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:0 12px;gap:0 12px}.access-summary{margin:0 0 14px;padding:10px 12px;border-left:2px solid var(--accent);background:var(--accent-dim);color:var(--text-2);font-size:12.5px}.compact-status{margin:0 0 16px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);background:var(--surface)}.setup-notice{max-width:720px;border-color:var(--amber)}.setup-notice p{color:var(--text-2);line-height:1.65}.athlete-body-mass-reminder{display:flex;align-items:center;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-bottom:14px;border-color:var(--amber)}.athlete-body-mass-reminder p{margin:4px 0 0;color:var(--text-2)}.count-badge{display:inline-flex;min-width:20px;min-height:20px;justify-content:center;margin-left:5px;border-radius:999px;background:var(--accent-dim);color:var(--accent);font-size:10px}.count-badge,.row{align-items:center}.row{display:flex;gap:8px;flex-wrap:wrap}.spacer{flex:1 1}.empty,.muted{color:var(--muted)}.empty{text-align:center;padding:30px 10px;font-size:12.5px}.stack{display:flex;flex-direction:column;gap:12px}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:14px}.toolbar-sep{width:1px;height:18px;background:var(--border)}.modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:18px;width:calc(100% - 32px);max-width:560px;max-height:min(88vh,calc(100dvh - 32px));overflow-y:auto;color:var(--text)}.confirm-dialog::-webkit-backdrop,.modal::-webkit-backdrop{background:rgba(4,6,12,.76);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-dialog::backdrop,.modal::backdrop{background:rgba(4,6,12,.76);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-dialog{width:calc(100% - 32px);max-width:440px;padding:0;overflow:hidden;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.025)}.confirm-dialog[open]{animation:confirm-dialog-in .14s ease-out}.confirm-dialog-content{padding:20px}.confirm-dialog-heading{display:flex;align-items:flex-start;gap:12px}.confirm-dialog-heading>div{min-width:0}.confirm-dialog-heading .eyebrow{display:block;margin:1px 0 4px;color:var(--muted);font-size:8.5px;font-weight:750;letter-spacing:.11em;text-transform:uppercase}.confirm-dialog h2{margin:0;color:var(--text);font-size:18px;font-weight:700;line-height:1.3;letter-spacing:-.02em;text-transform:none}.confirm-dialog-icon{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border:1px solid color-mix(in srgb,var(--red) 28%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--red) 10%,var(--surface-2));color:var(--red)}.confirm-dialog-primary .confirm-dialog-icon{border-color:color-mix(in srgb,var(--accent) 30%,var(--border));background:var(--accent-dim);color:var(--accent)}.confirm-dialog-icon path{stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.confirm-dialog p{margin:16px 0 0;color:var(--text-2);font-size:12px;line-height:1.65}.confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin:20px -20px -20px;padding:13px 20px;border-top:1px solid var(--border);background:var(--surface-2)}@keyframes confirm-dialog-in{0%{opacity:0;transform:translateY(5px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:440px){.confirm-actions{flex-direction:column-reverse}.confirm-actions .btn{width:100%;justify-content:center}}@media (prefers-reduced-motion:reduce){.confirm-dialog[open]{animation:none}}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:18px;flex-wrap:wrap}.tab{padding:8px 12px;background:transparent;color:var(--muted);cursor:pointer;font-size:11px;font-weight:700;font-family:inherit;text-transform:uppercase;letter-spacing:.08em;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.tab:hover{color:var(--text-2)}.tab:active{color:var(--text);background:var(--surface-2)}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.week-strip{display:flex;align-items:stretch;gap:4px;overflow-x:auto;padding-bottom:4px;margin-bottom:16px}.week-chip{flex:0 0 auto;min-width:62px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:6px 10px 7px;display:flex;flex-direction:column;align-items:flex-start;gap:1px;transition:border-color .12s ease,background .12s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.week-chip:hover{border-color:var(--border-strong);background:var(--surface-2)}.week-chip.active,.week-chip:active{border-color:var(--accent);background:var(--accent-dim)}.week-chip-n{font-size:15px;font-weight:650;letter-spacing:-.02em;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.week-chip.active .week-chip-n{color:var(--accent)}.week-chip-date{font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600;white-space:nowrap}.week-chip-add{justify-content:center;align-items:center;color:var(--muted);min-width:46px}.week-chip-add:hover{color:var(--accent)}.week-label{font-size:17px;font-weight:650;letter-spacing:-.02em}.program-page-workspace{min-height:100dvh}.planner-toolbar{position:-webkit-sticky;position:sticky;top:0;z-index:8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.planner-week-switcher-bar{display:flex;align-items:center;gap:10px;margin-bottom:12px}.planner-week-switcher-bar .week-strip{flex:1 1;margin:0}.planner-week-switcher-bar .week-chip{font:inherit;cursor:pointer}.planner-week-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.planner-week-canvas{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px;overflow-x:auto;padding:2px 0 12px;scroll-snap-type:x proximity;transition:grid-template-columns .18s ease}@media (prefers-reduced-motion:reduce){.planner-week-canvas{transition:none}}.planner-day-column{container-type:inline-size;min-height:330px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden;scroll-snap-align:start}.planner-day-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;border-bottom:1px solid var(--border);background:var(--surface-2)}.planner-day-head>.planner-day-select{padding:10px 11px}.planner-day-head strong{font-size:clamp(16px,1.25vw,19px);font-weight:800;line-height:1.1;letter-spacing:.055em}.planner-day-head .planner-day-select>span,.planner-day-head strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-day-head span{color:var(--muted);font-size:10px}.planner-day-select{flex:1 1;min-width:0;display:flex;align-items:flex-start;flex-direction:column;gap:2px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.planner-day-select:hover strong{color:var(--accent)}.planner-day-select:focus-visible{outline:1px solid var(--accent);outline-offset:2px;border-radius:3px}.planner-day-column.is-focused .planner-session-group-name strong,.planner-day-column.is-focused .planner-session-open strong{font-size:16px;line-height:1.3;letter-spacing:-.01em}.planner-day-column.is-focused .planner-session-group-name small,.planner-day-column.is-focused .planner-session-open p{font-size:11px}.planner-day-column.is-collapsed .planner-day-head{padding:0}.planner-day-column.is-collapsed>.planner-day-head>.planner-day-select{padding:8px 6px}.planner-day-column.is-collapsed .planner-day-select{align-items:flex-start;flex-direction:column;gap:2px}.planner-day-column.is-collapsed .planner-day-body{padding:0;gap:0}.planner-day-column.is-collapsed .planner-rest-toggle{margin:8px 6px 8px auto}.planner-day-column.is-collapsed .planner-session-group-head{padding:5px 6px}.planner-day-column.is-collapsed .planner-session-group-name strong,.planner-day-column.is-collapsed .planner-session-open strong{display:-webkit-box;overflow:hidden;font-size:11px;line-height:1.25;text-overflow:ellipsis;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.planner-day-column.is-collapsed .planner-session-group-head .planner-modality{display:none}.planner-compact-exercise-list{display:grid;grid-gap:0;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--border)}.planner-compact-exercise-list li{min-width:0;padding:7px 6px;border-bottom:1px solid var(--border)}.planner-compact-exercise-list li:last-child{border-bottom:0}.planner-compact-exercise-list li>strong{display:-webkit-box;overflow:hidden;color:var(--text-2);font-size:10.5px;line-height:1.3;text-overflow:ellipsis;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.planner-compact-set-grid{display:grid;grid-gap:4px;gap:4px;min-width:0;margin-top:5px}.planner-compact-set-chip{display:grid;min-width:0;min-height:32px;align-content:center;justify-items:center;grid-gap:2px;gap:2px;padding:4px 2px;overflow:hidden;border:1px solid var(--border);border-radius:3px;background:var(--surface-2);line-height:1;text-align:center}.planner-compact-set-chip small,.planner-compact-set-chip strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-compact-set-chip strong{color:var(--text);font-size:10.5px;font-weight:800}.planner-compact-set-chip small{color:var(--muted);font-size:7.5px;font-weight:650}.planner-compact-exercise-list .is-empty{font-size:10px;color:var(--muted)}.planner-rest-toggle{flex:0 0 auto;margin:10px 11px 10px auto;padding:2px 6px;border:1px solid var(--border-strong);border-radius:99px;background:transparent;color:var(--muted);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.planner-rest-toggle:hover{border-color:var(--accent);color:var(--accent)}@container (max-width: 112px){.planner-rest-toggle{display:none}}.planner-rest-toggle.is-rest{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.planner-day-column.is-rest{min-height:0;background:var(--surface-2)}.planner-day-column.is-rest .planner-day-head{flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:9px 6px;text-align:center}.planner-day-column.is-rest .planner-rest-toggle{margin-left:0}.planner-rest-note{margin:0;padding:14px 8px;color:var(--muted);font-size:10px;text-align:center}.planner-day-body{padding:0;display:flex;flex-direction:column;gap:0}.planner-session-card{position:relative;border:0;border-bottom:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:0;background:var(--surface-2);overflow:hidden;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.planner-session-card:hover{background:var(--surface-3)}.planner-session-gym{border-left-color:var(--violet)}.planner-session-swim{border-left-color:var(--blue)}.planner-session-conditioning{border-left-color:var(--green)}.planner-session-card.planner-session-swim>.planner-session-open{background:color-mix(in srgb,var(--blue) 14%,var(--surface-2));border-bottom-color:color-mix(in srgb,var(--blue) 30%,var(--border))}.planner-session-card.planner-session-conditioning>.planner-session-open{background:color-mix(in srgb,var(--green) 14%,var(--surface-2));border-bottom-color:color-mix(in srgb,var(--green) 30%,var(--border))}.planner-session-card.planner-session-swim>.planner-session-open:hover{background:color-mix(in srgb,var(--blue) 20%,var(--surface-2))}.planner-session-card.planner-session-conditioning>.planner-session-open:hover{background:color-mix(in srgb,var(--green) 20%,var(--surface-2))}.planner-session-open{display:block;padding:10px 11px 10px 8px}.planner-session-open strong{font-size:12px;line-height:1.25}.planner-session-open p{margin:2px 0 0;color:var(--muted);font-size:10.5px}.planner-modality{padding:2px 5px;border:1px solid var(--border-strong);border-radius:99px;color:var(--text-2);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.planner-session-summary{margin-top:7px;color:var(--text-2);font-size:10.5px}.planner-exercise-peek{margin:7px 0 0;padding-left:16px;color:var(--muted);font-size:10px}.planner-exercise-peek li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-empty-day{margin:0;padding:22px 11px;color:var(--muted);font-size:11px;text-align:left}.planner-session-group-empty{display:grid;justify-items:center;grid-gap:2px;gap:2px;margin:7px;padding:14px 10px;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-2);color:var(--text-2);font-size:10.5px;font-weight:650;text-align:center}.planner-session-group-empty>span{color:var(--border-strong);font-size:15px;line-height:1}.planner-session-group-empty>small{color:var(--muted);font-size:9.5px;font-weight:400}.planner-session-drag-slot{min-width:0}.planner-session-drag-handle{display:inline-grid;flex:0 0 24px;width:24px;height:26px;padding:0;place-items:center;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--muted);font:700 17px/1 system-ui,sans-serif;cursor:-webkit-grab;cursor:grab;touch-action:none}.planner-session-drag-handle:hover{border-color:var(--border-strong);background:var(--surface-3);color:var(--text)}.planner-session-drag-handle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.planner-session-drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.planner-session-drag-handle.is-dragging{opacity:.3}.planner-session-card>.planner-session-drag-handle{position:absolute;z-index:3;top:7px;right:7px}.planner-session-card>.planner-session-open{padding-right:40px}.planner-session-card.is-editing>.planner-session-drag-handle{right:78px}.planner-session-insertion-zone{display:grid;height:0;margin:0 7px;place-items:center;border-radius:4px;color:transparent;overflow:hidden;transition:height .12s ease,margin .12s ease,background .12s ease}.planner-session-insertion-zone span{font-size:8.5px;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.planner-session-insertion-zone.is-active{height:17px;margin-block:3px;border:1px dashed var(--border-strong);color:var(--muted);background:color-mix(in srgb,var(--accent) 4%,transparent)}.planner-session-insertion-zone.is-over{height:30px;border-color:var(--accent);color:var(--accent);background:var(--accent-dim);box-shadow:inset 0 0 0 1px var(--accent)}.planner-session-drag-overlay{display:flex;min-width:210px;max-width:320px;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--surface);color:var(--text);box-shadow:var(--shadow);cursor:-webkit-grabbing;cursor:grabbing}.planner-session-drag-overlay>span{color:var(--accent);font-size:19px}.planner-session-drag-overlay div>span,.planner-session-drag-overlay strong{display:block}.planner-session-drag-overlay strong{font-size:11px}.planner-session-drag-overlay div>span{margin-top:2px;color:var(--muted);font-size:9px}.planner-exercise-index{flex:0 0 auto;width:11px;color:var(--muted);font-size:9.5px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.planner-add-session{position:relative;margin:8px 10px}.planner-session-group{border:0;border-bottom:1px solid var(--border);border-left:3px solid var(--violet);border-radius:0;background:var(--surface-2);overflow:hidden}.planner-session-group-head{display:flex;align-items:center;gap:6px;padding:9px 11px 9px 8px;border-bottom-color:var(--border);background:color-mix(in srgb,var(--violet) 14%,var(--surface-2));border-bottom:1px solid color-mix(in srgb,var(--violet) 30%,var(--border))}.planner-session-group-head:hover{background:color-mix(in srgb,var(--violet) 20%,var(--surface-2))}.planner-session-card.is-editing>.planner-session-open,.planner-session-group.is-editing .planner-session-group-head{border-bottom:0}.planner-session-header-actions{position:relative;z-index:7;display:flex;flex:0 0 auto;align-items:center;gap:4px}.planner-session-header-actions>button,.planner-session-more-menu>summary{min-height:25px;padding:4px 7px;border:1px solid var(--border-strong);border-radius:4px;background:color-mix(in srgb,var(--surface) 72%,transparent);color:var(--text-2);font:inherit;font-size:9px;font-weight:700;white-space:nowrap;cursor:pointer}.planner-session-header-actions>button:hover,.planner-session-more-menu>summary:hover,.planner-session-more-menu[open]>summary{border-color:var(--accent);background:var(--surface);color:var(--accent)}.planner-session-more-menu{position:relative}.planner-session-more-menu>summary{display:grid;min-width:29px;place-items:center;list-style:none}.planner-session-more-menu>summary::-webkit-details-marker{display:none}.planner-session-more-menu>div{position:absolute;z-index:10;top:calc(100% + 4px);right:0;display:grid;width:132px;padding:4px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface);box-shadow:var(--shadow)}.planner-session-more-menu button{width:100%;padding:7px 8px;border:0;border-radius:3px;background:transparent;color:var(--text-2);font-size:9px;text-align:left;cursor:pointer}.planner-session-more-menu button:hover{background:var(--surface-3);color:var(--text)}.planner-session-more-menu button.is-danger{color:var(--red)}.planner-session-card.is-editing>.planner-session-open{padding-right:205px}.planner-session-card.is-editing>.planner-session-header-actions{position:absolute;top:7px;right:8px}.planner-session-card.is-editing>.planner-session-drag-handle{right:183px}.planner-session-group-name{flex:1 1;min-width:0;display:block;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.planner-session-group-name strong{font-size:11.5px;line-height:1.25}.planner-session-group-name small,.planner-session-group-name strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-session-group-name small{margin-top:1px;color:var(--muted);font-size:9.5px}.planner-session-group-name:hover strong{color:var(--accent)}[data-exercise-region=upper-push]{--exercise-tone:var(--green)}[data-exercise-region=upper-pull]{--exercise-tone:var(--blue)}[data-exercise-region=legs]{--exercise-tone:var(--red)}[data-exercise-region=core]{--exercise-tone:var(--violet)}[data-exercise-region=power]{--exercise-tone:var(--amber)}[data-exercise-region=mobility]{--exercise-tone:var(--accent)}[data-exercise-region=other]{--exercise-tone:var(--muted)}.planner-session-tiles{display:grid;border-top:1px solid var(--border)}.planner-session-tiles.is-overview{gap:0;padding:0;overflow:visible}.planner-session-tiles.is-overview .planner-tile-row+.planner-tile-row{margin-top:-1px}.planner-session-tiles.is-overview .planner-overview-exercise-card{position:relative;min-width:0;border:1px solid color-mix(in srgb,var(--exercise-tone,var(--violet)) 30%,var(--border));border-right:0;border-left:0;border-radius:0;background:color-mix(in srgb,var(--exercise-tone,var(--violet)) 5%,var(--surface));overflow:visible}.planner-session-tiles.is-overview .planner-overview-exercise-head{display:grid;grid-template-columns:32px minmax(0,1fr) 42px;min-height:32px;align-items:stretch;border-bottom:1px solid color-mix(in srgb,var(--exercise-tone,var(--violet)) 30%,var(--border));background:color-mix(in srgb,var(--exercise-tone,var(--violet)) 11%,var(--surface-2));cursor:-webkit-grab;cursor:grab;touch-action:none}.planner-session-tiles.is-overview .planner-overview-exercise-head:active{cursor:-webkit-grabbing;cursor:grabbing}.planner-session-tiles.is-overview .planner-overview-exercise-number{display:grid;min-width:0;place-items:center;border-right:1px solid color-mix(in srgb,var(--exercise-tone,var(--violet)) 45%,var(--border));background:var(--exercise-tone,var(--violet));color:var(--surface);font-size:11px;font-weight:850;cursor:-webkit-grab;cursor:grab;touch-action:none}.planner-session-tiles.is-overview .planner-overview-exercise-number:active{cursor:-webkit-grabbing;cursor:grabbing}.planner-session-tiles.is-overview .planner-overview-exercise-number:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.planner-session-tiles.is-overview .planner-overview-exercise-title{position:relative;display:flex;min-width:0;align-items:center;padding:3px 5px}.planner-session-tiles.is-overview .planner-overview-exercise-name{min-width:0;width:100%;padding:1px 2px;overflow:hidden;border:0;background:transparent;color:var(--text);font:inherit;font-size:10.5px;font-weight:750;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.planner-session-tiles.is-overview .planner-overview-exercise-name:hover{color:var(--accent)}.planner-session-tiles.is-overview .planner-overview-exercise-title .planner-exercise-autocomplete{min-width:0;max-width:100%}.planner-session-tiles.is-overview .planner-overview-exercise-title .planner-tile-exercise-search{field-sizing:content;width:auto;min-width:7ch;max-width:100%;padding:1px 2px;font-size:10.5px;font-weight:750;cursor:text}.planner-session-tiles.is-overview .planner-overview-exercise-title .planner-exercise-options{position:absolute;z-index:12;top:calc(100% + 3px);left:3px;width:min(280px,76vw);margin:0}.planner-session-tiles.is-overview .planner-overview-exercise-head .planner-tile-actions{position:static;display:flex;min-width:0;align-items:center;justify-content:center;gap:1px}.planner-session-tiles.is-overview .planner-overview-exercise-body{display:block;width:100%;min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.planner-session-tiles.is-overview .planner-overview-exercise-body:hover{background:rgba(150,111,255,.04)}.planner-session-tiles.is-overview .planner-overview-exercise-sets{display:grid;width:100%;align-items:start;grid-gap:5px;gap:5px;margin-inline:auto;padding:7px}.planner-session-tiles.is-overview .planner-overview-exercise-set{display:grid;min-width:0;grid-gap:3px;gap:3px}.planner-session-tiles.is-overview .planner-overview-exercise-set>small{color:var(--muted);font-size:7px;font-weight:750;letter-spacing:.04em;text-align:center;text-transform:uppercase}.planner-session-tiles.is-overview .planner-overview-exercise-set>span{display:grid;min-width:0;min-height:31px;align-content:center;justify-items:center;grid-gap:1px;gap:1px;padding:3px;border:1px solid var(--border);border-radius:3px;background:var(--surface-2);line-height:1;text-align:center}.planner-session-tiles.is-overview .planner-overview-exercise-set>span small{max-width:100%;overflow:hidden;color:var(--muted);font-size:6px;font-weight:700;letter-spacing:.03em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.planner-session-tiles.is-overview .planner-overview-exercise-set>span strong{max-width:100%;overflow:hidden;color:var(--text);font-size:9.5px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.planner-session-tiles.is-overview .planner-overview-exercise-sets[data-set-columns="1"]{--set-cell-height:42px;--set-value-size:14px;--set-label-size:8px}.planner-session-tiles.is-overview .planner-overview-exercise-sets[data-set-columns="2"]{--set-cell-height:38px;--set-value-size:12px;--set-label-size:7px}.planner-session-tiles.is-overview .planner-overview-exercise-sets[data-set-columns="3"]{--set-cell-height:34px;--set-value-size:11px;--set-label-size:7px}.planner-session-tiles.is-overview .planner-overview-exercise-set>span{min-height:var(--set-cell-height,31px)}.planner-session-tiles.is-overview .planner-overview-exercise-set>span strong{font-size:var(--set-value-size,9.5px)}.planner-session-tiles.is-overview .planner-overview-exercise-set>span small{font-size:var(--set-label-size,6px)}.planner-session-tiles.is-overview .planner-overview-exercise-set>small{font-size:var(--set-label-size,7px)}.planner-session-group:has(.planner-session-tiles.is-overview):focus-within{position:relative;z-index:4;overflow:visible}.planner-session-tiles.is-drop-target{background:var(--accent-dim);box-shadow:inset 0 0 0 1px var(--accent)}.planner-tile-row{min-width:0}.planner-tile-row.is-dragging{opacity:.45}.planner-tile-main{position:relative;min-width:0}.planner-exercise-autocomplete{flex:1 1;min-width:0}.planner-tile-exercise-search{width:100%;min-width:0;min-height:20px;padding:1px 18px 1px 3px;border:1px solid transparent;border-radius:3px;background-color:transparent;color:var(--text);font:inherit;font-size:11px;font-weight:650;text-overflow:ellipsis;cursor:pointer}.planner-tile-exercise-search:focus-visible,.planner-tile-exercise-search:hover{border-color:var(--border-strong);background-color:var(--surface-3);outline:none}.planner-exercise-options{display:grid;grid-gap:2px;gap:2px;margin-top:4px;padding:3px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface);box-shadow:var(--shadow);cursor:default}.planner-exercise-options button{width:100%;min-width:0;padding:5px 6px;border:0;border-radius:3px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.planner-exercise-options button:hover,.planner-exercise-options button[aria-selected=true]{background:var(--accent-dim)}.planner-exercise-options button span,.planner-exercise-options button strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-exercise-options button strong{font-size:10px}.planner-exercise-options button span{margin-top:1px;color:var(--muted);font-size:8px}.planner-exercise-options .is-custom{border-top:1px solid var(--border);border-radius:0 0 3px 3px}.planner-exercise-no-results{padding:6px;color:var(--muted);font-size:9px}.planner-tile-actions{position:absolute;z-index:2;top:4px;right:5px;display:flex;align-items:center;gap:2px}.planner-tile-delete{width:24px;height:24px;padding:0;border:0;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--muted);line-height:1;cursor:pointer;transition:background .12s ease,color .12s ease,transform .12s ease}.planner-tile-delete svg{display:block;pointer-events:none}.planner-tile-delete path{stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.planner-tile-delete:hover{color:var(--red);background:color-mix(in srgb,var(--red) 11%,transparent)}.planner-tile-delete:active{transform:scale(.92)}.planner-tile-delete:focus-visible{color:var(--red);background:color-mix(in srgb,var(--red) 9%,transparent);outline:2px solid color-mix(in srgb,var(--red) 42%,transparent);outline-offset:1px}.planner-add-exercise{width:100%;margin-top:2px;padding:5px;border:1px dashed var(--border-strong);border-radius:4px;background:transparent;color:var(--text-2);font:inherit;font-size:9.5px;cursor:pointer}.planner-add-exercise:hover{border-color:var(--accent);color:var(--accent)}.planner-add-exercise:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.planner-session-exercises{border-bottom:1px solid var(--border)}.planner-session-exercises>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;color:var(--text-2);font-size:10px;font-weight:650;list-style:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.planner-session-exercises>summary::-webkit-details-marker{display:none}.planner-session-exercises>summary:hover{background:var(--surface-3);color:var(--accent)}.planner-session-exercises>summary:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.planner-session-exercises-chevron{color:var(--muted);transition:transform .12s ease}.planner-session-exercises[open] .planner-session-exercises-chevron{transform:rotate(180deg)}.planner-session-exercises>ol{display:grid;grid-gap:5px;gap:5px;margin:0;padding:0 7px 7px;border-top:1px solid var(--border);list-style:none}.planner-session-exercises>ol>li{display:flex;align-items:flex-start;gap:5px;min-width:0;padding:6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.planner-session-exercises>ol>li:first-child{margin-top:7px}.planner-session-exercises .planner-exercise-index{margin-top:1px}.planner-session-exercise-copy{display:block;min-width:0}.planner-session-exercise-copy small,.planner-session-exercise-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-session-exercise-copy strong{color:var(--text-2);font-size:10.5px;line-height:1.25}.planner-session-exercise-copy small{margin-top:2px;color:var(--muted);font-size:9px}.planner-session-exercises>p{margin:0;padding:10px 8px;border-top:1px solid var(--border);color:var(--muted);font-size:9.5px}@media (prefers-reduced-motion:reduce){.planner-session-exercises-chevron{transition:none}}.planner-session-rename{flex:1 1;width:100%;min-width:0;min-height:0;padding:0;border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;color:var(--text);font-size:11.5px;font-weight:650;line-height:1.25}.planner-session-rename:focus{border-bottom-color:currentColor;outline:none}.planner-day-column.is-focused .planner-session-rename{font-size:16px;font-weight:800;line-height:1.3;letter-spacing:-.01em}.planner-add-session-trigger{width:100%;min-height:32px;padding:6px 8px;display:flex;align-items:center;justify-content:space-between;gap:6px;border:1px dashed var(--border-strong);border-radius:var(--radius);background:transparent;color:var(--text-2);font-size:10px;font-weight:750;cursor:pointer}.planner-add-session-trigger:hover,.planner-add-session-trigger[aria-expanded=true]{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.planner-add-session-menu{display:grid;grid-gap:3px;gap:3px;margin-top:5px;padding:4px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.planner-add-session-menu button{width:100%;min-width:0;padding:7px 8px;border:0;border-radius:4px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.planner-add-session-menu button:hover{background:var(--surface-3)}.planner-add-session-menu span,.planner-add-session-menu strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-add-session-menu strong{font-size:10px}.planner-add-session-menu span{margin-top:2px;color:var(--muted);font-size:8px}.planner-add-session-menu .is-gym strong{color:var(--violet)}.planner-add-session-menu .is-swim strong{color:var(--blue)}.planner-add-session-menu .is-conditioning strong{color:var(--green)}.planner-unscheduled{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}.planner-editor{margin-top:16px;scroll-margin-top:72px}.planner-copy-bar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.planner-copy-bar p{margin:3px 0 0;font-size:11px}.planner-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,32%);grid-gap:12px;gap:12px;align-items:start}.planner-editor-grid .day-card{width:100%;min-width:0}.planner-preview-pane{position:-webkit-sticky;position:sticky;top:60px;max-height:calc(100vh - 78px);overflow-y:auto}.planner-preview-pane h2{margin-top:0}.planner-editor-empty{padding:34px;border-style:dashed;color:var(--muted);text-align:center}.planner-stat{margin:0;padding:13px 0;border-bottom:1px solid var(--border);color:var(--accent);font-size:28px;font-weight:700}.planner-stat span{display:block;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.planner-inline-editor{display:grid;grid-gap:10px;gap:10px;margin-top:0;padding:10px;background:var(--bg)}.planner-inline-section{min-width:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.planner-inline-section>summary{padding:9px 11px;cursor:pointer;list-style-position:inside;background:var(--surface-2);color:var(--text-2);font-size:11px;font-weight:750}.planner-inline-section[open]>summary{border-bottom:1px solid var(--border);color:var(--accent)}.planner-inline-section-body{min-width:0;padding:11px}.planner-inline-exercises{padding:0;border:0;background:transparent;overflow:visible}.planner-inline-exercises .program-exercise-editor-list{margin-right:-10px;margin-left:-10px;padding:0}.planner-inline-editor>.planner-inline-exercises:first-child .program-exercise-editor-list{margin-top:-10px}.planner-inline-exercise-toolbar{display:flex;align-items:center;gap:10px;margin-top:10px}.planner-inline-exercise-toolbar .program-add-exercise{width:auto;margin:0;padding:7px 10px;font-size:10px}.planner-inline-exercise-toolbar>span{color:var(--muted);font-size:10px}.planner-inline-custom-name{margin-bottom:10px}.planner-session-coach-instruction{display:block;margin:0;padding:0 8px 7px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:var(--surface-2)}.planner-session-coach-instruction textarea{width:100%;min-height:25px;padding:3px 1px;resize:vertical;border:0;border-bottom:1px solid;border-radius:0;background:transparent;color:var(--text-2);font-size:10px;font-weight:600;line-height:1.35}.planner-session-coach-instruction textarea:focus{outline:none}.planner-session-instruction-display{display:block;width:100%;min-height:25px;padding:3px 1px;overflow:hidden;border:0;background:transparent;color:var(--text-2);font:inherit;font-size:10px;font-weight:600;line-height:1.35;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text}.planner-session-instruction-display.is-empty{color:var(--muted);font-weight:500}.planner-session-instruction-display:hover{color:var(--text)}.planner-session-group>.planner-session-coach-instruction{padding-left:38px;background:color-mix(in srgb,var(--violet) 14%,var(--surface-2))}.planner-session-card.planner-session-swim>.planner-session-coach-instruction{background:color-mix(in srgb,var(--blue) 14%,var(--surface-2))}.planner-session-card.planner-session-conditioning>.planner-session-coach-instruction{background:color-mix(in srgb,var(--green) 14%,var(--surface-2))}.athlete-session-instruction{border-left:3px solid var(--amber)}.athlete-session-instruction p{margin:6px 0 0;color:var(--text-2);white-space:pre-wrap}.planner-session-instruction-preview{margin:7px 0 0;color:var(--amber);font-size:9.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-inline-editor .session-composer-grid{grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr)}.planner-inline-editor .program-set-advanced-grid,.planner-inline-editor .program-set-core-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.program-name-form{display:flex;align-items:center;gap:7px;max-width:min(720px,100%);margin-top:5px}.program-name-input{min-width:0;width:100%;padding:2px 6px;border:1px solid transparent;background:transparent;color:var(--text);font-size:clamp(25px,3vw,34px);font-weight:760;letter-spacing:-.025em;line-height:1.15}.program-name-input:hover{border-color:var(--border)}.program-name-input:focus{border-color:var(--accent);background:var(--surface)}.program-local-builder{display:grid;grid-gap:14px;gap:14px}.program-local-savebar{position:-webkit-sticky;position:sticky;top:8px;z-index:35;display:flex;align-items:center;justify-content:space-between;gap:16px;border-color:rgba(70,200,240,.28);box-shadow:0 8px 28px rgba(0,0,0,.16)}.program-local-savebar h2,.program-local-savebar p{margin:0}.program-local-savebar h2{font-size:16px}.program-local-savebar p{margin-top:4px;font-size:11px}.program-draft-error{margin:0;padding:11px 13px;border:1px solid rgba(244,88,88,.35);border-radius:var(--radius);background:rgba(244,88,88,.08);color:var(--red)}.program-spreadsheet-import{display:grid;grid-gap:15px;gap:15px;border-color:color-mix(in srgb,var(--accent) 34%,var(--border));background:color-mix(in srgb,var(--accent) 3%,var(--surface))}.program-spreadsheet-apply,.program-spreadsheet-import-head,.program-spreadsheet-preview-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.program-spreadsheet-import-head{align-items:flex-start}.program-spreadsheet-import-head h2{margin:3px 0 4px;font-size:17px}.program-spreadsheet-import-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}.program-spreadsheet-format{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(420px,1.35fr);grid-gap:12px 18px;gap:12px 18px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.program-spreadsheet-format-copy{min-width:0}.program-spreadsheet-format-copy .badge{margin-bottom:8px;color:var(--accent)}.program-spreadsheet-format h3{margin:0 0 6px;color:var(--text);font-size:14px;letter-spacing:-.01em}.program-spreadsheet-format p{margin:0;color:var(--text-2);font-size:10.5px;line-height:1.55}.program-spreadsheet-format-example{min-width:0;overflow-x:auto;border:1px solid var(--border);border-radius:6px;background:var(--bg)}.program-spreadsheet-format table{width:100%;min-width:510px;border-collapse:collapse;font-size:9.5px}.program-spreadsheet-format td,.program-spreadsheet-format th{height:27px;padding:5px 7px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.program-spreadsheet-format td:last-child,.program-spreadsheet-format th:last-child{border-right:0}.program-spreadsheet-format tbody tr:last-child td{border-bottom:0}.program-spreadsheet-format th{height:23px;background:var(--surface-3);color:var(--muted);font-size:8px;font-weight:650}.program-spreadsheet-format tbody tr:nth-child(3) td{color:var(--text);font-weight:700}.program-spreadsheet-format ul{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:5px 22px;gap:5px 22px;margin:0;padding:10px 0 0 18px;border-top:1px solid var(--border);color:var(--muted);font-size:9.5px;line-height:1.45}.program-spreadsheet-format code{color:var(--text-2);font-size:inherit}.program-spreadsheet-upload{display:grid;grid-template-columns:minmax(260px,1fr) auto;grid-gap:12px;gap:12px;align-items:end;padding-top:14px;border-top:1px solid var(--border)}.program-spreadsheet-upload .field{margin:0}.program-spreadsheet-preview{display:grid;grid-gap:12px;gap:12px}.program-spreadsheet-preview-title{padding-top:13px;border-top:1px solid var(--border)}.program-spreadsheet-preview-title span,.program-spreadsheet-preview-title strong{display:block}.program-spreadsheet-preview-title>div>span{margin-top:3px;color:var(--muted);font-size:10.5px}.program-spreadsheet-sheet-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:8px;gap:8px;margin:0;padding:12px;border:1px solid var(--border);border-radius:var(--radius)}.program-spreadsheet-sheet-list legend{padding:0 6px;color:var(--text-2);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.program-spreadsheet-sheet-list label{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);cursor:pointer}.program-spreadsheet-sheet-list label.is-selected,.program-spreadsheet-sheet-list label:hover{border-color:var(--accent);background:var(--accent-soft)}.program-spreadsheet-sheet-list input{flex:none;width:16px;min-height:16px;margin-top:1px}.program-spreadsheet-sheet-list small,.program-spreadsheet-sheet-list span,.program-spreadsheet-sheet-list strong{display:block;min-width:0}.program-spreadsheet-sheet-list strong{overflow-wrap:anywhere;font-size:12px}.program-spreadsheet-sheet-list small{margin-top:4px;color:var(--muted);font-size:9.5px;line-height:1.45}.program-spreadsheet-warnings{color:var(--amber);font-size:10.5px}.program-spreadsheet-warnings>summary{cursor:pointer;font-weight:700}.program-spreadsheet-warnings ul{margin-bottom:0}.program-spreadsheet-apply{padding-top:12px;border-top:1px solid var(--border)}.program-spreadsheet-apply>span{color:var(--muted);font-size:10.5px}.program-draft-details{padding:0;overflow:hidden}.program-draft-details>summary{cursor:pointer;padding:13px 15px;background:var(--surface-2);color:var(--text-2);font-size:12px;font-weight:750;list-style-position:inside}.program-draft-details-body{padding:15px;border-top:1px solid var(--border)}.program-draft-details .program-name-input{padding:6px 8px;border-color:var(--border)}.program-draft-session-select{width:100%;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.program-draft-checkbox{justify-content:flex-start;gap:8px;margin-top:8px}.program-draft-checkbox input{width:16px;min-height:16px}.program-draft-readiness ul{margin-bottom:0;color:var(--red)}.local-program-drafts{margin-bottom:14px;border-color:rgba(240,180,41,.35)}.local-program-drafts-head{margin-bottom:12px}.local-program-drafts-head h2,.local-program-drafts-head p{margin:0}.local-program-drafts-head p{margin-top:3px}.local-program-draft-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:9px;gap:9px}.local-program-draft-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.local-program-draft-card h3{margin:7px 0 3px;font-size:14px}.local-program-draft-card p{margin:0}.local-program-draft-card .field-help{margin-top:5px}@media (max-width:1100px){.planner-week-canvas{grid-template-columns:repeat(7,minmax(0,1fr))}.planner-editor-grid{grid-template-columns:1fr}.planner-preview-pane{position:static;max-height:none}.planner-inline-editor .session-composer-grid{grid-template-columns:1fr}}@media (max-width:640px){.planner-toolbar{position:static}.planner-week-switcher-bar{align-items:stretch;flex-direction:column}.planner-week-actions{justify-content:flex-end}.planner-week-canvas{grid-template-columns:repeat(7,84vw)}.planner-copy-bar{align-items:flex-start;flex-wrap:wrap}.planner-copy-bar .spacer{display:none}.program-local-savebar{position:static;align-items:stretch;flex-direction:column}.program-local-savebar>.row{justify-content:stretch}.program-local-savebar form,.program-local-savebar form .btn{width:100%}.program-spreadsheet-apply,.program-spreadsheet-import-head{align-items:stretch;flex-direction:column}.program-spreadsheet-format{grid-template-columns:1fr}.program-spreadsheet-format ul{grid-column:auto;grid-template-columns:1fr}.program-spreadsheet-upload{grid-template-columns:1fr}.program-spreadsheet-apply .btn,.program-spreadsheet-upload .btn{width:100%;justify-content:center}.local-program-draft-card{flex-direction:column}.planner-inline-editor .program-set-advanced-grid,.planner-inline-editor .program-set-core-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.board{gap:12px;align-items:flex-start;overflow-x:auto;padding-bottom:12px}.day-card{flex:0 0 300px;width:300px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.day-card-head{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--surface-2);border-bottom:1px solid var(--border)}.day-card-name{font-size:11.5px;font-weight:700;letter-spacing:.07em;overflow:hidden;text-overflow:ellipsis}.day-card-name,.day-card-tag{text-transform:uppercase;white-space:nowrap}.day-card-tag{font-size:9.5px;font-weight:650;color:var(--muted);background:var(--bg);border:1px solid var(--border);padding:2px 6px;border-radius:4px;letter-spacing:.06em}.day-card-body{padding:10px;display:flex;flex-direction:column;gap:8px}.day-card-foot{padding:0 10px 10px}.modal:has(.session-composer){max-width:1040px}.session-composer-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(340px,1.15fr);grid-gap:16px;gap:16px;align-items:start}.session-composer textarea{min-height:430px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.55}.session-syntax-help{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--muted);font-size:11px}.session-syntax-help summary{cursor:pointer;color:var(--text-2);font-weight:650}.session-syntax-help p{margin:8px 0 0;line-height:1.55}.session-remove-form{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.session-preview{min-width:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);overflow:hidden}.session-preview.is-compact{max-height:420px;overflow-y:auto}.session-preview-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-bottom:1px solid var(--border);background:var(--surface-2)}.session-preview-summary>div{display:flex;flex-direction:column;gap:2px;min-width:0}.session-preview-summary .eyebrow{color:var(--accent);font-size:8.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.session-preview-summary strong{font-size:12px}.session-preview-summary>span{color:var(--muted);font-size:10.5px;text-align:right}.session-energy-summary{display:flex;justify-content:space-between;gap:10px;margin:9px 10px 0;padding:8px 10px;border-left:2px solid var(--green);background:rgba(53,208,127,.06);font-size:10.5px}.session-energy-summary span{color:var(--muted)}.session-preview-section{margin:10px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.session-preview-section h4{margin:0;padding:7px 9px;border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.session-preview-row{padding:9px;border-bottom:1px solid var(--border)}.session-preview-row:last-child{border-bottom:0}.session-preview-row-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.session-preview-row-head strong{color:var(--text);font-size:12px}.session-preview-row>p{margin:4px 0 0;color:var(--text-2);font-size:10.5px;line-height:1.45;overflow-wrap:anywhere}.session-preview-row .session-segments{color:var(--accent)}.session-chip{padding:2px 5px;border:1px solid var(--border-strong);border-radius:3px;color:var(--muted);background:var(--surface-2);font-size:8.5px;font-weight:700}.session-chip-accent{color:var(--accent);border-color:rgba(70,200,240,.25);background:var(--accent-dim)}.session-chip-conditioning{color:var(--green);border-color:rgba(53,208,127,.25);background:rgba(53,208,127,.07)}.session-comment{color:var(--muted)!important;font-style:italic}.session-comment-block{margin:10px;font-size:10.5px}.session-preview-empty{margin:10px;padding:18px 10px;color:var(--muted);text-align:center;font-size:11px}.session-preview-warning{margin:10px;padding:9px 10px;border:1px solid rgba(240,180,41,.28);border-radius:var(--radius);background:rgba(240,180,41,.07);color:var(--amber);font-size:10px}.session-preview-warning strong{display:block;margin-bottom:4px;text-transform:uppercase;letter-spacing:.08em}.session-preview-warning p{margin:3px 0 0;overflow-wrap:anywhere}.overview-workout-text summary{cursor:pointer;color:var(--accent);font-size:10.5px}.overview-workout-text pre{max-width:320px;max-height:220px;overflow:auto;margin:8px 0 0;padding:8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text-2);font:10px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap}.athlete-session-prescription{max-width:820px}.session-log-card{margin-top:10px}.session-log-heading{margin-bottom:14px}.session-complete-control{display:flex;align-items:center;gap:9px;min-height:44px;margin-bottom:12px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text);text-transform:none;letter-spacing:normal;font-size:13px;cursor:pointer}.session-complete-control input{width:18px;min-height:18px;margin:0;accent-color:var(--accent)}.wellness-symptom-detail{display:none}.wellness-symptom:has(input[type=checkbox]:checked) .wellness-symptom-detail{display:block;margin:-6px 0 12px;padding:11px 12px;border:1px solid var(--border);border-top:0;border-radius:0 0 var(--radius) var(--radius);background:var(--bg);animation:wellness-symptom-open .16s ease-out}@keyframes wellness-symptom-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.wellness-symptom-detail label{display:block;margin-bottom:5px;color:var(--accent);font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.wellness-symptom-detail textarea{width:100%;margin:0}.wellness-symptom:has(input[type=checkbox]:checked) .session-complete-control{margin-bottom:0;border-color:var(--border);border-radius:var(--radius) var(--radius) 0 0}.session-result-grid{grid-template-columns:repeat(3,minmax(120px,1fr))}.ex{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);overflow:hidden}.ex-interactive:hover{border-color:var(--border-strong)}.ex-interactive:hover .ex-head{background:var(--surface-3)}.ex-open-body{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.ex-open-body:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ex-head{gap:8px;padding:7px 8px;background:var(--surface-2);border-bottom:1px solid var(--border)}.ex-head,.ex-letter{display:flex;align-items:center}.ex-letter{flex:0 0 18px;height:18px;border-radius:3px;background:var(--surface-3);color:var(--text-2);font-size:10px;font-weight:800;justify-content:center}.ex-name{font-size:12px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ex-body{padding:8px}.set-grid{display:flex;flex-direction:column;gap:6px}.set-line{display:flex;align-items:center;gap:5px}.set-line-label{flex:0 0 40px;font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:650}.set-box{flex:1 1;min-width:0;text-align:center;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:4px 2px;font-size:11.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.set-box-empty{color:var(--border-strong)}.ex-meta{font-size:10.5px;color:var(--muted);margin-top:7px;display:flex;flex-wrap:wrap;gap:4px 8px}.ex-actions{display:flex;gap:4px;margin-top:8px}.ex-actions .btn{padding:3px 7px;font-size:10px}.athlete-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:8px}.athlete-group>summary{padding:12px 14px;cursor:pointer;display:flex;align-items:center;gap:10px;flex-wrap:wrap;list-style:none}.athlete-group>summary::-webkit-details-marker{display:none}.athlete-group>summary:hover{background:var(--surface-2);border-radius:var(--radius-lg)}.athlete-group[open]>summary{border-bottom:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.athlete-group .chev{color:var(--muted);font-size:10px;transition:transform .15s ease;display:inline-block}.athlete-group[open] .chev{transform:rotate(90deg)}.athlete-group-body{padding:2px 14px 10px}.progress{height:3px;background:var(--surface-3);border-radius:99px;overflow:hidden;margin-bottom:5px;max-width:160px}.progress-fill{height:100%;background:var(--accent);border-radius:99px}.block{border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:10px;overflow:hidden;background:var(--surface)}.block-head{background:var(--surface-2);padding:10px 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.block-body{padding:2px 14px 14px}.prescription{color:var(--muted);font-size:11px}.done-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block;margin-right:2px;vertical-align:middle}.set-row{display:grid;grid-template-columns:34px 1fr 1fr 1fr 2fr;grid-gap:6px;gap:6px;align-items:center;margin-bottom:6px}.set-row .set-n{color:var(--muted);font-size:11px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.set-head{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:650}.target-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.target-table{min-width:1180px}.target-table th{padding:6px}.target-table td{padding:4px}.target-table input{min-width:76px;padding:6px}.target-table td:last-child input,.target-table td:nth-child(2) input{min-width:120px}.program-exercise-editor{padding:14px}.program-exercise-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.program-exercise-editor-head h2{margin:0}.program-exercise-editor-head p{margin:4px 0 0}.program-exercise-editor-list{display:grid;grid-gap:0;gap:0}.program-exercise-editor-card{position:relative;border-radius:0;border:1px solid color-mix(in srgb,var(--exercise-tone,var(--violet)) 30%,var(--border));border-left:0;background:color-mix(in srgb,var(--exercise-tone,var(--violet)) 5%,var(--surface));overflow:visible;transition:border-color .12s ease,background .12s ease}.program-exercise-editor-card:focus-within{z-index:3}.program-exercise-sortable-slot{position:relative;min-width:0}.program-exercise-sortable-slot+.program-exercise-sortable-slot{margin-top:-1px}.program-exercise-card-drop-zones{position:absolute;z-index:9;inset:0;display:grid;grid-template-rows:1fr 2fr 1fr;opacity:0;pointer-events:none;transition:opacity .1s ease}.program-exercise-card-drop-zones.is-active{opacity:1}.program-exercise-card-drop-zone{position:relative;display:grid;min-height:0;place-items:center}.program-exercise-card-drop-zone:before{position:absolute;inset:3px;border:1px solid transparent;background:transparent;content:"";transition:border-color .1s ease,background .1s ease}.program-exercise-card-drop-zone>span{position:relative;z-index:1;display:none;padding:4px 7px;border:1px solid var(--accent);border-radius:4px;background:var(--surface);color:var(--accent);font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;box-shadow:var(--shadow)}.program-exercise-card-drop-zone.is-over:before{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.program-exercise-card-drop-zone.is-over>span{display:block}.program-exercise-card-drop-zone.is-after.is-over:before,.program-exercise-card-drop-zone.is-before.is-over:before{right:8px;left:8px;height:3px;border:0;background:var(--accent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 55%,transparent)}.program-exercise-card-drop-zone.is-before.is-over:before{top:0;bottom:auto}.program-exercise-card-drop-zone.is-after.is-over:before{top:auto;bottom:0}.program-exercise-card-drop-zone.is-group.is-over:before{background:color-mix(in srgb,var(--violet) 22%,var(--surface))}.program-exercise-editor-card:hover,.program-exercise-editor-card[open]{border-color:color-mix(in srgb,var(--exercise-tone,var(--violet)) 58%,var(--border))}.program-exercise-editor-card[open]{background:color-mix(in srgb,var(--exercise-tone,var(--violet)) 8%,var(--surface))}.program-exercise-editor-card.is-new{border-style:dashed;border-color:var(--accent)}.program-exercise-editor-card>summary{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:stretch;min-height:48px;padding:0;cursor:-webkit-grab;cursor:grab;list-style:none;touch-action:none}.program-exercise-editor-card>summary:active{cursor:-webkit-grabbing;cursor:grabbing}.program-exercise-editor-card.is-dragging{z-index:6;opacity:.18}.program-exercise-drag-overlay{display:flex;max-width:min(420px,70vw);min-width:190px;align-items:center;gap:9px;padding:9px 12px;border:1px solid var(--violet);background:var(--surface);box-shadow:var(--shadow);color:var(--text);cursor:-webkit-grabbing;cursor:grabbing}.program-exercise-drag-overlay>span{color:var(--violet);font-size:14px}.program-exercise-drag-overlay>div{min-width:0}.program-exercise-drag-overlay small,.program-exercise-drag-overlay strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.program-exercise-drag-overlay small{margin-top:2px;color:var(--muted);font-size:8px;font-weight:650}.program-exercise-editor-card>summary::-webkit-details-marker{display:none}.program-exercise-number{display:grid;height:38px;place-items:center;border-right:1px solid color-mix(in srgb,var(--exercise-tone,var(--violet)) 45%,var(--border));border-bottom:1px solid color-mix(in srgb,var(--exercise-tone,var(--violet)) 30%,var(--border));background:var(--exercise-tone,var(--violet));color:var(--surface);font-size:13px;font-weight:800}.program-exercise-summary-copy{display:contents}.program-exercise-summary-copy small,.program-exercise-summary-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.program-exercise-summary-copy small{color:var(--muted)}.program-exercise-title-row{grid-column:2;grid-row:1;display:flex;min-width:0;min-height:38px;align-items:center;gap:8px;padding:5px 9px;border-bottom:1px solid color-mix(in srgb,var(--exercise-tone,var(--violet)) 30%,var(--border));background:color-mix(in srgb,var(--exercise-tone,var(--violet)) 11%,var(--surface-2))}.program-exercise-header-picker{position:relative;display:inline-flex;align-self:flex-start;min-width:0;max-width:100%}.program-exercise-header-picker .planner-exercise-autocomplete{flex:0 1 auto;min-width:0;max-width:100%}.program-exercise-header-picker .planner-tile-exercise-search{field-sizing:content;width:auto;min-width:13ch;max-width:100%;min-height:26px;padding:2px 6px;border-color:transparent;color:var(--text);font-size:14px;font-weight:750;cursor:text}.program-exercise-header-picker .planner-exercise-options{position:absolute;z-index:4;top:calc(100% + 3px);left:0;width:min(360px,80vw);margin:0}.program-exercise-header-picker .planner-exercise-options button{padding:7px 8px}.program-exercise-header-picker .planner-exercise-options button strong{font-size:11px}.program-exercise-collapsed-sets{grid-column:2;display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,52px));align-items:start;grid-gap:16px;gap:16px;width:100%;max-width:100%;padding:9px}.program-exercise-collapsed-set-column{display:grid;justify-items:stretch;grid-gap:4px;gap:4px;min-width:0}.program-exercise-collapsed-set-label{color:var(--muted);font-size:8px;font-weight:750;letter-spacing:.04em;text-align:center;text-transform:uppercase}.program-exercise-collapsed-set-value{display:grid;min-width:0;min-height:42px;padding:5px 4px;overflow:hidden;align-content:center;justify-items:center;grid-gap:2px;gap:2px;border:1px solid var(--border);border-radius:3px;background:var(--surface-2);color:var(--text-2);line-height:1;text-align:center;text-overflow:ellipsis;white-space:nowrap}.program-exercise-collapsed-set-value small{max-width:100%;overflow:hidden;color:var(--muted);font-size:8px;font-weight:700;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase}.program-exercise-collapsed-set-value strong{max-width:100%;overflow:hidden;color:var(--text);font-size:12px;font-weight:750;text-overflow:ellipsis}.program-exercise-editor-card[open] .program-exercise-collapsed-sets{display:none}.planner-session-exercise-copy .program-exercise-instruction-preview,.program-exercise-summary-copy .program-exercise-instruction-preview{color:var(--amber)}.program-exercise-summary-copy .program-exercise-instruction-preview{grid-column:1/-1;padding:0 9px 7px}.program-exercise-editor-form{min-width:0;padding:14px;border-top:1px solid var(--border);background:var(--surface)}.program-draft-exercise-form{display:grid;min-width:0;grid-gap:16px;gap:16px}.program-draft-exercise-form>.field,.program-exercise-picker-grid .field,.program-exercise-prescription-grid .field,.program-set-target-card .field{min-width:0;margin:0}.program-exercise-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.program-exercise-prescription-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));grid-gap:12px;gap:12px}.program-exercise-instruction-field{padding:11px 12px;border:1px solid rgba(240,180,41,.25);border-radius:var(--radius);background:rgba(240,180,41,.055)}.program-exercise-instruction-input{width:100%;min-width:0;border:1px solid rgba(240,180,41,.3);background:rgba(240,180,41,.06);color:var(--text)}.program-exercise-instruction-input::placeholder{color:rgba(240,180,41,.75)}.program-exercise-instruction-input:hover{border-color:rgba(240,180,41,.45)}.program-exercise-instruction-input:focus-visible{border-color:var(--amber);outline:1px solid var(--amber);outline-offset:-1px}.program-result-unit-hint{color:var(--accent)}.program-set-section{min-width:0;padding-top:2px}.program-set-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.program-set-section-head h3{margin:0;font-size:13px}.program-set-section-head p{margin:3px 0 0;font-size:10.5px}.program-set-toolbar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}.program-set-target-list{display:grid;min-width:0;grid-gap:6px;gap:6px}.program-set-target-card{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.program-set-target-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:0;padding:4px 4px 4px 9px;border-bottom:1px solid var(--border);background:var(--surface-3)}.program-set-target-head strong{color:var(--accent);font-size:10px;letter-spacing:.04em;text-transform:uppercase}.program-set-head-actions{display:flex;align-items:center;gap:2px}.program-set-head-button{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--muted);font:inherit;font-size:13px;line-height:1;cursor:pointer}.program-set-head-button:hover{color:var(--text);background:var(--surface-2)}.program-set-head-button[aria-expanded=true]{color:var(--accent);background:var(--surface-2)}.program-set-head-button.is-delete:hover{color:var(--red)}.program-set-head-button:disabled{opacity:.35;cursor:default}.program-set-head-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.program-set-advanced-grid,.program-set-core-grid{display:grid;grid-template-columns:repeat(4,minmax(92px,1fr));grid-gap:7px 8px;gap:7px 8px;padding:8px 9px}.program-set-advanced-grid{border-top:1px dashed var(--border);background:var(--bg)}.program-set-note{grid-column:span 2}.program-set-percent-hint{grid-column:1/-1;margin-top:0}.program-set-target-card .field label{margin-bottom:2px;font-size:9px;letter-spacing:.05em;text-transform:uppercase}.program-set-target-card .field input{min-height:0;padding:5px 7px;font-size:11.5px}@media (max-width:720px){.program-exercise-picker-grid{grid-template-columns:1fr}.program-set-section-head{align-items:flex-start;flex-direction:column}.program-set-toolbar{justify-content:flex-start}.program-set-advanced-grid,.program-set-core-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:440px){.program-set-advanced-grid,.program-set-core-grid{grid-template-columns:1fr}.program-set-note{grid-column:auto}.program-set-toolbar .badge{width:100%}}.program-exercise-delete{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.program-exercise-empty{margin:0;padding:24px 12px;border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--muted);text-align:center}.program-add-exercise{margin-top:12px}.exercise-group-label{min-width:30px;height:30px;padding:0 6px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-dim);color:var(--accent);font-weight:750;font-size:12px}.rich-set-row{grid-template-columns:34px minmax(130px,1.35fr) minmax(105px,1fr) minmax(80px,.8fr) 74px minmax(140px,1.5fr)}.gym-set-field,.mobile-set-field{display:block;min-width:0;margin:0}.gym-set-field input,.mobile-set-field input{min-width:0}.mobile-field-label,.mobile-only{display:none!important}.desktop-only{display:inline}.desktop-only .stat-note{display:block}.program-exercise-summary{cursor:pointer;list-style:none}.program-exercise-summary::-webkit-details-marker{display:none}.program-exercise:not([open]) .program-exercise-summary{border-bottom:0}.program-exercise-progress{color:var(--muted);font-size:12px;white-space:nowrap}.exercise-instruction-callout{display:flex;flex-grow:1;flex-shrink:0;flex-basis:calc(100% + 28px);width:calc(100% + 28px);flex-direction:column;gap:3px;margin:4px -14px -10px;padding:9px 14px;border-top:1px solid rgba(240,180,41,.24);background:rgba(240,180,41,.075)}.exercise-instruction-label{color:var(--amber);font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.exercise-instruction-text{color:var(--text-2);font-size:12px;font-weight:500;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap}.program-set-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:12px}.program-save-state{color:var(--green);font-size:11.5px}.program-save-state.is-error{color:var(--red)}.planned-set{display:flex;flex-direction:column;min-width:0}.planned-set strong{font-size:12px}.planned-set span{color:var(--muted);font-size:9.5px;overflow-wrap:anywhere}.feedback-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:14px}.feedback-readout{min-height:62px;padding:9px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);color:var(--text-2);font-size:12px;white-space:pre-wrap}.program-overview table{min-width:1120px}.program-overview td{vertical-align:top}.overview-detail{font-size:10px;margin-top:3px;white-space:nowrap}.program-review{display:flex;flex-direction:column;gap:14px}.review-added-exercises{display:grid;grid-gap:8px;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.review-added-exercises>article{padding:10px 11px;border:1px solid color-mix(in srgb,var(--violet) 34%,var(--border));border-left:3px solid var(--violet);border-radius:var(--radius);background:color-mix(in srgb,var(--violet) 6%,var(--surface-2))}.review-added-exercises>article p{margin:6px 0 0;font-size:11px}.review-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-color:var(--border-strong);background:linear-gradient(135deg,var(--surface),var(--surface-2))}.review-intro h2{margin:2px 0 5px;font-size:20px;letter-spacing:-.02em;text-transform:none}.review-intro p{margin:0}.review-eyebrow{color:var(--accent);font-size:9.5px;font-weight:750;letter-spacing:.16em;text-transform:uppercase}.review-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.review-section-heading h2{margin:0;font-size:15px;text-transform:none}.review-section-heading p{margin:3px 0 0;font-size:11.5px}.review-subjects{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:8px;gap:8px}.review-subject{min-width:0;padding:11px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);transition:border-color .12s ease,background .12s ease,box-shadow .12s ease;color:inherit;font:inherit;text-align:left;cursor:pointer}.review-subject:hover{border-color:var(--border-strong);background:var(--surface-2)}.review-subject.is-active{border-color:var(--accent);background:var(--accent-dim);box-shadow:inset 0 0 0 1px rgba(70,200,240,.14)}.review-subject strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.review-subject span{display:block;margin-top:2px;color:var(--muted);font-size:10px}.review-view-tabs{display:inline-flex;align-self:flex-start;gap:3px;padding:3px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.review-view-tabs a,.review-view-tabs button{padding:7px 12px;border-radius:var(--radius);color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0;background:transparent;cursor:pointer}.review-view-tabs a:hover,.review-view-tabs button:hover{color:var(--text);background:var(--surface-2)}.review-view-tabs a:active,.review-view-tabs button:active{color:var(--text);background:var(--surface-3)}.review-view-tabs a.is-active,.review-view-tabs button.is-active{color:var(--accent-ink);background:var(--accent)}.review-week-strip{display:flex;gap:5px;overflow-x:auto;padding-bottom:3px}.review-week-strip a,.review-week-strip button{flex:0 0 auto;min-width:90px;padding:8px 11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:border-color .12s ease,background .12s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.review-week-strip a:hover,.review-week-strip button:hover{border-color:var(--border-strong);background:var(--surface-2)}.review-week-strip a.is-active,.review-week-strip a:active,.review-week-strip button.is-active,.review-week-strip button:active{border-color:var(--accent);background:var(--accent-dim)}.review-week-strip strong{display:block;font-size:11.5px}.review-week-strip a.is-active strong,.review-week-strip button.is-active strong{color:var(--accent)}.review-week-strip span{display:block;margin-top:2px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.04em}.review-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.review-metric{min-width:0;padding:12px;border:1px solid var(--border);border-top:2px solid var(--border-strong);border-radius:var(--radius);background:var(--surface)}.review-metric-success{border-top-color:var(--green)}.review-metric-warning{border-top-color:var(--amber)}.review-metric-info{border-top-color:var(--blue)}.review-metric>span{display:block;color:var(--muted);font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.review-metric strong{display:block;margin:4px 0 2px;font-size:23px;font-weight:650;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.review-metric small{display:block;color:var(--muted);font-size:9.5px;line-height:1.35}.review-calendar{display:grid;grid-template-columns:repeat(7,minmax(158px,1fr));grid-gap:7px;gap:7px;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x proximity}.review-day{min-height:245px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden;scroll-snap-align:start}.review-day>header{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;min-height:48px;padding:9px 10px;border-bottom:1px solid var(--border);background:var(--surface-2)}.review-day>header strong{display:block;font-size:11.5px}.review-day>header div>span{display:block;margin-top:1px;color:var(--muted);font-size:9.5px}.review-day-state{padding:2px 5px;border-radius:99px;background:rgba(76,154,255,.1);color:var(--blue);font-size:7.5px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.review-day-body{display:flex;flex-direction:column;gap:7px;padding:7px}.review-day-body>p{margin:30px 4px;padding:12px 4px;border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted);font-size:9.5px;text-align:center}.review-session-card{display:block;padding:9px;border:1px solid var(--border-strong);border-left-width:3px;border-radius:var(--radius);background:var(--surface-2);transition:border-color .12s ease,background .12s ease,box-shadow .12s ease;width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.review-session-card:hover{background:var(--surface-3)}.review-session-card.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.review-session-gym{border-left-color:var(--violet)}.review-session-swim{border-left-color:var(--blue)}.review-session-conditioning{border-left-color:var(--green)}.review-session-type{display:block;color:var(--muted);font-size:7.5px;font-weight:750;letter-spacing:.11em;text-transform:uppercase}.review-session-card>strong{display:block;margin-top:3px;font-size:11.5px;line-height:1.25}.review-session-detail{display:block;margin-top:3px;color:var(--muted);font-size:9.5px}.review-session-status{display:inline-flex;margin-top:8px;padding:2px 6px;border:1px solid var(--border-strong);border-radius:99px;color:var(--text-2);font-size:7.5px;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.review-session-status.status-complete{border-color:rgba(53,208,127,.25);background:rgba(53,208,127,.1);color:var(--green)}.review-session-status.status-in-progress{border-color:rgba(240,180,41,.25);background:rgba(240,180,41,.1);color:var(--amber)}.review-session-status.status-not-logged{border-color:rgba(242,85,90,.25);background:rgba(242,85,90,.08);color:var(--red)}.review-session-status.status-upcoming{border-color:rgba(76,154,255,.25);background:rgba(76,154,255,.08);color:var(--blue)}.review-unscheduled{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.review-session-panel{scroll-margin-top:20px;padding:0;overflow:hidden}.review-session-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--border);background:var(--surface-2)}.review-session-heading h2{margin:10px 0 2px;font-size:20px;text-transform:none;letter-spacing:-.02em}.review-session-heading p{margin:0}.review-session-panel>.review-comparison-grid,.review-session-panel>div{padding:14px}.review-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.review-column-label{margin:0 0 7px;color:var(--muted);font-size:9.5px;font-weight:750;text-transform:uppercase;letter-spacing:.11em}.review-result-card{min-height:100%;padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg)}.review-result-card dl{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px;margin:14px 0}.review-result-card dl div{padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.review-result-card dt{color:var(--muted);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.review-result-card dd{margin:3px 0 0;font-size:17px;font-weight:650}.review-notes{margin-top:8px;padding:10px;border-left:2px solid var(--border-strong);background:var(--surface)}.review-notes strong{font-size:10px}.review-notes p{margin:3px 0 0;color:var(--text-2);font-size:11px;white-space:pre-wrap}.review-empty-result{min-height:180px;margin:0;padding:70px 18px;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--muted);text-align:center}.review-exercise-view{overflow:hidden}.review-exercise-view .review-section-heading{margin-bottom:14px}@media (max-width:1050px){.review-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.review-calendar{grid-template-columns:repeat(7,minmax(205px,31vw))}}@media (max-width:700px){.review-intro,.review-session-heading{flex-direction:column}.review-subjects{grid-template-columns:repeat(2,minmax(0,1fr))}.review-calendar{grid-template-columns:repeat(7,82vw)}.review-comparison-grid{grid-template-columns:1fr}.review-session-heading .btn{width:100%;justify-content:center}}@media (max-width:440px){.review-metrics,.review-subjects{grid-template-columns:1fr}.review-view-tabs{display:grid;grid-template-columns:1fr 1fr;align-self:stretch}.review-view-tabs a,.review-view-tabs button{text-align:center}}.leaderboard{display:flex;flex-direction:column;gap:7px}.leader-row{display:grid;grid-template-columns:24px minmax(90px,1.4fr) 1fr auto auto;grid-gap:10px;gap:10px;align-items:center}.leader-rank{font-size:12px;text-align:center;color:var(--muted);font-weight:700}.leader-name{font-weight:600;white-space:nowrap}.leader-name,.leader-variant{overflow:hidden;text-overflow:ellipsis}.leader-variant{display:block;font-weight:400;font-size:10px;color:var(--muted)}.leader-bar-wrap{background:var(--surface-3);border-radius:99px;height:4px;overflow:hidden}.leader-bar{height:100%;border-radius:99px;background:var(--accent)}.leader-value{font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.leader-note{color:var(--muted);font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));grid-gap:10px;gap:10px}.pb{border:1px solid var(--border);border-radius:var(--radius);padding:11px;background:var(--bg)}.pb-value{font-size:20px;font-weight:600;letter-spacing:-.03em;margin:5px 0 2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));grid-gap:6px;gap:6px;align-items:start;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding-bottom:4px}.week-grid>.day-col{scroll-snap-align:start}.day-col{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;min-width:0}.day-today{border-color:var(--accent)}.day-head{display:flex;align-items:baseline;justify-content:space-between;padding:7px 9px;background:var(--surface-2);font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700}.day-today .day-head{color:var(--accent)}.day-date{font-size:14px;font-weight:650;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.day-body{padding:7px;display:flex;flex-direction:column;gap:6px}.day-empty{color:var(--border-strong);text-align:center;margin:3px 0;font-size:12px}.slot{border:1px solid var(--border);border-left:2px solid var(--accent);border-radius:4px;padding:7px;background:var(--bg);font-size:11.5px;min-width:0}.slot-full{border-left-color:var(--amber)}.slot-busy{border-left-color:var(--red);background:color-mix(in srgb,var(--red) 5%,var(--bg))}.busy-chip{color:var(--red);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.calendar-week-help{margin:10px 0;font-size:12px}.calendar-view-switch{margin:0 0 10px;gap:6px}.availability-weekdays{border:0;padding:0;margin:0 0 18px}.availability-weekdays legend{margin-bottom:8px;font-size:12px;color:var(--muted)}.availability-day{display:flex;align-items:center;gap:6px;padding:10px;border:1px solid var(--border);border-radius:8px;cursor:pointer}.availability-day input{width:auto;min-height:0}.availability-break{border:0;padding:0;margin:0 0 14px}.availability-break legend{margin-bottom:8px;font-size:12px;color:var(--muted)}.availability-break-warning{margin:10px 0 0;color:var(--red);font-size:13px}.availability-double{align-items:flex-start;margin-bottom:18px}.availability-double span{display:block}.availability-double small{display:block;margin-top:4px;color:var(--muted);line-height:1.5}.availability-preview{padding:14px;border:1px solid var(--border);border-radius:10px;margin-bottom:18px;background:var(--surface-2)}.availability-preview p,.availability-preview small{color:var(--muted);line-height:1.6}.calendar-month-title{margin-left:6px;font-size:13px}.booking-filter-panel{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.booking-coach-filter{display:flex;align-items:end;gap:8px;min-width:0}.booking-coach-field{width:min(280px,46vw);margin:0}.booking-filter-apply{white-space:nowrap}.booking-availability-filter{display:flex;align-items:center;gap:12px;min-width:220px;padding:7px 9px 7px 12px;border:1px solid var(--border);border-radius:9px;background:var(--bg)}.booking-availability-copy{display:flex;flex:1 1;flex-direction:column;min-width:0}.booking-availability-copy>span{color:var(--text);font-size:12px;font-weight:700}.booking-availability-copy small{color:var(--muted);font-size:9.5px;white-space:nowrap}.booking-availability-toggle{position:relative;flex:0 0 42px;width:42px;height:24px;padding:0;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface-3);cursor:pointer;transition:background .15s ease,border-color .15s ease}.booking-toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--text-2);box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .15s ease,background .15s ease}.booking-availability-toggle[aria-checked=true]{border-color:var(--accent);background:var(--accent)}.booking-availability-toggle[aria-checked=true] .booking-toggle-thumb{transform:translateX(18px);background:var(--accent-ink)}.booking-availability-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.booking-availability-view.is-available-only .booking-slot-unavailable{display:none}.booking-availability-view.is-available-only .day-col:not(:has(.slot:not(.booking-slot-unavailable))) .day-empty{display:none}.booking-availability-view.is-available-only .day-col:not(:has(.slot:not(.booking-slot-unavailable))) .day-body:after{content:"No available sessions";padding:6px 2px;color:var(--muted);font-size:10px;text-align:center}@media (max-width:720px){.booking-filter-panel{align-items:stretch;flex-direction:column;gap:12px}.booking-coach-filter{align-items:end}.booking-coach-field{flex:1 1;width:auto}.booking-availability-filter{min-width:0}.booking-availability-toggle{flex-basis:48px;width:48px;height:28px}.booking-toggle-thumb{width:20px;height:20px}.booking-availability-toggle[aria-checked=true] .booking-toggle-thumb{transform:translateX(20px)}}.coach-month-calendar{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--border)}.coach-month-grid,.coach-month-weekdays{min-width:900px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.coach-month-weekdays{gap:1px;border-bottom:1px solid var(--border)}.coach-month-weekdays span{padding:8px;background:var(--surface-2);color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.08em;text-align:center;text-transform:uppercase}.coach-month-grid{gap:1px}.coach-month-day{min-height:122px;padding:6px;overflow:hidden;background:var(--bg);color:var(--text)}.coach-month-day.is-outside{background:var(--surface-2);opacity:.52}.coach-month-day.is-today{box-shadow:inset 0 0 0 2px var(--accent)}.coach-month-date{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;color:var(--text);font-size:11px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.coach-month-date:hover{background:var(--surface-3);color:var(--accent)}.coach-month-day.is-today .coach-month-date{background:var(--accent);color:var(--accent-ink)}.coach-month-events{display:grid;grid-gap:3px;gap:3px;margin-top:3px}.coach-month-event{min-width:0;overflow:hidden;border-left:2px solid var(--accent);border-radius:3px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--text-2);font-size:9.5px;line-height:1.25}.coach-month-event>.coach-month-event-trigger{display:block;width:100%;min-height:0;padding:3px 5px;border:0;border-radius:0;background:transparent;color:inherit;font-size:inherit;line-height:inherit;text-align:left}.coach-month-event>.coach-month-event-trigger:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.coach-month-event.is-busy>.coach-month-event-trigger:hover{background:color-mix(in srgb,var(--red) 12%,transparent)}.coach-month-event-copy{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coach-month-event-copy>span{margin-right:4px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.coach-month-event.is-busy{border-left-color:var(--red);background:color-mix(in srgb,var(--red) 9%,var(--surface))}.coach-month-event.is-cancelled{border-left-color:var(--muted);opacity:.55}.coach-month-event.is-cancelled .coach-month-event-copy{text-decoration:line-through}.coach-month-more{color:var(--accent);font-size:9px;font-weight:700}.coach-calendar-scroll{overflow:auto;max-height:74vh;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.coach-calendar{min-width:1000px}.athlete-training-plan-row,.coach-calendar-body,.coach-calendar-head{display:grid;grid-template-columns:58px repeat(7,minmax(128px,1fr))}.coach-calendar-head{position:-webkit-sticky;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--border-strong);background:var(--surface-2)}.coach-calendar-corner,.coach-calendar-day-head{min-width:0;padding:7px;border-right:1px solid var(--border);background:var(--surface-2)}.coach-calendar-corner{display:flex;justify-content:center}.coach-calendar-corner,.coach-calendar-day-head{align-items:center;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.coach-calendar-day-head{display:grid;grid-template-columns:1fr auto;grid-gap:2px 6px;gap:2px 6px}.coach-calendar-day-head strong{color:var(--text);font-size:15px;letter-spacing:-.02em}.coach-calendar-day-head.is-today strong,.coach-calendar-day-head.is-today>span{color:var(--accent)}.coach-calendar-day-head>.btn{grid-column:1/-1;min-height:25px;padding:3px 6px}.coach-calendar-day,.coach-calendar-times{position:relative;min-width:0}.coach-calendar-times{border-right:1px solid var(--border-strong);background:var(--surface-2)}.coach-calendar-times span{position:absolute;right:7px;transform:translateY(-50%);color:var(--muted);font-size:9px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.coach-calendar-times span:first-child{transform:none}.coach-calendar-day{border-right:1px solid var(--border);background-color:var(--bg);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--calendar-hour-height) - 1px),var(--border) var(--calendar-hour-height));background-size:100% var(--calendar-hour-height)}.coach-calendar-day.is-today{background-color:color-mix(in srgb,var(--accent) 3%,var(--bg))}.coach-calendar-now{position:absolute;z-index:5;left:0;right:0;height:1px;background:var(--red);pointer-events:none}.coach-calendar-now:before{content:"";position:absolute;left:-3px;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--red)}.coach-calendar-event{position:absolute;z-index:2;left:2px;width:calc(100% - 4px);min-height:24px;container-type:inline-size;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border));border-left:3px solid var(--accent);border-radius:4px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--text);font-size:10px;line-height:1.2}.coach-calendar-event.is-full{border-left-color:var(--amber);background:color-mix(in srgb,var(--amber) 11%,var(--surface))}.coach-calendar-event.is-cancelled{border-left-color:var(--muted);opacity:.55}.coach-calendar-event.is-cancelled span{text-decoration:line-through}.coach-calendar-event.is-busy{z-index:1;padding:4px;border-color:color-mix(in srgb,var(--red) 45%,var(--border));min-width:0;border-left-color:var(--red);background:color-mix(in srgb,var(--red) 10%,var(--surface))}.coach-calendar-event.is-all-day{z-index:4;opacity:.92}.coach-calendar-event-copy>small,.coach-calendar-event-copy>span,.coach-calendar-event-copy>strong,.coach-calendar-event>small,.coach-calendar-event>span,.coach-calendar-event>strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coach-calendar-event small,.coach-calendar-event-copy small{color:var(--muted);font-size:9px}.coach-calendar-event>.coach-calendar-event-trigger{width:100%;height:100%;min-height:0;padding:4px;justify-content:flex-start;align-items:flex-start;text-align:left;border:0;border-radius:0;background:transparent;color:inherit;overflow:hidden}.coach-calendar-event>.coach-calendar-event-trigger:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.coach-calendar-event-copy{display:block;width:100%;min-width:0}.coach-calendar-event-details{margin-top:14px}.calendar-popup{--event-accent:var(--accent)}.calendar-popup.is-busy{--event-accent:var(--red)}.calendar-popup.is-full{--event-accent:var(--amber)}.calendar-popup.is-cancelled{--event-accent:var(--muted)}.modal:has(.calendar-popup){--popup-accent:var(--accent);max-width:560px}.modal:has(.calendar-popup.is-busy){--popup-accent:var(--red)}.modal:has(.calendar-popup.is-full){--popup-accent:var(--amber)}.modal:has(.calendar-popup.is-cancelled){--popup-accent:var(--muted)}.modal:has(.calendar-popup){border-top:2px solid var(--popup-accent)}.modal:has(.calendar-popup)>.row:first-child{align-items:flex-start;flex-wrap:nowrap;gap:14px}.modal:has(.calendar-popup)>.row:first-child h2{font-size:13.5px;font-weight:650;line-height:1.45;letter-spacing:0;text-transform:none;color:var(--text);overflow-wrap:anywhere}.modal:has(.calendar-popup)>.row:first-child .btn{flex:0 0 auto}.calendar-popup-summary{margin-bottom:16px;padding:11px 13px;border:1px solid var(--border);border-left:2px solid var(--event-accent);border-radius:0 var(--radius) var(--radius) 0;background:var(--surface-2)}.calendar-popup-chip{display:block;color:var(--event-accent);font-size:10px;font-weight:650;letter-spacing:.09em;text-transform:uppercase}.calendar-popup-when{margin:7px 0 0;color:var(--text);font-size:14px;font-weight:620;line-height:1.35}.calendar-popup-where{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.calendar-popup-note{margin:14px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.calendar-detail-grid{margin-bottom:2px}.calendar-detail-grid .field{margin-bottom:12px;min-width:0}.calendar-detail-wide{grid-column:1/-1}.calendar-detail-value{margin:0;min-height:36px;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:13px;line-height:1.55;overflow-wrap:anywhere}@container (max-width: 104px){.coach-calendar-event small,.coach-calendar-event-copy small{display:none}.coach-calendar-event-copy>strong,.coach-calendar-event>strong{font-size:9px;letter-spacing:-.01em}}@container (max-width: 68px){.coach-calendar-event-copy>strong,.coach-calendar-event>strong{display:none}.coach-calendar-event-copy>span,.coach-calendar-event>span{font-size:9px}}.coach-calendar-event.is-busy{padding:3px 4px}.coach-calendar-event-details p{margin:0 0 8px}.athlete-time-event{padding:4px}.athlete-time-event>a{display:block;height:100%;color:inherit}.athlete-time-event>a>small,.athlete-time-event>a>span,.athlete-time-event>a>strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.athlete-month-event.kind-booking,.athlete-time-event.kind-booking{border-left-color:var(--green);background:color-mix(in srgb,var(--green) 10%,var(--surface))}.athlete-month-event.kind-session,.athlete-time-event.kind-session{border-left-color:var(--violet);background:color-mix(in srgb,var(--violet) 10%,var(--surface))}.athlete-month-event.kind-program,.athlete-time-event.kind-program{border-left-color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,var(--surface))}.athlete-month-event.kind-log,.athlete-time-event.kind-log{border-left-color:var(--green);background:color-mix(in srgb,var(--green) 14%,var(--surface))}.athlete-month-event.kind-entry,.athlete-time-event.kind-entry{border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.slot-mine{border-left-color:var(--green);background:rgba(53,208,127,.05)}.slot-squad{border-left-color:var(--violet)}.slot-program{border:1px dashed color-mix(in srgb,var(--blue) 58%,var(--border));border-left-width:2px;background:rgba(76,154,255,.025)}.slot-log{border-left-color:var(--amber);background:rgba(240,180,41,.04)}.athlete-agenda-group-label{margin:3px 0 0;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.athlete-agenda-group-label.is-plan{color:var(--blue)}.athlete-training-plan-row{border-bottom:1px solid var(--border-strong);background:var(--surface-2)}.athlete-training-plan-label{display:flex;align-items:center;justify-content:center;padding:7px 3px;border-right:1px solid var(--border-strong);color:var(--blue);font-size:8px;font-weight:800;letter-spacing:.07em;text-align:center;text-transform:uppercase}.athlete-training-plan-day{display:grid;align-content:start;grid-gap:4px;gap:4px;min-width:0;min-height:48px;padding:5px;border-right:1px solid var(--border)}.athlete-training-plan-card{display:grid;grid-gap:2px;gap:2px;min-width:0;padding:5px 6px;overflow:hidden;border:1px dashed color-mix(in srgb,var(--blue) 58%,var(--border));border-radius:4px;background:color-mix(in srgb,var(--blue) 7%,var(--surface));color:var(--text)}.athlete-training-plan-card span,.athlete-training-plan-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.athlete-training-plan-card strong{font-size:9.5px}.athlete-training-plan-card span{color:var(--blue);font-size:8.5px;font-weight:700;text-transform:uppercase}.athlete-training-plan-card.is-completed{border-style:solid;border-color:color-mix(in srgb,var(--green) 55%,var(--border));opacity:.72}.athlete-training-plan-card.is-completed span{color:var(--green)}.athlete-training-plan-card.is-missed{border-color:var(--border-strong);color:var(--muted);opacity:.65}.athlete-training-plan-card.is-missed span{color:var(--muted)}.athlete-training-plan-empty{margin:auto;color:var(--border-strong);font-size:10px}.athlete-month-plan{border:1px dashed color-mix(in srgb,var(--blue) 55%,var(--border));border-left-width:2px;background:transparent!important}.athlete-month-plan.is-completed{border-color:color-mix(in srgb,var(--green) 45%,var(--border));opacity:.7}.athlete-month-plan.is-missed{border-color:var(--border);color:var(--muted);opacity:.58}.slot-cancelled{border-left-color:var(--muted);opacity:.55}.slot-cancelled .slot-title{text-decoration:line-through}.slot-time{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:11px}.slot-title{font-weight:600;margin-top:1px;overflow-wrap:anywhere}.slot-meta{color:var(--muted);font-size:10.5px;overflow-wrap:anywhere}.slot-bookings{margin:5px 0 0;padding-left:13px;font-size:10.5px}.slot-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.slot-actions .btn{padding:3px 7px;font-size:10px}.brand-lockup{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:18px}.brand-mark{width:40px;height:40px;flex:0 0 40px;border-radius:8px;object-fit:contain;background:var(--brand);padding:3px}.brand-fallback{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;color:var(--brand-ink);letter-spacing:-.5px}.brand-lockup .brand{margin:0;line-height:1.15}.brand-lockup .brand-sub{margin:0}.brand-stack{margin-bottom:18px;text-align:center}.brand-logo{display:block;height:auto;max-width:100%;border-radius:8px;margin:0 auto 10px}.brand-stack .brand{margin:0;line-height:1.15}.brand-stack .brand-sub{margin:0}.exercise-link{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:2px}.exercise-link:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);color:var(--accent)}.play-icon{font-size:8px;margin-left:4px;vertical-align:middle;color:var(--accent)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.week-tabs{margin-bottom:14px}.week-empty-toggle{display:none}.week-empty-toggle-label{display:none;width:-moz-fit-content;width:fit-content;margin:0 0 10px}.week-empty-toggle-label .hide-days,.week-empty-toggle:checked+.week-empty-toggle-label .show-days{display:none}.week-empty-toggle:checked+.week-empty-toggle-label .hide-days{display:inline}.tab-count{margin-left:6px;font-size:9px;padding:1px 5px;border-radius:99px;background:var(--surface-3);color:var(--muted);font-weight:700}@media (max-width:720px){.shell{flex-direction:column}.sidebar{width:100%;flex:none;height:auto;position:-webkit-sticky;position:sticky;top:0;z-index:40;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand account" "nav   nav";align-items:center;grid-column-gap:10px;column-gap:10px;padding:calc(7px + env(safe-area-inset-top, 0px)) 12px 7px;border-bottom:1px solid var(--border)}.sidebar:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--bg);background:color-mix(in srgb,var(--bg) 76%,transparent);backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5)}.sidebar-rail{display:none}.brand-lockup,.brand-stack{grid-area:brand;display:flex;align-items:center;justify-content:flex-start;gap:9px;min-width:0;margin:0;text-align:left}.brand-logo{width:30px!important;height:30px!important;margin:0;border-radius:8px}.brand-mark{width:30px;height:30px;flex-basis:30px}.brand{min-width:0;font-size:13px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-sub{display:none}.app-navigation{grid-area:nav;position:static;flex:none;overflow:visible}.nav-toggle{display:inline-flex!important;position:absolute;right:58px;top:calc(9px + env(safe-area-inset-top, 0px));min-height:38px;padding:6px 11px}.app-account{grid-area:account;display:block}.app-account,.app-account-menu{position:relative}.app-account-trigger{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent}.app-account-trigger::-webkit-details-marker{display:none}.app-account-trigger::marker{content:""}.app-account-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(140deg,var(--accent),var(--blue));color:var(--accent-ink);font-size:12px;font-weight:800;box-shadow:0 0 0 1px rgba(70,200,240,.4),0 0 0 4px rgba(70,200,240,.1);transition:box-shadow .16s ease}.app-account-menu[open] .app-account-avatar{box-shadow:0 0 0 1px var(--accent),0 0 0 5px rgba(70,200,240,.2)}.app-account-sheet{position:absolute;right:0;top:calc(100% + 10px);z-index:60;display:grid;grid-gap:1px;gap:1px;width:236px;padding:7px;border:1px solid var(--border-strong);border-radius:16px;background:var(--surface);box-shadow:0 20px 46px rgba(0,0,0,.55);animation:app-account-in .16s ease-out}@keyframes app-account-in{0%{opacity:0;transform:translateY(-7px) scale(.97)}to{opacity:1;transform:none}}.app-account-head{display:flex;align-items:center;gap:10px;margin-bottom:5px;padding:7px 9px 11px;border-bottom:1px solid var(--border)}.app-account-avatar.is-large{width:40px;height:40px;flex:none;font-size:14px}.app-account-head-copy{display:grid;min-width:0;grid-gap:2px;gap:2px}.app-account-head-copy strong{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-account-head-copy small{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.app-account-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:0 10px;border:0;border-radius:10px;background:transparent;color:var(--text);font-family:inherit;font-size:14px;font-weight:600;text-align:left;text-decoration:none;cursor:pointer}.app-account-item:focus-visible,.app-account-item:hover{background:var(--surface-2)}.app-account-item em{flex:none;font-style:normal;color:var(--accent);font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.app-account-item.is-signout{color:var(--red)}.app-account-item.is-signout:hover{background:rgba(242,85,90,.1)}.nav{display:none;margin-top:8px;gap:12px}.nav.is-open{display:flex}.nav a{min-height:38px;padding:8px 10px;font-size:13px}.nav-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:2px;gap:2px}.nav-overview{display:block}.nav-group.nav-collapsible{display:flex}.athlete-log-group{grid-column:1/-1}.nav-section-toggle{min-height:42px}.nav-label{grid-column:1/-1;padding-top:4px}.sidebar-foot{display:none}.main{padding:18px 14px 48px}body:has(.athlete-mobile-nav) .main{padding-bottom:calc(94px + env(safe-area-inset-bottom))}.btn,.btn-sm,input,select{min-height:44px}.tabs{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain}.tab{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.review-view-tabs a,.review-view-tabs button,.review-week-strip a,.review-week-strip button,.tab,.week-chip{min-height:44px}.grid-2{grid-template-columns:minmax(0,1fr)}.app-navigation:is(.is-athlete-mode,.is-coach-mode) .nav-toggle{display:none!important}.app-navigation:is(.is-athlete-mode,.is-coach-mode) .nav.is-open{display:flex;position:fixed;z-index:41;left:10px;right:10px;bottom:calc(76px + env(safe-area-inset-bottom));max-height:min(70dvh,560px);overflow-y:auto;margin:0;padding:14px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.mobile-menu-backdrop{display:block;position:fixed;z-index:40;inset:0;padding:0;border:0;background:rgba(0,0,0,.64)}.athlete-mobile-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;z-index:42;left:0;right:0;bottom:0;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--border-strong);background:var(--surface);box-shadow:0 -8px 24px rgba(0,0,0,.35);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.athlete-mobile-nav a,.athlete-mobile-nav button{min-width:0;min-height:52px;padding:4px 2px;border:0;border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:transparent;color:var(--muted);font:inherit;font-size:10px;font-weight:650;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.athlete-mobile-nav a:active,.athlete-mobile-nav button:active{color:var(--text);background:var(--surface-3)}.athlete-mobile-nav a>span,.athlete-mobile-nav button>span{color:currentColor;font-size:17px;font-weight:700;line-height:1}.athlete-mobile-nav a[aria-current=page],.athlete-mobile-nav button[aria-current=page],.athlete-mobile-nav button[aria-expanded=true]{color:var(--accent);background:var(--accent-dim)}.athlete-mobile-nav a:focus-visible,.athlete-mobile-nav button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.is-coach-mode .athlete-mobile-nav a,.is-coach-mode .athlete-mobile-nav button{gap:5px}.is-coach-mode .nav a,.is-coach-mode .nav-section-toggle{min-height:44px}.athlete-mobile-nav .athlete-mobile-nav-primary>span{width:29px;height:29px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--accent-ink)}.athlete-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.athlete-metrics .card{padding:12px}.athlete-metrics .stat-value{margin-top:4px;font-size:22px}.athlete-metrics .stat-note{font-size:10.5px}.athlete-dashboard-head .row{width:100%}.athlete-dashboard-head .row .btn:not(.btn-ghost){flex:1 1;justify-content:center}.week-grid{grid-template-columns:1fr;overflow-x:visible;scroll-snap-type:none;padding-bottom:0}.week-empty-toggle{display:block}.week-empty-toggle-label{display:inline-flex;align-items:center;justify-content:center}.day-empty,.week-empty-toggle:not(:checked)+.week-empty-toggle-label+.week-grid .day-empty-state:not(.day-today){display:none}.set-row{grid-template-columns:26px 1fr 1fr 1fr}.set-row .set-notes{grid-column:1/-1}.rich-set-row.set-head{display:none}.rich-set-row:not(.set-head){grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:10px;padding:11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.rich-set-row:not(.set-head) .set-n{grid-column:1;align-self:center;font-size:13px}.rich-set-row:not(.set-head) .planned-set{grid-column:2/-1}.rich-set-row .set-actual,.rich-set-row .set-load,.rich-set-row .set-rpe{grid-column:auto}.rich-set-row .set-notes{grid-column:1/-1}.mobile-field-label{display:block!important;margin-bottom:4px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.mobile-only{display:inline!important}.desktop-only{display:none!important}.mobile-set-field{color:inherit;text-transform:none;letter-spacing:normal}.mobile-set-field input{min-height:44px}.program-exercise-summary{gap:8px}.program-exercise-summary>div{min-width:0}.program-exercise-progress{font-size:10.5px}.program-set-actions{align-items:stretch}.program-set-actions .btn{width:100%;justify-content:center}.feedback-grid{grid-template-columns:1fr}.leader-row{grid-template-columns:22px 1fr auto auto}.leader-bar-wrap{display:none}.leader-note:before{content:"("}.leader-note:after{content:")"}.day-card{flex-basis:84vw;width:84vw}.session-composer-grid{grid-template-columns:minmax(0,1fr)}.session-composer textarea{min-height:300px}.session-preview-summary{align-items:flex-start}.session-result-grid{grid-template-columns:1fr}.session-log-card{padding:13px}.roster-filters>*{width:100%!important}.roster-table td:nth-child(2),.roster-table td:nth-child(4),.roster-table td:nth-child(5),.roster-table td:nth-child(7),.roster-table td:nth-child(8),.roster-table th:nth-child(2),.roster-table th:nth-child(4),.roster-table th:nth-child(5),.roster-table th:nth-child(7),.roster-table th:nth-child(8){display:none}}.flag-list{display:flex;flex-wrap:wrap;gap:5px}.wellness-scale-head{display:flex;align-items:center;justify-content:space-between}.wellness-scale-head output{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:rgba(47,211,183,.12);color:var(--accent);font-weight:800}.wellness-scale input[type=range]{min-height:38px;padding:0;accent-color:var(--accent)}.range-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.survey-list{display:grid;grid-gap:12px;gap:12px}.survey-responses{margin-top:13px;color:var(--text-2);font-size:11px}.survey-form{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.survey-question{margin-bottom:18px}.scale-options{display:grid;grid-template-columns:repeat(10,minmax(34px,1fr));grid-gap:5px;gap:5px}.scale-options label{cursor:pointer}.scale-options input{position:absolute;opacity:0;pointer-events:none}.scale-options span{display:grid;min-height:40px;place-items:center;border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text-2)}.scale-options input:checked+span{border-color:var(--accent);background:rgba(47,211,183,.12);color:var(--accent);font-weight:750}.medical-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:14px}.medical-summary span{display:block;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.medical-summary strong{display:block;margin-top:4px;color:var(--text-2)}.medical-toolbar{margin-bottom:18px}.medical-note>div:not(.row){margin-top:12px}.medical-note p{margin:4px 0 0;white-space:pre-wrap}.athlete-adjustment{margin:-1px 0 12px;padding:8px 12px;border:1px dashed var(--border-strong);border-radius:0 0 var(--radius) var(--radius);background:var(--surface-2)}.athlete-adjustment>summary{cursor:pointer;color:var(--accent);font-size:10px;font-weight:700}.athlete-adjustment>form:first-of-type{padding-top:12px}.adjusted-prescription>.block{border-color:rgba(76,154,255,.42)}.omitted-exercise{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:0}.omitted-exercise p{margin:4px 0 0}.team-item-strip{display:flex;gap:7px;overflow-x:auto;padding:2px 0 8px;scroll-snap-type:x proximity}.team-item-strip a{display:flex;min-width:150px;flex-direction:column;gap:3px;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-2);scroll-snap-align:start}.team-item-strip a.active{border-color:var(--accent);background:rgba(47,211,183,.08);color:var(--accent)}.team-item-strip small{color:var(--muted);font-size:9px}.team-delivery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;align-items:start}.team-athlete-lane{min-width:0;padding:10px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.team-athlete-head{min-height:36px;padding:0 4px 8px}.team-athlete-lane .program-exercise{margin:0}@media (max-width:720px){.load-table,.wellbeing-table{min-width:760px}.scale-options{grid-template-columns:repeat(5,1fr)}.medical-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.medical-toolbar{display:grid;grid-template-columns:1fr}.medical-toolbar .btn{width:100%;justify-content:center}.team-delivery-grid{grid-template-columns:1fr}}.catalogue-filters input[type=search]{flex:1 1 280px;min-width:0}.catalogue-filters select{width:auto;min-width:150px}.catalogue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr));grid-gap:12px;gap:12px}.catalogue-card{display:flex;flex-direction:column;min-width:0}.catalogue-card.is-archived{opacity:.72}.catalogue-name{margin:0;font-size:17px}.catalogue-badges{margin-top:8px;gap:5px}.micro-badge{display:inline-flex;align-items:center;padding:3px 7px;border:1px solid var(--border);border-radius:999px;color:var(--text-2);font-size:9px;font-weight:700;letter-spacing:.08em}.muted-badge{color:var(--muted);background:var(--surface-2)}.catalogue-meta{margin:13px 0 5px;color:var(--text-2);font-size:12px}.catalogue-instructions{margin:12px 0 0;padding:10px 11px;border-left:2px solid var(--accent);background:var(--surface-2);color:var(--text-2);font-size:12px;white-space:pre-wrap}.catalogue-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px 14px;gap:8px 14px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border);color:var(--muted);font-size:10px}.catalogue-detail-grid span{min-width:0}.catalogue-detail-grid strong{display:block;margin-top:2px;color:var(--text-2);font-size:11px;font-weight:600;overflow-wrap:anywhere}.catalogue-actions{margin-top:auto;padding-top:15px}.catalogue-substitute{padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius)}.compact-stack{gap:7px}.field-help{display:block;margin-top:5px;color:var(--muted);font-size:10.5px;line-height:1.4}.check-label{display:inline-flex;align-items:center;gap:7px;color:var(--text-2);font-size:11px}.check-label input{width:15px}.system-exercise-picker>.muted{margin-top:0}.system-exercise-picker-tools{gap:8px;margin-bottom:12px}.system-exercise-picker-tools input[type=search]{flex:1 1 260px;min-width:0}.system-exercise-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:7px;gap:7px;max-height:min(52vh,460px);padding:2px;overflow-y:auto}.system-exercise-option{display:flex;align-items:flex-start;gap:9px;min-width:0;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);cursor:pointer}.system-exercise-option:has(input:checked){border-color:rgba(47,211,183,.38);background:rgba(47,211,183,.05)}.system-exercise-option input{flex:0 0 auto;width:15px;margin-top:2px}.system-exercise-option span{min-width:0}.system-exercise-option strong{display:block;color:var(--text-1);font-size:11.5px;overflow-wrap:anywhere}.system-exercise-option small{display:block;margin-top:3px;color:var(--muted);font-size:9.5px}.system-exercise-picker-actions{margin-top:14px}.athlete-instructions{margin:13px 0;padding:12px;border:1px solid rgba(47,211,183,.2);border-radius:var(--radius);background:rgba(47,211,183,.05)}.athlete-instructions span{color:var(--accent);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.athlete-instructions p{margin:5px 0 0;color:var(--text-2);font-size:12px;white-space:pre-wrap}.ex-substitutions,.exercise-alternatives{margin-top:7px;color:var(--accent);font-size:10.5px}.clash-guide{margin-bottom:14px;border-color:rgba(124,156,255,.28)}.clash-guide p{margin:6px 0 0;color:var(--text-2);line-height:1.55}.clash-list{gap:12px}.clash-card{display:grid;grid-gap:14px;gap:14px}.clash-card-head{align-items:center;justify-content:space-between;gap:12px}.clash-card-head>.muted{font-size:10px;overflow-wrap:anywhere}.clash-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-gap:10px;gap:10px;align-items:stretch}.clash-exercise{min-width:0;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.clash-exercise.is-keeper{border-color:rgba(47,211,183,.38);background:rgba(47,211,183,.045)}.clash-exercise>p{margin:7px 0 10px;color:var(--text-2);font-size:10px}.clash-exercise dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin:0}.clash-exercise dl div{min-width:0}.clash-exercise dt{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.clash-exercise dd{margin:3px 0 0;color:var(--text-2);font-size:11px;overflow-wrap:anywhere}.clash-versus{align-self:center;color:var(--muted);font-weight:800}.clash-recommendation{padding:11px 12px;border-left:2px solid var(--amber);background:rgba(255,187,80,.045)}.clash-recommendation p{margin:4px 0 0;color:var(--text-2);font-size:11px;line-height:1.5}.clash-recommendation .clash-conflicts{color:var(--amber)}.clash-actions{gap:8px}@media (min-width:760px){.modal:has(.catalogue-substitute),.modal:has(.check-label),.modal:has(.system-exercise-picker){max-width:760px}}@media (max-width:600px){.catalogue-detail-grid,.system-exercise-options{grid-template-columns:1fr}.system-exercise-picker-tools .btn{flex:1 1 auto}.catalogue-filters .btn,.catalogue-filters select{width:100%}.athlete-catalogue-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.athlete-catalogue-filters input[type=search]{grid-column:1/-1}.clash-pair{grid-template-columns:1fr}.clash-versus{justify-self:center;transform:rotate(90deg)}.clash-exercise dl{grid-template-columns:1fr}.athlete-catalogue-filters select{min-width:0}.athlete-catalogue-filters .btn{justify-content:center}.modal{padding:16px 16px calc(16px + env(safe-area-inset-bottom))}.program-exercise-editor{padding:10px}.program-exercise-editor-head{align-items:center}.program-exercise-editor-form{padding:10px}.program-add-exercise{width:100%;justify-content:center}}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.wip-page{position:relative;isolation:isolate;min-height:100vh;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;padding:28px clamp(22px,5vw,72px);background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),var(--bg);background-size:56px 56px}.wip-glow{position:absolute;z-index:-1;top:18%;left:50%;width:min(720px,90vw);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(70,200,240,.11),transparent 67%);filter:blur(12px);pointer-events:none}.wip-footer,.wip-header{width:min(1180px,100%);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.wip-content{width:min(850px,100%);margin:auto;padding:72px 0;text-align:center}.wip-status{width:-moz-fit-content;width:fit-content;margin:0 auto 24px;padding:6px 10px;display:flex;align-items:center;gap:8px;border:1px solid rgba(70,200,240,.28);border-radius:999px;background:rgba(70,200,240,.065);color:var(--accent);font-size:10px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.wip-status span{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px rgba(70,200,240,.1);animation:wip-pulse 2.4s ease-in-out infinite}.dashboard-welcome h1,.wip-content h1{font-weight:720;line-height:.98;letter-spacing:-.065em}.wip-content h1{max-width:820px;margin:0 auto;color:var(--text);font-size:clamp(44px,8vw,88px);text-wrap:balance}.wip-content>p{max-width:650px;margin:28px auto 0;color:var(--text-2);font-size:clamp(16px,2vw,19px);line-height:1.65;text-wrap:balance}.wip-actions{margin-top:34px;display:flex;justify-content:center}.wip-actions .btn{min-height:42px;padding-inline:18px}.wip-footer{padding-top:18px;border-top:1px solid var(--border);color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.1em;text-transform:uppercase}@keyframes wip-pulse{0%,to{opacity:.55;transform:scale(.88)}50%{opacity:1;transform:scale(1)}}@media (max-width:600px){.wip-page{padding:20px}.wip-content{padding:56px 0}.wip-content h1{font-size:clamp(42px,15vw,64px)}.wip-footer{align-items:flex-start;flex-direction:column;gap:5px}}@media (prefers-reduced-motion:reduce){.wip-status span{animation:none}}.legal-page{min-height:100vh;padding:24px clamp(20px,5vw,64px) 40px;background:var(--bg)}.legal-document,.legal-footer,.legal-header{width:min(900px,100%);margin-inline:auto}.legal-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.legal-document{padding:clamp(48px,8vw,88px) 0 64px}.legal-intro{max-width:760px}.legal-kicker{margin:0 0 12px;color:var(--accent);font-size:11px;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.legal-intro h1{margin:0;font-size:clamp(38px,7vw,68px);line-height:1;letter-spacing:-.055em;text-wrap:balance}.legal-intro>p:not(.legal-kicker,.legal-updated){margin:24px 0 0;color:var(--text-2);font-size:17px;line-height:1.7}.legal-updated{margin:18px 0 0;color:var(--muted);font-size:12px}.legal-contents{margin:46px 0 54px;padding:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px 24px;gap:8px 24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.legal-contents strong{grid-column:1/-1;margin-bottom:4px;font-size:12px}.legal-contents a,.legal-link{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:transparent;text-decoration-color:transparent;text-underline-offset:3px}.legal-contents a:hover,.legal-link:hover{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.legal-document section{max-width:760px;margin-top:48px;scroll-margin-top:24px}.legal-document h2{margin:0 0 14px;font-size:22px;letter-spacing:-.025em}.legal-document li,.legal-document section p{color:var(--text-2);line-height:1.75}.legal-document section p{margin:12px 0}.legal-document ul{margin:12px 0;padding-left:22px}.legal-document li+li{margin-top:8px}.legal-document li strong{color:var(--text)}.legal-note{max-width:760px;margin-top:52px;padding:20px 22px;border-left:3px solid var(--accent);background:var(--accent-dim)}.legal-note p{margin:6px 0 0;color:var(--text-2);line-height:1.65}.legal-footer{padding-top:20px;display:flex;gap:20px;border-top:1px solid var(--border);color:var(--muted);font-size:12px}.legal-footer span{margin-right:auto}.legal-footer a:hover,.wip-footer a:hover{color:var(--text)}@media (max-width:600px){.legal-contents{grid-template-columns:1fr}.legal-contents strong{grid-column:auto}.legal-footer{flex-wrap:wrap}.legal-footer span{width:100%}}.slot-entry{border-left-color:var(--accent)}.slot-squad-name{width:-moz-fit-content;width:fit-content;margin-top:5px;padding:2px 5px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text-2);font-size:9px;font-weight:700}.athlete-calendar-head{align-items:flex-end}.athlete-calendar-actions{justify-content:flex-end}.athlete-nextup,.athlete-welcome{display:none}.athlete-squad-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.athlete-squad-chip{padding:3px 7px;border:1px solid rgba(70,200,240,.23);border-radius:999px;background:rgba(70,200,240,.055);color:var(--accent);font-size:9.5px;font-weight:700}.athlete-calendar-toolbar{margin-bottom:14px}.athlete-calendar-legend{margin-top:12px;font-size:11.5px}@media (max-width:720px){.athlete-calendar-actions{width:100%;justify-content:flex-start}.athlete-calendar-actions .btn{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 4px);justify-content:center}.athlete-welcome{display:block;flex:1 1 100%;margin-bottom:12px}.athlete-welcome-greeting{margin:0;font-size:25px;line-height:1.15;letter-spacing:-.01em}.athlete-calendar-head.is-today .athlete-calendar-actions .btn,.athlete-calendar-head.is-today>div:not(.athlete-welcome)>.page-eyebrow,.athlete-calendar-head.is-today>div:not(.athlete-welcome)>.subtitle,.athlete-calendar-head.is-today>div:not(.athlete-welcome)>h1{display:none}.athlete-calendar-head.is-today .athlete-calendar-actions .btn[href="/my/wellbeing"]{display:inline-flex;flex-basis:100%}body:has(.athlete-calendar-head.is-today) .athlete-calendar-toolbar,body:has(.athlete-calendar-head.is-today) .week-empty-toggle-label{display:none}.athlete-nextup{display:block;margin:0 0 14px;padding:13px 14px;border:1px solid rgba(70,200,240,.3);border-radius:14px;background:linear-gradient(180deg,rgba(70,200,240,.1),rgba(70,200,240,.02))}.athlete-nextup-label{margin:0 0 4px;color:var(--accent);font-size:10px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.athlete-nextup-title{margin:0;font-size:17px;font-weight:700;line-height:1.25}.athlete-nextup-meta{margin:3px 0 0;color:var(--text-2);font-size:12px}.athlete-nextup-progress{display:flex;align-items:center;gap:9px;margin:11px 0 0;color:var(--muted);font-size:11px;font-weight:650;white-space:nowrap}.athlete-nextup-bar{flex:1 1 auto;height:4px;border-radius:999px;background:var(--surface-3);overflow:hidden}.athlete-nextup-bar>span{display:block;height:100%;border-radius:999px;background:var(--accent)}}.cat-chip{font-size:8.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:1px 5px;border-radius:3px;border:1px solid transparent;white-space:nowrap}.cat-eap{background:rgba(240,180,41,.12);color:var(--amber);border-color:rgba(240,180,41,.28)}.cat-sport{background:rgba(70,200,240,.1);color:var(--accent);border-color:rgba(70,200,240,.26)}.cat-uni{background:rgba(76,154,255,.12);color:var(--blue);border-color:rgba(76,154,255,.28)}.cat-tabs .tab.cat-eap.active{border-bottom-color:var(--amber)}.cat-tabs .tab.cat-sport.active{border-bottom-color:var(--accent)}.cat-tabs .tab.cat-uni.active{border-bottom-color:var(--blue)}.cat-tabs{margin-bottom:14px}.workout-summary-hero{padding-bottom:18px;border-bottom:1px solid var(--border)}.workout-summary-hero h1{max-width:780px;letter-spacing:-.02em}.workout-summary-date{color:var(--accent)}.workout-summary-facts{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px;max-width:310px}.workout-summary-section{margin-bottom:20px}.workout-summary-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}.workout-summary-section-head h2{margin:3px 0 0;text-transform:none;font-size:20px;letter-spacing:-.01em}.workout-summary-section-head>.muted{font-size:12px}.workout-summary-list{display:grid;grid-gap:10px;gap:10px}.workout-summary-exercise{display:grid;grid-template-columns:34px minmax(0,1fr);grid-gap:11px;gap:11px;align-items:start;padding:13px 14px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 8%,var(--surface)),var(--surface))}.workout-summary-number{display:grid;place-items:center;min-width:30px;height:30px;padding:0 5px;border-radius:8px;background:color-mix(in srgb,var(--blue) 16%,var(--surface-2));color:color-mix(in srgb,var(--blue) 72%,var(--text));font-size:11px;font-weight:800}.workout-summary-exercise-copy{display:grid;min-width:0;grid-gap:4px;gap:4px}.workout-summary-exercise-copy>strong{line-height:1.3}.workout-summary-exercise-copy>.prescription{color:var(--muted);font-size:12px}.workout-summary-exercise-copy>p{margin:3px 0 0;padding-top:7px;border-top:1px solid var(--border);color:var(--text);font-size:12px}.workout-summary-group{overflow:hidden;border:1px solid color-mix(in srgb,var(--violet) 42%,var(--border));border-left:5px solid var(--violet);border-radius:var(--radius);background:color-mix(in srgb,var(--violet) 4%,var(--surface));box-shadow:0 8px 24px color-mix(in srgb,var(--violet) 7%,transparent)}.workout-summary-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-bottom:1px solid color-mix(in srgb,var(--violet) 28%,var(--border));background:color-mix(in srgb,var(--violet) 13%,var(--surface))}.workout-summary-group-head>span{color:var(--violet);font-size:10px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.workout-summary-group-head>small{color:var(--muted);font-size:10px}.workout-summary-group .workout-summary-exercise{border:0;border-bottom:1px solid color-mix(in srgb,var(--violet) 20%,var(--border));border-radius:0;background:color-mix(in srgb,var(--violet) 3%,var(--surface))}.workout-summary-group .workout-summary-exercise:last-child{border-bottom:0}.workout-summary-group .workout-summary-number{background:color-mix(in srgb,var(--violet) 20%,var(--surface-2));color:var(--violet)}.workout-summary-start{margin-bottom:24px;border-color:color-mix(in srgb,var(--accent) 32%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 9%,var(--surface)),var(--surface))}@media (max-width:600px){.workout-summary-hero{align-items:flex-start}.workout-summary-facts{justify-content:flex-start;max-width:none}.workout-summary-section-head{align-items:flex-start;flex-direction:column;gap:4px}.workout-summary-exercise{grid-template-columns:31px minmax(0,1fr);padding:12px}.workout-summary-group-head{align-items:flex-start;flex-direction:column;gap:2px}}.active-session-notice{display:flex;align-items:center;gap:16px;margin-bottom:16px;border-color:color-mix(in srgb,var(--amber) 45%,var(--border));border-left:4px solid var(--amber);background:color-mix(in srgb,var(--amber) 8%,var(--surface))}.active-session-notice>div{flex:1 1;min-width:0}.active-session-notice strong{display:block;margin-top:3px}.active-session-notice p{margin:4px 0 0;color:var(--muted);font-size:12px}.active-session-conflict{position:fixed;z-index:1200;inset:0;display:grid;place-items:center;padding:20px;background:rgba(3,6,12,.78);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.active-session-conflict-card{width:min(520px,100%);box-shadow:0 24px 80px rgba(0,0,0,.45)}.active-session-conflict-card h2{margin:7px 0 10px;text-transform:none}.active-session-conflict-card p{color:var(--muted)}.active-session-conflict-card p strong{color:var(--text)}.active-session-conflict-card .row{margin-top:18px;align-items:stretch}.active-session-conflict-card .btn{flex:1 1 190px;justify-content:center;text-align:center}@media (max-width:600px){.active-session-notice{align-items:stretch;flex-direction:column}.active-session-notice .btn{width:100%;justify-content:center}.active-session-conflict{align-items:end;padding:12px}.active-session-conflict-card .row{flex-direction:column}.active-session-conflict-card .btn{flex-basis:auto;width:100%}}.gym-athlete-card{display:flex;flex-direction:column;gap:4px;text-decoration:none}.gym-athlete-card:hover{border-color:var(--accent);background:var(--surface-2)}.gym-session-details{margin-bottom:14px}.gym-program-picker{margin-bottom:14px;border-color:var(--border-strong);background:linear-gradient(135deg,var(--surface),var(--surface-2))}.gym-program-picker.is-loaded{border-left:3px solid var(--accent)}.gym-program-picker-row{align-items:end}.gym-logger-step{margin-bottom:7px;color:var(--accent);font-size:9.5px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.gym-workout-heading{align-items:end;margin:18px 0 10px}.gym-workout-heading h2{margin:0;font-size:18px;text-transform:none}.gym-workout-heading .gym-logger-step{margin-bottom:2px}.gym-session-details-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.gym-session-details-summary::-webkit-details-marker{display:none}.gym-session-details-summary span{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gym-session-details-body{margin-top:14px}.gym-exercise{margin-bottom:0}.gym-exercise-group-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:5px 0 -12px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--violet) 36%,var(--border));border-bottom:0;border-left:5px solid var(--violet);border-radius:var(--radius) var(--radius) 0 0;background:color-mix(in srgb,var(--violet) 12%,var(--surface))}.gym-exercise-group-heading>span{color:var(--violet);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.gym-exercise-group-heading>small{color:var(--muted);font-size:10px}.gym-exercise.is-grouped{margin-bottom:-12px;border-top:0;border-left:5px solid var(--violet);border-radius:0;background:color-mix(in srgb,var(--violet) 3%,var(--surface))}.gym-exercise.is-grouped.group-end{margin-bottom:0;border-radius:0 0 var(--radius) var(--radius)}.gym-exercise.is-grouped.is-completed,.gym-exercise.is-grouped.is-ready:not([open]){border-left-color:var(--violet)}.gym-exercise.is-grouped .ex-letter{background:color-mix(in srgb,var(--violet) 22%,var(--surface-2));color:var(--violet)}.gym-exercise-summary,.gym-session-summary{cursor:pointer;list-style:none}.gym-exercise-summary{border-bottom-color:color-mix(in srgb,var(--blue) 38%,var(--border));background:color-mix(in srgb,var(--blue) 14%,var(--surface-2))}.gym-exercise-summary>strong{color:color-mix(in srgb,var(--blue) 70%,var(--text))}.gym-exercise.is-completed .gym-exercise-summary{border-bottom-color:color-mix(in srgb,var(--green) 38%,var(--border));background:color-mix(in srgb,var(--green) 13%,var(--surface-2))}.gym-exercise.is-completed .gym-exercise-summary>strong{color:var(--green)}.gym-exercise-summary::-webkit-details-marker,.gym-session-summary::-webkit-details-marker{display:none}.gym-exercise:not([open]) .gym-exercise-summary,.gym-history-session:not([open]) .gym-session-summary{border-bottom:0}.gym-exercise.is-completed,.gym-exercise.is-ready:not([open]){border-color:rgba(53,208,127,.35)}.gym-exercise-done{width:34px;height:34px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--muted);font-weight:800;cursor:pointer}.gym-exercise-done.is-done{border-color:var(--green);background:rgba(53,208,127,.14);color:var(--green)}.gym-exercise-order{width:30px;height:30px;padding:0;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text-2);cursor:pointer;font-weight:700}.gym-exercise-order:disabled{opacity:.3;cursor:not-allowed}.gym-set-done{border:1px solid transparent;border-radius:9px;cursor:pointer}.gym-set-done.is-done{border-color:var(--green);background:rgba(53,208,127,.16);color:var(--green)}.gym-set-row.is-warmup .gym-set-done:not(.is-done){border-color:color-mix(in srgb,var(--blue) 34%,var(--border));color:var(--blue);background:color-mix(in srgb,var(--blue) 7%,transparent)}.gym-details-chevron{color:var(--muted);font-size:20px;line-height:1;transition:transform .12s ease}.gym-exercise[open] .gym-details-chevron{transform:rotate(90deg)}.gym-exercise-body,.gym-session-history-body{padding-top:12px}.gym-exercise-toolbar{align-items:flex-start;margin-bottom:12px}.gym-exercise-select{flex:1 1 260px}.gym-history{margin:8px 0 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.gym-history>summary{cursor:pointer;padding:8px 10px;color:var(--muted);font-size:11px;font-weight:650}.gym-history-trigger{display:flex;align-items:center;gap:9px;list-style:none}.gym-history-trigger::-webkit-details-marker{display:none}.gym-history-trigger:hover{background:color-mix(in srgb,var(--blue) 7%,transparent)}.gym-history-icon{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:9px;background:color-mix(in srgb,var(--blue) 14%,var(--surface));color:var(--blue);font-size:10px;font-weight:800}.gym-history-trigger>span:nth-child(2){display:grid;grid-gap:1px;gap:1px}.gym-history-trigger strong{color:var(--text-2);font-size:11px}.gym-history-trigger small{color:var(--muted);font-size:9px;font-weight:500}.gym-history-view{color:var(--blue);font-size:9px}.gym-history-empty{margin:0;padding:10px;border-top:1px solid var(--border);color:var(--muted);font-size:10px;text-align:center}.gym-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:7px;gap:7px;padding:0 8px 8px}.gym-history-card{display:flex;flex-direction:column;gap:2px;min-width:0;padding:8px;border:1px solid var(--border);border-radius:4px;font-size:10.5px;overflow-wrap:anywhere}.gym-set-table{overflow-x:auto}.gym-set-actions-before{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin:0 0 5px}.gym-rest-plan{display:flex;align-items:center;gap:6px;margin:0 auto 0 0;font-size:11px;color:var(--muted)}.gym-rest-plan strong{color:var(--text-2);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:9.5px}.gym-rest-glyph{font-size:11px;opacity:.8}.gym-rest-timer{position:relative;overflow:hidden;margin:-2px 0 8px;border-radius:10px;border:1px solid color-mix(in srgb,var(--blue) 40%,var(--border));background:color-mix(in srgb,var(--blue) 9%,var(--bg))}.gym-rest-progress{position:absolute;inset:0 auto 0 0;background:color-mix(in srgb,var(--blue) 17%,transparent);transition:width .25s linear}.gym-rest-body{position:relative;display:flex;align-items:center;gap:10px;padding:7px 9px}.gym-rest-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.gym-rest-label{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}.gym-rest-copy small{font-size:10.5px;color:var(--muted)}.gym-rest-clock{margin-left:auto;font-size:19px;font-weight:700;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}.gym-rest-actions{display:flex;gap:5px;flex-shrink:0}.gym-rest-actions button{min-height:30px;padding:0 9px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-2);cursor:pointer;font:inherit;font-size:10.5px;font-weight:700}.gym-rest-actions button:focus-visible,.gym-rest-actions button:hover{border-color:var(--blue);color:var(--blue)}.gym-rest-timer.is-transition{border-color:color-mix(in srgb,var(--amber) 38%,var(--border));background:color-mix(in srgb,var(--amber) 7%,var(--bg))}.gym-rest-timer.is-transition .gym-rest-label{color:var(--amber)}.gym-rest-timer.is-done{border-color:color-mix(in srgb,var(--green) 45%,var(--border))}.gym-rest-timer.is-done .gym-rest-progress{background:color-mix(in srgb,var(--green) 17%,transparent)}.gym-rest-timer.is-done .gym-rest-label{color:var(--green)}@media (prefers-reduced-motion:reduce){.gym-rest-progress{transition:none}}.gym-add-warmup{min-height:34px;padding:4px 7px;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:10.5px;font-weight:700}.gym-add-warmup:focus-visible,.gym-add-warmup:hover{background:var(--surface-2);color:var(--blue)}.gym-set-row{display:grid;grid-template-columns:34px minmax(110px,1fr) minmax(110px,1fr) minmax(65px,.7fr) minmax(130px,1.5fr) 28px;grid-gap:6px;gap:6px;align-items:center;margin-bottom:6px;min-width:650px}.gym-set-head{color:var(--muted);font-size:9px;font-weight:650;letter-spacing:.09em;text-transform:uppercase}.gym-load-control{display:grid;grid-template-columns:28px 1fr 28px}.gym-load-control input{border-radius:0;text-align:center}.gym-load-control button,.gym-remove-set{border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-2);cursor:pointer;font:inherit}.gym-load-control button:first-child{border-radius:var(--radius) 0 0 var(--radius);border-right:0}.gym-load-control button:last-child{border-radius:0 var(--radius) var(--radius) 0;border-left:0}.gym-load-control button:hover{color:var(--accent);background:var(--surface-3)}.gym-remove-set{width:28px;height:28px;border-radius:var(--radius);color:var(--red)}.gym-remove-set:disabled{opacity:.3;cursor:not-allowed}.gym-log-actions{position:-webkit-sticky;position:sticky;bottom:10px;z-index:8;justify-content:flex-end;margin-top:5px;padding:10px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.gym-add-exercise{margin-top:14px}.gym-add-exercise.is-planned-session{display:flex;align-items:center;gap:12px;padding:12px;border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.gym-add-exercise.is-planned-session>.muted{font-size:11px}.gym-added-exercise-badge{flex:0 0 auto}.gym-finish-label{margin:18px 0 0}.form-error,.form-success{margin:12px 0;padding:10px 12px;border-radius:var(--radius);font-size:12px;font-weight:600}.form-error{color:var(--red);border:1px solid rgba(242,85,90,.3);background:rgba(242,85,90,.08)}.form-success{border:1px solid rgba(53,208,127,.3);background:rgba(53,208,127,.08)}.endurance-source-card{display:grid;grid-gap:5px;gap:5px;margin-bottom:14px}.endurance-source-card p{margin:0}.endurance-workout-card{margin-top:14px}.endurance-workout-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);grid-gap:14px;gap:14px;align-items:start}.endurance-workout-grid textarea{min-height:520px;font-family:var(--font-mono,monospace);line-height:1.55}.endurance-workout-grid .session-preview{max-height:620px;overflow:auto}.endurance-reset{align-self:flex-start;margin-top:5px}.endurance-history-meta{margin-bottom:10px}.endurance-stat-value{font-size:clamp(18px,2.3vw,27px)}.swim-split-editor{margin-top:14px}.swim-split-editor h2{margin:3px 0}.swim-split-editor .stack{margin-top:14px}.swim-split-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));grid-gap:0 8px;gap:0 8px}.swim-split-history table{min-width:1100px}.swim-split-history td,.swim-split-history th{white-space:nowrap}.race-logger{max-width:760px;margin:0 auto;padding-bottom:92px}.race-logger input,.race-logger select,.race-logger textarea{min-height:48px;font-size:16px}.race-section-head,.race-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.race-title-row h1{margin:4px 0}.race-primary{display:grid;grid-gap:16px;gap:16px}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:6px;gap:6px}.segmented button{min-height:48px;padding:8px;border:1px solid var(--border);border-radius:10px;color:var(--text);background:var(--surface);font-weight:700}.segmented button.is-active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.catalogue-autocomplete{position:relative}.catalogue-options{position:absolute;z-index:30;top:100%;left:0;right:0;max-height:330px;overflow:auto;padding:6px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-lg)}.catalogue-options button{display:flex;flex-direction:column;width:100%;min-height:48px;padding:9px 12px;border:0;border-radius:8px;color:var(--text);background:transparent;text-align:left}.catalogue-options button.is-active,.catalogue-options button:hover{background:var(--accent-soft)}.catalogue-empty,.catalogue-options span{color:var(--muted);font-size:12px}.race-settings-open{overflow:hidden}.race-settings-layer{position:fixed;z-index:100;inset:0}.race-settings-backdrop{position:absolute;inset:0;width:100%;border:0;background:rgba(0,0,0,.62);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:default}.race-settings-sheet{position:absolute;inset:0 0 0 auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(480px,100vw);border-left:1px solid var(--border);background:var(--surface);box-shadow:-24px 0 70px rgba(0,0,0,.4);animation:race-sheet-in .18s ease-out}@keyframes race-sheet-in{0%{opacity:0;transform:translateX(18px)}}.race-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 22px 18px;border-bottom:1px solid var(--border)}.race-settings-head h2{margin:4px 0 5px;font-size:22px}.race-settings-head p{margin:0;color:var(--muted);font-size:13px}.race-settings-close{display:grid;flex:0 0 44px;place-items:center;width:44px;height:44px;border:1px solid var(--border);border-radius:12px;color:var(--muted);background:transparent;font-size:25px;line-height:1}.race-settings-close:hover{color:var(--text);background:var(--surface-2)}.race-settings-content{overflow-y:auto;overscroll-behavior:contain;padding:20px 22px 28px}.race-settings-content h3{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.race-profile-cards{display:grid;grid-gap:8px;gap:8px}.race-profile-cards button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:64px;padding:11px 13px;border:1px solid var(--border);border-radius:12px;color:var(--text);background:transparent;text-align:left}.race-profile-cards button:hover{border-color:var(--muted);background:var(--surface-2)}.race-profile-cards button.is-selected{border-color:var(--accent);background:var(--accent-soft)}.race-profile-cards small,.race-profile-cards strong{display:block}.race-profile-cards small{margin-top:3px;color:var(--muted);font-size:11px}.race-profile-cards b{display:grid;flex:0 0 24px;place-items:center;width:24px;height:24px;border-radius:50%;color:var(--surface);background:var(--accent)}.race-settings-group{margin:24px 0 0;padding:0;border:0}.race-settings-group legend{width:100%;margin-bottom:7px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.race-setting-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:62px;padding:9px 2px;border-bottom:1px solid var(--border);cursor:pointer}.race-setting-row span{min-width:0}.race-setting-row small,.race-setting-row strong{display:block}.race-setting-row strong{font-size:14px}.race-setting-row small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.35}.race-setting-row input[type=checkbox]{position:absolute;width:1px;height:1px;min-height:1px;margin:0;opacity:0}.race-setting-row i{position:relative;flex:0 0 44px;width:44px;height:25px;border:1px solid var(--border-strong);border-radius:99px;background:var(--surface-2);transition:.15s ease}.race-setting-row i:after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:var(--muted);transition:.15s ease}.race-setting-row input:checked+i{border-color:var(--accent);background:var(--accent)}.race-setting-row input:checked+i:after{transform:translateX(19px);background:white}.race-setting-row input:focus-visible+i{outline:2px solid var(--accent);outline-offset:3px}.race-save-profile{display:grid;grid-gap:10px;gap:10px;margin-top:24px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.race-save-profile p{margin:3px 0 0;color:var(--muted);font-size:11px}.race-save-profile .btn{justify-self:start}.race-save-profile>.form-error,.race-save-profile>.form-success{margin:0}.race-settings-footer{display:grid;grid-template-columns:1fr 1.4fr;grid-gap:8px;gap:8px;padding:14px 22px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface)}.race-settings-footer .btn{min-height:48px}.race-measurements{display:grid;grid-gap:8px;gap:8px;margin-top:14px}.race-measurement{display:grid;grid-template-columns:minmax(130px,1fr) minmax(110px,150px) 92px 44px;align-items:center;grid-gap:8px;gap:8px;padding:10px;border:1px solid var(--border);border-radius:12px}.race-measurement small,.race-measurement strong{display:block}.race-measurement small,.race-unit{color:var(--muted);font-size:11px}.race-remove{min-width:44px;min-height:44px;border:0;color:var(--red);background:transparent;font-size:24px}.race-notes{grid-column:1/-1}.race-action-bar{position:-webkit-sticky;position:sticky;z-index:20;bottom:max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr 1.4fr;grid-gap:8px;gap:8px;padding:10px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.race-action-bar .btn{min-height:48px}.race-quick-actions{display:flex;flex-wrap:wrap;gap:8px}.race-filters{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr)) auto;align-items:end;grid-gap:8px;gap:8px;margin-bottom:14px}.race-filters label{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:12px}.race-history-list{display:grid;grid-gap:10px;gap:10px}.race-history-card summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}.race-history-card summary span,.race-history-card summary strong{display:block}.race-history-card summary span{margin-top:4px;color:var(--muted);font-size:12px}.race-history-body{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.race-history-body dl{display:flex;flex-wrap:wrap;gap:16px}.race-history-body dt{color:var(--muted);font-size:11px}.race-history-body dd{margin:2px 0 0}.race-history-body ol{padding:0;list-style:none}.race-history-body li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.race-history-card.is-legacy{border-style:dashed}@media (max-width:700px){.race-logger{margin:-4px}.race-title-row{align-items:center}.race-settings-sheet{inset:auto 0 0;width:100%;max-height:min(88vh,760px);border-top:1px solid var(--border);border-left:0;border-radius:20px 20px 0 0;animation-name:race-sheet-up}.race-settings-head{padding:18px 18px 14px}.race-settings-content{padding:16px 18px 24px}.race-settings-footer{padding-inline:18px}@keyframes race-sheet-up{0%{opacity:0;transform:translateY(22px)}}.race-measurement{grid-template-columns:minmax(0,1fr) 110px 44px}.race-measurement>div{grid-column:1/-1}.race-unit{display:none}.race-measurement input{font-size:22px;font-weight:750}.form-grid,.race-details{grid-template-columns:1fr}.race-filters{grid-template-columns:1fr 1fr}.race-filters .btn{min-height:48px}.race-quick-actions{display:grid}.race-action-bar{bottom:max(6px,env(safe-area-inset-bottom))}}.session-detailed-log-callout{display:flex;align-items:center;gap:14px;margin-bottom:14px;padding:12px;border:1px solid rgba(85,149,255,.28);border-radius:var(--radius);background:rgba(85,149,255,.07)}.session-detailed-log-callout>div{flex:1 1 260px}.session-detailed-log-callout p{margin:3px 0 0}.log-chooser .card{display:flex;flex-direction:column;color:inherit;text-decoration:none}.log-chooser .card h2{margin:7px 0 5px}.log-chooser .card p{flex:1 1}.log-chooser .card .btn{align-self:flex-start;margin-top:10px}@media (max-width:720px){.endurance-workout-grid{grid-template-columns:1fr}.endurance-workout-grid textarea{min-height:360px}.endurance-workout-grid .session-preview{max-height:none}.session-detailed-log-callout{align-items:stretch;flex-direction:column}.session-detailed-log-callout .btn{justify-content:center}.gym-history-grid{grid-template-columns:1fr}.gym-history-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.gym-history-stats .card{padding:10px}.gym-history-stats .stat-label{font-size:8px}.gym-history-stats .stat-value{margin-top:4px;font-size:21px}.gym-program-picker-row{align-items:stretch}.gym-program-picker-row .field{flex-basis:100%!important}.gym-workout-heading{align-items:flex-start}.gym-workout-heading>.prescription{max-width:150px;text-align:right}.gym-session-details{padding:0}.gym-session-details-summary{min-height:52px;padding:12px 14px}.gym-session-details-body{margin:0;padding:14px;border-top:1px solid var(--border)}.gym-session-details:not([open]) .gym-session-details-summary{border-bottom:0}.gym-set-table{overflow:visible}.gym-set-head{display:none}.gym-set-row:not(.gym-set-head){grid-template-columns:36px 72px minmax(0,1fr) 34px;grid-template-areas:"num reps load  load" "num rpe  notes del";min-width:0;gap:6px 8px;margin-bottom:7px;padding:8px;align-items:start;border:1px solid var(--border);border-radius:12px;background:var(--bg);transition:border-color .16s ease,opacity .16s ease}.gym-set-row.is-warmup{border-style:dashed}.gym-set-actions-before{justify-content:flex-start}.gym-add-warmup{min-height:44px;padding-inline:10px}.gym-rest-plan{font-size:12px}.gym-rest-timer{margin:-3px 0 9px}.gym-rest-body{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"copy clock" "actions actions";padding:9px 10px;grid-gap:9px 10px;gap:9px 10px;align-items:center}.gym-rest-copy{grid-area:copy}.gym-rest-clock{grid-area:clock;margin-left:0;font-size:26px}.gym-rest-actions{grid-area:actions}.gym-rest-copy small{font-size:11.5px}.gym-rest-actions button{flex:1 1;min-height:44px;font-size:12px}.gym-set-row:not(.gym-set-head):has(.gym-set-done.is-done){border-color:rgba(53,208,127,.3);opacity:.6}.gym-exercise-toolbar{flex-wrap:nowrap;align-items:flex-end}.gym-exercise-select{flex:1 1 auto;min-width:0}.gym-exercise-toolbar>.row{flex-shrink:0}.gym-exercise-summary>.gym-exercise-order{display:none}.gym-exercise-summary{flex-wrap:nowrap}.gym-exercise-summary>strong{min-width:0;flex:1 1 auto;overflow-wrap:anywhere}.gym-exercise-summary>.ex-letter,.gym-exercise-summary>.gym-details-chevron,.gym-exercise-summary>.gym-exercise-done,.gym-exercise-summary>.prescription{flex-shrink:0}.gym-set-row:not(.gym-set-head) .set-n{grid-area:num;align-self:stretch;display:flex;align-items:center;justify-content:center;min-height:44px;padding:0;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text-2);font-size:15px;font-weight:700}.gym-set-row:not(.gym-set-head) .set-n.is-done{border-color:var(--green);background:rgba(53,208,127,.14);color:var(--green)}.gym-reps-field{grid-area:reps}.gym-load-field{grid-area:load}.gym-rpe-field{grid-area:rpe}.gym-notes-field{grid-area:notes}.gym-set-field{color:inherit;text-transform:none;letter-spacing:normal}.gym-set-field .mobile-field-label{margin-bottom:2px;font-size:10px;line-height:1.25}.gym-set-field input{min-width:0;min-height:44px;padding:6px 8px;border-radius:10px;font-size:17px;font-weight:600;text-align:center}.gym-notes-field input{font-size:15px;font-weight:400;text-align:left}.gym-load-control{grid-template-columns:38px minmax(0,1fr) 38px}.gym-load-control button{min-height:44px;padding:0;font-size:21px}.gym-remove-set{position:static;grid-area:del;align-self:end;width:34px;height:44px;border-radius:10px;font-size:17px}.gym-log-actions{position:-webkit-sticky;position:sticky;bottom:10px;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);grid-gap:8px;gap:8px;box-shadow:var(--shadow)}body:has(.athlete-mobile-nav) .gym-log-actions{bottom:calc(70px + env(safe-area-inset-bottom))}.gym-add-exercise .btn,.gym-log-actions .btn{width:100%;justify-content:center}.gym-add-exercise.is-planned-session{align-items:stretch;flex-direction:column}.gym-session-history-body .table-wrap{overflow:visible}.gym-history-table,.gym-history-table tbody,.gym-history-table td,.gym-history-table tr{display:block;width:100%}.gym-history-table thead{display:none}.gym-history-table tbody{display:grid;grid-gap:8px;gap:8px}.gym-history-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px 14px;gap:8px 14px;padding:11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.gym-history-table td{padding:0;border:0}.gym-history-table td:before{content:attr(data-label);display:block;margin-bottom:2px;color:var(--muted);font-size:8.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.gym-history-table .gym-history-exercise-cell,.gym-history-table td:last-child{grid-column:1/-1}.gym-history-warmup-badge{margin-left:6px}.mobile-exercise-note{display:block;margin-top:2px;color:var(--muted);font-size:10.5px}}@keyframes loading-pulse{0%,to{opacity:.42}50%{opacity:.78}}@keyframes app-loading-spin{to{transform:rotate(1turn)}}.app-loading-screen{position:fixed;z-index:100;inset:0;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px;color:var(--text);background:radial-gradient(circle at 50% 42%,var(--accent-dim),transparent 28%),linear-gradient(135deg,var(--bg),var(--surface),var(--surface-2))}.app-loading-content{max-width:420px;text-align:center}.app-loading-spinner{width:44px;height:44px;margin:0 auto;border:4px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:app-loading-spin .8s linear infinite}.app-loading-content h1{margin:20px 0 0;color:var(--text);font-size:20px;font-weight:750;letter-spacing:-.02em;text-transform:none}.app-loading-content p{margin:7px 0 0;color:var(--muted);font-size:13px}.session-error-screen{position:fixed;z-index:100;inset:0;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px;color:var(--text);text-align:center;background:linear-gradient(135deg,var(--bg),var(--surface),var(--surface-2))}.session-error-content{width:100%;max-width:440px}.session-error-content .session-error-eyebrow{margin:0;color:var(--red);font-size:10px;font-weight:750;letter-spacing:.16em;text-transform:uppercase}.session-error-content h1{margin:8px 0 0;font-size:24px;font-weight:750;letter-spacing:-.025em}.session-error-content>p:not(.session-error-eyebrow){margin:12px 0 0;color:var(--text-2);line-height:1.6}.session-error-content .btn{margin-top:20px;min-width:100px;justify-content:center}.loading-card,.loading-line,.loading-panel{animation:loading-pulse 1.2s ease-in-out infinite;background:var(--surface,rgba(255,255,255,.06))}.loading-line{border-radius:999px;height:14px}.loading-title{height:30px;width:min(260px,65vw)}.loading-subtitle{margin-top:10px;width:min(380px,80vw)}.loading-card{min-height:108px}.loading-panel{min-height:260px}.organization-theme-form fieldset{margin:0;padding:0;border:0}.organization-theme-help{margin:0 0 14px;font-size:12px}.organization-theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:9px;gap:9px}.organization-theme-option{position:relative;min-width:0;margin:0;padding:9px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);cursor:pointer;text-transform:none;letter-spacing:normal}.organization-theme-option:hover{border-color:var(--border-strong);background:var(--surface-3)}.organization-theme-option:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.organization-theme-option>input{position:absolute;width:1px;height:1px;min-height:0;opacity:0;pointer-events:none}.organization-theme-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.theme-preview{position:relative;display:block;height:78px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text)}.theme-preview-sidebar{inset:0 auto 0 0;width:25%;border-right:1px solid var(--border)}.theme-preview-card,.theme-preview-sidebar{position:absolute;background:var(--surface)}.theme-preview-card{left:32%;right:8%;top:13px;bottom:13px;border:1px solid var(--border);border-radius:5px}.theme-preview-accent{position:absolute;left:38%;bottom:21px;width:28px;height:12px;border-radius:3px;background:var(--accent)}.theme-preview-copy{right:17%;top:24px;height:5px;background:var(--text)}.theme-preview-copy,.theme-preview-muted{position:absolute;left:38%;border-radius:99px}.theme-preview-muted{width:28%;top:35px;height:4px;background:var(--muted)}.organization-theme-copy{display:block;min-width:0;margin-top:8px;padding-right:22px}.organization-theme-copy small,.organization-theme-copy strong{display:block}.organization-theme-copy strong{color:var(--text);font-size:12px}.organization-theme-copy small{margin-top:2px;color:var(--muted);font-size:10px;line-height:1.35}.organization-theme-check{display:none;position:absolute;right:10px;bottom:10px;width:18px;height:18px;align-items:center;justify-content:center;border-radius:99px;background:var(--accent);color:var(--accent-ink);font-size:10px}.organization-theme-option:has(input:checked) .organization-theme-check{display:flex}.organization-theme-save{width:100%;justify-content:center;margin-top:14px}.organization-storage-card{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.organization-storage-label{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.organization-storage-value{display:block;margin-top:4px;font-size:clamp(24px,4vw,34px);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.03em}.organization-storage-card p{max-width:680px;margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.organization-storage-card>.badge{flex:none;margin-top:2px}.team-access-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);grid-gap:16px;gap:16px;align-items:start}.team-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.team-section-heading h2{margin-bottom:4px}.team-section-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.team-invitations-card,.team-pending-card,.team-people-card,.team-squads-card{margin-top:16px}.team-request-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--border)}.team-request-row>div{display:flex;flex-direction:column}.team-request-row span{color:var(--muted);font-size:11px}.role-editor-shell{min-width:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);overflow:hidden}.role-editor-shell>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:9px 12px;list-style:none;cursor:pointer}.role-editor-shell>summary::-webkit-details-marker{display:none}.role-editor-shell>summary:hover{background:var(--surface-3)}.role-editor-shell[open]>summary{border-bottom:1px solid var(--border)}.role-editor-summary-copy{display:flex;align-items:center;gap:10px;min-width:0}.role-editor-summary-copy-with-squad{align-items:flex-start;flex-direction:column;gap:3px}.role-editor-summary-squad{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.role-editor-summary-main{display:flex;align-items:center;gap:10px;min-width:0}.role-editor-summary-main>strong{min-width:90px;color:var(--text-2);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-editor-summary-roles{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.role-editor-summary-roles .muted{font-size:10px}.role-editor-modify{flex:none;color:var(--accent);font-size:10px;font-weight:700}.role-editor-shell[open] .role-editor-modify{color:var(--muted)}.role-editor{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px;align-items:start;padding:14px;background:var(--bg)}.role-editor-self{border-left:2px solid var(--accent)}.role-editor-person{align-self:center;min-width:0}.role-editor-person span,.role-editor-person strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-editor-person strong{font-size:13px}.role-editor-person span{margin-top:2px;color:var(--muted);font-size:10.5px}.role-editor-controls{display:flex;flex-wrap:wrap;gap:7px;align-self:start}.role-toggle{display:inline-flex;align-items:center;gap:6px;min-height:34px;margin:0;padding:6px 9px;border:1px solid var(--border-strong);border-radius:999px;color:var(--muted);background:var(--surface);cursor:pointer;font-size:10.5px;font-weight:700;letter-spacing:.04em;line-height:1;text-transform:uppercase}.role-toggle:hover{border-color:var(--accent);color:var(--text)}.role-toggle.selected{border-color:rgba(70,200,240,.45);background:var(--accent-dim);color:var(--accent)}.role-toggle.role-toggle-head-coach.selected{border-color:rgba(140,105,255,.5);background:rgba(140,105,255,.1);color:var(--violet)}.role-toggle input{width:14px;height:14px;min-height:0;margin:0;accent-color:var(--accent)}.role-toggle-head-coach input{accent-color:var(--violet)}.role-toggle input:disabled{cursor:not-allowed}.role-toggle.disabled{opacity:.38;cursor:not-allowed}.role-editor-athlete{min-width:0}.role-editor-athlete label{margin-bottom:3px;font-size:9px}.role-editor-athlete select{min-height:34px;padding-block:5px}.role-editor-athlete select:disabled{opacity:.45}.athlete-link-status{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:34px;padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.athlete-link-status>div{min-width:0}.athlete-link-status span,.athlete-link-status strong{display:block}.athlete-link-status span{color:var(--muted);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.athlete-link-status strong{color:var(--text-2);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.athlete-email-editor{display:flex;align-items:center;gap:8px;width:100%}.athlete-email-editor input{min-width:0;min-height:30px;padding-block:4px}.athlete-login-management{align-items:flex-start}.athlete-login-email-access{min-width:min(100%,320px)}.athlete-login-email-form{min-width:min(100%,320px);padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.athlete-login-email-form .field{margin-bottom:9px}.athlete-login-email-actions{justify-content:flex-end}.athlete-login-email-result{margin:8px 0 0;font-size:11px;line-height:1.4}.athlete-login-email-result.success{color:var(--green)}.athlete-login-email-result.error{color:var(--red)}.athlete-link-cancel,.athlete-link-change{flex:none;padding:3px 0;border:0;background:transparent;color:var(--accent);cursor:pointer;font:inherit;font-size:10px;font-weight:700}.athlete-link-cancel:hover,.athlete-link-change:hover{text-decoration:underline;text-underline-offset:2px}.athlete-link-picker{display:flex;align-items:center;gap:8px}.athlete-link-picker select{min-width:0}.athlete-profile-choice{display:grid;grid-gap:6px;gap:6px}.athlete-account-profile{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.athlete-account-profile strong{color:var(--text);font-size:12px}.athlete-account-profile span{color:var(--muted);font-size:10.5px;line-height:1.4}.athlete-additional-squads{display:flex;flex-wrap:wrap;gap:8px 14px;margin:4px 0 0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.athlete-additional-squads legend{padding:0 5px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.athlete-additional-squads label{display:inline-flex;align-items:center;gap:6px;margin:0;color:var(--text-2)}.athlete-additional-squads input{width:14px;height:14px;min-height:0;margin:0}.athlete-source-options{display:inline-flex;width:-moz-fit-content;width:fit-content;padding:2px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.athlete-source-options button{min-height:26px;padding:4px 8px;border:0;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:9.5px;font-weight:700}.athlete-source-options button.active{background:var(--surface-3);color:var(--accent)}.athlete-source-options button:disabled{opacity:.35;cursor:not-allowed}.athlete-create-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px}.athlete-create-fields input{min-width:0;min-height:34px;padding-block:5px}.role-editor-new-athlete{grid-template-columns:1fr}.athlete-link-empty{display:flex;align-items:center;min-height:34px;color:var(--muted);font-size:10.5px;line-height:1.35}.role-editor-save{width:100%;justify-content:center}.role-editor-organization-only{grid-template-columns:1fr auto;align-items:center}.person-access-card{padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2)}.person-access-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.person-access-head>div:first-child span,.person-access-head>div:first-child strong{display:block}.person-access-head>div:first-child strong{font-size:14px}.person-access-head>div:first-child span{margin-top:2px;color:var(--muted);font-size:10.5px}.person-squad-list{display:flex;flex-direction:column;gap:8px}.person-squad-list .role-editor,.person-squad-list .role-editor-shell{background:var(--surface)}.person-squad-assignment{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:stretch}.person-squad-remove{display:flex;align-items:center}.person-squad-remove .btn{min-height:34px}.person-no-squads,.person-squads-complete{margin:0;padding:8px 10px;color:var(--muted);font-size:10.5px}.add-squad-membership{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.add-squad-membership>summary{width:-moz-fit-content;width:fit-content;color:var(--accent);cursor:pointer;font-size:11px;font-weight:700}.add-squad-membership>form{margin-top:10px}.add-squad-membership-grid{display:grid;grid-template-columns:minmax(150px,1fr) minmax(130px,.7fr) minmax(180px,1fr) auto;grid-gap:10px;gap:10px;align-items:end}.add-squad-membership-grid .field{margin:0}.add-squad-role-options{display:flex;align-items:center;gap:6px;min-height:38px}.add-squad-athlete-profile .athlete-source-options{margin-bottom:6px}.add-squad-membership-save{justify-content:center}.team-invite-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-invite-athlete-profile{grid-column:1/-1}.team-invite-athlete-profile .athlete-source-options{margin-bottom:7px}.team-invite-submit{width:100%;justify-content:center}.squad-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));grid-gap:12px;gap:12px;align-items:start}.squad-overview-card{min-width:0;padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2)}.squad-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:11px;border-bottom:1px solid var(--border)}.squad-overview-head h3{margin:0;font-size:14px;font-weight:700}.squad-overview-head p{margin:2px 0 0;color:var(--muted);font-size:10.5px}.squad-overview-head .badge{margin-top:8px;text-transform:capitalize}.squad-overview-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.squad-member-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.squad-member-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:10px 0;border-bottom:1px solid var(--border)}.squad-member-list li:last-child{padding-bottom:0;border-bottom:0}.squad-member-copy{min-width:0}.squad-member-copy span,.squad-member-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.squad-member-copy strong{font-size:12px}.squad-member-copy span{margin-top:2px;color:var(--muted);font-size:9.5px}.squad-member-roles{display:flex;justify-content:flex-end;gap:4px;flex-wrap:wrap}.squad-overview-empty{margin:0;padding:24px 8px 10px;color:var(--muted);font-size:11px;text-align:center}.squad-create-card{border-style:dashed;background:transparent}.squad-create-card>summary{color:var(--accent);cursor:pointer;font-size:12px;font-weight:700}.squad-create-card>form{margin-top:14px}.squad-create-card .btn{width:100%;justify-content:center}.team-invitations-card>summary{color:var(--text-2);cursor:pointer;font-size:12px;font-weight:650;letter-spacing:.09em;text-transform:uppercase}.team-invitations-card[open]>summary{margin-bottom:14px}.program-search-toolbar{align-items:flex-end}.program-search-toolbar .field{margin:0}.program-search-field{flex:1 1 320px}.program-search-field input{width:100%}.program-sport-filter{flex:0 1 220px;min-width:160px}.program-assignment-builder{display:flex;flex-direction:column;gap:18px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.program-assignment-basics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.program-assignment-basics .field{margin:0}.field-error{color:var(--red);font-size:10.5px}.program-assignment-targets{margin:0;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2)}.program-assignment-targets>legend{padding:0 8px;color:var(--text);font-size:13px;font-weight:800}.program-target-list label,.program-target-whole{display:flex;align-items:center;gap:10px;margin:0;padding:10px;border:1px solid transparent;border-radius:var(--radius);cursor:pointer}.program-target-whole{border-color:var(--border);background:var(--surface)}.program-target-list label:hover,.program-target-whole:hover{border-color:var(--accent);background:var(--accent-soft)}.program-target-list input,.program-target-whole input{flex:none;width:16px;height:16px}.program-target-list label span,.program-target-whole span{display:flex;min-width:0;flex-direction:column;gap:2px}.program-target-list strong,.program-target-whole strong{color:var(--text);font-size:12px}.program-target-list small,.program-target-whole small{color:var(--muted);font-size:10.5px;font-weight:500}.program-target-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px;margin-top:18px}.program-target-columns h3{margin:0 0 7px;font-size:13px}.program-target-list{display:flex;max-height:330px;flex-direction:column;gap:3px;overflow-y:auto;padding:5px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.program-target-help{display:block;margin-top:14px}.program-assignment-submit-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.program-assignment-submit-row>span{color:var(--muted);font-size:11px}.assignment-list{display:flex;flex-direction:column;gap:10px}.assignment-list-card{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;color:inherit;text-decoration:none}.assignment-list-card:hover{border-color:var(--accent);background:var(--surface-2)}.assignment-list-card h2{margin:4px 0}.assignment-list-meta{display:flex;align-items:flex-end;flex-direction:column;gap:8px}.assignment-list-meta>span:last-child{color:var(--muted);font-size:10.5px}.assignment-status-message{margin-bottom:16px;color:var(--green);border-color:color-mix(in srgb,var(--green) 35%,var(--border))}.assignment-cancelled{margin-bottom:16px;border-color:color-mix(in srgb,var(--red) 35%,var(--border))}.assignment-cancelled p{margin:6px 0 0;color:var(--muted)}.assignment-activation-preview{border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.assignment-activation-preview h2{margin:5px 0}.assignment-preview-list{display:flex;flex-direction:column;gap:7px;margin:16px 0}.assignment-preview-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.assignment-preview-list strong{font-size:12px}.assignment-preview-list span{color:var(--muted);font-size:10.5px}.assignment-target-summary{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.assignment-section{margin-top:26px}.assignment-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px}.assignment-section-heading h2{margin:3px 0 0}.assignment-participant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.assignment-participant{display:flex;flex-direction:column;gap:12px}.assignment-participant p{margin:3px 0 0;font-size:10.5px}.assignment-participant form{align-self:flex-start}.assignment-explicit-add{margin-top:12px;border-style:dashed}.assignment-explicit-add h3{margin-bottom:10px}.assignment-result{display:flex;align-items:center;justify-content:space-between;gap:12px}.assignment-result p{margin:4px 0 0;font-size:11px}.assignment-override-section{margin-top:26px}.assignment-override-section h2{margin:4px 0 16px}.assignment-override-editor{display:flex;flex-direction:column;gap:12px}.assignment-override-editor .field{margin:0}.assignment-override-editor textarea{font-family:var(--font-mono),monospace;font-size:11px}.athlete-plan-workspace{min-width:0;padding-top:14px}.athlete-plan-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.athlete-plan-head h2{margin:3px 0}.athlete-plan-head p{margin:0}.athlete-plan-head-actions{display:flex;align-items:flex-end;gap:9px}.athlete-plan-athlete-select{min-width:230px;margin:0}.athlete-plan-assign{position:relative}.athlete-plan-assign>summary{min-height:34px;padding:8px 11px;border:1px solid var(--accent);border-radius:var(--radius);color:var(--bg);background:var(--accent);cursor:pointer;font-size:10.5px;font-weight:800;list-style:none}.athlete-plan-assign>summary::-webkit-details-marker{display:none}.athlete-plan-assign[open]>form{position:absolute;z-index:20;top:calc(100% + 7px);right:0;width:min(360px,86vw);padding:14px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.athlete-plan-assign form .field{margin-bottom:10px}.athlete-plan-preview-assign{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.athlete-plan-preview-assign p{margin:0;max-width:260px}.athlete-plan-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;grid-gap:14px;gap:14px;align-items:start}.athlete-plan-main{min-width:0}.athlete-plan-live-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--violet) 38%,var(--border));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--violet) 8%,var(--surface))}.athlete-plan-live-notice .page-eyebrow{margin:0 0 3px;color:var(--violet)}.athlete-plan-live-notice strong{font-size:12px}.athlete-plan-live-notice p:last-child{margin:3px 0 0;color:var(--muted);font-size:10.5px}.athlete-plan-weekly-load{margin-bottom:10px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.athlete-plan-weekly-load>summary{padding:9px 12px;cursor:pointer;color:var(--text-2);font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.athlete-plan-load-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));grid-gap:1px;gap:1px;padding:1px;border-top:1px solid var(--border);background:var(--border)}.athlete-plan-load-grid button{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 10px;border:0;color:var(--text);background:var(--surface);cursor:pointer;text-align:left}.athlete-plan-load-grid button.is-active,.athlete-plan-load-grid button:hover{background:var(--surface-2)}.athlete-plan-load-grid button.is-active{box-shadow:inset 0 2px 0 var(--accent)}.athlete-plan-load-grid span{color:var(--muted);font-size:8.5px;font-weight:800;text-transform:uppercase}.athlete-plan-load-grid strong{font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.athlete-plan-load-grid small{color:var(--muted);font-size:8.5px}.athlete-plan-load-grid em{color:var(--amber);font-size:8px;font-style:normal}.athlete-plan-week-strip{margin-bottom:10px}.athlete-plan-calendar{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));min-width:0;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.athlete-plan-day{min-width:105px;padding:8px;border-right:1px solid var(--border);background:var(--surface)}.athlete-plan-day:last-child{border-right:0}.athlete-plan-day.is-locked{background:color-mix(in srgb,var(--bg) 55%,var(--surface))}.athlete-plan-day.is-today{box-shadow:inset 0 2px 0 var(--accent)}.athlete-plan-day>header{display:flex;align-items:flex-start;justify-content:space-between;gap:5px;margin-bottom:7px}.athlete-plan-day>header div{min-width:0}.athlete-plan-day>header span,.athlete-plan-day>header strong{display:block}.athlete-plan-day>header strong{font-size:10px;text-transform:uppercase;letter-spacing:.07em}.athlete-plan-day>header span{color:var(--muted);font-size:9.5px}.athlete-plan-day>header em{padding:2px 5px;border-radius:99px;background:var(--surface-3);color:var(--muted);font-size:7px;font-style:normal;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.athlete-plan-day.is-today>header em{background:var(--accent);color:var(--accent-ink)}.athlete-plan-day>p{margin:18px 0;color:var(--muted);font-size:9.5px;text-align:center}.athlete-plan-session{display:flex;width:100%;min-height:82px;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:6px;padding:8px;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:var(--surface-2);cursor:pointer;text-align:left}.athlete-plan-session.is-active,.athlete-plan-session:hover{border-color:var(--accent);background:var(--accent-soft)}.athlete-plan-session.is-locked{opacity:.58}.athlete-plan-session.is-locked:hover{opacity:.76}.athlete-plan-session.is-cancelled{opacity:.55;border-style:dashed}.athlete-plan-session>span{color:var(--accent);font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.athlete-plan-session>strong{font-size:11px;line-height:1.3}.athlete-plan-session>small{margin-top:auto;color:var(--muted);font-size:8.5px}.athlete-plan-editor{margin-top:12px}.athlete-plan-editor>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--border)}.athlete-plan-editor h2{margin:3px 0 0}.athlete-plan-session-form{padding:14px 0;border-bottom:1px solid var(--border)}.athlete-plan-session-form .form-grid{grid-template-columns:.75fr 1.25fr}.athlete-plan-session-form .field{margin:0}.athlete-plan-session-form .check-label{margin:10px 0}.athlete-plan-preview-note{margin:10px 0 0;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);background:var(--surface-2);font-size:10px}.athlete-plan-lock{margin:12px 0;padding:12px;border:1px solid color-mix(in srgb,var(--amber) 35%,var(--border));border-radius:var(--radius);background:color-mix(in srgb,var(--amber) 7%,var(--surface))}.athlete-plan-lock p{margin:4px 0 0;color:var(--muted);font-size:10.5px}.athlete-plan-exercises{margin:16px 0}.athlete-plan-exercises h3{margin:0 0 8px}.athlete-plan-exercise{padding:11px 0;border-bottom:1px solid var(--border)}.athlete-plan-exercise.is-omitted{opacity:.65}.athlete-plan-exercise-summary{display:grid;grid-template-columns:24px minmax(0,1fr) auto;grid-gap:9px;gap:9px;align-items:center}.athlete-plan-exercise-summary>span{display:grid;width:24px;height:24px;place-items:center;border-radius:5px;background:var(--surface-3);color:var(--accent);font-size:9px;font-weight:800}.athlete-plan-exercise-summary small,.athlete-plan-exercise-summary strong{display:block}.athlete-plan-exercise-summary strong{font-size:12px}.athlete-plan-exercise-summary small{margin-top:2px;color:var(--muted);font-size:10px}.athlete-plan-exercise>p{margin:7px 0 0 33px;color:var(--muted);font-size:10px}.athlete-plan-adjustment-note{color:var(--accent)!important}.athlete-plan-set-grid{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0 33px}.athlete-plan-set{display:grid;grid-gap:2px;gap:2px;min-width:96px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.athlete-plan-set>small{color:var(--muted);font-size:8.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.athlete-plan-set>strong{font-size:12px}.athlete-plan-set>span{font-size:11px;color:var(--text)}.athlete-plan-set>span small{display:block;margin-top:1px;color:var(--muted);font-size:9px}.athlete-plan-set>em{color:var(--muted);font-size:9px;font-style:normal}.athlete-plan-set.is-override{border-color:rgba(167,139,250,.45)}.athlete-plan-set.is-override>span{color:var(--violet)}.athlete-plan-set.is-unavailable{border-style:dashed}.athlete-plan-exercise.uses-override .athlete-plan-exercise-summary>span{background:rgba(167,139,250,.16);color:var(--violet)}.working-one-rm{margin:8px 0 0 33px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.working-one-rm.is-custom{border-color:rgba(167,139,250,.4)}.working-one-rm-facts{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0}.working-one-rm-facts>div{min-width:0}.working-one-rm-facts dt{color:var(--muted);font-size:8.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.working-one-rm-facts dd{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin:1px 0 0;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.working-one-rm-facts dd small{color:var(--muted);font-size:9.5px}.working-one-rm-facts .working-one-rm-active dd{font-weight:700}.working-one-rm.is-custom .working-one-rm-active dd{color:var(--violet)}.working-one-rm-note{margin:6px 0 0;color:var(--text-2);font-size:10.5px}.working-one-rm-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.working-one-rm-form{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.working-one-rm-form .field{margin-bottom:8px}.working-one-rm-period{margin:4px 0 10px}.working-one-rm-period .form-grid{margin-top:8px}@media (max-width:720px){.athlete-plan-set-grid,.working-one-rm{margin-left:0}}.athlete-plan-context{position:-webkit-sticky;position:sticky;top:12px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.athlete-plan-context>nav{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-bottom:1px solid var(--border);background:var(--surface-2)}.athlete-plan-context>nav button{padding:8px;border:0;border-radius:5px;color:var(--muted);background:transparent;cursor:pointer;font:inherit;font-size:10.5px;font-weight:750}.athlete-plan-context>nav button.is-active{color:var(--accent);background:var(--surface)}.athlete-plan-context>section{padding:14px}.athlete-plan-context h3{margin:0 0 4px}.athlete-plan-context section>p{margin:0 0 12px;font-size:10px}.athlete-plan-event-list,.athlete-plan-pb-list{display:flex;flex-direction:column;gap:7px}.athlete-plan-event-list article{display:grid;grid-template-columns:38px minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:start;padding:9px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.athlete-plan-event-list time{color:var(--accent);font-size:9px;font-weight:800;text-transform:uppercase}.athlete-plan-event-list span,.athlete-plan-event-list strong{display:block}.athlete-plan-event-list strong{font-size:10.5px}.athlete-plan-event-list span{margin-top:2px;color:var(--muted);font-size:9px}.athlete-plan-pb-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.athlete-plan-pb-list span,.athlete-plan-pb-list strong{display:block}.athlete-plan-pb-list strong{font-size:11px}.athlete-plan-pb-list span{margin-top:2px;color:var(--muted);font-size:8.5px}.athlete-plan-pb-list b{color:var(--accent);font-size:14px;white-space:nowrap}.athlete-plan-empty,.athlete-plan-select-session{padding:34px;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--muted);text-align:center}.athlete-plan-empty strong,.athlete-plan-select-session strong{color:var(--text)}.athlete-plan-empty p,.athlete-plan-select-session p{margin:5px 0 0;font-size:10.5px}.form-success{color:var(--green);font-size:10.5px}.pb-import-result{display:grid;grid-gap:3px;gap:3px;margin:10px 0;padding:10px 12px;border:1px solid var(--amber);border-radius:var(--radius);background:color-mix(in srgb,var(--amber) 7%,var(--surface))}.pb-import-result.is-success{border-color:color-mix(in srgb,var(--green) 45%,var(--border));background:color-mix(in srgb,var(--green) 7%,var(--surface))}.pb-import-result>strong{font-size:11px}.pb-import-result>span{color:var(--muted);font-size:10px}.pb-import-result details{margin-top:6px;padding-top:6px;border-top:1px solid var(--border)}.pb-import-result summary{cursor:pointer;color:var(--text-2);font-size:10px;font-weight:750}.pb-import-result ul{max-height:180px;margin:7px 0 0;padding-left:18px;overflow-y:auto;color:var(--muted);font-size:9.5px}.pb-import-result li+li{margin-top:4px}@media (max-width:1050px){.athlete-plan-layout,.team-access-grid{grid-template-columns:1fr}.athlete-plan-context{position:static}}@media (max-width:760px){.organization-storage-card{flex-direction:column;gap:12px}.program-search-toolbar{align-items:stretch}.program-search-field,.program-sport-filter{flex-basis:100%;width:100%}.assignment-participant-grid,.program-assignment-basics,.role-editor{grid-template-columns:1fr}.role-editor-controls{justify-self:start}.role-editor-athlete,.role-editor-save{grid-column:auto}.add-squad-membership-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.add-squad-membership-save{width:100%}.person-squad-assignment{grid-template-columns:1fr}.person-squad-remove .btn{width:100%;justify-content:center}.athlete-plan-head,.athlete-plan-head-actions{align-items:stretch;flex-direction:column}.athlete-plan-athlete-select{min-width:0}.athlete-plan-live-notice{align-items:flex-start;flex-direction:column}.athlete-plan-assign[open]>form{position:static;width:auto;margin-top:7px}.athlete-plan-session-form .form-grid{grid-template-columns:1fr}}@media (max-width:520px){.program-target-columns{grid-template-columns:1fr}.assignment-list-card,.assignment-section-heading,.program-assignment-submit-row{align-items:stretch;flex-direction:column}.program-assignment-submit-row .btn{width:100%;justify-content:center}.assignment-list-meta{align-items:flex-start}.organization-theme-grid,.team-invite-form .form-grid{grid-template-columns:1fr}.team-request-row{align-items:stretch;flex-direction:column}.team-request-row form{justify-content:stretch}.team-request-row form>*{flex:1 1;justify-content:center}.role-editor{grid-template-columns:1fr}.role-editor-shell>summary{align-items:flex-start}.role-editor-summary-copy,.role-editor-summary-main{align-items:flex-start;flex-direction:column;gap:5px}.role-editor-summary-main>strong{min-width:0}.role-editor-controls{justify-self:start}.role-editor-athlete,.role-editor-save{grid-column:auto}.person-access-head{align-items:flex-start;flex-direction:column}.add-squad-membership-grid,.role-editor-organization-only,.squad-overview-grid{grid-template-columns:1fr}.squad-member-list li{align-items:flex-start;flex-direction:column}.squad-member-roles{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.app-loading-spinner,.loading-card,.loading-line,.loading-panel{animation:none}}.stats-screen{max-width:980px}.stats-head{margin-bottom:14px}.viz-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border)}.viz-filter{min-height:38px;padding:0 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-2);font-size:12.5px;font-weight:650;cursor:pointer;transition:border-color .14s ease,color .14s ease,background .14s ease}.viz-filter:hover{border-color:var(--border-strong);color:var(--text)}.viz-filter.is-active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.stats-hero{display:grid;grid-gap:3px;gap:3px;margin-bottom:14px;padding:20px 20px 18px;border:1px solid var(--border);border-radius:18px;background:radial-gradient(120% 140% at 0 0,rgba(70,200,240,.12),transparent 62%),var(--surface)}.stats-hero-figure{font-size:60px;font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--text)}.stats-hero-scale{color:var(--muted);font-size:11.5px}.stats-hero-meter{display:block;height:5px;margin-top:12px;border-radius:999px;background:var(--surface-3);overflow:hidden}.stats-hero-meter-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--accent));transition:width .3s ease}.stats-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px;margin-bottom:18px}.stat-tile{display:grid;grid-gap:5px;gap:5px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.stat-tile-label{color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.stat-tile-value{font-size:26px;font-weight:700;line-height:1.1;letter-spacing:-.02em}.stat-tile-unit{margin-left:4px;color:var(--muted);font-size:12px;font-weight:600}.stat-tile-foot{display:flex;align-items:center;gap:9px;min-height:16px}.stat-tile-note{color:var(--muted);font-size:11.5px;line-height:1.5}.stats-height-editor summary{color:var(--accent);cursor:pointer;font-size:12px;padding:6px 0}.stats-height-editor form{margin-top:8px}.stats-height-editor input{min-width:0;width:100%}.stats-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.stats-trends-head{margin:24px 0 12px}.stats-trends-head h2{margin:0;font-size:17px}.stats-weight-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px;margin:16px 0}.stats-weight-summary strong{font-size:28px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stats-records-scroll{overflow-x:auto}.stats-records{width:100%;border-collapse:collapse;text-align:left}.stats-records caption{text-align:left;caption-side:bottom;padding-top:12px}.stats-records td,.stats-records th{padding:12px 10px;border-bottom:1px solid var(--border);vertical-align:top}.stats-records td:first-child,.stats-records th:first-child{padding-left:0}.stats-records thead th{color:var(--muted);font-size:10px;letter-spacing:.04em;text-transform:uppercase}.stats-records tbody th{font-size:12px;font-weight:600;min-width:130px}.stats-records td{min-width:125px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stats-records td strong{font-size:18px;white-space:nowrap}.stats-records td small{color:var(--muted);font-size:11px;font-weight:500}.stats-record-detail{display:block;margin-top:4px;color:var(--muted);font-size:10.5px;line-height:1.5;font-weight:400}.stat-delta{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700}.stat-delta.is-good{color:var(--green)}.stat-delta.is-bad{color:var(--red)}.stat-delta.is-flat{color:var(--muted);font-weight:600}.stat-spark{flex:1 1 auto;height:22px;min-width:0;overflow:visible}.viz-card{margin-bottom:14px;padding:16px 14px 14px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.viz-card-head{margin-bottom:12px}.viz-card-head h2{margin:0 0 3px;font-size:15px}.viz-card-sub{margin:0;color:var(--muted);font-size:11.5px;line-height:1.45}.viz-legend{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.viz-legend-item{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 11px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text-2);font-size:12px;font-weight:650;cursor:pointer}.viz-legend-item:hover{border-color:var(--border-strong);color:var(--text)}.viz-legend-item.is-off{opacity:.42}.viz-legend-item.is-off .viz-legend-key{background:var(--muted)!important}.viz-legend-key{width:14px;height:3px;border-radius:999px;flex:none}.viz-tip{padding:9px 11px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-2);box-shadow:0 12px 30px rgba(0,0,0,.5)}.viz-tip-label{margin-bottom:6px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.viz-tip-row{display:flex;align-items:center;gap:7px;font-size:12px}.viz-tip-row+.viz-tip-row{margin-top:3px}.viz-tip-key{width:12px;height:2px;border-radius:999px;flex:none}.viz-tip-value{color:var(--text);font-weight:700}.viz-tip-name{color:var(--muted)}.viz-small-multiples{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px}.viz-multiple{padding:10px 8px 6px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}.viz-multiple-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:0 4px}.viz-multiple-label{color:var(--text-2);font-size:11px;font-weight:650}.viz-multiple-value{color:var(--text);font-size:14px;font-weight:700}.viz-table{margin-top:12px;border-top:1px solid var(--border)}.viz-table>summary{padding:9px 2px 0;color:var(--muted);font-size:11.5px;font-weight:650;cursor:pointer;list-style:none}.viz-table>summary::-webkit-details-marker{display:none}.viz-table>summary:before{content:"▸ "}.viz-table[open]>summary:before{content:"▾ "}.viz-table>summary:hover{color:var(--text-2)}.viz-table-scroll{max-height:260px;margin-top:8px;overflow:auto}.viz-table table{width:100%;border-collapse:collapse;font-size:11.5px}.viz-table td,.viz-table th{padding:6px 8px;border-bottom:1px solid var(--border);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.viz-table td:first-child,.viz-table th:first-child{text-align:left;font-feature-settings:normal;font-variant-numeric:normal}.viz-table thead th{position:-webkit-sticky;position:sticky;top:0;background:var(--surface);color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.stats-foot{margin:4px 2px 0;color:var(--muted);font-size:12px}@media (max-width:720px){.stats-hero{padding:17px 16px 15px;border-radius:16px}.stats-hero-figure{font-size:52px}.stats-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-tile{padding:12px;border-radius:12px}.stat-tile-value{font-size:23px}.viz-card{padding:14px 11px 12px;border-radius:14px}.viz-small-multiples{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.viz-filter{flex:1 1 auto;min-height:40px;padding:0 10px}}.dashboard-welcome{align-items:center;gap:20px;padding:9px 0 26px;margin-bottom:22px}.dashboard-welcome-copy{min-width:0;flex:1 1 470px}.dashboard-welcome .page-eyebrow{margin-bottom:17px;font-size:10px;letter-spacing:.15em}.dashboard-welcome h1{font-size:clamp(40px,4.7vw,68px);overflow-wrap:anywhere;color:var(--text)}.dashboard-welcome .subtitle{margin-top:16px;font-size:14px;line-height:1.6}.dashboard-create{min-height:44px;flex:none;gap:9px}.dashboard-create>span{font-size:20px;font-weight:400;line-height:1}.coach-mobile-actions,.coach-mobile-brief{display:none}.coach-dashboard h2{color:var(--text);font-size:16px;letter-spacing:-.02em;text-transform:none}.coach-dashboard .subtitle{line-height:1.55}.dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.dashboard-stats .card{min-width:0;padding:19px 18px}.dashboard-stats .stat-label{font-size:10px;letter-spacing:.08em}.dashboard-stats .stat-value{font-size:34px;margin-top:13px;line-height:1.1}.dashboard-stats .stat-value-empty{display:block;max-width:12ch;font-size:20px;line-height:1.2}.dashboard-stats .stat-note{line-height:1.5;margin-top:9px}.dashboard-expiring-programs{display:flex;flex-direction:column}.dashboard-expiring-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.dashboard-expiring-head>a{color:var(--muted);font-size:11px;font-weight:650}.dashboard-expiring-head>a:hover{color:var(--accent)}.dashboard-expiring-programs ul{display:grid;grid-gap:0;gap:0;margin:10px 0 0;padding:0;list-style:none}.dashboard-expiring-programs li+li{border-top:1px solid var(--border)}.dashboard-expiring-programs li a{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:baseline;padding:7px 0}.dashboard-expiring-programs li a>span{overflow:hidden;color:var(--text);font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.dashboard-expiring-programs li a>small{color:var(--muted);font-size:10px;white-space:nowrap}.dashboard-expiring-programs li a:hover>span{color:var(--accent)}.dashboard-overview{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start;margin-bottom:22px}.dashboard-priorities{padding:22px;border-color:var(--border)}.dashboard-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dashboard-section-head h2{margin:0}.dashboard-section-head .subtitle{font-size:12px;margin-top:5px}.dashboard-count{flex:none;padding:4px 7px;border:1px solid var(--border-strong);border-radius:5px;color:var(--text-2);font-size:10px;font-weight:600;white-space:nowrap}.dashboard-priorities .priority-list{grid-template-columns:minmax(0,1fr);gap:0;margin-top:14px}.dashboard-priorities .priority-list a{display:flex;align-items:center;gap:12px;min-height:54px;padding:12px 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;font-size:13px;line-height:1.5}.dashboard-priorities .priority-list a:hover{color:var(--accent)}.dashboard-priority-number{flex:none;color:var(--muted);font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dashboard-priority-arrow{margin-left:auto;color:var(--muted);flex:none}.dashboard-priorities a:hover .dashboard-priority-arrow{color:var(--accent)}.dashboard-more-priorities summary{padding:13px 0;min-height:44px;color:var(--text-2);cursor:pointer;font-size:12px}.dashboard-more-priorities .priority-list{margin-top:0}.dashboard-priority-actions{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:8px}.dashboard-priority-actions a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--accent);font-size:12px}.dashboard-priority-actions a:hover{color:var(--text)}.coach-dashboard a:focus-visible,.dashboard-more-priorities summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.coach-dashboard .readiness-table tbody th{text-transform:none;font-size:12px;letter-spacing:0}.coach-dashboard .readiness-table tbody tr:hover{background:var(--surface-2)}.coach-dashboard .next-list li{align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.coach-dashboard .next-list li:last-child{border-bottom:0}.coach-dashboard .next-list li a{white-space:normal;line-height:1.5}.stat-unit{font-size:.55em;color:var(--muted);font-weight:500;letter-spacing:0}.stat-value.is-high{color:var(--red)}.stat-value.is-low{color:var(--blue)}.stat-value.is-ok{color:var(--green)}.dashboard-split{display:grid;grid-template-columns:minmax(0,1fr) 328px;grid-gap:14px;gap:14px;align-items:start}.dashboard-main{min-width:0}.dashboard-rail{display:grid;grid-gap:14px;gap:14px;align-content:start}.dashboard-rail .priority-list{grid-template-columns:minmax(0,1fr);margin-top:12px}.dashboard-rail .action-center .subtitle{margin-bottom:0}.next-list{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-gap:7px;gap:7px}.next-list li{display:flex;align-items:baseline;gap:10px;font-size:12.5px;min-width:0}.next-list li a{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.next-list li .muted{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:11.5px;flex-shrink:0}.readiness-table{width:100%}.readiness-table td,.readiness-table th{padding-left:7px;padding-right:7px}.readiness-table td:first-child,.readiness-table th:first-child{padding-left:0}.readiness-table td:last-child,.readiness-table th:last-child{padding-right:0}.readiness-table td.num,.readiness-table th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.readiness-table tbody th{font-weight:600;text-align:left}.readiness-athlete{display:flex;align-items:center;gap:8px;white-space:nowrap}.readiness-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--muted)}.readiness-dot.risk-red{background:var(--red)}.readiness-dot.risk-amber{background:var(--amber)}.readiness-dot.risk-blue{background:var(--blue)}.readiness-dot.risk-green{background:var(--green)}.readiness-dot.risk-unknown{background:var(--border-strong)}.readiness-band{display:inline-block;font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.08em}.readiness-band.risk-red{color:var(--red)}.readiness-band.risk-amber{color:var(--amber)}.readiness-band.risk-blue{color:var(--blue)}.readiness-band.risk-green{color:var(--green)}.readiness-band.risk-unknown,.readiness-reason{color:var(--muted)}.readiness-reason{display:block;font-size:11px;margin-top:1px;max-width:21ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.readiness-score{font-weight:650}.readiness-sub{display:block;font-size:10.5px;margin-top:1px}.readiness-delta{font-size:10.5px;font-weight:600}.readiness-delta.is-up{color:var(--green)}.readiness-delta.is-down{color:var(--amber)}.readiness-acwr{font-weight:650}.readiness-acwr.is-high{color:var(--red)}.readiness-acwr.is-low{color:var(--blue)}.readiness-acwr.is-ok{color:var(--green)}.readiness-spark{display:flex;align-items:flex-end;gap:2px;height:22px;width:62px}.readiness-spark-bar{flex:1 1;min-height:1px;border-radius:1px;background:var(--surface-3);border-top:1px solid var(--border-strong)}.readiness-spark-empty{font-size:11px}.load-chart{margin:0 -4px}.load-chart-legend{display:flex;flex-wrap:wrap;gap:10px 20px;list-style:none;margin:4px 0 15px;padding:0 4px;color:var(--text-2);font-size:11px}.load-chart-legend li{display:inline-flex;align-items:center;gap:7px}.load-chart-legend-swatch{display:inline-block;width:16px;flex:none}.load-chart-legend-swatch--daily{height:9px;border-radius:2px;background:var(--surface-3);border:1px solid var(--border-strong)}.load-chart-legend-swatch--acute{border-top:2px solid var(--accent)}.load-chart-legend-swatch--chronic{border-top:2px dashed var(--muted)}.chart-tip{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);padding:8px 10px;font-size:11.5px;box-shadow:var(--shadow)}.chart-tip-head{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:650;margin-bottom:5px}.chart-tip-row{display:flex;align-items:center;gap:7px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart-tip-row strong{margin-left:auto;font-weight:650}.chart-tip-swatch{width:8px;height:8px;border-radius:2px;flex-shrink:0}@media (max-width:1320px){.dashboard-split{grid-template-columns:minmax(0,1fr)}.dashboard-rail .priority-list{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.dashboard-rail{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1120px){.dashboard-overview{grid-template-columns:minmax(0,1fr)}.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.dashboard-welcome{padding-top:0;padding-bottom:0;border-bottom:0;margin-bottom:21px;gap:18px}.dashboard-welcome h1{font-size:clamp(36px,8vw,52px)}.dashboard-welcome .page-eyebrow{margin-bottom:12px;font-size:9px}.dashboard-welcome .subtitle{font-size:13px;margin-top:10px}.dashboard-welcome .dashboard-create{display:none}.coach-mobile-brief{display:block;margin-bottom:14px;padding:18px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border));border-radius:14px;background:linear-gradient(160deg,var(--accent-dim),var(--surface))}.coach-brief-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:11px}.coach-brief-heading .page-eyebrow{margin:0;font-size:9px;letter-spacing:.1em}.coach-brief-count{color:var(--text-2);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.coach-dashboard .coach-mobile-brief h2{margin:0;font-size:19px;line-height:1.3;letter-spacing:-.03em}.coach-mobile-brief p{margin:7px 0 13px;font-size:12px;color:var(--text-2);line-height:1.55}.coach-checkin-progress{height:4px;margin-bottom:16px;overflow:hidden;border-radius:5px;background:var(--surface-3)}.coach-checkin-progress>span{display:block;height:100%;background:var(--accent);border-radius:inherit}.coach-mobile-brief .btn{width:100%;justify-content:space-between;font-size:11px}.coach-mobile-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:20px}.coach-mobile-actions a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:70px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font-size:11px;color:var(--text-2)}.coach-mobile-actions a>span{font-size:21px;color:var(--accent);line-height:1}.coach-mobile-actions a:hover{border-color:var(--accent);color:var(--text)}.dashboard-stats{gap:10px}.dashboard-stats .card{padding:14px 13px;border-radius:12px}.dashboard-stats .stat-value{font-size:27px;margin-top:7px}.dashboard-stats .stat-label{font-size:9px}.dashboard-stats .stat-note{font-size:11px;margin-top:5px}.dashboard-priorities{padding:18px;border-radius:14px}.dashboard-main{display:flex;flex-direction:column;gap:14px}.dashboard-readiness-panel{order:-1;margin-top:0!important;border-radius:14px}.dashboard-load-panel{border-radius:14px}.dashboard-rail{grid-template-columns:minmax(0,1fr)}.readiness-table td:last-child,.readiness-table th:last-child{display:none}.readiness-reason{max-width:18ch}}@media (max-width:560px){.readiness-table td:nth-child(4),.readiness-table td:nth-child(5),.readiness-table td:nth-child(6),.readiness-table th:nth-child(4),.readiness-table th:nth-child(5),.readiness-table th:nth-child(6){display:none}.readiness-reason{max-width:18ch;white-space:normal}.readiness-athlete{white-space:normal;align-items:flex-start}.readiness-athlete .readiness-dot{margin-top:5px}}.notice-pulse{display:flex;flex-wrap:wrap;gap:0;margin:0 0 14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.notice-pulse-item{flex:1 1;min-width:104px;padding:8px 13px;border-left:1px solid var(--border)}.notice-pulse-item:first-child{border-left:none}.notice-pulse-item dt{margin:0;color:var(--muted);font-size:9.5px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.notice-pulse-item dd{display:flex;align-items:baseline;gap:6px;margin:2px 0 0;color:var(--text);font-size:17px;font-weight:700;letter-spacing:-.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.2}.notice-pulse-note{color:var(--muted);font-size:10.5px;font-weight:600;letter-spacing:0}.notice-pulse-item.is-live dd{color:var(--accent)}.notice-tabs{margin-bottom:14px}.notice-tabs .tab{display:inline-flex;align-items:center;gap:6px}.notice-tab-count{min-width:18px;padding:1px 5px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:0}.tab.active .notice-tab-count{background:var(--accent-dim);color:var(--accent)}.notice-feed{display:grid;grid-gap:12px;gap:12px}.notice-card{position:relative;overflow:hidden;padding:15px 16px 14px 18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);transition:border-color .12s ease}.notice-card.is-unread,.notice-card:hover{border-color:var(--border-strong)}.notice-card.is-unread:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--accent)}.notice-card.is-pinned:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--amber)}.notice-card.is-pinned.is-unread:before{background:linear-gradient(180deg,var(--amber) 50%,var(--accent) 50%)}.notice-card-head{display:flex;align-items:flex-start;gap:11px;margin-bottom:11px}.notice-avatar{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-2);font-size:11px;font-weight:750;letter-spacing:.04em}.notice-avatar.is-sm{width:24px;height:24px;font-size:9.5px}.notice-identity{min-width:0;flex:1 1}.notice-title{margin:0;color:var(--text);font-size:14.5px;font-weight:650;letter-spacing:-.01em;line-height:1.35;text-transform:none}.notice-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:3px 0 0;color:var(--muted);font-size:11.5px}.notice-author{color:var(--text-2);font-weight:600}.notice-audience{padding:1px 6px;border:1px solid var(--border);border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.notice-flags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.notice-flag{padding:2px 7px;border:1px solid transparent;border-radius:4px;font-size:9.5px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.notice-flag.is-pinned{background:rgba(240,180,41,.1);border-color:rgba(240,180,41,.28);color:var(--amber)}.notice-flag.is-new{background:var(--accent-dim);border-color:rgba(70,200,240,.3);color:var(--accent)}.notice-body{margin:0;color:var(--text-2);font-size:13px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.notice-attachment{display:inline-flex;align-items:center;gap:9px;margin-top:11px;padding:7px 11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text-2);font-size:12px}.notice-attachment:hover{border-color:var(--accent);color:var(--text)}.notice-attachment-label{font-weight:600}.notice-attachment-host{color:var(--muted);font-size:11px}.notice-ack{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin-top:13px;padding-top:12px;border-top:1px solid var(--border)}.notice-ack-read{flex:1 1 190px;min-width:0}.notice-ack-action{flex:none;margin-left:auto}.notice-ack-figure{margin:5px 0 0;font-size:11.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.notice-ack-figure strong{color:var(--text);font-weight:700}.notice-meter{height:4px;border-radius:999px;background:var(--surface-3);overflow:hidden}.notice-meter-fill{display:block;height:100%;border-radius:999px;background:var(--accent)}.notice-meter.is-complete .notice-meter-fill{background:var(--green)}.stat-tile .notice-meter{margin-top:3px}.notice-acked{margin:0;color:var(--green);font-size:11.5px;font-weight:600}.notice-outstanding,.notice-thread{margin-top:12px}.notice-outstanding>summary,.notice-thread>summary{width:-moz-fit-content;width:fit-content;color:var(--muted);font-size:11.5px;font-weight:650;cursor:pointer;list-style:none}.notice-outstanding>summary::-webkit-details-marker,.notice-thread>summary::-webkit-details-marker{display:none}.notice-outstanding>summary:before,.notice-thread>summary:before{content:"▸ "}.notice-outstanding[open]>summary:before,.notice-thread[open]>summary:before{content:"▾ "}.notice-outstanding>summary:hover,.notice-thread>summary:hover{color:var(--text-2)}.notice-outstanding>p{margin:7px 0 0;font-size:11.5px;line-height:1.6}.notice-thread{padding-top:11px;border-top:1px solid var(--border)}.notice-comments{display:grid;grid-gap:9px;gap:9px;margin:10px 0 0;padding:0;list-style:none}.notice-comments>li{display:flex;gap:9px;min-width:0}.notice-comments>li>div{min-width:0;flex:1 1}.notice-comment-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px;margin:0;font-size:11.5px}.notice-comment-meta strong{color:var(--text-2);font-weight:650}.notice-comment-meta time{color:var(--muted);font-size:11px}.notice-comment-body{margin:3px 0 0;color:var(--text-2);font-size:12.5px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.notice-comment-form{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;margin-top:12px}.notice-thread .notice-comment-form{margin-top:11px}.notice-comment-form input{min-height:34px;font-size:12.5px}.notice-admin{display:flex;justify-content:flex-end;margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.notice-admin .btn-danger{border-color:transparent;color:var(--muted)}.notice-admin .btn-danger:hover{border-color:rgba(242,85,90,.5);color:var(--red)}@media (max-width:560px){.notice-pulse-item{flex:1 1 46%;min-width:0}.notice-pulse-item:nth-child(3){border-left:none}.notice-pulse-item:nth-child(n+3){border-top:1px solid var(--border)}}@media (max-width:720px){.notice-card{padding:13px 13px 12px 15px}.notice-flags{width:100%;justify-content:flex-start;order:3}.notice-card-head{flex-wrap:wrap}.notice-ack-action,.notice-ack-action .btn,.notice-ack-action form{width:100%}.notice-ack-action .btn{justify-content:center}.notice-comment-form{grid-template-columns:1fr}.notice-comment-form .btn{width:100%;justify-content:center}}.agenda-card .subtitle{margin-bottom:0}.agenda-list{list-style:none;margin:0;padding:0}.agenda-row{display:grid;grid-template-columns:46px minmax(0,1fr);grid-gap:10px;gap:10px;padding:9px 0;border-top:1px solid var(--border)}.agenda-row:first-child{border-top:none;padding-top:2px}.agenda-time{font-size:11.5px;font-weight:650;color:var(--text-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding-top:1px;display:flex;flex-direction:column;gap:1px}.agenda-day{font-size:9.5px;font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.09em}.agenda-body{min-width:0}.agenda-title{display:block;font-size:12.5px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-meta{display:flex;align-items:center;gap:7px;margin-top:2px;font-size:10.5px}.agenda-kind{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:1px 5px;border-radius:3px;border:1px solid var(--border-strong);color:var(--muted)}.agenda-row.kind-session .agenda-kind{color:var(--accent);border-color:var(--accent)}.agenda-row.kind-appointment .agenda-kind{color:var(--violet);border-color:var(--violet)}.agenda-row.kind-athlete .agenda-kind{color:var(--amber);border-color:var(--amber)}.agenda-clear{margin:2px 0 0;color:var(--text-2);font-size:12.5px}.agenda-divider{margin:12px 0 6px;font-size:9.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}.agenda-footnote{margin:10px 0 0;padding-top:9px;border-top:1px solid var(--border);font-size:11px;color:var(--muted)}.board-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(196px,1fr))}.board{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 15px 12px;display:flex;flex-direction:column}.board-head{display:flex;align-items:baseline;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--border-strong)}.board-lift{margin:0;font-size:11px;font-weight:700;letter-spacing:.13em;color:var(--text)}.board-lift,.board-unit{text-transform:uppercase}.board-unit{margin-left:auto;font-size:9.5px;letter-spacing:.1em;color:var(--muted);font-weight:650}.board-empty{margin:14px 0 4px;color:var(--muted);font-size:12px}.board-leader{padding:12px 0 11px}.board-leader-name{display:block;font-size:13px;font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-leader-value{display:flex;align-items:baseline;gap:5px;margin-top:2px}.board-figure{font-size:40px;font-weight:300;letter-spacing:-.045em;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--accent)}.board-leader-foot{display:flex;gap:8px;margin-top:6px;font-size:10.5px;color:var(--muted)}.board-leader-foot span:last-child{margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.board-chase{list-style:none;margin:0;padding:0}.board-row{display:grid;grid-template-columns:13px minmax(0,1fr) auto 34px;align-items:baseline;grid-gap:8px;gap:8px;padding:6px 0 7px;position:relative}.board-rank{font-size:9.5px;font-weight:700;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.board-name{font-size:11.5px;color:var(--text-2);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-name:hover{color:var(--text)}.board-value{font-size:12.5px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.board-gap{font-size:10.5px;color:var(--muted);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.board-rule{position:absolute;left:21px;right:0;bottom:0;height:1px;background:var(--border)}.board-rule:after{content:"";position:absolute;left:0;top:0;height:1px;width:var(--fill,0);background:var(--border-strong)}.board-row:last-child .board-rule{display:none}@media (max-width:560px){.board-grid{grid-template-columns:minmax(0,1fr)}.board-figure{font-size:34px}}.program-draft-save-options{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.draft-planning-mode{display:flex;align-items:center;gap:7px;margin:14px 0 10px;padding:8px;border:1px solid var(--border);background:var(--surface)}.draft-planning-mode>div{min-width:0;margin-right:auto;display:grid;grid-gap:1px;gap:1px}.draft-planning-mode strong{font-size:12px}.draft-planning-mode span{color:var(--muted);font-size:10.5px}.draft-planning-mode button{border:1px solid var(--border);background:transparent;color:var(--text-2);min-height:32px;padding:0 12px;font:inherit;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.draft-planning-mode button[aria-pressed=true]{color:var(--text);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.draft-athlete-context{margin:0 0 18px;border:1px solid var(--border-strong);background:var(--surface);padding:14px}.draft-athlete-context.setup{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.draft-athlete-context h3,.draft-athlete-context h4,.draft-athlete-context p{margin:0}.draft-athlete-context h3{font-size:18px}.draft-athlete-context h4{margin-bottom:9px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.draft-athlete-context p:not(.page-eyebrow):not(.form-error){color:var(--muted);font-size:11px;margin-top:3px}.draft-athlete-context-picker{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) auto;align-items:flex-end;grid-gap:8px;gap:8px;min-width:min(100%,560px)}.draft-athlete-context header .field,.draft-athlete-context-picker .field{gap:4px}.draft-athlete-context header .field>span,.draft-athlete-context-picker .field>span{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.draft-athlete-context>header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:13px}.draft-athlete-context>header .row{align-items:flex-end}.draft-athlete-week-load{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border-top:1px solid var(--border);border-left:1px solid var(--border);margin-bottom:12px}.draft-athlete-week-load button{min-width:0;padding:10px;text-align:left;color:var(--text-2);background:var(--surface-2);border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer;display:grid;grid-gap:2px;gap:2px}.draft-athlete-week-load button.is-active,.draft-athlete-week-load button:hover{background:color-mix(in srgb,var(--accent) 7%,var(--surface-2))}.draft-athlete-week-load button.is-active{box-shadow:inset 0 2px 0 var(--accent)}.draft-athlete-week-load span{font-size:9px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.draft-athlete-week-load strong{font-size:16px;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.draft-athlete-week-load small{font-size:10px;color:var(--muted)}.draft-athlete-week-load em{font-size:10px;color:var(--amber);font-style:normal}.draft-athlete-one-rms{border:1px solid var(--border);margin-bottom:12px}.draft-athlete-one-rms>summary{padding:9px 11px;cursor:pointer;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.draft-athlete-one-rms article,.draft-athlete-one-rms>div{border-top:1px solid var(--border)}.draft-athlete-one-rms article{display:grid;grid-template-columns:minmax(210px,1.4fr) repeat(4,minmax(100px,.65fr));align-items:flex-end;grid-gap:8px;gap:8px;padding:9px 11px}.draft-athlete-one-rms article:first-child{border-top:0}.draft-athlete-one-rms article>div{display:grid;grid-gap:3px;gap:3px;align-self:center}.draft-athlete-one-rms article small{color:var(--muted);font-size:10px}.draft-athlete-one-rms label{display:grid;grid-gap:3px;gap:3px}.draft-athlete-one-rms label span{color:var(--muted);font-size:8.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.draft-athlete-one-rms input,.draft-athlete-one-rms select{min-height:32px;font-size:11px}.draft-athlete-one-rms .reason-note{grid-column:2/-1}.draft-athlete-context-columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);grid-gap:12px;gap:12px}.draft-athlete-context-columns>section{min-width:0;padding:11px;border:1px solid var(--border);background:var(--surface-2)}.draft-athlete-resolved-session+.draft-athlete-resolved-session{margin-top:11px;padding-top:10px;border-top:1px solid var(--border)}.draft-athlete-resolved-session>strong{display:block;margin-bottom:5px;font-size:11px}.draft-athlete-resolved-session>div{display:grid;grid-template-columns:minmax(130px,1fr) minmax(120px,auto) 72px;grid-gap:8px;gap:8px;padding:4px 0;font-size:10.5px}.draft-athlete-resolved-session small{color:var(--text-2);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.draft-athlete-resolved-session b{color:var(--accent);text-align:right;font-size:9.5px}.draft-athlete-event{display:grid;grid-template-columns:48px minmax(0,1fr);grid-gap:8px;gap:8px;padding:6px 0;border-top:1px solid var(--border)}.draft-athlete-event:first-of-type{border-top:0}.draft-athlete-event time{color:var(--accent);font-size:10px;font-weight:700}.draft-athlete-event div{display:grid;min-width:0}.draft-athlete-event strong{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.draft-athlete-event small{color:var(--muted);font-size:9.5px}@media (max-width:980px){.draft-athlete-context.setup,.draft-athlete-context>header{align-items:stretch;flex-direction:column}.draft-athlete-context-picker{min-width:0;width:100%}.draft-athlete-one-rms article{grid-template-columns:repeat(2,minmax(0,1fr))}.draft-athlete-one-rms article>div{grid-column:1/-1}.draft-athlete-context-columns{grid-template-columns:1fr}}@media (max-width:620px){.draft-planning-mode{align-items:stretch;flex-wrap:wrap}.draft-planning-mode>div{flex-basis:100%}.draft-planning-mode button{flex:1 1}.draft-athlete-context-picker{grid-template-columns:1fr}.draft-athlete-context-picker .btn{width:100%;justify-content:center}.draft-athlete-one-rms article{grid-template-columns:1fr}.draft-athlete-one-rms article>div{grid-column:auto}.draft-athlete-resolved-session>div{grid-template-columns:1fr auto}.draft-athlete-resolved-session b{grid-column:2}}.session-title-cell{min-width:190px;max-width:320px}.session-roll-todo{color:var(--amber)}.session-summary{margin:0 0 14px;color:var(--muted);font-size:12.5px}.session-summary strong{color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.session-link{margin:0 0 14px;color:var(--muted);font-size:12.5px}.session-link a{color:var(--accent)}.roll-toolbar{display:flex;flex-wrap:wrap;gap:12px 22px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.roll-bulk-input{width:92px}.roll-list{display:grid;grid-gap:1px;gap:1px;margin:0;padding:0;list-style:none;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.roll-athlete{padding:10px 12px;background:var(--surface)}.roll-athlete-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:8px}.roll-athlete-name{font-size:13px;font-weight:600;color:var(--text)}.roll-note{color:var(--muted);font-size:11px}.roll-note.is-warn{color:var(--amber)}.roll-status{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.roll-status-btn{padding:6px 10px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg);color:var(--muted);font-size:11.5px;font-weight:600;font-family:inherit;cursor:pointer;min-height:32px}.roll-status-btn:hover{color:var(--text)}.roll-status-btn.is-on{border-color:var(--accent);background:var(--accent-dim);color:var(--text)}.roll-athlete.is-absent .roll-status-btn.is-on{border-color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent)}.roll-athlete.is-excused .roll-status-btn.is-on{border-color:var(--border-strong);background:var(--surface-2)}.roll-metrics{display:flex;flex-wrap:wrap;align-items:end;gap:9px}.roll-metric{display:flex;align-items:center;gap:7px;margin:0}.roll-metric span{color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.09em;text-transform:uppercase}.roll-metric input{width:74px;min-height:32px}.roll-metric input:disabled{opacity:.35;cursor:not-allowed}.roll-load{color:var(--muted);font-size:11.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.roll-footer{position:-webkit-sticky;position:sticky;bottom:0;z-index:3;display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;padding:12px 0 2px;background:var(--surface)}.roll-summary{margin:0;color:var(--muted);font-size:12.5px}.roll-summary strong{color:var(--text)}.roll-alert{color:var(--red)}.roll-alert,.roll-ok{margin:10px 0 0;font-size:12.5px}.roll-ok{color:var(--green)}@media (max-width:780px){.roll-metric input{width:100%;min-width:0}.roll-metric{flex:1 1 130px}}.athlete-context-bar{flex-wrap:wrap}.athlete-context-bar>div{margin-right:auto}.athlete-context-bar select{max-width:260px}.athlete-inline-load{display:block;width:100%;border:0;border-left:2px solid var(--accent);padding:6px 8px;margin:6px 0;background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:var(--text);font-size:12px;text-align:left;cursor:pointer;overflow-wrap:anywhere}.athlete-inline-load small{display:block;color:var(--muted);margin-top:3px;font-size:11px}.athlete-inline-load:focus-visible,.athlete-progression button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.athlete-day-context{margin:0 0 10px;padding:8px;border:1px dashed var(--border);background:var(--surface-2)}.athlete-day-context>small{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}.athlete-day-context details{border-top:1px solid var(--border);padding:5px 0;font-size:12px}.athlete-day-context summary{cursor:pointer;overflow-wrap:anywhere}.athlete-day-context summary span{color:var(--accent);font-size:10px}.athlete-day-context p{font-size:11px;color:var(--muted);margin:5px 0}.athlete-context-issues{margin:12px 0;border:1px solid var(--border);padding:10px}.athlete-context-issues summary{cursor:pointer;color:var(--amber)}.athlete-context-issues>div{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;font-size:12px}.athlete-context-issues button,.athlete-progression td button{border:0;background:transparent;color:var(--accent);cursor:pointer;text-align:left;padding:4px}.athlete-progression{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.athlete-progression>summary{font-size:14px;font-weight:700;cursor:pointer}.athlete-progression-tools{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0}.athlete-progression-tools label{display:flex;align-items:center;gap:8px;font-size:12px}.athlete-progression-tools select{max-width:min(320px,65vw)}.athlete-progression-chart{display:flex;align-items:flex-end;gap:8px;overflow-x:auto;padding:12px 4px;border-bottom:1px solid var(--border)}.athlete-progression-chart button{flex:1 0 44px;max-width:100px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px;height:118px;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text);cursor:pointer;font-size:12px}.athlete-progression-chart button[aria-pressed=true]{border-color:var(--accent);background:var(--surface-2)}.athlete-progression-chart i{width:65%;background:var(--accent);border-radius:3px 3px 0 0;flex-shrink:0}.athlete-progression-chart small{color:var(--muted)}.athlete-progression-table{overflow-x:auto;max-height:340px;margin:12px 0}.athlete-progression-table table{width:100%;font-size:12px;border-collapse:collapse}.athlete-progression-table caption{text-align:left;padding:8px 0;font-weight:600}.athlete-progression-table td,.athlete-progression-table th{padding:8px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.athlete-progression-table thead th{position:-webkit-sticky;position:sticky;top:0;background:var(--surface-2)}.athlete-progression-table td button{display:block}.athlete-progression-table td small{display:block;color:var(--muted)}.athlete-source-history{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:16px;gap:16px}.athlete-source-history>section{padding:12px;background:var(--surface-2);border:1px solid var(--border);min-width:0}.athlete-override-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:12px}.athlete-override-form label{display:grid;grid-gap:4px;gap:4px;font-size:12px}.athlete-override-form input,.athlete-override-form select{min-width:0;width:100%}.athlete-history-row{padding:8px 0;border-bottom:1px solid var(--border);font-size:12px}.athlete-history-row small{display:block;color:var(--muted);margin-top:3px}#athlete-context-inspector{scroll-margin-top:24px}@media (max-width:800px){.athlete-source-history{grid-template-columns:1fr}.athlete-progression-tools label{width:100%}}@media (max-width:480px){.athlete-override-form{grid-template-columns:1fr}}.set-load-fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:12px;border-top:1px solid var(--border);background:var(--surface-2)}.set-load-fields>label{display:grid;grid-gap:5px;gap:5px;flex:1 1 130px;min-width:0;font-size:12px}.set-load-fields input,.set-load-fields select{width:100%;min-width:0}.set-load-fields p{flex-basis:100%;margin:0;font-size:12px}.set-load-fields>button{align-self:flex-end}@media (max-width:480px){.set-load-fields>label{flex-basis:100%}}.competition-form{display:grid;grid-gap:1rem;gap:1rem}.competition-form h2,.competition-meet h2{margin-bottom:.65rem}.race-fields{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;margin:.75rem 0}.race-fields>label{flex:1 1 150px;display:grid;grid-gap:.35rem;gap:.35rem}.competition-form textarea,.race-fields input,.race-fields select{width:100%}.race-subject{position:-webkit-sticky;position:sticky;top:0;z-index:4;padding:.7rem;background:var(--surface,#18202c);border:1px solid var(--border,#485160);border-radius:.4rem}.race-toggle-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin:.8rem 0}.race-toggle-row label{display:flex;align-items:center;gap:.4rem}.training-tabs{gap:.25rem;padding-bottom:.35rem;border-bottom:1px solid var(--border)}.training-tabs a{padding:.45rem .7rem;border-radius:6px;color:var(--muted);text-decoration:none}.training-tabs a:hover{color:var(--text);background:var(--surface-2)}.training-tabs a[aria-current=page]{color:var(--accent);background:var(--accent-dim);font-weight:700}.race-table-scroll{overflow-x:auto;margin:.75rem 0}.race-table-scroll table{width:100%;border-collapse:collapse;min-width:450px}.race-table-scroll td,.race-table-scroll th{padding:.45rem;text-align:left;border-bottom:1px solid var(--border,#485160)}.race-table-scroll input{width:7rem;min-width:5rem}.race-combobox{position:relative;max-width:650px;margin:.7rem 0}.race-combobox>label,.race-combobox>small{display:block;margin:.3rem 0}.race-combobox>input{width:100%}.race-combobox-options{position:absolute;top:100%;left:0;right:0;z-index:12;max-height:300px;overflow-y:auto;padding:.25rem;margin:0;list-style:none;background:var(--surface,#18202c);border:1px solid var(--border,#485160);box-shadow:0 6px 20px #0005}.race-combobox-options li{padding:.7rem;cursor:pointer}.race-combobox-options small{display:block}.race-combobox-options .is-active{outline:2px solid var(--accent,#75aaff);outline-offset:-2px}.competition-timeline-item{display:grid;grid-template-columns:76px minmax(0,1fr);grid-gap:.75rem;gap:.75rem}.competition-timeline-item>aside>span{position:-webkit-sticky;position:sticky;top:1rem;font-size:.85rem}.competition-meet{margin-bottom:.7rem}.race-day-divider,.race-gap{display:flex;align-items:center;gap:.5rem;font-size:.85rem;margin:.7rem 0}.race-day-divider:after,.race-gap:after,.race-gap:before{content:"";flex:1 1;border-top:1px solid var(--border,#485160)}.competition-meet .race-history-card{border-top:1px solid var(--border,#485160);padding:.6rem 0}.race-error{border-left:3px solid;padding-left:.65rem}.competition-form :focus-visible,.race-combobox :focus-visible{outline:2px solid var(--accent,#75aaff);outline-offset:3px}@media (max-width:600px){.competition-timeline-item{grid-template-columns:48px minmax(0,1fr);gap:.35rem}.race-fields>label{flex-basis:125px}}.competition-form,.competition-form>*,.race-fields>label,.race-table-scroll{min-width:0}.competition-form>*,.race-table-scroll{max-width:100%}.race-fields input,.race-fields select{min-width:0}.competition-form input[type=checkbox]{width:1rem;height:1rem;min-width:1rem;flex:0 0 1rem;vertical-align:middle}