:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f6f9;color:#111827;--brand: #1a5c42;--brand-hover: #145038;--brand-soft: #edf7f2;--bg: #f6f4ef;--surface: #ffffff;--surface-2: #f8fafc;--ink: #111827;--ink-soft: #65758b;--ink-muted: #94a3b8;--border: #eae7e0;--border-input: #d1d9e0;--border-hover: #c4cdd8;--border-soft: #f0f3f7;--radius-sm: 8px;--radius-md: 12px;--radius-pill: 999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08), 0 1px 4px rgba(0, 0, 0, .05);--th-body: #f6f4ef;--th-content: #f6f4ef;--th-panel: #ffffff;--th-panel-border:#eae7e0;--th-sidebar: #111827;--th-sidebar-txt: rgba(255,255,255,.5);--th-sidebar-act: rgba(255,255,255,.12);--th-sidebar-act-txt: #ffffff;--th-accent: #14532d;--th-accent-btn: #22c55e;--th-accent-btn-txt: #ffffff;--th-text: #111827;--th-text-muted: #9ca3af;--athlete-bg: #0b0d10;--athlete-surface-1: #14171c;--athlete-surface-2: #181c22;--athlete-border: #242931;--athlete-text-primary: #f5f2ea;--athlete-text-secondary: #9ca3af;--athlete-accent: #e7dcc8;--athlete-accent-muted: #c9b79c;--print-bg: #fcfbf8;--print-text-primary: #111827;--print-text-secondary: #667085;--print-border: #e7e2d8;--print-accent: #c9b79c}[data-theme=dark]{color-scheme:dark;--th-body: #09090d;--th-content: #0f1014;--th-panel: #17181f;--th-panel-border:rgba(255,255,255,.07);--th-sidebar: #0c0d10;--th-sidebar-txt: rgba(255,255,255,.28);--th-sidebar-act: rgba(74,222,128,.12);--th-sidebar-act-txt: #4ade80;--th-accent: #4ade80;--th-accent-btn: #4ade80;--th-accent-btn-txt: #09090d;--th-text: #eeeef6;--th-text-muted: #383848;--accent-tab: #818cf8;--surface: #17181f;--surface-2: #1e1f28;--border: rgba(255,255,255,.07);--border-input: rgba(255,255,255,.12);--ink: #eeeef6;--ink-soft: #8888a8;--ink-muted: #505060;--brand: #4ade80;--brand-hover: #86efac;--bg: #0f1014}[data-theme=dark] body,[data-theme=dark] .content{background:var(--th-content);color:var(--th-text)}[data-theme=dark] .panel,[data-theme=dark] .stat-card,[data-theme=dark] .dash-kpi-card,[data-theme=dark] .list-item,[data-theme=dark] .athlete-card,[data-theme=dark] .prog-card{background:var(--th-panel);border-color:var(--th-panel-border);color:var(--th-text)}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] strong{color:var(--th-text)}[data-theme=dark] .page-header{background:var(--th-content);border-bottom-color:var(--th-panel-border)}[data-theme=dark] .primary-button{background:var(--th-accent-btn);color:var(--th-accent-btn-txt)}[data-theme=dark] .secondary-button{background:transparent;border-color:var(--th-panel-border);color:var(--ink-soft)}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#1e1f28;border-color:#ffffff1f;color:var(--th-text)}[data-theme=dark] .eyebrow{background:none;-webkit-background-clip:unset;background-clip:unset;color:#6b7280;-webkit-text-fill-color:#6b7280}[data-theme=dark] .page-header h1{color:#eeeef6;background:none;-webkit-background-clip:unset;-webkit-text-fill-color:unset;background-clip:unset}[data-theme=dark] .athlete-form-section{border-color:#ffffff1a;background:#ffffff05}[data-theme=dark] .athlete-form-section>summary{color:#c0c0d0}[data-theme=dark] .athlete-form-section>summary:hover{color:#eeeef6}[data-theme=dark] label{color:#b0b0c0}[data-theme=dark] .empty-state{background:#17181f;border-color:#ffffff14;color:#606070}[data-theme=dark] .empty-state h3{color:#c0c0d0}[data-theme=dark] .empty-state p,[data-theme=dark] .empty-inline{color:#606070}[data-theme=dark] .panel,[data-theme=dark] .card,[data-theme=dark] .list-item,[data-theme=dark] .day-builder,[data-theme=dark] .overview-day{background:var(--th-panel);border-color:var(--th-panel-border);color:var(--th-text)}[data-theme=dark] .athlete-profile-header{background:var(--th-panel);border-color:var(--th-panel-border)}[data-theme=dark] .athlete-tab-bar{border-bottom-color:#ffffff1a}[data-theme=dark] .athlete-tab-btn{color:#6b7280}[data-theme=dark] .athlete-tab-btn:hover{color:#c0c0d0;background:#ffffff0f}[data-theme=dark] .athlete-tab-btn.active{color:#eeeef6;border-bottom-color:var(--accent-tab)}[data-theme=dark] .architect-overview{background:var(--th-panel);border-color:var(--th-panel-border)}[data-theme=dark] .architect-plan-header{border-bottom-color:#ffffff14}[data-theme=dark] .architect-plan-header small,[data-theme=dark] .architect-summary-cards small,[data-theme=dark] .overview-logic-panels small{color:#505060}[data-theme=dark] .architect-section{background:var(--th-panel);border-color:var(--th-panel-border)}[data-theme=dark] .architect-section-head{color:var(--th-text)}[data-theme=dark] .overview-phase-card{background:var(--th-panel);border-color:var(--th-panel-border);color:var(--th-text)}[data-theme=dark] .architect-summary-cards .stat-card{background:#ffffff0a;border-color:#ffffff14}[data-theme=dark] .cal-grid{border-color:#ffffff14;background:var(--th-panel)}[data-theme=dark] .cal-week{border-bottom-color:#ffffff0f}[data-theme=dark] .cal-day{background:#17181f;border-right-color:#ffffff0f;color:var(--th-text)}[data-theme=dark] .cal-day:hover{background:#1e1f2a}[data-theme=dark] .cal-day-blank{background:#111117;border-right-color:#ffffff0f}[data-theme=dark] .cal-day-today{background:#1a1f35}[data-theme=dark] .cal-day-today .cal-day-num{background:#4f46e5;color:#fff}[data-theme=dark] .cal-day-selected{background:#1a1f35;outline-color:#6366f1}[data-theme=dark] .cal-day-multi{background:#2a2010;outline-color:#d97706}[data-theme=dark] .cal-day-modal-open{background:#1e1535;outline-color:#7c3aed}[data-theme=dark] .cal-day-num{color:#9ca3af}[data-theme=dark] .cal-legend{background:var(--th-panel);border-color:var(--th-panel-border);color:#9ca3af}[data-theme=dark] .cal-legend-label{color:#9ca3af}[data-theme=dark] .cal-day-modal{background:#1e1f28;border-color:#ffffff1a;color:var(--th-text)}[data-theme=dark] .cal-day-modal-header{border-color:#ffffff14;color:var(--th-text)}[data-theme=dark] .cal-filter-bar{background:var(--th-panel);border-color:var(--th-panel-border)}[data-theme=dark] .movement-screen-table-wrap{background:var(--th-panel);border-color:#ffffff14}[data-theme=dark] .movement-screen-table th,[data-theme=dark] .movement-screen-table td{border-bottom-color:#ffffff12;color:var(--th-text)}[data-theme=dark] .movement-screen-table th{background:#38bdf814;color:#7dd3fc}[data-theme=dark] .rom-assessment-table th{background:#fb923c14;color:#fb923c}[data-theme=dark] .movement-screen-table td:first-child{color:#9ca3af}[data-theme=dark] .architect-chip{background:#1e1f28;border-color:#ffffff1f;color:#9ca3af}[data-theme=dark] .architect-chip:hover{background:#2a2b3a;border-color:var(--accent-tab);color:#c7d2fe}[data-theme=dark] .architect-chip.selected,[data-theme=dark] .architect-chip:has(input:checked){background:#1e2a4a;border-color:#6366f1;color:#c7d2fe}[data-theme=dark] .generated-empty{border-color:#ffffff1a;color:#606070}[data-theme=dark] .pill,[data-theme=dark] .tag-row span{background:#4ade801a;color:#86efac}[data-theme=dark] .pill.muted{background:#ffffff12;color:#6b7280}[data-theme=dark] .warning-pill{background:#eab3081a;color:#fde047}[data-theme=dark] .pill--green{background:#4ade801f;color:#86efac;border-color:#4ade8033}[data-theme=dark] .section-title h2{color:var(--th-text)}[data-theme=dark] .section-badge{background:#ffffff12;color:#6b7280}[data-theme=dark] .panel-kicker{color:#505060}[data-theme=dark] .form-section-heading{color:#9ca3af}[data-theme=dark] .stat-card{background:var(--th-panel);border-color:var(--th-panel-border)}[data-theme=dark] .stat-card span{color:#6b7280}[data-theme=dark] .stat-card strong{color:var(--th-text)}[data-theme=dark] .program-plan-card,[data-theme=dark] .prog-card,[data-theme=dark] .athlete-card{background:var(--th-panel);border-color:var(--th-panel-border);color:var(--th-text)}[data-theme=dark] h2,[data-theme=dark] h3{color:var(--th-text)}[data-theme=dark] .sport-group{background:var(--th-panel);border-color:var(--th-panel-border);color:var(--th-text)}[data-theme=dark] .sport-group:hover{background:#1e1f28}[data-theme=dark] .page-header{border-bottom-color:#ffffff12}[data-theme=dark] .page-header:after{background:linear-gradient(90deg,#4ade80,#38bdf8)}[data-theme=dark] .detail-row{border-bottom-color:#ffffff12}[data-theme=dark] .detail-row span{color:#6b7280}[data-theme=dark] .detail-row strong{color:#d0d0e0}[data-theme=dark] .calculator-card{background:#17181f;border-color:#ffffff14}[data-theme=dark] .calculator-card h3{color:#eeeef6}[data-theme=dark] .calculator-readout small{color:#6b7280}[data-theme=dark] .calculator-readout strong{color:#d0d0e0}[data-theme=dark] .calculator-table th,[data-theme=dark] .calculator-table td{border-bottom-color:#ffffff12}[data-theme=dark] .calculator-table th{background:#ffffff0d;color:#9ca3af}[data-theme=dark] .table-wrap{border-color:#ffffff12}[data-theme=dark] .body-comp-log-form{background:#17181f;border-color:#ffffff14}[data-theme=dark] .chart-empty{background:#ffffff08;border-color:#ffffff1a;color:#6b7280}[data-theme=dark] .cards-grid .panel,[data-theme=dark] .cards-grid .card{background:#17181f;border-color:#ffffff14;color:var(--th-text)}[data-theme=dark] .program-focus-fields{background:#ffffff08;border-color:#ffffff14}[data-theme=dark] .log-table th,[data-theme=dark] .log-table td,[data-theme=dark] .body-comp-table th,[data-theme=dark] .body-comp-table td{border-bottom-color:#ffffff12;color:var(--th-text)}[data-theme=dark] .log-table th,[data-theme=dark] .body-comp-table th{background:#ffffff0a;color:#9ca3af}[data-theme=dark] .overview-table-wrap,[data-theme=dark] .progress-table-wrap{border-color:#ffffff12}[data-theme=dark] .form-hint,[data-theme=dark] .notes-row span{color:#6b7280}[data-theme=dark] .notes-row strong{color:#c0c0d0}[data-theme=dark] .reassess-alert{background:#eab30814;border-color:#eab30833}[data-theme=dark] .reassess-alert-body strong{color:#fbbf24}[data-theme=dark] .reassess-alert-body span{color:#d97706}[data-theme=dark] .reassess-alert-icon{filter:grayscale(.3)}[data-theme=dark] .week-ahead-row{background:#ffffff0d;color:var(--th-text)}[data-theme=dark] .week-ahead-row--competition{background:#ef444414;border-color:#ef444433}[data-theme=dark] .week-ahead-date{color:#9ca3af}[data-theme=dark] .rp-row,[data-theme=dark] .rp-athlete-row{border-color:#ffffff0f;color:var(--th-text)}[data-theme=dark] .rp-group-label{color:#6b7280}[data-theme=dark] .coach-brief-panel{background:var(--th-panel);border-color:var(--th-panel-border)}[data-theme=dark] .brain-badge{background:#ffffff12;color:#9ca3af}[data-theme=dark] .adherence-bar-bg{background:#ffffff14}[data-theme=dark] .dashboard-row .panel{background:var(--th-panel);border-color:var(--th-panel-border)}*{box-sizing:border-box}body{min-width:320px;margin:0;background:#f4f6f9;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{text-wrap:balance;letter-spacing:-.02em}h1{font-weight:900}h2{font-weight:800}button,input,select,textarea{font:inherit}.input-w-sm{width:220px;min-width:120px}button,.import-button{border:0;border-radius:7px;cursor:pointer;font-weight:800}button:hover,.import-button:hover{transform:translateY(-1px)}button,.import-button{transition:transform .15s ease,background .15s ease,border-color .15s ease}h1,h2,h3,p{margin-top:0}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.app-shell.athlete-preview-mode{display:block;width:100%;min-width:0;min-height:100vh;background:var(--athlete-bg)}.app-shell.athlete-preview-mode .sidebar{display:none}.app-shell.athlete-preview-mode .content{width:100%;max-width:none;min-height:100vh;margin:0;padding:0;background:var(--athlete-bg)}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:0;background:var(--th-sidebar, #111827);border-right:1px solid rgba(255,255,255,.06);color:#fff;overflow:hidden}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:18px 14px 16px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}.sidebar-monogram{width:28px;height:28px;background:#22c55e;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0}[data-theme=dark] .sidebar-monogram{background:#4ade80;color:#09090d}.sidebar-brand-text strong{display:block;font-size:11px;font-weight:600;color:#f0f0f5;line-height:1.2}.sidebar-brand-text small{display:block;font-size:9px;color:#ffffff47;line-height:1.3}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:1px;padding:10px 7px;overflow-y:auto}.nav-icon-btn{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:6px;background:transparent;color:var(--th-sidebar-txt, rgba(255,255,255,.5));font-size:12px;text-align:left;width:100%;transition:background .12s,color .12s;border:none}.nav-icon-btn svg{flex-shrink:0;width:15px;height:15px}.nav-icon-btn.active{background:var(--th-sidebar-act, rgba(255,255,255,.1));color:var(--th-sidebar-act-txt, #ffffff);font-weight:600}.nav-icon-btn:hover:not(.active){background:#ffffff0f;color:#ffffffbf}.nav-divider{height:1px;background:#ffffff12;margin:6px 0}.nav-folder summary{list-style:none}.nav-folder summary::-webkit-details-marker{display:none}.nav-folder-summary{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:6px;color:var(--th-sidebar-txt, rgba(255,255,255,.5));font-size:12px;cursor:pointer;transition:background .12s,color .12s}.nav-folder-summary:hover{background:#ffffff0f;color:#ffffffbf}.nav-folder-summary svg:first-child{flex-shrink:0;width:15px;height:15px}.nav-folder-summary span{flex:1}.nav-folder-chevron{transition:transform .2s;flex-shrink:0}.nav-folder[open] .nav-folder-chevron{transform:rotate(180deg)}.nav-folder-items{padding-left:14px;display:flex;flex-direction:column;gap:1px;margin-top:1px}.sidebar-footer{padding:10px 7px;border-top:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;gap:6px;flex-shrink:0}.sidebar-theme-btn{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:6px;background:transparent;color:var(--th-sidebar-txt, rgba(255,255,255,.4));font-size:11px;text-align:left;width:100%;border:1px solid rgba(255,255,255,.08);transition:background .12s,color .12s}.sidebar-theme-btn:hover{background:#ffffff0f;color:#ffffffb3}.sidebar-theme-btn svg{flex-shrink:0;width:14px;height:14px}.ghost-button{padding:8px 16px;border-radius:8px;background:transparent;border:1px solid var(--border, #eae7e0);color:var(--ink-soft, #6b7280);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .12s}.ghost-button:hover{background:var(--surface-2, #f8fafc)}.settings-page{max-width:640px;padding:0 0 40px}.settings-sections{display:flex;flex-direction:column;gap:20px;padding:0 28px}.settings-section-title{font-size:.75rem;font-weight:700;color:var(--ink-muted, #94a3b8);text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--border, #eae7e0)}.settings-row:last-child{border-bottom:none}.settings-row>div strong{display:block;font-size:.9rem;font-weight:600;margin-bottom:2px}.settings-row>div p{margin:0;font-size:.8rem;color:var(--ink-muted, #94a3b8)}.theme-toggle-pill{display:flex;align-items:center;gap:7px;padding:7px 14px;border-radius:99px;background:#f3f4f6;border:1px solid var(--border, #eae7e0);font-size:.83rem;font-weight:600;color:#374151;cursor:pointer}.theme-toggle-pill--dark{background:#1e1f28;border-color:#ffffff1a;color:#c0c0d0}.theme-toggle-icon{display:flex;align-items:center}.brand{display:flex;gap:12px;align-items:center}.brand>span{display:grid;width:38px;height:38px;place-items:center;border-radius:9px;background:linear-gradient(135deg,#14532d,#22c55e);color:#fff;font-weight:950;font-size:.92rem}.brand strong,.brand small{display:block}.brand small{margin-top:2px;color:#8aa0bd;font-size:.75rem;font-weight:700;letter-spacing:.03em}nav{display:grid;gap:8px}nav button{min-height:40px;padding:9px 12px;background:transparent;color:#93a8c4;text-align:left;border-left:3px solid transparent;border-radius:6px;font-size:.9rem}nav button.active{background:#14532d24;color:#fff;border-left-color:#22c55e}nav button:hover:not(.active){background:#ffffff0f;color:#e2e8f0;border-left-color:transparent}.data-tools{display:grid;gap:10px;margin-top:8px}.sport-group-list{display:grid;gap:10px}.sport-group{border:1px solid var(--border);border-left:4px solid var(--border-hover);border-radius:var(--radius-sm);background:var(--surface);padding:12px 16px;cursor:pointer;display:flex;align-items:center;gap:10px;font-size:.95rem;transition:background .12s,border-color .12s}.sport-group:hover{background:var(--surface-2);border-color:var(--ink-muted)}.sport-group-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.sport-group .badge-muted{margin-left:auto}.sidebar-chatbot-placeholder{display:grid;gap:6px;margin-top:12px;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;font-size:.8rem}.sidebar-chatbot-placeholder strong{font-size:.8rem;letter-spacing:.02em}.sidebar-chatbot-placeholder p{margin:0;color:#94a3b8;font-size:.75rem}.sidebar-chatbot-placeholder input{width:100%;padding:6px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#94a3b8;font-size:.8rem}.usage-badge{display:grid;gap:2px;padding:8px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;font-size:.8rem;line-height:1.3}.usage-badge strong{font-size:.78rem;letter-spacing:.02em;text-transform:uppercase;opacity:.75}.usage-badge-limit{border-color:#ff787866;background:#ff505014}.usage-badge-warning{color:#ff9b9b;font-weight:600;text-decoration:underline}.import-button{display:grid;min-height:42px;place-items:center;border:1px solid rgba(255,255,255,.16);padding:9px 10px;color:#e9eef7;font-size:.86rem;text-align:center}.import-button input{display:none}.content{width:min(1920px,100%);margin:0 auto;padding:36px 48px 52px;background:var(--th-content, #f6f4ef);min-height:100vh}.page-header{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:22px}.eyebrow{margin-bottom:7px;color:#1a5c42;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.page-header h1{margin-bottom:0;font-size:clamp(1.8rem,3.5vw,3rem);line-height:1.05;letter-spacing:-.03em;color:#0f172a}.header-actions,.form-actions,.form-actions-row,.row-actions,footer{display:flex;flex-wrap:wrap;gap:9px}.form-actions-row{margin-top:14px;align-items:center}.primary-button,.secondary-button,.danger-button,.drag-handle,.quiet-danger{min-height:42px;padding:10px 14px}.primary-button{background:var(--brand);color:#fff;letter-spacing:.01em;box-shadow:0 1px 3px #00000026}.primary-button:hover{background:var(--brand-hover)}.secondary-button{border:1px solid var(--border);background:var(--surface);color:#374151;box-shadow:0 1px 2px #0000000d}.secondary-button:hover{background:var(--surface-2);border-color:var(--border-hover)}.danger-button{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.drag-handle{border:1px solid #c9d4e4;background:#f8fafc;color:#64748b;cursor:grab}.drag-handle:active{cursor:grabbing}.quiet-danger{border:1px solid #ead0d0;background:#fff8f8;color:#9f1d1d}.small{min-height:32px;padding:6px 9px;font-size:.84rem}.block-tools .small,.row-tools .small,.assistant-exercise-row .small,.drag-handle.small,.quiet-danger.small{min-height:28px;padding:4px 7px;font-size:.78rem}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat-card,.panel,.card,.list-item,.day-builder,.overview-day{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm)}.stat-card{min-height:116px;padding:18px}.stat-card span{display:block;margin-bottom:18px;color:var(--ink-soft);font-size:.88rem;font-weight:800}.stat-card strong{color:var(--ink);font-size:2.25rem}.panel{padding:20px}.section-title{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:16px}.section-title h2{margin-bottom:0;font-size:1rem;font-weight:800;color:var(--ink);letter-spacing:-.01em}.section-title--lg h2{font-size:1.25rem}.split-layout,.profile-grid{display:grid;grid-template-columns:minmax(310px,430px) minmax(0,1fr);gap:18px;align-items:start}.program-layout{display:grid;grid-template-columns:1fr;gap:18px;align-items:start;width:100%;max-width:1320px;margin:0 auto}.program-layout>.panel{width:100%;padding:18px}.program-layout form{width:100%}.program-layout .form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.program-focus-fields{display:grid;gap:10px;padding:12px;border:1px solid #e2e8f0;border-radius:8px;background:#fbfcfe}.program-layout .list-panel{width:100%}.architect-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:18px;align-items:start;width:100%;max-width:1320px;margin:0 auto}.architect-edit-layout{width:100%;max-width:1100px;margin:0 auto}.architect-form-panel{width:100%}.plans-list-view{width:100%;max-width:900px;margin:0 auto}.pa-tab-bar{display:flex;gap:4px;flex-wrap:wrap;border-bottom:2px solid #e2e8f0;margin:16px 0 20px}.pa-tab-bar .athlete-tab-btn{border-radius:6px 6px 0 0}.pa-tab-panel{display:none}.pa-tab-panel.active{display:block}.architect-sticky-summary{position:sticky;top:14px;z-index:8;display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:7px;margin-bottom:12px;border:1px solid #e2e6ec;border-radius:14px;padding:10px;background:#fffffff7;box-shadow:0 4px 16px #0f172a17,0 1px 4px #0f172a0d;backdrop-filter:blur(12px)}.architect-sticky-summary div,.architect-context-chips span,.architect-review-grid span{display:grid;gap:2px;border:1px solid #e4e9f1;border-radius:8px;padding:7px 8px;background:#f9fbfd;min-width:0}.architect-sticky-summary small,.architect-context-chips small{color:#667085;font-size:.66rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.architect-sticky-summary strong,.architect-context-chips span{overflow:hidden;color:#172033;font-size:.78rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.architect-review-panel{display:grid;gap:9px;margin-bottom:12px;border:1px solid #f1c979;border-left:4px solid #d99a13;border-radius:9px;padding:11px;background:#fffaf0}.architect-review-panel.is-clear{border-color:#bfdfcf;border-left-color:#13865f;background:#f3fbf7}.architect-review-panel>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center}.architect-review-panel strong{color:#172033}.architect-review-panel span,.architect-review-panel p,.architect-review-panel li{color:#6b4f08;font-size:.83rem}.architect-review-panel.is-clear span,.architect-review-panel.is-clear p{color:#166534}.architect-review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.architect-review-grid span{color:#64748b;font-weight:800}.architect-review-grid span.has-count{border-color:#f0c773;background:#fff7df;color:#7c5d05}.architect-review-grid strong{font-size:1rem}.architect-review-panel ul{margin:0;padding-left:18px}.architect-context-chips{display:flex;flex-wrap:wrap;gap:7px}.architect-context-chips span{max-width:260px;background:#f8fafc}.architect-subsection{display:grid;gap:10px;padding:13px;border:1px solid #dde5ef;border-radius:8px;background:#fbfcfe}.architect-overview{display:grid;gap:12px;margin-bottom:14px;border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;background:var(--surface);box-shadow:var(--shadow-sm)}.architect-plan-header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-bottom:1px solid var(--border);padding-bottom:12px;cursor:pointer;list-style:none}.architect-plan-header::-webkit-details-marker{display:none}.architect-overview:not([open]) .architect-plan-header{border-bottom:none;padding-bottom:0}.architect-plan-header small,.architect-summary-cards small,.overview-logic-panels small{color:var(--ink-muted);font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.architect-plan-header h2{margin:3px 0;color:var(--ink);font-size:1.28rem}.architect-plan-header p{margin:0;color:var(--ink-soft);font-weight:750}.architect-plan-header>span{border:1px solid #d6c7a8;border-radius:999px;padding:5px 9px;background:#fffaf0;color:#7c5d24;font-size:.72rem;font-weight:900;white-space:nowrap}.architect-summary-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.architect-summary-cards article,.overview-panel,.overview-logic-panels article{border:1px solid #e3e8ef;border-radius:8px;padding:10px;background:#fbfcfe}.architect-summary-cards article{display:grid;gap:4px}.architect-summary-cards strong{color:#172033;font-size:.98rem}.architect-summary-cards span{color:#64748b;font-size:.82rem;font-weight:750}.architect-overview-grid{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.45fr);gap:10px}.overview-panel{display:grid;gap:8px}.overview-panel>strong{color:#172033}.overview-panel ul,.overview-panel p{margin:0}.overview-panel ul{padding-left:18px}.overview-panel.priorities{border-left:4px solid #b99146;background:#fffdf8}.overview-table-wrap{overflow-x:auto}.overview-table{width:100%;min-width:720px;border-collapse:collapse;font-size:.8rem}.overview-table th,.overview-table td{border-bottom:1px solid #e5eaf1;padding:7px 6px;text-align:left;vertical-align:top}.overview-table th{background:#f2f5f8;color:#334155;font-size:.72rem;text-transform:uppercase}.overview-phase-cards,.overview-logic-panels{display:grid;gap:8px}.overview-phase-card{border:1px solid #dde5ef;border-radius:8px;background:#fff}.overview-phase-card summary{display:grid;grid-template-columns:minmax(160px,.45fr) minmax(0,1fr);gap:10px;padding:9px 10px;cursor:pointer}.overview-phase-card summary span{color:#64748b;font-size:.82rem;font-weight:800}.overview-phase-card>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;border-top:1px solid #e5eaf1;padding:10px}.overview-logic-panels{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.overview-logic-panels article{border-left:4px solid #1f3f6d}.overview-logic-panels p{margin:5px 0 0;color:#344054;font-size:.84rem;line-height:1.35}.field-note{margin-top:4px;color:#7c5d24;font-size:.74rem;font-weight:850}.architect-section{display:grid;gap:0;overflow:hidden;border:1px solid #e5e8ed;border-left:4px solid #64748b;border-radius:12px;background:#fff;box-shadow:0 1px 3px #0000000d}.architect-section-summary{border-left-color:#64748b}.architect-section-assessment{border-left-color:#0f8f8c}.architect-section-findings{border-left-color:#c8972b}.architect-section-logic{border-left-color:#1f3f6d}.architect-section-phases{border-left-color:#6d5bd0}.architect-section-ai{border-left-color:#b99146}.architect-section-head{display:grid;grid-template-columns:34px minmax(170px,.38fr) minmax(0,1fr) auto 24px;gap:10px;align-items:center;width:100%;padding:12px 14px;border-radius:0;background:#f8fafc;color:#0f172a;text-align:left}.architect-step-number,.architect-collapse-indicator{display:grid;place-items:center;width:24px;height:24px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#475467;font-size:.9rem}.architect-step-number{width:30px;height:30px;background:#0f172a;color:#fff;font-size:.78rem;font-weight:900}.architect-section-head strong{font-size:.98rem}.architect-section-head small{overflow:hidden;color:#64748b;font-size:.83rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.architect-status-badge{justify-self:end;border-radius:999px;padding:4px 8px;font-size:.68rem;font-style:normal;font-weight:900;text-transform:uppercase;white-space:nowrap}.status-complete,.status-saved{background:#dcfce7;color:#166534}.status-needs{background:#fee2e2;color:#991b1b}.status-draft{background:#fff8df;color:#7b5b05}.architect-section-body{display:grid;gap:12px;padding:13px}.architect-section.collapsed .architect-section-body{display:none}.architect-compact-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.wide-field{grid-column:1 / -1}.architect-dual-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mini-section-title{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px;color:#172033}.chip-field{display:grid;gap:8px}.chip-field>strong{color:#344054;font-size:.9rem}.architect-chip-group{display:flex;flex-wrap:wrap;gap:7px}.architect-chip{display:inline-flex;align-items:center;gap:7px;min-height:30px;border:1px solid #cbd5e1;border-radius:999px;padding:5px 12px;background:#fff;color:#344054;font-size:.82rem;font-weight:850;cursor:pointer;user-select:none;transition:background .12s,border-color .12s,color .12s}.architect-chip:hover{border-color:#6366f1;background:#eef2ff;color:#4338ca}.architect-chip input{display:none}.architect-chip.selected,.architect-chip:has(input:checked){border-color:#1f3f6d;background:#eef4ff;color:#17345d}.custom-chip-input{max-width:360px}.generated-empty{display:grid;gap:5px;border:1px dashed #cbd5e1;border-radius:8px;padding:12px;background:#f8fafc;color:#64748b}.generated-empty strong{color:#172033}.generated-empty p{margin:0;line-height:1.45}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.architect-list-edit,.architect-phases{display:grid;gap:10px}.architect-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.architect-phase{display:grid;gap:12px;padding:12px;border:1px solid #d8e0eb;border-left:4px solid #1f3f6d;border-radius:8px;background:#fff}.architect-phase-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.phase-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.phase-session-progress{width:fit-content;padding:4px 9px;border-radius:999px;background:#eef4f8;color:#31506b;font-size:.78rem;font-weight:800}.phase-session-context{border:1px solid #dbe5ee;border-radius:8px;background:#f8fbfd}.phase-session-context>summary{cursor:pointer;padding:9px 11px;color:#31506b;font-size:.82rem;font-weight:900}.phase-session-context .form-grid{padding:0 11px 11px}.pa-delivery-cta{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border:1px solid #dbeafe;border-radius:8px;background:#eff6ff;color:#1e3a8a}.pa-delivery-cta p{margin:4px 0 0;color:#475569;font-size:.84rem}.pa-phase-review-list{display:grid;gap:8px}.pa-phase-review-card{display:grid;gap:4px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.pa-phase-review-card span,.pa-phase-review-card p{margin:0;color:#64748b;font-size:.82rem;line-height:1.45}.phase-sessions-dashboard{display:grid;gap:12px}.phase-session-dashboard-card{display:grid;gap:9px;border:1px solid #e5e8ed;border-radius:12px;padding:14px;background:#fff;box-shadow:0 1px 4px #0000000d}.phase-session-dashboard-head,.session-template-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.phase-session-dashboard-head strong{display:block;color:#172033}.phase-session-dashboard-head span{color:#667085;font-size:.82rem;font-weight:800}.phase-session-dashboard-head em{border-radius:999px;padding:4px 9px;background:#eef4f8;color:#31506b;font-size:.74rem;font-style:normal;font-weight:900}.sport-intelligence-preview{border:1px solid #cfe0ea;border-left:4px solid #0f766e;border-radius:8px;padding:10px 12px;background:#f5fbfa}.praxera-standard-preview{border:1px solid #ead7a8;border-left:4px solid #c59a2d;border-radius:8px;padding:10px 12px;background:#fffaf0}.sport-intelligence-preview.unmatched{border-left-color:#94a3b8;background:#f8fafc;color:#475569}.praxera-standard-preview>summary,.sport-intelligence-preview>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}.praxera-standard-preview>summary span{color:#8a6415;font-size:.78rem;font-weight:900}.sport-intelligence-preview>summary span{color:#0f766e;font-size:.78rem;font-weight:900}.sport-intelligence-preview p{margin:4px 0 0}.sport-intelligence-grid,.praxera-standard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:10px}.sport-intelligence-grid div,.praxera-standard-grid div{border:1px solid #dbe8ef;border-radius:7px;padding:8px;background:#fff}.praxera-standard-grid div{border-color:#f0dfb4}.sport-intelligence-grid small,.praxera-standard-grid small{color:#0f766e;font-weight:900;text-transform:uppercase}.praxera-standard-grid small{color:#9a6f15}.praxera-standard-grid p{margin:4px 0 0;color:#5f4b20;line-height:1.4}.architect-phase-head strong{color:#172033}.screen-score{display:inline-flex;align-items:center;min-height:32px;border:1px solid #cbd5e1;border-radius:999px;padding:5px 10px;background:#f8fafc;color:#172033;font-size:.82rem;font-weight:900;white-space:nowrap}.movement-screen-table-wrap{overflow-x:auto;border:1px solid #d8e0eb;border-radius:8px;background:#fff}.movement-screen-table{width:100%;border-collapse:collapse;min-width:720px}.movement-screen-table th,.movement-screen-table td{border-bottom:1px solid #e2e8f0;padding:7px 8px;text-align:left;vertical-align:middle}.movement-screen-table th{background:#eef7f7;color:#24525a;font-size:.76rem;font-weight:900;text-transform:uppercase}.movement-screen-table td:first-child{width:220px}.movement-screen-table select,.movement-screen-table input{min-height:32px;padding:5px 7px}.movement-screen-table .muted-cell{color:#94a3b8;text-align:center}.rom-assessment-table th{background:#fff1ec;color:#9a3412}.rom-percent-input{display:inline-flex;align-items:center;gap:4px}.rom-percent-input input{width:64px;text-align:right}.rom-percent-input span{color:#94a3b8;font-size:.78rem;font-weight:700}.common-findings{display:grid;gap:8px}.common-findings>strong{color:#172033}.finding-chips{display:flex;flex-wrap:wrap;gap:7px}.finding-chip{min-height:30px;border:1px solid #cbd5e1;border-radius:999px;padding:5px 10px;background:#fff;color:#344054;font-size:.82rem;font-weight:850}.finding-chip.active{border-color:#1f3f6d;background:#e9eff8;color:#18345c}.assessment-needs-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}@media(max-width:900px){.assessment-needs-layout{grid-template-columns:1fr}}.assessment-needs-col{display:grid;gap:10px}.needs-picker{display:grid;gap:14px}.needs-category{display:grid;gap:7px}.needs-category-label{font-size:.78rem;font-weight:850;color:#172033;text-transform:uppercase;letter-spacing:.04em}.needs-category-label--spaced{margin-top:14px}.ai-draft-panel{display:grid;gap:12px;border:1px solid #d6c7a8;border-left:4px solid #b99146;border-radius:8px;padding:14px;background:#fffaf0}.ai-draft-panel.error{border-color:#fecaca;border-left-color:#dc2626;background:#fff7f7;color:#7f1d1d}.ai-draft-notice{border:1px solid #eadfc9;border-radius:8px;padding:10px;background:#fffdf8}.ai-draft-notice.error{border-color:#fecaca;background:#fff7f7;color:#7f1d1d}.ai-draft-panel p,.ai-draft-panel ul{margin:0}.ai-draft-panel ul{padding-left:18px}.ai-context-summary{display:grid;gap:8px;border:1px solid #eadfc9;border-radius:8px;padding:10px;background:#fffdf8}.ai-context-summary>strong{color:#172033}.ai-context-summary>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px}.ai-context-summary span{display:grid;gap:3px;color:#344054;font-size:.84rem;font-weight:800}.ai-context-summary small{color:#8b785e;font-size:.66rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.ai-draft-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.ai-draft-grid article{display:grid;gap:5px;border:1px solid #eadfc9;border-radius:8px;padding:10px;background:#fff}.ai-draft-grid article strong{color:#172033}.ai-draft-grid article span,.ai-draft-grid article small{color:#64748b}.ai-draft-logic{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.ai-debug-panel{display:grid;gap:8px;border:1px dashed #cbd5e1;border-radius:8px;padding:9px;background:#f8fafc;color:#334155;font-size:.8rem}.ai-debug-panel>div{display:flex;flex-wrap:wrap;gap:6px}.ai-debug-panel span{border-radius:999px;padding:4px 8px;font-weight:850}.ai-debug-panel .present{background:#dcfce7;color:#166534}.ai-debug-panel .empty{background:#fee2e2;color:#991b1b}.timeline-warning{border:1px solid #f3c779;border-left:4px solid #d97706;border-radius:8px;padding:10px;background:#fff7ed;color:#7c2d12}.timeline-warning ul{margin-top:6px}.ai-draft-phases,.phase-session-templates{display:grid;gap:10px}.ai-review-badge{width:fit-content;border:1px solid #d7bd72;border-radius:999px;padding:4px 9px;background:#fff8df;color:#7b5b05;font-size:.72rem;font-weight:900;text-transform:uppercase}.refinement-warning-panel{display:grid;gap:6px;border:1px solid #f2d28b;border-left:4px solid #d99a13;border-radius:8px;padding:9px 10px;background:#fffaf0;color:#6b4f08}.refinement-warning-panel ul{margin:0;padding-left:18px;font-size:.82rem}.session-cleanup-panel{border:1px solid #d6e2ef;border-left:4px solid #31506b;border-radius:8px;padding:8px 10px;background:#f8fbfd;color:#31506b}.session-cleanup-panel summary{cursor:pointer;font-size:.82rem;font-weight:900}.session-cleanup-panel ul{margin:8px 0 0;padding-left:18px;color:#475467;font-size:.82rem}.ai-draft-phase,.session-template{border:1px solid #e5e8ed;border-radius:12px;background:#fff;box-shadow:0 1px 3px #0000000d}.ai-draft-phase>summary,.session-template>summary{display:grid;grid-template-columns:minmax(190px,.55fr) minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;cursor:pointer}.session-card-main{display:grid;gap:3px}.ai-draft-phase>summary span,.session-card-main span{color:#64748b;font-size:.84rem;font-weight:750}.session-card-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.session-card-meta small{border-radius:999px;padding:3px 7px;background:#eef4f8;color:#31506b;font-size:.7rem;font-weight:900}.session-template>summary em{justify-self:end;border-radius:999px;padding:3px 8px;background:#eef4f8;color:#31506b;font-size:.7rem;font-style:normal;font-weight:900;text-transform:uppercase}.ai-draft-phase-body,.session-template-body{display:grid;gap:12px;border-top:1px solid #e2e8f0;padding:12px}.session-template-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.manual-session-editor{display:grid;gap:8px;border:1px dashed #bfd0e3;border-radius:8px;padding:10px;background:#f8fbff}.phase-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.warmup-template{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.warmup-template div,.template-list,.template-prescriptions{border:1px solid #edf1f7;border-radius:8px;padding:9px;background:#fbfcfe}.warmup-template ul,.template-list ul{margin:6px 0 0;padding-left:17px}.template-prescriptions{display:grid;gap:8px}.slot-template{border-left:4px solid #31506b}.slot-template>strong{color:#172033;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.slot-power{border-left-color:#d97706}.slot-power>strong{color:#92400e}.slot-lower{border-left-color:#16a34a}.slot-lower>strong{color:#14532d}.slot-upper{border-left-color:#2563eb}.slot-upper>strong{color:#1e3a8a}.slot-injury{border-left-color:#059669}.slot-injury>strong{color:#064e3b}.slot-trunk{border-left-color:#0891b2}.slot-trunk>strong{color:#164e63}.slot-corrective{border-left-color:#7c3aed}.slot-corrective>strong{color:#4c1d95}.slot-transfer{border-left-color:#64748b}.slot-transfer>strong{color:#334155}.empty-slot{border-left-color:#d99a13;background:#fffaf0}.empty-slot>strong{color:#78350f}.empty-slot p{margin:0;color:#8a6415;font-size:.82rem;font-weight:850}.slot-prescription-header{display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(80px,.55fr) minmax(120px,.8fr) minmax(70px,.4fr) minmax(55px,.35fr) minmax(90px,.45fr);gap:8px;padding-bottom:4px;border-bottom:1px solid #e2e8f0}.slot-prescription-header span{font-size:.7rem;font-weight:900;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em}.warning-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:.75rem;font-weight:900;white-space:nowrap}.warning-badge--ok{background:#dcfce7;color:#14532d}.warning-badge--warn{background:#fef3c7;color:#92400e}.warning-badge--error{background:#fee2e2;color:#991b1b}.session-week-group{display:grid;gap:8px}.session-week-header{font-size:.75rem;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.09em;padding:6px 2px 4px;border-bottom:2px solid #e2e8f0}.workload-summary{display:grid;gap:8px;padding:12px;border:1px solid #e5e8ed;border-radius:10px;background:#f9fafb}.workload-summary-label{font-size:.7rem;font-weight:900;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em}.workload-summary-row{display:flex;gap:18px;align-items:stretch;flex-wrap:wrap}.workload-summary-bars{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start;flex:1 1 220px}.workload-summary-block{display:grid;gap:8px;flex:1 1 220px;padding-left:18px;border-left:1px solid #e5e8ed}.workload-stat-row{display:grid;grid-template-columns:repeat(2,minmax(90px,1fr));gap:10px}.workload-stat{display:grid;gap:2px;padding:8px 12px;border-radius:10px;background:#fff;border:1px solid #e5e8ed;text-align:center}.workload-stat-value{font-size:1.05rem;font-weight:900;color:#13243b;line-height:1}.workload-stat-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.workload-week-bar{display:grid;gap:2px;min-width:54px;padding:8px 12px;border-radius:10px;text-align:center;cursor:default}.workload-bar-value{font-size:1.15rem;font-weight:900;line-height:1}.workload-bar-label{font-size:.67rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;opacity:.7}.workload-bar-done{font-size:.65rem;font-weight:900;opacity:.65;margin-top:2px}.workload-low{background:#f0fdf4;color:#14532d;border:1px solid #bbf7d0}.workload-medium{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.workload-high{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.session-complete-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;background:#dcfce7;color:#14532d;font-size:.72rem;font-weight:900}.session-template--complete{border-left:4px solid #16a34a;opacity:.92}.btn-done-active{background:#f0fdf4;color:#14532d;border-color:#bbf7d0}.template-block{display:grid;gap:6px}.template-block>span{color:#1f3f6d;font-weight:900}.template-exercise-row{display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(80px,.55fr) minmax(120px,.8fr) minmax(70px,.4fr) minmax(55px,.35fr) minmax(90px,.45fr);gap:8px;align-items:start;border-top:1px solid #e2e8f0;padding-top:7px}.template-exercise-row small{color:#64748b}.cue-detail{color:#64748b;font-size:.78rem}.cue-detail summary{cursor:pointer;color:#31506b;font-weight:900}.cue-detail small{display:block;margin-top:4px}.px-reason-tag{display:block;margin-top:3px;font-size:.68rem;font-weight:400;font-style:italic;color:var(--px-cyan, #06b6d4);opacity:.85;letter-spacing:.01em}.template-exercise-row.needs-library-match{border-left:3px solid #d99a13;padding-left:8px;background:#fffaf0}.template-exercise-row.needs-library-match strong small{display:block;margin-top:3px;color:#9a6a05;font-size:.68rem;text-transform:uppercase}.check-row{display:flex;flex-wrap:wrap;gap:14px}.check-row label{display:flex;gap:8px;align-items:center;margin:0}.check-row input{width:auto;min-height:0}.progress-panel{grid-column:1 / -1}.panel-kicker,.progress-note{margin:6px 0 0;color:#64748b;font-size:.9rem;line-height:1.45}.progress-controls{display:grid;grid-template-columns:minmax(240px,360px) minmax(0,1fr);gap:14px;align-items:end;margin-bottom:14px}.progress-controls label{margin-bottom:0}.progress-table-wrap{border:1px solid #e2e8f0;border-radius:8px}.progress-table{min-width:820px}.progress-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.progress-chart{min-height:210px;padding:14px;border:1px solid #e2e8f0;border-radius:8px;background:#fbfcfe}.progress-chart h3{margin-bottom:10px;color:#172033;font-size:1rem}.progress-chart svg{width:100%;height:auto}.assistant-layout{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:18px;align-items:start}.assistant-panel,.assistant-right-panel,.assistant-draft{display:grid;gap:10px}.assistant-right-tabs{display:flex;gap:4px;border-bottom:2px solid #e2e8f0;margin-bottom:4px}.assistant-right-tabs .athlete-tab-btn{border-radius:6px 6px 0 0}.assistant-summary{display:grid;gap:6px;padding:12px;border:1px solid #e2e8f0;border-radius:8px;background:#fbfcfe}.assistant-summary strong{color:#172033;font-size:1.05rem}.assistant-summary span:last-child{color:#667085;font-weight:750}.ca-acwr-status{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #e2e8f0;margin-bottom:8px;flex-wrap:wrap}.ca-acwr-hint{font-size:.78rem;color:#92400e;font-style:italic}.ca-phase-context-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;font-size:.82rem;color:#475569;display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:8px}.ca-phase-context-card strong{width:100%;color:#1e293b;font-size:.8rem}.assistant-block{display:grid;gap:8px;padding:0 0 10px;border:1px solid #dce4ef;border-radius:8px;background:#fff;overflow:hidden}.assistant-block-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px);gap:12px;align-items:center;padding:10px 12px;border-left:5px solid var(--block-accent, #cbd5e1);background:var(--block-tint, #f8fafc)}.assistant-block-head h3{margin-bottom:3px;color:#172033;font-size:1rem}.assistant-block-head p,.assistant-block-head span{margin-bottom:0;color:#667085;font-weight:800}.assistant-block-head label{margin:0;font-size:.78rem}.assistant-block-head select{min-height:34px;padding:6px 8px}.assistant-exercises{display:grid;gap:5px;padding:0 10px}.assistant-exercise-row{display:grid;grid-template-columns:46px minmax(180px,1fr) minmax(160px,.8fr) auto;gap:6px;align-items:center;padding:6px;border:1px solid #edf1f6;border-radius:6px;background:#fff}.assistant-exercise-row strong{color:#2f6f8f}.assistant-exercise-row span{color:#667085;font-size:.85rem;font-weight:750}.assistant-check-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:7px;margin:0;padding:10px;border:1px solid var(--border, #dce4ef);border-radius:8px;background:var(--surface-2, #fbfcfe)}.assistant-check-group legend{padding:0 5px;color:var(--ink, #344054);font-size:.86rem;font-weight:900}.assistant-check-group label{display:flex;flex-direction:row;gap:8px;align-items:center;min-height:34px;margin:0;padding:7px 9px;border:1px solid var(--border, #e2e8f0);border-radius:7px;background:var(--surface, #ffffff);color:var(--ink, #263449);font-size:.84rem}.assistant-check-group input{width:16px;min-height:16px;margin:0;padding:0;accent-color:var(--brand, #1a5c42)}.chart-axis{stroke:#cbd5e1;stroke-width:1}.chart-line{fill:none;stroke:#0f766e;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:#0f766e;stroke:#fff;stroke-width:2}.chart-label{fill:#64748b;font-size:11px;font-weight:800}.chart-empty{display:grid;min-height:142px;place-items:center;margin:0;padding:16px;border:1px dashed #cbd5e1;border-radius:8px;color:#64748b;text-align:center;line-height:1.45}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.library-grid{margin-top:14px}.exercise-audit-panel{display:grid;gap:10px;margin-bottom:14px;border-left:4px solid #31506b}.exercise-audit-panel textarea{width:100%;min-height:420px;resize:vertical;white-space:pre;overflow:auto;font-family:Consolas,Courier New,monospace;font-size:.78rem;line-height:1.45}.card{display:grid;gap:10px;min-height:190px;padding:16px}.clickable{cursor:pointer}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.card h3{margin-bottom:0;font-size:1.05rem}.card p{margin-bottom:0;color:#5c6b80;line-height:1.45}.card footer{align-self:end;justify-content:space-between;color:#64748b;font-weight:800}.pill,.tag-row span{display:inline-grid;min-height:26px;place-items:center;border-radius:999px;padding:4px 9px;background:#e9f7f1;color:#226f54;font-size:.76rem;font-weight:900}.pill.muted{background:#eef1f5;color:#667085}.warning-pill{width:max-content;background:#fff4d8;color:#8a5a00}.program-status{display:inline-grid;min-height:24px;margin-left:7px;vertical-align:middle;font-size:.7rem}.status-draft{background:#eef1f5;color:#667085}.status-ready{background:#e9f7f1;color:#226f54}.status-sent{background:#eef4ff;color:#315c96}.tag-row{display:flex;flex-wrap:wrap;gap:6px}.tag-row span{background:#eef4ff;color:#315c96}form{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}@media(max-width:700px){.form-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}.athlete-form-section{border:1px solid #e5e7eb;border-radius:8px;padding:10px 14px;margin-top:10px}.unit-toggle-row{display:flex;align-items:center;gap:6px;margin-bottom:12px}.unit-toggle-label{font-size:.75rem;font-weight:700;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;margin-right:4px}.unit-toggle-btn{background:transparent;border:1px solid var(--border);color:var(--ink-soft);border-radius:6px;padding:4px 12px;font-size:.78rem;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.unit-toggle-btn:hover{border-color:var(--brand);color:var(--brand)}.unit-toggle-btn.active{background:var(--brand);border-color:var(--brand);color:#fff}.athlete-form-section>summary{font-size:.82rem;font-weight:700;color:#374151;cursor:pointer;user-select:none;letter-spacing:.03em;text-transform:uppercase}.athlete-form-section>summary:hover{color:#4f46e5}label{display:grid;gap:7px;color:#344054;font-size:.9rem;font-weight:850}input,select,textarea{width:100%;min-height:42px;border:1px solid var(--border-input);border-radius:var(--radius-sm);padding:9px 12px;background:var(--surface);color:var(--ink);transition:border-color .12s ease,box-shadow .12s ease}textarea{min-height:88px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#0f172a;outline:none;box-shadow:0 0 0 3px #0f172a14}.empty-state{display:grid;gap:10px;align-content:center;min-height:180px;border:1px dashed #c7d1df;border-radius:8px;padding:24px;background:#f8fafc;color:#667085}.empty-state h3{margin-bottom:0;color:#263449}.empty-state p,.empty-inline{margin-bottom:0;color:#667085;line-height:1.5}.search-input{width:100%;padding:10px 14px;margin-bottom:12px;border:1px solid #d8dee9;border-radius:10px;background:#fff;font-size:.92rem;color:#1f2937}.search-input:focus{outline:none;border-color:#94a3b8}.empty-state--figure{position:relative;overflow:hidden;text-align:center;min-height:240px}.empty-state-figure{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.empty-state-figure .athlete-map-figure{max-width:150px;margin:0;opacity:.5}.empty-state-figure .athlete-map-figure figcaption{display:none}.athlete-map-figure--silhouette .am-silhouette{fill:#e2e8f0;stroke:#cbd5e1}.empty-state-content{position:relative;z-index:1;display:grid;gap:10px;justify-self:center;max-width:320px}.form-section-heading{margin:6px 0 -6px;font-size:.74rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#94a3b8;border-top:1px solid #edf1f6;padding-top:14px}form .form-section-heading:first-of-type{border-top:none;padding-top:0;margin-top:0}.form-hint{margin:-4px 0 0;font-size:.78rem;color:#667085;line-height:1.5}.calculators-panel{display:grid;gap:16px}.calculator-card{display:grid;gap:10px;padding:14px;border:1px solid #e5eaf1;border-radius:10px;background:#f8fafc}.calculator-card h3{margin:0;font-size:1rem}.calculator-readout{display:flex;flex-wrap:wrap;gap:16px}.calculator-readout span{display:grid;gap:2px}.calculator-readout small{color:#667085;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.calculator-table{width:100%;border-collapse:collapse;font-size:.82rem}.calculator-table th,.calculator-table td{border-bottom:1px solid #e5eaf1;padding:6px 8px;text-align:left}.calculator-table th{background:#eef2f7;color:#334155;font-size:.72rem;text-transform:uppercase}.body-comp-panel{display:grid;gap:20px}.body-comp-log-form{display:grid;gap:12px;padding:14px;border:1px solid #e5eaf1;border-radius:10px;background:#f8fafc}.body-comp-log-form .form-actions{margin-top:0}.body-comp-charts{display:flex;flex-wrap:wrap;gap:12px}.body-comp-table td:last-child{width:70px;text-align:right}.list,.list-panel{display:grid;gap:12px}.list-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px}.list-item>button{display:grid;gap:4px;min-width:0;padding:0;background:transparent;color:#172033;text-align:left}.list-item span{color:#667085;font-weight:700}.filters-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:14px}.filters-panel label{margin-bottom:0}.details-panel{display:grid;gap:12px}.details-panel h2{margin-bottom:4px}.detail-row{display:grid;gap:5px;border-bottom:1px solid #edf1f6;padding-bottom:10px}.detail-row span{color:#667085;font-size:.78rem;font-weight:900;text-transform:uppercase}.detail-row strong{color:#202b3c;overflow-wrap:anywhere}.days-builder{display:grid;gap:10px}.program-template-picker{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-bottom:12px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.program-template-picker label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;font-weight:700;color:#475569}.program-template-picker select{min-width:200px}.program-template-list{display:flex;flex-wrap:wrap;gap:6px;width:100%;margin-top:4px}.program-template-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 6px 3px 10px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:.78rem;font-weight:600}.template-chip-delete{border:none;background:none;cursor:pointer;color:#94a3b8;font-size:.95rem;line-height:1;padding:0 2px}.template-chip-delete:hover{color:#ef4444}.day-tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}.day-tab{display:grid;gap:2px;min-width:120px;padding:9px 11px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#172033;text-align:left}.day-tab.active{border-color:#2f6f8f;background:#eef7fb}.day-tab span{font-weight:900}.day-tab strong{color:#667085;font-size:.76rem}.day-builder{display:grid;gap:10px;padding:12px;background:#fbfcfe}.day-builder-actions{display:flex;justify-content:flex-end}.section-builder{display:grid;gap:8px;border:1px solid #dce4ef;border-left:5px solid var(--block-accent, #cbd5e1);border-radius:8px;padding:0 10px 10px;background:#fff;overflow:hidden}.section-builder.collapsed{gap:0;padding-bottom:0}.block-type-mobility{--block-accent: #1687a7;--block-tint: #eaf7fb}.block-type-activation{--block-accent: #2f8f5b;--block-tint: #ecf8f1}.block-type-power{--block-accent: #c8891f;--block-tint: #fff4df}.block-type-main{--block-accent: #aa4b35;--block-tint: #fff0eb}.block-type-secondary{--block-accent: #bd7b35;--block-tint: #fff3e8}.block-type-accessory{--block-accent: #7d5ab6;--block-tint: #f4f0fb}.block-type-conditioning{--block-accent: #0f766e;--block-tint: #e9f7f5}.block-type-recovery{--block-accent: #7891a8;--block-tint: #f0f5f9}.section-builder-head{display:grid;grid-template-columns:minmax(150px,1fr) minmax(220px,320px);gap:10px;align-items:center;margin:0 -10px;padding:9px 10px;background:var(--block-tint, #f8fafc)}.section-builder-head h3{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-bottom:0;font-size:.94rem;color:#314156}.section-builder-head h3 small{display:inline-grid;min-height:22px;place-items:center;border-radius:999px;padding:2px 8px;background:var(--block-accent, #64748b);color:#fff;font-size:.68rem;font-weight:950}.block-summary{margin:3px 0 0;color:#667085;font-size:.78rem;font-weight:750}.block-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.block-meta label:last-child{grid-column:1 / -1}.block-builder.expanded .block-meta{padding:10px;border:1px solid #dce4ef;border-radius:8px;background:#fff}.day-builder input,.day-builder select,.day-builder textarea,.assistant-panel input,.assistant-panel select,.assistant-panel textarea{min-height:36px;padding:7px 9px}.day-builder textarea,.assistant-panel textarea{min-height:72px}.block-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.add-block-controls,.exercise-picker{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px;align-items:center}.exercise-picker{grid-template-columns:minmax(220px,1.1fr) minmax(160px,.65fr) minmax(260px,1.2fr) max-content;width:100%}.exercise-rows{display:grid;gap:4px}.exercise-row-header{display:grid;grid-template-columns:48px minmax(210px,1.7fr) repeat(6,minmax(72px,.65fr)) minmax(145px,.95fr);gap:5px;align-items:center;padding:0 4px;color:#667085;font-size:.68rem;font-weight:950;text-transform:uppercase}.program-exercise-row{display:grid;grid-template-columns:48px minmax(210px,1.7fr) repeat(6,minmax(72px,.65fr)) minmax(145px,.95fr);gap:5px;align-items:center;border:1px solid #e4e9f1;border-radius:6px;padding:5px;background:#fff}.exercise-code-label{grid-column:1 / 2;font-size:.95rem;font-weight:900;color:#172033}.program-exercise-row strong{min-width:0;overflow-wrap:anywhere}.program-exercise-row input{min-height:31px;padding:5px 6px;font-size:.82rem}.row-tools{display:flex;flex-wrap:wrap;gap:4px}.exercise-notes-editor{grid-column:1 / -1;margin-top:2px}.print-preview{display:grid;gap:16px}.program-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.program-meta .detail-row,.overview-day{padding:16px}.overview-day h2{font-size:1.25rem}.overview-day-empty{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 16px}.overview-day-empty h2{margin-bottom:0;font-size:1rem}.overview-section{margin-top:14px}.overview-section h3{margin-bottom:8px;color:#2f6f8f;font-size:.86rem;text-transform:uppercase}.overview-section h3+h3{display:none}.overview-section h3 span{color:#667085;font-weight:850}.delivery-check{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;margin:14px 0;padding:16px;border:1px solid #e2e8f0;border-radius:8px;background:#fbfcfe}.delivery-check.warning{border-color:#f0d7a6;background:#fffaf0}.delivery-check.ready{border-color:#b7dec8;background:#f3fbf7}.delivery-check h2{margin-bottom:5px;color:#172033;font-size:1.05rem}.delivery-check p{margin-bottom:0;color:#667085;line-height:1.45}.delivery-check ul{display:grid;gap:6px;margin:0;padding-left:20px;color:#7a4d08;font-weight:750}.table-wrap{width:100%;overflow-x:auto}table{width:100%;min-width:780px;border-collapse:collapse}th,td{border-bottom:1px solid #e2e8f0;padding:10px 9px;text-align:left;vertical-align:top}th{color:#64748b;font-size:.72rem;font-weight:950;text-transform:uppercase}td{color:#263449;font-size:.9rem;font-weight:700}.athlete-view-container{background:var(--athlete-bg);color:var(--athlete-text-primary);width:100%;min-width:0;min-height:100vh;padding:32px 18px 42px}.athlete-view-content{width:100%;max-width:1050px;margin:0 auto;display:grid;gap:28px}.athlete-branded-header{display:grid;align-items:start;padding:20px 22px;background:var(--athlete-surface-1);border:1px solid var(--athlete-border);border-radius:12px}.brand-info{display:grid;gap:4px;border-left:3px solid var(--athlete-accent);padding-left:14px}.brand-label{margin:0;text-transform:uppercase;letter-spacing:.14em;color:var(--athlete-accent-muted);font-size:.68rem;font-weight:850}.brand-coach{margin:0;color:var(--athlete-accent);font-size:1.34rem;font-weight:900;line-height:1.1}.brand-title{margin:0;color:var(--athlete-text-secondary);font-size:.9rem;font-weight:700}.brand-tagline{margin:12px 0 0;color:var(--athlete-text-secondary);font-size:.85rem;line-height:1.5}.athlete-program-hero{display:grid;gap:16px}.program-name{margin:0;color:var(--athlete-text-primary);font-size:2.15rem;font-weight:900;line-height:1.2}.program-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.program-summary>div{background:var(--athlete-surface-1);border:1px solid var(--athlete-border);border-radius:8px;padding:14px;display:grid;gap:5px}.program-summary span{color:var(--athlete-text-secondary);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.program-summary strong{color:var(--athlete-text-primary);font-size:1rem;font-weight:800}.athlete-program-body{display:grid;gap:30px}.athlete-day-section{display:grid;gap:16px}.day-header{display:grid;gap:8px}.day-header h2{margin:0;color:var(--athlete-text-primary);font-size:1.4rem;font-weight:900;text-transform:uppercase;letter-spacing:-.01em}.day-header p{margin:0;color:var(--athlete-text-secondary);font-size:1rem}.session-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.session-info div,.session-notes,.block-execution{margin:0;padding:10px 12px;border-radius:6px;background:var(--athlete-surface-1);color:var(--athlete-text-secondary);font-size:.9rem;line-height:1.45}.session-info span{display:block;color:var(--athlete-text-secondary);font-size:.68rem;font-weight:800;text-transform:uppercase}.session-info strong,.session-notes strong,.block-execution strong{color:var(--athlete-text-primary)}.athlete-block-section{background:var(--athlete-surface-1);border:1px solid var(--athlete-border);border-radius:10px;padding:20px;display:grid;gap:14px}.block-header{display:grid;gap:6px}.block-title{margin:0;color:var(--athlete-text-primary);font-size:1rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.block-type{color:var(--athlete-text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.block-instructions{color:var(--athlete-text-primary);font-size:.92rem;line-height:1.55;margin:0;padding:12px;background:var(--athlete-surface-2);border-left:3px solid var(--athlete-accent);border-radius:5px}.exercises-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.exercise-card{background:var(--athlete-surface-2);border:1px solid var(--athlete-border);border-radius:8px;padding:14px;display:grid;gap:10px}.exercise-header h4{margin:0;color:var(--athlete-text-primary);font-size:.98rem;font-weight:800}.exercise-header strong{color:var(--athlete-accent)}.exercise-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:9px}.metric{display:grid;gap:4px}.metric span{color:var(--athlete-text-secondary);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.metric strong{color:var(--athlete-accent);font-size:.92rem;font-weight:800}.exercise-notes{margin:0;color:var(--athlete-text-secondary);font-size:.86rem;line-height:1.45;padding:9px 10px;background:var(--athlete-surface-1);border-radius:5px}.exercise-notes strong{color:var(--athlete-text-primary)}@media(max-width:1100px){.stats-grid,.program-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.split-layout,.program-layout,.profile-grid,.assistant-layout,.architect-layout{grid-template-columns:1fr}.athlete-view-content{padding:20px}.program-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.architect-summary-cards,.architect-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exercises-grid{grid-template-columns:1fr}.exercise-picker{grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr)}.exercise-picker select[data-role=exercise-select],.exercise-picker button{grid-column:auto}.program-exercise-row,.exercise-row-header{grid-template-columns:44px minmax(180px,1.4fr) repeat(3,minmax(68px,.7fr)) minmax(130px,1fr)}.exercise-row-header span:nth-child(6),.exercise-row-header span:nth-child(7),.exercise-row-header span:nth-child(8),.program-exercise-row input[name^=rest-],.program-exercise-row input[name^=tempo-],.program-exercise-row input[name^=rpe-]{grid-column:auto}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}nav,.data-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:22px 14px 34px}.page-header,.list-item,.delivery-check{display:grid;align-items:stretch;grid-template-columns:1fr}.stats-grid,.form-grid,.filters-panel,.program-meta,.progress-controls,.progress-charts,.block-meta,.section-builder-head,.add-block-controls,.exercise-picker,.program-exercise-row,.architect-list-row,.architect-dual-list,.architect-summary-cards,.architect-overview-grid,.overview-phase-card summary{grid-template-columns:1fr}.architect-plan-header{display:grid}.architect-section-head{grid-template-columns:24px minmax(0,1fr)}.architect-section-head small{grid-column:2;white-space:normal}.warmup-template,.template-exercise-row,.ai-draft-phase>summary,.session-template>summary{grid-template-columns:1fr}.screen-score{justify-self:start;white-space:normal}.assistant-exercise-row{grid-template-columns:1fr}.exercise-row-header{display:none}.block-tools,.day-builder-actions{justify-content:stretch}.header-actions button,.row-actions button{flex:1 1 130px}.athlete-view-container{padding:16px 12px 28px}.athlete-view-content{gap:22px;padding:0}.athlete-branded-header{padding:16px}.brand-coach{font-size:1.14rem}.program-name{font-size:1.6rem}.program-summary{grid-template-columns:1fr}}.help-bot-widget{position:fixed;right:24px;bottom:24px;z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.help-bot-toggle{border:none;border-radius:999px;padding:12px 20px;background:#1a5c42;color:#fff;font-weight:600;letter-spacing:.01em;box-shadow:0 6px 18px #0f172a38;cursor:pointer}.help-bot-toggle:hover{background:#155236}.help-bot-panel{width:min(340px,calc(100vw - 48px));max-height:440px;display:flex;flex-direction:column;background:#fff;border:1px solid #dde2eb;border-radius:16px;box-shadow:0 16px 40px #0f172a2e;overflow:hidden}.help-bot-panel-header{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid #eef1f5;background:#f8fafc}.help-bot-panel-header strong{flex:1;font-size:.95rem}.help-bot-panel-header .badge-muted{font-size:.68rem;color:#6b7280;background:#eef1f5;border-radius:999px;padding:3px 8px;white-space:nowrap}.help-bot-panel-header .icon-button{border:none;background:transparent;font-size:1.1rem;line-height:1;color:#6b7280;cursor:pointer;padding:2px 6px}.help-bot-messages{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.help-bot-message{border-radius:12px;padding:8px 12px;font-size:.85rem;line-height:1.4}.help-bot-message p{margin:2px 0 0}.help-bot-message-label{font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}.help-bot-message-bot{background:#f1f5f4;color:#1f2937;align-self:flex-start}.help-bot-message-coach{background:#eaf3ee;color:#14532d;align-self:flex-end;text-align:right}.help-bot-input-row{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #eef1f5;background:#fff}.help-bot-input-row input{flex:1;border:1px solid #dde2eb;border-radius:999px;padding:8px 14px;font-size:.85rem}.help-bot-input-row .primary-button{border-radius:999px;padding:8px 16px;font-size:.85rem}.phase-sessions-view-toggle,.library-view-toggle{display:flex;gap:8px;margin-bottom:16px}.phase-sessions-view-toggle button.active,.library-view-toggle button.active{background:#13243b;color:#fff;border-color:#13243b}.body-map-layout{display:grid;grid-template-columns:minmax(320px,480px) 1fr;gap:24px;align-items:start}@media(max-width:980px){.body-map-layout{grid-template-columns:1fr}}.body-map-panel{display:grid;gap:6px;padding:18px;border:1px solid #e2e8f0;border-radius:16px;background:linear-gradient(180deg,#f8fafc,#eef2f7);text-align:center}.body-map-figure-frame{position:relative;width:100%;max-width:440px;margin:0 auto;line-height:0}.body-map-image{display:block;width:100%;height:auto;border-radius:12px}.body-map-svg-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.bm-hotspot{fill:var(--region-color, transparent);fill-opacity:.22;stroke:var(--region-color, transparent);stroke-opacity:.55;stroke-width:3;cursor:pointer;pointer-events:all;transition:fill-opacity .15s,stroke-opacity .15s,stroke-width .15s}.bm-hotspot:hover{fill-opacity:.4;stroke-opacity:.8;stroke-width:4}.bm-hotspot.active{fill-opacity:.55;stroke-opacity:1;stroke-width:5}.body-map-coord-display{font-size:.68rem;color:#94a3b8;text-align:center;min-height:14px;margin:3px 0 0;font-family:monospace;letter-spacing:.02em}.body-map-hint{margin:4px 0 0;color:#64748b;font-size:.78rem}.body-map-legend{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:10px}.body-map-legend-chip{border:1px solid #d8e0eb;background:#fff;color:#374151;border-radius:999px;padding:6px 12px;font-size:.74rem;font-weight:700;cursor:pointer}.body-map-legend-chip:hover{border-color:#ff8a66;color:#9a3412}.body-map-legend-chip.active{background:#ff6b4a;border-color:#ff6b4a;color:#fff}.body-map-results{display:grid;gap:12px;align-content:start}.muscle-detail{font-size:.82rem;color:#6b7280;margin:2px 0 4px;line-height:1.4}.muscle-detail strong{color:#111827}.muscle-detail .secondary-muscles{color:#9ca3af;font-size:.79rem}.anatomical-badge{display:inline-block;font-size:.7rem;padding:1px 7px;border-radius:4px;margin:2px 0 4px;line-height:1.6}.anatomical-badge.needs-meta{color:#9ca3af;background:#f3f4f6;border:1px solid #e5e7eb}.anatomical-region-checkboxes{border:1px solid #e5e7eb;border-radius:6px;padding:8px 12px;margin-top:8px}.anatomical-region-checkboxes legend{font-size:.79rem;font-weight:600;padding:0 4px;color:#6b7280}.region-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 12px;margin-top:6px}.region-check{display:flex;align-items:center;gap:6px;font-size:.81rem;font-weight:400;cursor:pointer;padding:2px 0}.region-check input[type=checkbox]{width:auto;margin:0;cursor:pointer}.needs-anatomical-note{font-size:.81rem;color:#d97706;margin-top:6px;padding:4px 0}.body-map-empty{display:grid;gap:6px;padding:32px 24px;border:1px dashed #d8e0eb;border-radius:14px;text-align:center;color:#64748b}.body-map-empty strong{color:#13243b;font-size:1rem}.phase-calendar{margin-top:18px}.phase-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding-bottom:6px}.phase-calendar-day{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;min-width:0;min-height:170px}.phase-calendar-day-head{background:linear-gradient(135deg,#13243b,#25466e);color:#fff;font-weight:600;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:10px 8px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phase-calendar-day-head .day-full{display:none}.phase-calendar-day-head .day-short{display:inline}.phase-calendar-day-body{padding:10px;display:flex;flex-direction:column;gap:8px;flex:1}.phase-calendar-empty{color:#94a3b8;font-size:.78rem;margin:0;text-align:center;padding:20px 0}.calendar-session-card{background:#fff;border:1px solid #e2e8f0;border-left:3px solid #ff6b4a;border-radius:10px;padding:10px 12px;font-size:.82rem;display:flex;flex-direction:column;gap:8px;transition:box-shadow .15s ease,border-color .15s ease}.calendar-session-card:hover{border-color:#ff6b4a;box-shadow:0 8px 22px #ff6b4a29}.calendar-session-card--complete{border-left-color:#1a5c42;opacity:.78}.calendar-session-card-trigger{background:transparent;border:0;padding:0;margin:0;width:100%;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px;font:inherit;color:inherit}.calendar-session-card-trigger:hover{transform:none}.calendar-session-card-trigger strong{font-size:.85rem;color:#13243b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.calendar-session-card-trigger span{color:#64748b;font-size:.74rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.calendar-session-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:2px}.calendar-session-day-picker{display:flex;align-items:center;gap:6px;font-size:.74rem;color:#64748b;margin-top:4px;padding-top:8px;border-top:1px dashed #e2e8f0}.calendar-session-day-picker select{border:1px solid #dde2eb;border-radius:8px;padding:4px 8px;font-size:.76rem}.phase-calendar-unscheduled{margin-top:14px;background:#fff7ed;border:1px dashed #fdba74;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.phase-calendar-unscheduled strong{color:#9a3412;font-size:.8rem}.calendar-session-modal-overlay{position:fixed;inset:0;background:#13243b8c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:60}.calendar-session-modal{background:#fff;border-radius:16px;width:min(720px,100%);max-height:min(86vh,920px);overflow-y:auto;box-shadow:0 24px 64px #0f172a52}.calendar-session-modal-head{position:sticky;top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#13243b,#25466e);color:#fff;padding:18px 20px;border-radius:16px 16px 0 0}.calendar-session-modal-head strong{font-size:1.05rem;display:block}.calendar-session-modal-head span{display:block;color:#cbd5e1;font-size:.82rem;margin-top:2px}.calendar-session-modal-head .calendar-session-meta{margin-top:8px}.calendar-session-modal-head .calendar-session-meta em{color:#cbd5e1;font-size:.74rem}.calendar-session-modal-close{background:#ffffff1f;color:#fff;border:0;border-radius:8px;width:32px;height:32px;font-size:1.2rem;line-height:1;cursor:pointer;flex-shrink:0}.calendar-session-modal-close:hover{background:#ffffff38;transform:none}.calendar-session-modal-body{padding:18px 20px 24px;display:flex;flex-direction:column;gap:14px}@media(max-width:760px){.calendar-session-modal-overlay{padding:0;align-items:flex-end}.calendar-session-modal{width:100%;max-height:92vh;border-radius:16px 16px 0 0}}@media(max-width:760px){.phase-calendar-grid{grid-template-columns:1fr}.phase-calendar-day-head .day-full{display:inline}.phase-calendar-day-head .day-short{display:none}.workload-summary-block{padding-left:0;border-left:none;border-top:1px solid #e5e8ed;padding-top:12px}.help-bot-widget{right:16px;bottom:16px}.day-header h2{font-size:1.1rem}.athlete-block-section{padding:16px}.block-title{font-size:.95rem}.exercise-card{padding:14px}.exercise-metrics{grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}.metric span{font-size:.65rem}.metric strong{font-size:.9rem}}@media print{.sidebar,.page-header .header-actions{display:none}.app-shell,.content{display:block;padding:0}body,.content{background:#fff}}.portal-shell{min-height:100vh;background:var(--athlete-bg);color:var(--athlete-text-primary);display:flex;flex-direction:column}.portal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--athlete-surface-1);border-bottom:1px solid var(--athlete-border);position:sticky;top:0;z-index:10}.portal-brand{display:flex;align-items:center;gap:12px}.portal-brand-mono{width:36px;height:36px;background:var(--athlete-accent);color:#111827;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;letter-spacing:.05em}.portal-brand strong{display:block;font-size:.9rem;color:var(--athlete-text-primary)}.portal-brand span{display:block;font-size:.75rem;color:var(--athlete-text-secondary)}.portal-brand-coach{display:block;font-size:.72rem;color:var(--athlete-text-secondary);opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.portal-athlete-name{font-size:.9rem;color:var(--athlete-text-secondary);font-weight:500}.portal-content{max-width:780px;margin:0 auto;width:100%;padding:32px 20px 60px;display:flex;flex-direction:column;gap:32px}.portal-hero{text-align:center;padding:24px 0 8px}.portal-hero h1{font-size:2rem;font-weight:700;margin:0 0 8px;color:var(--athlete-text-primary)}.portal-meta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.portal-meta span{font-size:.85rem;color:var(--athlete-text-secondary);background:var(--athlete-surface-2);padding:4px 10px;border-radius:20px;border:1px solid var(--athlete-border)}.portal-plan{display:flex;flex-direction:column;gap:16px}.portal-plan-header{border-bottom:1px solid var(--athlete-border);padding-bottom:12px}.portal-plan-header h2{margin:0 0 6px;font-size:1.3rem;color:var(--athlete-accent)}.portal-plan-meta{display:flex;gap:10px;flex-wrap:wrap}.portal-plan-meta span{font-size:.8rem;color:var(--athlete-text-secondary)}.portal-phases{display:flex;flex-direction:column;gap:12px}.portal-phase{background:var(--athlete-surface-1);border:1px solid var(--athlete-border);border-radius:10px;overflow:hidden}.portal-phase-summary{padding:14px 18px;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;list-style:none;user-select:none}.portal-phase-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.portal-phase-title strong{font-size:1rem;color:var(--athlete-text-primary)}.portal-badge{font-size:.7rem;padding:2px 7px;border-radius:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.portal-badge.taper{background:#3b82f6;color:#fff}.portal-badge.deload{background:#6366f1;color:#fff}.portal-phase-meta{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}.portal-phase-meta span{font-size:.75rem;color:var(--athlete-text-secondary)}.portal-phase-body{padding:0 18px 18px;display:flex;flex-direction:column;gap:16px}.portal-rationale{font-size:.85rem;color:var(--athlete-text-secondary);margin:0;line-height:1.5;border-left:2px solid var(--athlete-border);padding-left:12px}.portal-session{background:var(--athlete-surface-2);border:1px solid var(--athlete-border);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:12px}.portal-session-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap}.portal-session-header h3{margin:0;font-size:.95rem;color:var(--athlete-accent)}.portal-session-emphasis{font-size:.75rem;color:var(--athlete-text-secondary)}.portal-block h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;color:var(--athlete-text-secondary);margin:0 0 8px}.portal-block ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.portal-block li{font-size:.875rem;color:var(--athlete-text-primary);line-height:1.4}.portal-exercise{padding:8px 0;border-bottom:1px solid var(--athlete-border);display:flex;flex-direction:column;gap:4px}.portal-exercise-name{font-size:.9rem;font-weight:600;color:var(--athlete-text-primary)}.portal-exercise-details{display:flex;gap:10px;flex-wrap:wrap}.portal-exercise-details span{font-size:.78rem;color:var(--athlete-accent-muted);background:#ffffff0d;padding:2px 7px;border-radius:4px}.portal-exercise-cue{font-size:.78rem;color:var(--athlete-text-secondary);font-style:italic;line-height:1.4}.portal-empty{color:var(--athlete-text-secondary);font-size:.9rem;text-align:center;padding:24px 0}.portal-empty-sessions{color:var(--athlete-text-secondary);font-size:.85rem}.portal-footer{text-align:center;padding:24px 0;border-top:1px solid var(--athlete-border);margin-top:16px}.portal-footer p{margin:4px 0;font-size:.82rem;color:var(--athlete-text-secondary)}.portal-powered{opacity:.5;font-size:.72rem!important}.portal-error-screen{min-height:100vh;background:var(--athlete-bg);display:flex;align-items:center;justify-content:center;padding:24px}.portal-error-card{background:var(--athlete-surface-1);border:1px solid var(--athlete-border);border-radius:12px;padding:40px 32px;text-align:center;max-width:400px;color:var(--athlete-text-primary)}.portal-error-card h2{margin:12px 0 8px}.portal-error-card p{color:var(--athlete-text-secondary);font-size:.9rem}.admin-nav-btn{width:100%;margin-top:8px;font-size:.8rem;opacity:.7}.admin-nav-btn:hover{opacity:1}.admin-auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f4f6f9;padding:24px}.admin-auth-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:40px 32px;max-width:380px;width:100%;display:flex;flex-direction:column;gap:16px}.admin-icon{font-size:2rem;text-align:center}.admin-auth-card h2{margin:0;text-align:center}.admin-auth-card p{margin:0;color:#6b7280;font-size:.9rem;text-align:center}.admin-auth-card label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:500;color:#374151}.admin-auth-card input{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;outline:none;width:100%;letter-spacing:.2em}.admin-auth-card input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126}.admin-auth-actions{display:flex;gap:10px;justify-content:flex-end}.admin-error{color:#dc2626;font-size:.85rem;margin:0}.admin-panel{padding:32px;max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.admin-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.admin-panel-header h1{margin:0 0 4px}.admin-panel-header p{margin:0;color:#6b7280;font-size:.9rem}.admin-panel-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:12px}.admin-card h3{margin:0;font-size:.95rem;color:#111827}.admin-card-wide{grid-column:1 / -1}.admin-duplicate-groups{display:flex;flex-direction:column;gap:10px}.admin-duplicate-group{border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.admin-duplicate-group-items{display:flex;flex-wrap:wrap;gap:6px}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;text-align:center}.admin-stats div{display:flex;flex-direction:column;gap:2px}.admin-stats strong{font-size:1.5rem;color:#111827}.admin-stats span{font-size:.78rem;color:#6b7280}.admin-athlete-list,.admin-plan-list{display:flex;flex-direction:column;gap:8px}.admin-athlete-row{display:flex;flex-direction:column;gap:6px;padding:10px;background:#f9fafb;border:1px solid #f3f4f6;border-radius:8px}.admin-athlete-info strong{font-size:.9rem}.admin-athlete-info span{font-size:.78rem;color:#6b7280;display:block}.admin-athlete-link-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-link-preview{font-size:.7rem;color:#6b7280;background:#f3f4f6;padding:3px 8px;border-radius:4px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-plan-row{display:flex;justify-content:space-between;font-size:.85rem;padding:6px 8px;background:#f9fafb;border-radius:6px}.admin-data-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-empty{color:#9ca3af;font-size:.85rem;margin:0}.admin-hint{color:#667085;font-size:.82rem;margin:-4px 0 8px}.link-button{background:none;border:none;padding:0;font:inherit;color:var(--accent, #6366f1);cursor:pointer;text-decoration:underline;font-size:.9rem}@media(max-width:700px){.admin-grid{grid-template-columns:1fr}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-card-wide{grid-column:1}.portal-content{padding:20px 14px 40px}.portal-hero h1{font-size:1.4rem}}.training-screen{display:flex;flex-direction:column;gap:0}.training-layout{display:grid;grid-template-columns:320px 1fr;gap:20px;align-items:start}.stopwatch-panel{display:flex;flex-direction:column;gap:16px;text-align:center}.stopwatch-display{font-size:4rem;font-weight:900;letter-spacing:.06em;color:#0f172a;font-variant-numeric:tabular-nums;font-family:ui-monospace,Cascadia Code,monospace;padding:20px 0 12px;line-height:1}.stopwatch-controls{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.stopwatch-controls button{flex:1;min-width:80px;max-width:120px}.interval-panel{display:flex;flex-direction:column;gap:16px}.interval-add-form{display:flex;flex-direction:column;gap:10px}.interval-form-grid{grid-template-columns:1fr 180px}.duration-inputs{display:flex;align-items:center;gap:4px;margin-top:4px}.duration-sep{font-weight:700;color:#64748b}.interval-list{display:flex;flex-direction:column;gap:8px}.interval-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;transition:background .15s,border-color .15s}.interval-row.active{background:#eff6ff;border-color:#3b82f6}.interval-row.done{background:#f0fdf4;border-color:#86efac;opacity:.75}.interval-info{flex:1;min-width:0}.interval-name{font-weight:800;color:#1e293b;font-size:.92rem;display:block}.interval-target{font-size:.78rem;color:#64748b;font-weight:600}.interval-countdown{font-size:1.5rem;font-weight:900;font-variant-numeric:tabular-nums;font-family:ui-monospace,Cascadia Code,monospace;color:#1d4ed8;min-width:70px;text-align:right}.interval-actions{display:flex;gap:6px;flex-shrink:0}.interval-actions button.small{padding:4px 10px;font-size:.78rem}.badge-done{display:inline-block;background:#dcfce7;color:#166534;border-radius:20px;padding:3px 10px;font-size:.75rem;font-weight:800}@media(max-width:860px){.training-layout{grid-template-columns:1fr}.stopwatch-display{font-size:3rem}}.annual-plan-panel{display:flex;flex-direction:column;gap:20px}.annual-plan-grid{display:flex;flex-direction:column;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.annual-plan-months{display:grid;grid-template-columns:repeat(12,1fr);min-width:600px}.annual-plan-month{text-align:center;font-size:.72rem;font-weight:850;text-transform:uppercase;color:#64748b;letter-spacing:.06em;padding:4px 2px;border-right:1px solid #e2e8f0}.annual-plan-month:last-child{border-right:none}.annual-plan-phases{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;min-width:600px}.annual-plan-phase-bar{border-radius:6px;padding:6px 8px;min-height:32px;display:flex;align-items:center;overflow:hidden}.annual-plan-phase-label{color:#fff;font-size:.75rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.annual-plan-legend{display:flex;flex-direction:column;gap:8px}.annual-plan-legend-item{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.85rem}.annual-plan-legend-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.annual-plan-legend-months{font-weight:700;color:#475569}.annual-plan-legend-focus{background:#f1f5f9;border-radius:4px;padding:1px 6px;font-size:.75rem;color:#475569;font-weight:700}.annual-plan-legend-notes{color:#64748b;font-style:italic;font-size:.8rem}.annual-plan-legend-item .small{padding:2px 8px;font-size:.75rem}.annual-plan-form-wrap{border-top:1px solid #e2e8f0;padding-top:16px}.annual-plan-form-wrap h3{margin:0 0 12px;font-size:.95rem;color:#334155}.annual-plan-form{display:flex;flex-direction:column;gap:12px}.athlete-profile-header{display:flex;align-items:center;gap:16px;padding:16px 20px;margin-bottom:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.athlete-avatar{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;flex-shrink:0;color:#fff;font-weight:800;font-size:1.2rem}.athlete-profile-header-info{display:flex;flex-direction:column;gap:8px;min-width:0}.athlete-profile-header-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.status-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:100px;font-size:.78rem;font-weight:700;border:1px solid}.status-chip .pulse-dot{width:8px;height:8px;margin-left:0}.athlete-quick-stats{display:flex;gap:18px;flex-wrap:wrap;font-size:.82rem;color:var(--px-ink-soft)}.athlete-quick-stats strong{color:var(--ink);font-size:.95rem}.athlete-tab-bar{display:flex;gap:4px;flex-wrap:wrap;padding:0 0 0 2px;margin-bottom:20px;border-bottom:2px solid var(--border)}.athlete-tab-btn{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:8px 16px;font-size:.85rem;font-weight:750;color:#64748b;cursor:pointer;border-radius:6px 6px 0 0;transition:color .12s,border-color .12s}.athlete-tab-btn:hover{color:var(--ink);background:var(--surface-2)}.athlete-tab-signout{margin-left:auto;color:#9ca3af;border-bottom-color:transparent!important;font-size:.78rem}.athlete-tab-signout:hover{color:#dc2626;background:#fef2f2}.athlete-tab-btn.active{color:var(--ink);border-bottom-color:var(--brand);font-weight:900}.athlete-tab-content{min-height:300px}.profile-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.profile-single-col{display:flex;flex-direction:column;gap:16px}.detail-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.notes-row strong{white-space:pre-wrap;word-break:break-word;font-weight:600;color:#475569}@media(max-width:760px){.profile-overview-grid,.detail-cols{grid-template-columns:1fr}.athlete-tab-btn{padding:6px 10px;font-size:.8rem;flex-shrink:0}.athlete-tab-bar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.athlete-profile-header{padding:12px 14px;gap:12px}.athlete-avatar{width:46px;height:46px;font-size:1rem}.athlete-quick-stats{gap:12px;font-size:.78rem}}.wellness-panel{display:flex;flex-direction:column;gap:20px}.wellness-form{display:flex;flex-direction:column;gap:14px}.wellness-form-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.wellness-scale-row{display:flex;align-items:center;gap:4px;margin-top:6px;flex-wrap:wrap}.wellness-scale-option{display:contents}.wellness-scale-option input[type=radio]{display:none}.wellness-scale-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;border:2px solid #e2e8f0;background:#f8fafc;color:#475569;font-weight:800;font-size:.9rem;cursor:pointer;transition:background .12s,border-color .12s,color .12s;user-select:none}.wellness-scale-option input[type=radio]:checked+.wellness-scale-btn{background:#6366f1;border-color:#6366f1;color:#fff}.wellness-scale-option:hover .wellness-scale-btn{border-color:#6366f1;background:#eef2ff;color:#4338ca}.wellness-scale-hint{display:flex;justify-content:space-between;width:100%;margin-top:4px;color:#94a3b8;font-size:.68rem;font-weight:600}.wellness-chart-wrap{max-width:560px}.wellness-trends-heading{margin:16px 0 8px;color:#172033;font-size:.92rem;font-weight:700}.wellness-trend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:12px}.wellness-trend-grid .progress-chart{min-height:170px}.wellness-trend-canvas{width:100%!important;max-height:120px}.wellness-table th,.wellness-table td{white-space:nowrap}.wellness-status-badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:.75rem;font-weight:800;letter-spacing:.04em}.wellness-ready{background:#dcfce7;color:#166534}.wellness-monitor{background:#fef9c3;color:#854d0e}.wellness-recover{background:#fee2e2;color:#991b1b}.readiness-card .panel-sub{font-size:.75rem;color:#6b7280;margin-left:8px}.readiness-status-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.readiness-badge-lg{font-size:.85rem!important;padding:4px 14px!important}.readiness-metric-chip{background:#f3f4f6;border-radius:12px;padding:3px 10px;font-size:.76rem;color:#374151}.readiness-rec{margin-top:12px;padding:10px 14px;border-radius:8px;font-size:.82rem;line-height:1.5}.rec-ready{background:#f0fdf4;border-left:3px solid #22c55e;color:#15803d}.rec-monitor{background:#fefce8;border-left:3px solid #eab308;color:#854d0e}.rec-caution{background:#fff7ed;border-left:3px solid #f97316;color:#c2410c}.rec-recover{background:#fef2f2;border-left:3px solid #ef4444;color:#991b1b}.readiness-empty{font-size:.82rem;color:#6b7280;margin:8px 0 12px}.readiness-quick-form{margin-top:4px}.readiness-sliders{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.readiness-slider-row{background:#f9fafb;border-radius:8px;padding:10px 12px}.readiness-slider-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.readiness-slider-label{font-size:.8rem;font-weight:700;color:#374151}.readiness-scale-ends{font-size:.68rem;color:#9ca3af}.wellness-scale-row.compact{gap:6px}.wellness-scale-row.compact .scale-dot{width:30px;height:30px;font-size:.78rem}.section-divider{border:none;border-top:1px solid #e2e8f0;margin:4px 0}.body-map-wellness{display:flex;flex-direction:column;gap:12px}.body-map-wellness .athlete-map-layout{align-items:flex-start}.body-map-wellness-side{flex:1;min-width:240px;display:flex;flex-direction:column;gap:14px}.body-map-report-form{display:flex;flex-direction:column;gap:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px}.body-map-report-form .wellness-scale-row{flex-wrap:nowrap}.body-map-type-option{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:2px solid #e2e8f0;border-radius:8px;padding:10px 12px;font-size:.8rem;font-weight:700;color:#475569;cursor:pointer;text-align:center;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.body-map-type-option input[type=radio]{accent-color:#6366f1;width:15px;height:15px;margin:0;flex-shrink:0}.body-map-type-option:has(input:checked){background:#eef2ff;border-color:#6366f1;color:#4338ca}.body-map-report-list{display:flex;flex-direction:column;gap:8px}.body-map-report-item{position:relative;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px 32px 8px 12px;font-size:.82rem;color:#1f2937;line-height:1.4}.body-map-report-item p{margin:4px 0 0;color:#6b7280;font-size:.78rem}.body-map-report-item .danger-button{position:absolute;top:6px;right:6px}.body-map-report-date{color:#94a3b8;font-size:.74rem;margin-left:6px}.body-map-report-badge{display:inline-block;padding:1px 8px;border-radius:20px;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-right:6px}.body-map-report-badge.am-report-injury{background:#fee2e2;color:#991b1b}.body-map-report-badge.am-report-soreness{background:#fef3c7;color:#92400e}.pub-site{min-height:100vh;display:flex;flex-direction:column;background:#0b0d10;color:#f5f2ea;font-family:inherit}.pub-header{display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:64px;background:#111318;border-bottom:1px solid #242931;position:sticky;top:0;z-index:100}.pub-brand{display:flex;align-items:center;gap:12px}.pub-brand strong{font-size:1rem;color:#f5f2ea}.pub-brand small{display:block;font-size:.72rem;color:#9ca3af}.pub-monogram{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#c9b79c,#8a6e50);color:#0b0d10;font-weight:800;font-size:1rem;display:flex;align-items:center;justify-content:center}.pub-nav{display:flex;align-items:center;gap:4px}.pub-nav-btn{background:none;border:none;color:#9ca3af;padding:8px 14px;border-radius:8px;font-size:.875rem;cursor:pointer;transition:background .15s,color .15s}.pub-nav-btn:hover{background:#1e2330;color:#f5f2ea}.pub-nav-btn.active{color:#f5f2ea;background:#1e2330}.pub-login-btn{background:#c9b79c;border:none;color:#0b0d10;padding:8px 18px;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s;margin-left:8px}.pub-login-btn:hover,.pub-login-btn.active{background:#b5a18b}.lang-switcher{display:flex;gap:4px;margin-left:8px}.lang-switch-btn{padding:4px 9px;border-radius:6px;border:1px solid rgba(255,255,255,.18);background:transparent;font-size:.7rem;font-weight:700;letter-spacing:.04em;cursor:pointer;color:#fff9;transition:background .15s,color .15s,border-color .15s}.lang-switch-btn:hover{color:#fff}.lang-switch-btn.active{background:#ffffff29;color:#fff;border-color:#ffffff59}.pub-main{flex:1}.pub-footer{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;background:#111318;border-top:1px solid #242931;font-size:.8rem;color:#6b7280;gap:20px}.pub-footer--rich{flex-wrap:wrap}.pub-footer-brand{display:flex;align-items:center;gap:10px}.pub-monogram--sm{width:30px;height:30px;border-radius:7px;font-size:.85rem}.pub-footer-brand strong{display:block;font-size:.875rem;color:#d1d5db;font-weight:700;line-height:1.2}.pub-footer-brand small{display:block;font-size:.7rem;color:#4b5563;line-height:1.3}.pub-footer-links{display:flex;gap:16px;flex-wrap:wrap}.pub-footer-links button{background:none;border:none;color:#6b7280;cursor:pointer;font-size:.8rem;padding:0}.pub-footer-links button:hover{color:#c9b79c;text-decoration:underline}.pub-footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.pub-footer-ai-badge{font-size:.72rem;color:#4b5563;background:#ffffff0a;border:1px solid #1e2330;border-radius:100px;padding:3px 10px;font-weight:500}.pub-footer-copy{font-size:.72rem;color:#374151}.pub-hero{display:flex;align-items:center;justify-content:center;min-height:520px;background:radial-gradient(ellipse 80% 60% at 50% 0%,#1e2230,#0b0d10 70%);padding:90px 32px 70px;text-align:center;border-bottom:1px solid #1e2330}.pub-hero-inner{max-width:780px;width:100%}.pub-hero-eyebrow{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#4ade80;margin:0 0 20px;font-weight:600}.pub-hero-title{font-size:clamp(2rem,5vw,3.6rem);font-weight:800;letter-spacing:-.025em;line-height:1.1;margin:0 0 22px;background:linear-gradient(135deg,#f5f2ea 40%,#c9b79c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.pub-hero-sub{font-size:1.05rem;color:#9ca3af;line-height:1.6;max-width:560px;margin:0 auto 36px}.pub-hero-cta{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.pub-hero-cta--center{justify-content:center}.pub-hero-stats{display:flex;align-items:center;justify-content:center;gap:0;margin-top:52px;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:20px 32px;flex-wrap:wrap}.pub-hero-stat{display:flex;flex-direction:column;align-items:center;padding:0 28px;gap:4px}.pub-hero-stat-num{font-size:1.6rem;font-weight:800;color:#c9b79c;letter-spacing:-.02em;line-height:1}.pub-hero-stat-label{font-size:.72rem;color:#6b7280;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.pub-hero-stat-divider{width:1px;height:36px;background:#ffffff14;flex-shrink:0}.pub-cta-text-link{background:none;border:none;color:#9ca3af;font-size:.9rem;font-weight:500;cursor:pointer;padding:0;transition:color .15s}.pub-cta-text-link:hover{color:#f5f2ea}.pub-cta-btn{background:#1a5c42;color:#fff;border:none;padding:14px 28px;border-radius:10px;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;box-shadow:0 0 #4ade8000}.pub-cta-btn:hover{background:#145038;transform:translateY(-1px);box-shadow:0 4px 20px #1a5c4266}.pub-cta-outline{background:transparent;color:#f5f2ea;border:1.5px solid #374151;padding:14px 28px;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s,transform .1s}.pub-cta-outline:hover{border-color:#4ade80;color:#4ade80;transform:translateY(-1px)}.pub-how{padding:80px 32px;background:#0e1016;border-top:1px solid #1e2330;border-bottom:1px solid #1e2330}.pub-how-inner{max-width:900px;margin:0 auto;text-align:center}.pub-section-title{font-size:1.7rem;font-weight:700;color:#f5f2ea;margin:0 0 52px}.pub-how-grid{display:flex;align-items:flex-start;justify-content:center;gap:0}.pub-how-step{flex:1;max-width:240px;padding:0 20px}.pub-how-num{font-size:.72rem;font-weight:800;letter-spacing:.1em;color:#4ade80;margin-bottom:14px;font-family:monospace}.pub-how-step h3{font-size:1.05rem;font-weight:700;color:#f5f2ea;margin:0 0 10px}.pub-how-step p{font-size:.865rem;color:#9ca3af;line-height:1.6;margin:0}.pub-how-arrow{font-size:1.4rem;color:#374151;padding-top:8px;flex-shrink:0;line-height:1;align-self:flex-start;margin-top:12px}.pub-features{padding:80px 32px;max-width:1100px;margin:0 auto}.pub-features h2{text-align:center;font-size:1.7rem;font-weight:700;margin:0 0 48px;color:#f5f2ea}.pub-features-main{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:20px}.pub-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px}.pub-feature-card{background:#111318;border:1px solid #242931;border-radius:14px;padding:28px 24px;transition:border-color .2s,background .2s,box-shadow .2s}.pub-feature-card:hover{border-color:#4ade80;background:#12161e;box-shadow:0 0 0 1px #4ade8026,0 4px 16px #0003}.pub-feature-icon{font-size:1.8rem;margin-bottom:12px}.pub-feature-icon-wrap{width:32px;height:32px;background:#4ade801a;border-radius:7px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;color:#4ade80;flex-shrink:0}.pub-feature-icon-wrap svg{width:15px;height:15px}.pub-feature-icon-wrap--lg{width:40px;height:40px;border-radius:10px;margin-bottom:18px}.pub-feature-icon-wrap--lg svg{width:20px;height:20px}.pub-feature-card h3{font-size:1rem;font-weight:700;color:#f5f2ea;margin:0 0 10px}.pub-feature-card p{font-size:.875rem;color:#9ca3af;line-height:1.6;margin:0}.pub-features-minor{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:4px}.pub-minor-pill{display:flex;align-items:center;gap:8px;background:#ffffff0a;border:1px solid #242931;border-radius:100px;padding:9px 20px;font-size:.85rem;color:#9ca3af;font-weight:500}.pub-minor-pill svg{width:13px;height:13px;color:#4ade80;flex-shrink:0}.pub-sports{padding:0 32px 80px;text-align:center}.pub-sports-panel{max-width:1100px;margin:0 auto;background:#0e1016;border:1px solid #1e2330;border-radius:16px;padding:40px 32px}.pub-sports h2{font-size:1.1rem;font-weight:700;margin:0 0 24px;color:#9ca3af;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.pub-sports-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.pub-sport-pill{background:#1a5c421a;border:1px solid rgba(74,222,128,.2);color:#4ade80;border-radius:100px;padding:9px 22px;font-size:.875rem;font-weight:600}.goals-list{display:flex;flex-direction:column;gap:12px}.goal-item{border:1px solid var(--border);border-radius:10px;padding:14px 16px;background:var(--surface-2)}.goal-item--achieved{border-color:#22c55e40;background:#f0fdf4}[data-theme=dark] .goal-item--achieved{background:#22c55e0f}.goal-item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.goal-item-actions{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap}.goal-title{font-size:.95rem;font-weight:700;color:var(--ink);display:block}.goal-metric{font-size:.78rem;color:var(--ink-muted);margin-left:6px}.goal-progress-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.goal-progress-bar{flex:1;height:8px;background:var(--border);border-radius:100px;overflow:hidden}.goal-progress-fill{height:100%;border-radius:100px;background:var(--brand);transition:width .3s}.goal-progress-fill--near{background:#f59e0b}.goal-progress-fill--achieved{background:#22c55e}.goal-pct{font-size:.75rem;font-weight:700;color:var(--ink-muted);white-space:nowrap;min-width:36px;text-align:right}.goal-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:.78rem;color:var(--ink-muted)}.goal-deadline{color:var(--ink-muted)}.goal-overdue{color:#ef4444;font-weight:600}.goal-achieved-badge{color:#16a34a;font-weight:700}.goal-notes{font-size:.8rem;color:var(--ink-soft);margin:6px 0 0}.habits-list{display:flex;flex-direction:column;gap:12px}.habit-item{border:1px solid var(--border);border-radius:10px;padding:14px 16px;background:var(--surface-2)}.habit-item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.habit-freq{display:block;font-size:.75rem;color:var(--ink-muted);margin-top:2px}.habits-portal-list{display:flex;flex-direction:column;gap:12px}.habit-portal-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.habit-portal-row:last-child{border-bottom:none}.habit-portal-info{flex:1;min-width:0}.habit-portal-info strong{font-size:.9rem;color:var(--ink)}.habit-heatmap{display:flex;gap:3px}.habit-cell{width:14px;height:14px;border-radius:3px;background:var(--border);display:inline-block}.habit-cell--done{background:#22c55e}.habit-check-btn{background:var(--surface-2);border:1.5px solid var(--border);color:var(--ink-muted);border-radius:8px;padding:6px 14px;font-size:.82rem;font-weight:600;cursor:pointer;transition-property:border-color,color,background;transition-duration:.15s;transition-timing-function:ease-out;white-space:nowrap}.habit-check-btn:hover{border-color:#22c55e;color:#16a34a}.habit-check-btn--done{background:#dcfce7;border-color:#22c55e;color:#16a34a}[data-theme=dark] .habit-check-btn--done{background:#22c55e26}.forms-list{display:flex;flex-direction:column;gap:8px}.form-template-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.form-template-item:last-child{border-bottom:none}.form-template-item>span:first-child{flex:1;font-weight:600;font-size:.9rem;color:var(--ink)}.form-submissions-list{display:flex;flex-direction:column;gap:6px}.form-response-view{border:1px solid var(--border);border-radius:8px;padding:10px 14px}.form-response-view summary{font-size:.88rem;font-weight:600;cursor:pointer;color:var(--ink)}.form-response-answers{padding-top:10px;display:flex;flex-direction:column;gap:8px}.form-q-answer{display:flex;flex-direction:column;gap:2px}.form-q-text{font-size:.78rem;color:var(--ink-muted)}.form-q-answer strong{font-size:.88rem;color:var(--ink)}.form-question-row{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:6px}.pub-prefooter{padding:80px 32px;background:linear-gradient(180deg,#0b0d10,#0e1218);border-top:1px solid #1e2330;text-align:center}.pub-prefooter-inner{max-width:600px;margin:0 auto}.pub-prefooter h2{font-size:1.8rem;font-weight:800;color:#f5f2ea;margin:0 0 12px;letter-spacing:-.02em}.pub-prefooter p{color:#9ca3af;font-size:.95rem;margin:0 0 32px}.pub-prefooter-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.pub-pricing{padding:80px 32px;max-width:1100px;margin:0 auto}.pub-section-head{text-align:center;margin-bottom:48px}.pub-section-head h2{font-size:1.8rem;font-weight:700;color:#f5f2ea;margin:0 0 12px}.pub-section-head p{color:#9ca3af;font-size:.95rem;margin:0}.pub-pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;align-items:stretch}.pub-pricing-card{background:#111318;border:1.5px solid #242931;border-radius:16px;padding:32px 24px;display:flex;flex-direction:column;position:relative}.pub-pricing-card.highlight{border-color:#c9b79c;background:#14171c}.pub-pricing-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#c9b79c;color:#0b0d10;font-size:.72rem;font-weight:700;padding:4px 14px;border-radius:100px;letter-spacing:.05em;text-transform:uppercase}.pub-pricing-card h3{font-size:1.1rem;font-weight:700;color:#f5f2ea;margin:0 0 8px}.pub-pricing-price{font-size:1.6rem;font-weight:800;color:#c9b79c;margin:0 0 4px;font-variant-numeric:tabular-nums}.pub-pricing-limit{font-size:.8rem;color:#6b7280;margin-bottom:8px}.pub-pricing-ai-limit{font-size:.8rem;color:#c9b79c;font-weight:600;margin-bottom:24px}.pub-credit-grid{margin-top:24px}.pub-credit-card{text-align:center;align-items:center}.pub-credit-card .pub-pricing-limit{margin-bottom:0}.pub-pricing-features{list-style:none;padding:0;margin:0 0 auto;flex:1}.pub-pricing-features li{font-size:.875rem;color:#9ca3af;padding:6px 0;border-bottom:1px solid #1e2330}.pub-pricing-features li:before{content:"\2713   ";color:#c9b79c}.pub-pricing-cta{display:block;text-align:center;margin-top:28px;padding:12px 20px;border-radius:10px;font-size:.9rem;font-weight:600;background:#1e2330;color:#f5f2ea;border:1.5px solid #374151;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s}.pub-pricing-cta:hover{background:#2a3040;border-color:#4b5563}.pub-pricing-cta.primary{background:#c9b79c;color:#0b0d10;border-color:#c9b79c}.pub-pricing-cta.primary:hover{background:#b5a18b;border-color:#b5a18b}.pub-pricing-note{text-align:center;font-size:.8rem;color:#6b7280;margin-top:32px}.pub-pricing-note a{color:#c9b79c}.pub-currency-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:20px}.pub-currency-btn{background:transparent;border:1px solid #374151;color:#9ca3af;border-radius:8px;padding:6px 14px;font-size:.82rem;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s}.pub-currency-btn:hover{border-color:#4ade80;color:#4ade80}.pub-currency-btn.active{border-color:#22c55e;color:#4ade80;background:#4ade8014}.pub-billing-toggle{display:flex;gap:6px;justify-content:center;margin-top:16px;background:#ffffff0d;border:1px solid #374151;border-radius:10px;padding:4px;width:fit-content;margin-left:auto;margin-right:auto}.pub-billing-btn{background:transparent;border:none;color:#9ca3af;border-radius:8px;padding:7px 18px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.pub-billing-btn:hover{color:#e5e7eb}.pub-billing-btn.active{background:#22c55e;color:#fff}.pub-billing-badge{background:#4ade802e;color:#4ade80;border-radius:5px;padding:1px 6px;font-size:.72rem;font-weight:700;margin-left:5px}.pub-billing-btn.active .pub-billing-badge{background:#00000026;color:#fff}.pub-annual-save{background:#4ade8026;color:#4ade80;border-radius:6px;padding:3px 10px;font-size:.78rem;font-weight:700;text-align:center;margin-bottom:8px}.pub-price-original{text-decoration:line-through;color:#6b7280;font-size:.9rem;font-weight:400;margin-right:6px}.pub-pricing-sub{text-align:center;font-size:.78rem;color:#9ca3af;margin-top:2px;margin-bottom:8px}.pub-legal{max-width:760px;margin:0 auto;padding:60px 32px}.pub-legal h2{font-size:1.8rem;font-weight:700;color:#f5f2ea;margin:0 0 8px}.pub-legal-date{font-size:.8rem;color:#6b7280;margin:0 0 40px}.pub-legal h3{font-size:1rem;font-weight:700;color:#e7dcc8;margin:32px 0 8px}.pub-legal p{font-size:.875rem;color:#9ca3af;line-height:1.7;margin:0}.pub-legal a{color:#c9b79c}.pub-login{display:flex;align-items:center;justify-content:center;min-height:480px;padding:60px 32px}.pub-login-card{background:#111318;border:1px solid #242931;border-radius:16px;padding:40px 36px;width:100%;max-width:400px}.pub-login-card h2{font-size:1.4rem;font-weight:700;color:#f5f2ea;margin:0 0 8px}.pub-login-card p{font-size:.875rem;color:#9ca3af;margin:0 0 28px}.pub-login-card label{display:block;font-size:.8rem;font-weight:600;color:#d1d5db;margin-bottom:16px}.pub-login-card input{display:block;width:100%;margin-top:6px;padding:12px 14px;background:#181c22;border:1.5px solid #374151;border-radius:8px;color:#f5f2ea;font-size:1rem;font-family:inherit;outline:none}.pub-login-card input:focus{border-color:#c9b79c}.pub-login-error{color:#f87171;font-size:.8rem;margin:-8px 0 12px}.log-entry-form{margin-bottom:20px}.performance-panel{display:grid;gap:12px}.performance-panel .section-title{margin-bottom:0}.perf-log-list{display:grid;gap:8px}.perf-log-card{display:grid;grid-template-columns:96px minmax(0,1fr) minmax(90px,auto) 28px;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.perf-log-date{color:var(--ink-soft);font-size:.78rem;font-weight:800;white-space:nowrap}.perf-log-main{min-width:0}.perf-log-main strong,.perf-log-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.perf-log-main strong{color:var(--ink);font-size:.9rem}.perf-log-main span{color:var(--ink-muted);font-size:.76rem;margin-top:2px}.perf-log-result{color:var(--ink);font-size:.9rem;font-weight:900;text-align:right;white-space:nowrap}.perf-entry-panel{border-top:1px solid var(--border);padding-top:10px}.perf-entry-panel summary{color:var(--brand);cursor:pointer;font-size:.82rem;font-weight:900;list-style:none}.perf-entry-panel summary::-webkit-details-marker{display:none}.perf-entry-panel summary:before{content:"+";display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;margin-right:6px;border-radius:var(--radius-pill);background:var(--brand-soft);color:var(--brand)}.perf-entry-panel[open] summary{margin-bottom:12px}.performance-quick-form{margin-bottom:0}.performance-quick-form .form-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.performance-quick-form .form-actions{margin-top:10px}.log-table{width:100%;border-collapse:collapse;font-size:.85rem;margin-top:12px}.log-table th{text-align:left;padding:8px 10px;border-bottom:2px solid #e2e8f0;color:#64748b;font-weight:600}.log-table td{padding:8px 10px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.log-table tr:hover td{background:#f8fafc}.log-type-badge{display:inline-block;padding:2px 10px;border-radius:100px;font-size:.75rem;font-weight:600;background:#f1f5f9;color:#475569}.icon-btn{background:none;border:none;cursor:pointer;font-size:1.1rem;padding:2px 6px;border-radius:4px;color:#94a3b8}.icon-btn.danger:hover{background:#fee2e2;color:#dc2626}.section-badge{display:inline-block;padding:3px 10px;border-radius:100px;font-size:.75rem;font-weight:600;margin-left:12px}.portal-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:20px}.portal-info-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px 16px}.portal-info-icon{display:block;font-size:1.4rem;margin-bottom:6px}.portal-info-label{display:block;font-size:.72rem;color:#9ca3af;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.portal-info-val{display:block;font-size:1rem;font-weight:600;color:#111827}@media(max-width:640px){.perf-log-card{grid-template-columns:1fr auto;align-items:start}.perf-log-date,.perf-log-main{grid-column:1}.perf-log-result{grid-column:2;grid-row:1 / span 2}.perf-log-card .icon-btn{grid-column:2;grid-row:3;justify-self:end}}.reminder-banner{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#eff6ff,#e0f2fe);border:1px solid #bae6fd;border-radius:10px;padding:12px 16px;margin-bottom:16px}.reminder-banner-icon{font-size:1.3rem}.reminder-banner-text{flex:1;font-size:.88rem;color:#075985;font-weight:500}.install-banner{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#bbf7d0}.install-banner .reminder-banner-text{color:#166534}.messages-panel{display:flex;flex-direction:column}.message-thread{display:flex;flex-direction:column;gap:10px;max-height:460px;overflow-y:auto;padding:8px 4px;margin-bottom:12px}.message-bubble{max-width:78%;padding:9px 13px;border-radius:14px}.message-bubble--self{align-self:flex-end;background:#2563eb;color:#fff;border-bottom-right-radius:4px}.message-bubble--other{align-self:flex-start;background:#f1f5f9;color:#111827;border-bottom-left-radius:4px}.message-text{margin:0;font-size:.9rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.message-meta{display:block;font-size:.68rem;opacity:.75;margin-top:4px}.message-compose{display:flex;gap:8px;align-items:flex-end}.message-compose textarea{flex:1;resize:vertical;min-height:44px;border:1px solid #d1d5db;border-radius:10px;padding:10px 12px;font:inherit;font-size:.9rem}.broadcast-panel{margin-bottom:18px}.broadcast-panel form{display:flex;flex-direction:column;gap:10px}.broadcast-panel select{width:100%}.broadcast-panel textarea{width:100%;resize:vertical;min-height:70px;border:1px solid #d1d5db;border-radius:10px;padding:10px 12px;font:inherit;font-size:.9rem}.pr-board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-top:12px}.pr-board-card{position:relative;background:linear-gradient(135deg,#fffbeb,#fff7ed);border:1px solid #fde68a;border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.pr-board-card--new{border-color:#f59e0b;box-shadow:0 0 0 1px #f59e0b inset}.pr-board-icon{font-size:1.4rem}.pr-board-exercise{font-size:.82rem;font-weight:600;color:#92400e}.pr-board-weight{font-size:1.15rem;font-weight:800;color:#b45309}.pr-board-date{font-size:.72rem;color:#a16207}.pr-board-badge{position:absolute;top:8px;right:8px;background:#f59e0b;color:#fff;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 6px;border-radius:100px}.qw-widget{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px 18px;margin-bottom:16px}.qw-widget--done{background:#f0fdf4;border-color:#bbf7d0}.qw-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.qw-title{font-size:.88rem;font-weight:700;color:#0f172a}.qw-sub{font-size:.78rem;color:#94a3b8}.qw-update-btn{background:none;border:none;color:#16a34a;font-size:.78rem;font-weight:600;cursor:pointer;padding:2px 6px}.qw-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.qw-row-icon{font-size:1.1rem;width:22px;text-align:center;flex-shrink:0}.qw-row-label{font-size:.78rem;color:#64748b;width:70px;flex-shrink:0}.qw-btns{display:flex;gap:4px;flex:1}.qw-btn{flex:1;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;font-size:1.2rem;padding:5px 2px;cursor:pointer;transition-property:border-color,background,transform;transition-duration:.15s;transition-timing-function:ease-out;line-height:1}.qw-btn:hover{border-color:#94a3b8;background:#f1f5f9}.qw-btn--sel{background:#dcfce7;border-color:#16a34a;transform:scale(1.12)}.qw-save{margin-top:10px;width:100%}.qw-done-row{display:flex;gap:10px;flex-wrap:wrap}.qw-done-metric{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;min-width:50px}.qw-done-icon{font-size:1rem}.qw-done-label{font-size:.68rem;color:#64748b;text-align:center}.qw-done-emoji{font-size:1.3rem}.next-sess-card{background:linear-gradient(135deg,#0f172a,#1e3a5f);border-radius:14px;padding:18px 20px;margin-bottom:16px;display:flex;flex-direction:column;gap:10px}.next-sess-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.next-sess-badge{font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.06em}.next-sess-badge--today{background:#22c55e;color:#052e16}.next-sess-badge--tomorrow{background:#f59e0b;color:#1c0a00}.next-sess-title{font-size:1rem;font-weight:700;color:#f8fafc;flex:1}.next-sess-time{font-size:.8rem;color:#94a3b8}.next-sess-blocks{display:flex;gap:6px;flex-wrap:wrap}.next-sess-block{background:#ffffff14;color:#cbd5e1;font-size:.75rem;padding:3px 10px;border-radius:20px}.next-sess-actions{display:flex;gap:8px;flex-wrap:wrap}.a4w-widget{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px 18px;margin-bottom:16px}.a4w-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:8px}.a4w-title{font-size:.82rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.a4w-stats{display:flex;gap:14px}.a4w-stat{font-size:.85rem;color:#475569}.a4w-stat strong{color:#0f172a}.a4w-bars{display:flex;gap:10px;align-items:flex-end;height:56px}.a4w-bar-col{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.a4w-bar-bg{width:100%;max-width:40px;background:#f1f5f9;border-radius:4px;position:relative;display:flex;align-items:flex-end}.a4w-bar-fill{width:100%;border-radius:4px;transition:height .3s ease;min-height:3px}.a4w-bar-label{font-size:.68rem;color:#94a3b8;white-space:nowrap}.athlete-overview-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:18px}.aoh-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px;display:flex;flex-direction:column;gap:4px;color:#fff;background:linear-gradient(135deg,#1f2937,#111827);box-shadow:var(--shadow-sm)}.aoh-card.aoh-next{background:linear-gradient(135deg,#16a34a,#14532d)}.aoh-card.aoh-week{background:linear-gradient(135deg,#2563eb,#1e3a8a)}.aoh-card.aoh-phase{background:linear-gradient(135deg,#d97706,#78350f)}.aoh-card.aoh-acwr--optimal{background:linear-gradient(135deg,#16a34a,#14532d)}.aoh-card.aoh-acwr--caution{background:linear-gradient(135deg,#d97706,#78350f)}.aoh-card.aoh-acwr--high{background:linear-gradient(135deg,#dc2626,#7f1d1d)}.aoh-card.aoh-acwr--low{background:linear-gradient(135deg,#64748b,#334155)}.aoh-card.aoh-streak{background:linear-gradient(135deg,#ea580c,#7c2d12)}.aoh-card.aoh-empty{background:#f1f5f9;color:#6b7280}.aoh-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.85}.aoh-value{font-size:1.15rem;font-weight:800;line-height:1.25}.aoh-sub{font-size:.8rem;opacity:.9}.athlete-privacy-details{padding:14px 20px}.athlete-privacy-details summary{cursor:pointer;font-weight:700;color:#374151;font-size:.95rem}.athlete-privacy-details[open] summary{margin-bottom:8px}.athlete-day-block{margin-bottom:16px}.athlete-day-title{font-weight:700;font-size:.9rem;color:#1e3a5f;border-bottom:1px solid #e5e7eb;padding-bottom:6px;margin-bottom:8px}.athlete-ex-row{padding:8px 0;border-bottom:1px solid #f3f4f6}.athlete-ex-name{display:block;font-weight:600;color:#111827;font-size:.9rem}.athlete-ex-meta{display:block;font-size:.78rem;color:#6b7280;margin-top:2px}.athlete-ex-notes{display:block;font-size:.78rem;color:#4b5563;font-style:italic;margin-top:3px}.cal-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}.cal-nav{display:flex;align-items:center;gap:10px}.cal-grid{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.cal-header-row{display:grid;grid-template-columns:repeat(7,1fr);background:#f8fafc;border-bottom:1px solid #e5e7eb}.cal-header-cell{padding:8px 4px;text-align:center;font-size:.75rem;font-weight:700;color:#6b7280;text-transform:uppercase}.cal-week{display:grid;grid-template-columns:repeat(7,1fr)}.cal-week:not(:last-child){border-bottom:1px solid #e5e7eb}.cal-day{min-height:90px;padding:6px;border-right:1px solid #f3f4f6;background:#fff;cursor:pointer;transition:background .1s}.cal-day:last-child{border-right:none}.cal-day:hover{background:#f0f4ff}.cal-day-blank{background:#fafafa;border-right:1px solid #f3f4f6;min-height:90px}.cal-day-today{background:#eff6ff}.cal-day-today .cal-day-num{background:#1e3a5f;color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.cal-day-selected{background:#f0f4ff;outline:2px solid #1e3a5f}.cal-day-multi{background:#fef3c7;outline:2px solid #f59e0b}.cal-day-modal-open{background:#ede9fe;outline:2px solid #7c3aed}.cal-multiselect-banner{display:flex;align-items:center;gap:10px;background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;padding:8px 14px;margin-bottom:10px;font-weight:600;font-size:.88rem}.cal-pending-banner{display:flex;align-items:center;gap:10px;background:#ede9fe;border:1px solid #7c3aed;border-radius:8px;padding:10px 14px;margin-bottom:10px;font-size:.88rem}.badge-muted{display:inline-block;font-size:.75rem;background:#f1f5f9;color:#64748b;border-radius:4px;padding:1px 7px;font-weight:600}.badge-success{display:inline-block;font-size:.75rem;background:#dcfce7;color:#15803d;border-radius:4px;padding:1px 7px;font-weight:600}.cal-event-form-pending{border:2px solid #7c3aed}.cal-filter-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.cal-filter-chip{border:1px solid #cbd5e1;background:#fff;color:#475569;border-radius:999px;padding:5px 13px;font-size:.8rem;font-weight:600;cursor:pointer;transition-property:border-color,background,color;transition-duration:.12s;transition-timing-function:ease-out}.cal-filter-chip:hover{border-color:#94a3b8;background:#f8fafc}.cal-filter-chip.active{border-color:#4f46e5;background:#4f46e5;color:#fff}.cal-legend{display:flex;flex-wrap:wrap;gap:10px 14px;margin-bottom:14px;padding:8px 12px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px}.cal-legend-item{display:flex;align-items:center;gap:5px;font-size:.74rem;font-weight:600;color:#475569}.cal-legend-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.cal-day-modal-overlay{position:fixed;inset:0;background:#00000073;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center}.group-modal{width:min(900px,95vw)}.group-modal-body{max-height:75vh;overflow-y:auto}.onboarding-modal{width:min(480px,95vw)}.onboarding-progress{display:flex;gap:6px;justify-content:center;margin:16px 0}.onboarding-dot{width:8px;height:8px;border-radius:50%;background:#d8e0eb}.onboarding-dot.active{background:#3b82f6}.onboarding-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px}.onboarding-steps{display:grid;gap:14px;margin-top:14px}.onboarding-step{border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px}.onboarding-step strong{display:block;margin-bottom:4px;font-size:.92rem}.onboarding-step p{margin:0;font-size:.85rem;color:#475569}.cal-day-modal{background:#fff;border-radius:14px;box-shadow:0 8px 40px #0000002e;width:420px;max-width:95vw;max-height:85vh;overflow:auto}.cal-day-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 10px;border-bottom:1px solid #e5e7eb}.cal-day-modal-header .cal-event-del{background:none;border:none;color:#64748b;cursor:pointer;font-size:1.3rem}.cal-day-modal-header .cal-event-del:hover{color:#1e3a5f}.cal-day-modal-body{padding:16px 18px 18px}.cal-day-num{font-size:.82rem;font-weight:600;color:#374151;margin-bottom:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.cal-event-pill{background:#3b82f6;color:#fff;border-radius:6px;font-size:.68rem;font-weight:600;padding:3px 7px;margin-bottom:3px;display:flex;align-items:center;justify-content:space-between;gap:4px;line-height:1.3;box-shadow:0 1px 2px #0000001f}.cal-pill-dur{opacity:.8;font-size:.62rem}.cal-event-del{background:none;border:none;color:#fffc;cursor:pointer;font-size:.9rem;padding:0 2px;line-height:1}.cal-event-del:hover{color:#fff}.cal-att-btn{background:#fff3;border:none;color:#fff;font-size:.62rem;cursor:pointer;border-radius:3px;padding:2px 5px;white-space:nowrap}.cal-att-btn:hover{background:#ffffff59}.cal-att-yes{background:#fff6;font-weight:700}.cal-event-form-wrap{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:16px;margin-top:12px}.cal-event-form .form-input{height:36px;padding:0 10px;border:1px solid #e5e7eb;border-radius:6px;font-size:.85rem}.squad-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px 16px;min-width:200px;max-width:280px;display:flex;flex-direction:column;gap:4px}.phase-bar-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.phase-bar-pill{display:inline-flex;align-items:center;gap:6px;color:#fff;font-size:.78rem;font-weight:600;padding:5px 12px;border-radius:100px}.cal-comment-panel{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:16px;margin-top:12px}.cal-comment-textarea{width:100%;min-height:80px;border:1px solid #e5e7eb;border-radius:6px;padding:8px;font-size:.85rem;resize:vertical;box-sizing:border-box;margin-top:6px}.cal-chat-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:16px 18px;margin-top:18px}.quick-add-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px}.pub-magic-link-btn{background:none;border:none;color:#c9b79c;font-size:.8rem;cursor:pointer;text-decoration:underline;padding:0}.pub-magic-link-btn:hover{color:#f5f2ea}.pub-auth-tabs{display:flex;border-bottom:1px solid #242931;margin-bottom:20px}.pub-auth-tab{flex:1;background:none;border:none;color:#6b7280;padding:10px;font-size:.875rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.pub-auth-tab.active{color:#c9b79c;border-bottom-color:#c9b79c}.pub-auth-tab:hover{color:#f5f2ea}.pub-login-actions{display:flex;gap:10px;margin-top:20px}.pub-login-actions .primary-button,.pub-login-actions .secondary-button{flex:1}@media(max-width:640px){.pub-header{padding:0 16px}.pub-nav{gap:2px}.pub-nav-btn{padding:6px 10px;font-size:.8rem}.pub-login-btn{padding:6px 12px;font-size:.8rem;margin-left:4px}.pub-hero{padding:60px 20px 48px}.pub-pricing{padding:48px 20px}.pub-legal{padding:40px 20px}.pub-login-card{padding:28px 20px}}.athlete-map-panel{background:linear-gradient(155deg,#0b1320,#0f1d2e 55%,#122435);border:1px solid #1e3348;color:#cbd5e1;position:relative;overflow:hidden}.athlete-map-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0%,transparent 42%,rgba(56,189,248,.07) 50%,transparent 58%,transparent 100%);background-size:280% 100%;animation:amSheen 9s linear infinite;pointer-events:none}@keyframes amSheen{0%{background-position:120% 0}to{background-position:-160% 0}}.athlete-map-panel .section-title h2{color:#f1f5f9;display:flex;align-items:center;gap:10px}.athlete-map-badge{font-size:.6rem;letter-spacing:.22em;font-weight:700;color:#7dd3fc;background:#38bdf81f;border:1px solid rgba(56,189,248,.35);border-radius:5px;padding:3px 8px}.athlete-map-sub{font-size:.76rem;color:#64748b}.athlete-map-layout{display:flex;gap:28px;flex-wrap:wrap;position:relative;z-index:1}.athlete-map-stage{position:relative;display:flex;gap:14px;flex:1;min-width:300px;justify-content:center}.athlete-map-figure{margin:0;text-align:center;flex:1;max-width:220px}.athlete-map-figure figcaption{font-size:.64rem;letter-spacing:.3em;color:#475569;margin-top:6px;font-weight:700}.athlete-map-svg{width:100%;height:auto;display:block}.am-silhouette{fill:#16202e;stroke:#27425c;stroke-width:1.5}.am-muscle{stroke:#080f198c;stroke-width:1;cursor:pointer;opacity:.92;transition:filter .18s ease,opacity .18s ease}.am-muscle:hover{opacity:1;filter:drop-shadow(0 0 8px var(--am-glow, #38bdf8)) brightness(1.4)}.athlete-map-tooltip{position:absolute;z-index:6;left:0;top:0;background:#0b1726f5;border:1px solid #2c4a66;border-radius:10px;padding:10px 13px;font-size:.78rem;color:#e2e8f0;pointer-events:none;min-width:170px;max-width:240px;box-shadow:0 10px 28px #00000080}.athlete-map-tooltip strong{display:block;color:#7dd3fc;font-size:.8rem;margin-bottom:3px}.athlete-map-tooltip .am-tt-sets{color:#fbbf24;font-weight:700}.athlete-map-tooltip .am-tt-none{color:#64748b}.athlete-map-tooltip ul{margin:7px 0 0;padding-left:15px;color:#94a3b8}.athlete-map-tooltip li{margin-bottom:2px}.athlete-map-side{width:250px;min-width:220px;display:flex;flex-direction:column;gap:16px}.am-side-heading{display:block;font-size:.7rem;letter-spacing:.18em;color:#7dd3fc;text-transform:uppercase;margin-bottom:8px}.am-scale-bar{height:10px;border-radius:6px;background:linear-gradient(90deg,#243447,#12e29d,#6dec13,#edb91d,#ee4b2b)}.am-scale-labels{display:flex;justify-content:space-between;font-size:.66rem;color:#64748b;margin-top:4px}.am-top-row{display:flex;align-items:center;gap:8px;font-size:.74rem;margin-bottom:7px}.am-top-label{width:108px;color:#94a3b8;line-height:1.15}.am-bar-track{flex:1;height:7px;border-radius:4px;background:#1c2c3f;overflow:hidden;display:block}.am-bar-fill{height:100%;border-radius:4px;display:block}.am-top-sets{width:26px;text-align:right;color:#e2e8f0;font-weight:700}.am-empty-hint{font-size:.8rem;color:#7c8ea3;background:#13243580;padding:12px 14px;border-radius:8px;border:1px dashed #28435d;line-height:1.45}.am-meta{font-size:.7rem;color:#475569}@media(max-width:760px){.athlete-map-side{width:100%}.athlete-map-stage{min-width:100%}}.athlete-map-stage--boxed{background:linear-gradient(155deg,#0b1320,#122435);border:1px solid #1e3348;border-radius:12px;padding:14px 10px 10px}.athlete-map-stage--compact{max-width:320px;min-width:240px}.athlete-map-stage--compact .athlete-map-figure{max-width:130px}.athlete-map-stage--compact .athlete-map-figure figcaption{font-size:.56rem}.session-coverage{margin:12px 0 16px}.session-coverage-head{display:flex;gap:10px;align-items:baseline;margin-bottom:8px;flex-wrap:wrap}.session-coverage-head strong{font-size:.85rem;color:#1e293b}.session-coverage-head span{font-size:.72rem;color:#94a3b8}.px-reason-tag{display:block;margin-top:3px;font-size:.68rem;font-weight:400;font-style:italic;color:var(--px-cyan, #06b6d4);opacity:.85}.phase-coverage-head strong{font-size:.75rem;color:var(--px-cyan, #06b6d4);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.phase-coverage-map{margin:0 0 20px;padding:16px;background:var(--px-navy-950, #0a1628);border-radius:10px}.phase-coverage-head{display:flex;gap:10px;align-items:baseline;margin-bottom:12px;flex-wrap:wrap}.phase-coverage-head strong{font-size:.85rem;color:var(--px-cyan, #06b6d4);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.phase-coverage-head span{font-size:.72rem;color:#64748b}.am-pain{stroke:#ef4444!important;stroke-width:2.5!important;animation:amPainPulse 1.6s ease-in-out infinite}@keyframes amPainPulse{0%,to{stroke-opacity:.35}50%{stroke-opacity:1}}.am-selected{stroke:#38bdf8!important;stroke-width:3!important;filter:drop-shadow(0 0 7px #38bdf8)}.am-pain-note{font-size:.72rem;color:#fca5a5;background:#7f1d1d40;border:1px solid rgba(239,68,68,.35);border-radius:8px;padding:8px 10px;line-height:1.4}.am-soreness{stroke:#f59e0b!important;stroke-width:2.5!important}.am-soreness-note{color:#fcd34d;background:#78350f40;border:1px solid rgba(245,158,11,.35)}.athlete-map-tooltip .am-tt-pain{display:block;color:#f87171;font-weight:700;margin-bottom:2px}.body-map-panel .athlete-map-stage--boxed{margin-bottom:12px}.pub-hero-split{display:flex;align-items:center;gap:48px;justify-content:space-between}.pub-hero-text{flex:1;min-width:0}.pub-hero-split .pub-hero-text{text-align:left}.pub-hero-split .pub-hero-cta{justify-content:flex-start}.pub-hero-figure{display:flex;gap:12px;width:280px;flex-shrink:0;pointer-events:none}.pub-hero-figure .athlete-map-figure{flex:1;max-width:135px;margin:0}.pub-hero-figure .athlete-map-svg{width:100%;height:auto}.pub-hero-figure .am-silhouette{fill:#0e1826cc;stroke:#38bdf840}.pub-hero-figure figcaption{display:none}.pub-hero-chart{position:relative;width:280px;height:200px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:16px;flex-shrink:0}.pub-hero-bars{display:flex;align-items:flex-end;gap:8px;width:100%;height:140px}.pub-hero-bar{flex:1;border-radius:3px 3px 0 0;background:#4ade802e;transition:background .2s}.pub-hero-bar:nth-child(6){background:#4ade806b}.pub-hero-chart-label{font-size:8px;font-family:monospace;color:#ffffff26;letter-spacing:1.5px;text-transform:uppercase;margin:8px 0 0;position:absolute;bottom:12px}.am-demo{animation:amHeroBreath 3.8s ease-in-out infinite;opacity:.3}@keyframes amHeroBreath{0%,to{opacity:.22}50%{opacity:.95}}@media(max-width:860px){.pub-hero-figure{display:none}}:root{--px-navy-950: #0a1322;--px-navy-900: #0f1d2e;--px-navy-800: #13243b;--px-cyan: #38bdf8;--px-cyan-soft: rgba(56, 189, 248, .14);--px-green: #1a5c42;--px-green-bright: #1f7a56;--px-ink: #0f172a;--px-ink-soft: #475569;--px-line: #e2e8f0;--px-radius: 14px;--px-shadow-sm: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 6px rgba(15, 23, 42, .05);--px-shadow-md: 0 4px 14px rgba(15, 23, 42, .08), 0 2px 6px rgba(15, 23, 42, .05);--px-font-display: "Manrope", Inter, ui-sans-serif, system-ui, sans-serif}h1,.pub-hero-title,.brand strong{font-family:var(--px-font-display);letter-spacing:-.03em}.sidebar{border-right:1px solid rgba(56,189,248,.12)}.sidebar nav button{position:relative;border-radius:9px;transition:background .16s ease,color .16s ease,padding-left .16s ease}.sidebar nav button.active{background:linear-gradient(90deg,var(--px-cyan-soft),rgba(56,189,248,.04));color:#e0f2fe;box-shadow:inset 2.5px 0 0 var(--px-cyan)}.sidebar nav button:hover:not(.active){padding-left:18px}.brand span{background:linear-gradient(135deg,var(--px-green),#2dd4bf);box-shadow:0 0 14px #2dd4bf59}.page-header{padding-bottom:14px;border-bottom:1px solid var(--px-line);position:relative}.page-header:after{content:"";position:absolute;left:0;bottom:-1px;width:64px;height:2px;background:linear-gradient(90deg,var(--px-green),var(--px-cyan));border-radius:2px}.eyebrow{background:linear-gradient(90deg,var(--px-green),#0ea5e9);-webkit-background-clip:text;background-clip:text;color:transparent}.primary-button{background:linear-gradient(135deg,var(--px-green) 0%,var(--px-green-bright) 100%);box-shadow:0 1px 3px #1a5c4259}.primary-button:hover{background:linear-gradient(135deg,var(--px-green-bright) 0%,#259066 100%);box-shadow:0 4px 12px #1a5c4259}.secondary-button{transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.secondary-button:hover{border-color:#94a3b8;box-shadow:var(--px-shadow-sm)}.panel{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border-soft);transition:box-shadow .18s ease}.card.clickable{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.card.clickable:hover{transform:translateY(-2px);box-shadow:var(--px-shadow-md);border-color:#38bdf873}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgba(56,189,248,.55);outline-offset:1px;border-color:var(--px-cyan)}.pa-stepper{display:flex;align-items:center;gap:4px;margin:18px 0 22px;padding:14px 16px;background:linear-gradient(155deg,var(--px-navy-950),var(--px-navy-800));border:1px solid #1e3348;border-radius:var(--px-radius);overflow-x:auto}.pa-step{display:flex;align-items:center;gap:10px;padding:8px 12px;background:transparent;border-radius:10px;color:#94a3b8;white-space:nowrap;transition:background .16s ease,color .16s ease}.pa-step:hover{background:#94a3b81a;transform:none}.pa-step.active{background:var(--px-cyan-soft);color:#e0f2fe}.pa-step.complete:not(.active){color:#6ee7b7}.pa-step-dot{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:2px solid currentColor;font-size:.78rem;font-weight:800;flex-shrink:0}.pa-step.active .pa-step-dot{background:var(--px-cyan);border-color:var(--px-cyan);color:var(--px-navy-950);box-shadow:0 0 10px #38bdf880}.pa-step.complete:not(.active) .pa-step-dot{background:#6ee7b726}.pa-step-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}.pa-step-text strong{font-size:.84rem}.pa-step-text small{font-size:.66rem;color:#64748b;font-weight:600}.pa-step.active .pa-step-text small{color:#7dd3fc}.pa-step-line{flex:1;min-width:14px;height:2px;background:#1e3348;border-radius:2px}.pa-step-line.done{background:linear-gradient(90deg,#34d399,var(--px-cyan))}.pa-step-nav{display:flex;justify-content:space-between;align-items:center;margin:18px 0 6px;padding-top:14px;border-top:1px dashed var(--px-line)}.pa-assessment-summary{display:flex;flex-direction:column;gap:14px}.pa-assessment-score{display:flex;align-items:baseline;gap:12px;padding:14px 16px;background:linear-gradient(155deg,var(--px-navy-950),var(--px-navy-800));border-radius:12px;color:#e2e8f0}.pa-score-big{font-family:var(--px-font-display);font-size:2rem;font-weight:800;background:linear-gradient(90deg,#6ee7b7,var(--px-cyan));-webkit-background-clip:text;background-clip:text;color:transparent}.pa-score-label{font-size:.78rem;color:#94a3b8;font-weight:600}.pa-assessment-flags strong{display:block;font-size:.8rem;margin-bottom:6px;color:#92400e}.pa-flag-pill{background:#fef3c7!important;color:#92400e!important}.pa-assessment-meta{display:flex;flex-wrap:wrap;gap:6px}.pa-assessment-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-start}@media(max-width:760px){.pa-step-text small{display:none}.pa-step{padding:6px 8px}}.athlete-map-frame{position:relative;width:100%}.athlete-map-base{position:relative;display:block}.athlete-map-photo{position:absolute;inset:0;background-image:url(/src/assets/athlete-map.png);background-repeat:no-repeat;background-size:200% 100%;border-radius:8px;pointer-events:none}.athlete-map-photo--front{background-position:0% 50%}.athlete-map-photo--back{background-position:100% 50%}.athlete-map-overlay{position:absolute;inset:0}.athlete-map-overlay .am-muscle{fill-opacity:.5;mix-blend-mode:screen;stroke:#7dd3fc29;stroke-width:.8}.athlete-map-overlay .am-muscle.am-zero{fill-opacity:.1}.athlete-map-overlay .am-muscle:hover{fill-opacity:.78}.athlete-map-overlay .am-muscle.am-pain{stroke:#ef4444;stroke-width:2.5;fill-opacity:.35}.athlete-map-overlay .am-muscle.am-selected{fill-opacity:.7}.athlete-map-overlay .am-demo{fill-opacity:.55}.radar-chart-wrap{max-width:360px;margin:4px auto}.radar-chart{width:100%;height:auto;display:block}.radar-ring{fill:none;stroke:#94a3b84d;stroke-width:1}.radar-axis{stroke:#94a3b833;stroke-width:1}.radar-data{fill:#38bdf838;stroke:var(--px-cyan);stroke-width:2;stroke-linejoin:round}.radar-dot{fill:var(--px-cyan)}.radar-dot--low{fill:#ef4444;r:4}.radar-label{font-size:8.4px;font-weight:700;fill:#64748b}.pa-assessment-summary .radar-chart-wrap{background:linear-gradient(155deg,var(--px-navy-950),var(--px-navy-800));border-radius:12px;padding:12px 8px;max-width:420px;margin:0}.pa-assessment-summary .radar-label{fill:#94a3b8}.pa-assessment-summary .radar-ring{stroke:#94a3b838}.phase-timeline{margin:6px 0 18px}.phase-timeline-track{position:relative;height:56px;background:linear-gradient(155deg,var(--px-navy-950),var(--px-navy-800));border:1px solid #1e3348;border-radius:10px;overflow:visible}.phase-timeline-band{position:absolute;top:7px;bottom:7px;border-radius:7px;padding:5px 9px;display:flex;flex-direction:column;justify-content:center;gap:1px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff2e;transition:filter .15s ease,transform .15s ease}.phase-timeline-band:hover{filter:brightness(1.15);transform:translateY(-1px)}.phase-band-name{font-size:.72rem;font-weight:800;color:#fff;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.35)}.phase-band-meta{font-size:.6rem;font-weight:700;color:#ffffffd9;white-space:nowrap}.phase-timeline-comp{position:absolute;top:-14px;transform:translate(-50%);font-size:1rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4));z-index:2}.phase-timeline-weeks{display:flex;justify-content:space-between;margin-top:3px;padding:0 2px}.phase-timeline-weeks span{font-size:.58rem;color:#94a3b8;font-weight:600}.session-player{background:#fff;border-radius:var(--px-radius);box-shadow:var(--px-shadow-md);padding:22px}.session-player-head{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:16px}.session-player-head h1{font-size:1.4rem;margin:0}.session-player-meta{color:#64748b;font-size:.85rem;margin:4px 0 0}.sp-block{margin-bottom:18px}.sp-block-name{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,var(--px-navy-900),var(--px-navy-800));border-radius:7px;padding:6px 12px;margin-bottom:8px}.sp-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid #eef2f7;border-radius:10px;margin-bottom:6px;transition:border-color .15s ease,background .15s ease}.sp-item:has(input[type=checkbox]:checked){background:#f0fdf4;border-color:#86efac}.sp-check{display:flex;align-items:center;gap:10px;flex:1;cursor:pointer;min-width:0}.sp-check input[type=checkbox]{width:19px;height:19px;accent-color:var(--px-green);flex-shrink:0}.sp-item-info{display:flex;flex-direction:column;gap:2px;min-width:0}.sp-item-name{font-size:.86rem;font-weight:600;color:#1e293b;line-height:1.3}.sp-prev-weight{font-size:.72rem;font-weight:500;color:#64748b}.progression-hint{font-size:.72rem;font-weight:700}.progression-hint--up{color:#15803d}.progression-hint--hold{color:#64748b}.progression-hint--down{color:#b45309}.guided-workout-phase .progression-hint--up{color:#4ade80}.guided-workout-phase .progression-hint--hold{color:#cbd5e1}.guided-workout-phase .progression-hint--down{color:#fbbf24}.sp-inputs{display:flex;gap:6px;flex-shrink:0}.sp-inputs input{width:64px;padding:6px 8px;border:1px solid #e2e8f0;border-radius:7px;font-size:.82rem;text-align:center}.sp-note{display:block;margin:14px 0;font-size:.85rem;font-weight:700;color:#475569}.sp-note textarea{width:100%;margin-top:6px;border:1px solid #e2e8f0;border-radius:9px;padding:9px 11px;font-weight:400;resize:vertical}.sp-actions{display:flex;gap:10px}.guided-workout-overlay{position:fixed;inset:0;z-index:9999;background:#111827;color:#f1f5f9;display:flex;flex-direction:column}.guided-workout-head{display:flex;align-items:center;gap:12px;padding:14px 16px}.guided-workout-progress{flex:1;height:6px;border-radius:4px;background:#1f2937;overflow:hidden}.guided-workout-progress-bar{height:100%;background:#475569;transition:width .2s ease}.guided-workout-exit,.guided-voice-toggle{width:34px;height:34px;border-radius:50%;border:none;background:#1f2937;color:#f1f5f9;font-size:1rem;cursor:pointer;flex-shrink:0}.guided-voice-toggle--active{background:#16a34a;box-shadow:0 0 0 3px #16a34a59;animation:guided-voice-pulse 1.6s ease-in-out infinite}@keyframes guided-voice-pulse{0%,to{box-shadow:0 0 0 3px #16a34a59}50%{box-shadow:0 0 0 6px #16a34a26}}.guided-workout-phase{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;gap:10px}.guided-workout-block{font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#94a3b8;margin:0}.guided-workout-exercise{font-size:1.9rem;font-weight:800;margin:0;line-height:1.2}.guided-workout-target{font-size:.95rem;color:#cbd5e1;margin:0}.guided-workout-set{font-size:1rem;font-weight:700;color:#f1f5f9;margin:0}.guided-workout-prev{font-size:.8rem;color:#94a3b8;margin:0}.guided-workout-countdown{font-size:4.5rem;font-weight:800;margin:0;font-variant-numeric:tabular-nums}.guided-workout-inputs{display:flex;gap:10px;margin:8px 0}.guided-workout-inputs input{width:90px;padding:10px;border-radius:9px;border:1px solid #334155;background:#1f2937;color:#f1f5f9;text-align:center;font-size:1rem}.guided-workout-cta{margin-top:12px;padding:14px 32px;font-size:1rem;font-weight:700;border-radius:12px;min-width:220px}.guided-workout--lift{background:linear-gradient(160deg,#052e1b,#111827 65%)}.guided-workout--lift .guided-workout-exercise{color:#4ade80}.guided-workout--lift .guided-workout-cta{background:#16a34a;border-color:#16a34a;color:#fff}.guided-workout--rest{background:linear-gradient(160deg,#0b2447,#111827 65%)}.guided-workout--rest .guided-workout-countdown{color:#60a5fa}.guided-workout--rest .guided-workout-cta{background:#2563eb;border-color:#2563eb;color:#fff}.guided-workout--rest-overdue{background:linear-gradient(135deg,#1f2937,#7c2d12);animation:guidedRestAlert 1.4s ease-in-out infinite}.guided-workout--rest-overdue .guided-workout-countdown{color:#fb923c}.guided-workout--transition{background:linear-gradient(160deg,#422006,#111827 65%)}.guided-workout--transition .guided-workout-exercise{color:#fbbf24}.guided-workout--transition .guided-workout-cta{background:#d97706;border-color:#d97706;color:#fff}.guided-workout--done{background:linear-gradient(160deg,#052e1b,#111827 65%)}.guided-workout--done .guided-workout-cta{background:#16a34a;border-color:#16a34a;color:#fff}.guided-workout--prep{background:linear-gradient(160deg,#052e1b,#111827 65%)}.guided-workout-elapsed{font-size:1.1rem;font-weight:700;color:#4ade80;font-variant-numeric:tabular-nums;margin:0}.guided-workout-cue{font-size:.85rem;color:#fde68a;background:#d9770629;border:1px solid rgba(217,119,6,.35);border-radius:10px;padding:8px 14px;margin:8px 0 0;max-width:360px}.guided-workout-video-link{display:inline-block;font-size:.85rem;font-weight:700;color:#38bdf8;background:#38bdf824;border:1px solid rgba(56,189,248,.35);border-radius:10px;padding:8px 14px;margin:8px 0 0;text-decoration:none}.guided-workout-video-link:hover{background:#38bdf83d}.exercise-demo-link{font-size:.85rem;font-weight:600;color:#2563eb;text-decoration:none}.exercise-demo-link:hover{text-decoration:underline}.sp-demo-link{display:inline-block;font-size:.72rem;font-weight:600;color:#2563eb;text-decoration:none;margin-top:2px}.sp-demo-link:hover{text-decoration:underline}.guided-muscle-map{display:flex;gap:10px;justify-content:center;margin-top:10px}.guided-muscle-figure{margin:0;max-width:110px}.guided-muscle-caption{font-size:.75rem;color:#94a3b8;margin:4px 0 0}.guided-muscle-primary{fill:#4ade80;opacity:.85;animation:guidedMuscleBlinkPrimary 1.2s ease-in-out infinite}.guided-muscle-secondary{fill:#60a5fa;opacity:.55;animation:guidedMuscleBlinkSecondary 1.6s ease-in-out infinite}@keyframes guidedMuscleBlinkPrimary{0%,to{opacity:.85}50%{opacity:.25}}@keyframes guidedMuscleBlinkSecondary{0%,to{opacity:.55}50%{opacity:.15}}.guided-workout-summary{width:100%;max-width:420px;border-collapse:collapse;margin:12px 0;font-size:.82rem;color:#cbd5e1}.guided-workout-summary th,.guided-workout-summary td{border-bottom:1px solid #334155;padding:6px 8px;text-align:left}.guided-workout-summary th{color:#94a3b8;font-weight:600;font-size:.75rem;text-transform:uppercase}.guided-workout-rest-note{font-size:.85rem;color:#93c5fd;margin:0}.guided-workout-progress-list{list-style:none;margin:14px 0 0;padding:0;font-size:.78rem;color:#94a3b8;text-align:center}.guided-workout-progress-list li{padding:2px 0}.guided-workout--prep .guided-workout-countdown{color:#4ade80;font-size:6rem;animation:guidedPulse 1s ease-in-out infinite}.guided-workout--preview{justify-content:flex-start;align-items:center;overflow-y:auto;padding-top:32px;padding-bottom:32px}.guided-workout-preview-list{width:100%;max-width:420px;display:flex;flex-direction:column;gap:10px;margin:8px 0}.guided-workout-preview-block{background:#ffffff0a;border:1px solid #1f2937;border-radius:10px;padding:10px 14px;text-align:left}.guided-workout-preview-block-name{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;margin:0 0 4px}.guided-workout-preview-block ul{margin:0;padding-left:18px;font-size:.85rem;color:#e2e8f0}.guided-workout-preview-block li{padding:2px 0}.guided-workout-tip{font-size:.7rem;color:#64748b;opacity:.85;margin:10px 0 0;max-width:320px}@keyframes guidedRestAlert{0%,to{background:linear-gradient(135deg,#1f2937,#7c2d12)}50%{background:linear-gradient(135deg,#1f2937,#b45309)}}@keyframes guidedPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.1)}}.workout-log-summary{background:#f8fafc;border-radius:9px;padding:10px 13px;border-left:3px solid var(--px-green-bright);margin-top:6px}.wl-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.84rem}.wl-date{color:#64748b;font-size:.76rem;font-weight:600}.wl-weights{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.wl-weight-chip{background:#ecfdf5;color:#065f46;border-radius:6px;padding:2px 8px;font-size:.72rem;font-weight:600}.wl-note{margin-top:7px;font-size:.8rem;color:#475569;font-style:italic}.wl-stars{color:#f59e0b;font-size:.9rem;letter-spacing:1px}.wl-coach-form{display:flex;align-items:center;gap:6px;margin-top:8px}.wl-cc-input{flex:1;border:1px solid #e2e8f0;border-radius:6px;padding:4px 8px;font-size:.78rem}.wl-coach-reply{margin-top:6px;font-size:.8rem;color:#6366f1;font-style:italic;background:#eef2ff;border-radius:6px;padding:5px 10px}.sp-rating-row{display:flex;align-items:center;gap:10px;margin:10px 0 4px}.sp-rating-label{font-size:.82rem;color:#64748b;font-weight:600}.sp-stars{display:flex;gap:3px}.sp-star{background:none;border:none;font-size:1.5rem;color:#d1d5db;cursor:pointer;padding:0 2px;line-height:1;transition:color .12s}.sp-star--on{color:#f59e0b}.sp-star:hover{color:#fbbf24}.reassess-alert{display:flex;align-items:center;gap:14px;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:12px 16px;margin:0 0 16px;flex-wrap:wrap}.reassess-alert-icon{font-size:1.3rem}.reassess-alert-body{flex:1;min-width:0}.reassess-alert-body strong{display:block;font-size:.88rem;color:#92400e;margin-bottom:2px}.reassess-alert-body span{font-size:.8rem;color:#78350f}.reassess-alert-athletes{display:flex;gap:6px;flex-wrap:wrap}.activity-feed{display:flex;flex-direction:column;gap:5px}.activity-item{font-size:.83rem;color:#374151;padding:7px 10px;border-radius:7px;border-left:3px solid #e2e8f0;background:#f8fafc}.activity-item:hover{background:#f1f5f9;border-left-color:var(--brand)}.act-when{color:#94a3b8;font-size:.75rem;margin-left:4px}.phase-progress{margin:6px 0 10px}.phase-progress-bar{height:6px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:4px}.phase-progress-fill{height:100%;background:var(--px-green-bright);border-radius:4px;transition:width .3s}.phase-progress-label{font-size:.75rem;color:#64748b;font-weight:600}.phase-completion-block{margin:10px 0 14px;padding:12px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px}.phase-completion-summary{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:.82rem;color:#166534}.pill--green{background:#dcfce7;color:#166534;border:1px solid #86efac;font-weight:700}.phase-completion-note{display:flex;flex-direction:column;gap:6px}.phase-note-input{width:100%;padding:8px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:.82rem;resize:vertical;min-height:56px;font-family:inherit;color:#1e293b}.phase-card--complete>summary{opacity:.8}.readiness-form{background:#fff;border-radius:14px;padding:24px;box-shadow:0 2px 12px #00000012}.readiness-intro{font-size:.9rem;color:#64748b;margin-bottom:20px}.readiness-sliders{display:flex;flex-direction:column;gap:18px}.readiness-row{display:flex;flex-direction:column;gap:6px}.readiness-label{font-size:.85rem;font-weight:600;color:#1e293b}.readiness-scale{display:flex;align-items:center;gap:10px}.readiness-slider{flex:1;accent-color:var(--px-green-bright, #22c55e);height:6px;cursor:pointer}.scale-lo,.scale-hi{font-size:.72rem;color:#94a3b8;white-space:nowrap;min-width:48px}.scale-hi{text-align:right}.readiness-badge{font-weight:700;font-size:.72rem}.readiness-low{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5}.readiness-mid{background:#fef9c3;color:#92400e;border:1px solid #fde68a}.readiness-ok{background:#dcfce7;color:#166534;border:1px solid #86efac}.swap-ex-btn{font-size:.78rem;color:var(--ink-muted);padding:0 3px;margin-left:4px;opacity:.6;border-radius:4px}.swap-ex-btn:hover{opacity:1;background:var(--surface-2);color:var(--brand)}.phase-compare-panel{background:var(--th-panel, #fff);border:1px solid var(--border);border-radius:10px;padding:16px 18px;margin-bottom:16px}.phase-compare-selectors{display:flex;gap:16px;align-items:flex-end;margin-bottom:14px;flex-wrap:wrap}.phase-compare-selectors label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;font-weight:700;color:var(--ink-muted)}.phase-compare-selectors select{min-width:160px;min-height:36px;padding:6px 10px;font-size:.85rem}.phase-compare-table{width:100%;border-collapse:collapse;font-size:.83rem}.phase-compare-table th{text-align:left;padding:6px 10px;border-bottom:2px solid var(--border);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted)}.phase-compare-table td{padding:6px 10px;border-bottom:1px solid var(--border-soft)}.phase-compare-table tr:last-child td{border-bottom:none}[data-theme=dark] .phase-compare-panel{background:var(--th-panel);border-color:var(--th-panel-border)}.load-chart{display:flex;align-items:flex-end;gap:10px;height:130px;padding:6px 4px 0}.load-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px}.load-bar{width:100%;max-width:46px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--px-cyan),var(--px-green-bright));transition:filter .15s ease}.load-bar-col:hover .load-bar{filter:brightness(1.15)}.load-bar-value{font-size:.66rem;font-weight:800;color:#475569}.load-bar-label{font-size:.62rem;color:#94a3b8;font-weight:600}.load-bar-group{position:relative;width:100%;max-width:46px;height:100%}.load-bar-group .load-bar{position:absolute;bottom:0;left:50%;transform:translate(-50%)}.load-bar--prescribed{width:100%;max-width:46px;background:transparent;border:2px dashed #cbd5e1}.load-bar--completed{width:60%;max-width:28px}.load-legend{display:flex;gap:16px;margin-top:10px;font-size:.74rem;color:#64748b;font-weight:600}.load-legend-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:middle}.load-legend-swatch--prescribed{border:2px dashed #cbd5e1}.load-legend-swatch--completed{background:linear-gradient(180deg,var(--px-cyan),var(--px-green-bright))}.adherence-badge{display:inline-block;margin-left:4px;padding:1px 7px;border-radius:999px;font-size:.7rem;font-weight:800}.adherence-good{background:#dcfce7;color:#15803d}.adherence-warn{background:#fef3c7;color:#b45309}.adherence-low{background:#fee2e2;color:#b91c1c}.acwr-zone-low{background:#e2e8f0;color:#475569}.ctl-strip{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:12px 0 4px;border-top:1px solid var(--border);margin-top:12px}.ctl-stat{display:flex;flex-direction:column;gap:2px;min-width:60px}.ctl-stat-label{font-size:.7rem;font-weight:700;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em}.ctl-stat-label small{font-weight:500;text-transform:none;letter-spacing:0}.ctl-stat-value{font-size:1.4rem;font-weight:900;color:var(--ink);line-height:1}.ctl-tsb-pos{color:#15803d}.ctl-tsb-neg{color:#b91c1c}.ctl-form-badge{margin-left:auto}.acwr-recommendation{margin-top:10px;padding:8px 12px;border-radius:8px;font-size:.82rem;line-height:1.5;border-left:3px solid currentColor}.acwr-recommendation--optimal{background:#f0fdf4;color:#15803d;border-color:#22c55e}.acwr-recommendation--caution{background:#fffbeb;color:#92400e;border-color:#f59e0b}.acwr-recommendation--high{background:#fef2f2;color:#991b1b;border-color:#ef4444}.acwr-recommendation--low{background:#f8fafc;color:#475569;border-color:#94a3b8}.brain-panel{background:linear-gradient(155deg,var(--px-navy-950) 0%,var(--px-navy-800) 100%);border:1px solid #1e3348;color:#cbd5e1;margin-bottom:22px}.brain-panel .section-title h2{color:#f1f5f9;display:flex;align-items:center;gap:10px}.brain-panel .form-hint{color:#7c8ea3}.brain-headline{font-family:var(--px-font-display);font-size:1.05rem;font-weight:700;color:#e0f2fe;margin-bottom:14px;line-height:1.4}.brain-athletes{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.brain-athlete-card{background:#0f1d2eb3;border:1px solid #1e3348;border-left:3px solid #94a3b8;border-radius:10px;padding:12px 14px}.brain-athlete-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;color:#f1f5f9}.brain-status-dot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 8px currentColor}.brain-summary{font-size:.82rem;color:#94a3b8;margin:0 0 6px;line-height:1.45}.brain-rec{font-size:.82rem;color:#6ee7b7;font-weight:600;margin:0;line-height:1.4}.brain-team-notes{margin-top:14px;padding-top:12px;border-top:1px dashed #1e3348}.brain-team-notes strong{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#7dd3fc}.brain-team-notes ul{margin:8px 0 0;padding-left:18px}.brain-team-notes li{font-size:.84rem;color:#cbd5e1;margin-bottom:4px;line-height:1.45}.form-error{color:#f87171;font-size:.84rem}#toast-container{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;max-width:min(360px,calc(100vw - 32px))}.toast{background:var(--px-navy-900);color:#f1f5f9;border-radius:10px;padding:12px 16px;font-size:.88rem;line-height:1.4;box-shadow:var(--px-shadow-md);border-left:4px solid var(--px-cyan);cursor:pointer;animation:toast-in .22s ease-out}.toast--success{border-left-color:#34d399}.toast--error{border-left-color:#f87171}.toast--info{border-left-color:var(--px-cyan)}.toast--celebration{border-left-color:#f59e0b;background:linear-gradient(135deg,var(--px-navy-900),#422006);font-weight:700;animation:toast-in .22s ease-out,toast-celebrate .6s ease-out}@keyframes toast-celebrate{0%{transform:scale(.92)}40%{transform:scale(1.04)}to{transform:scale(1)}}.toast--leaving{animation:toast-out .2s ease-in forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(12px)}}.ai-skeleton-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px}.ai-draft-panel.ai-skeleton-panel{background:#fffaf0;border-color:#d6c7a8;border-left:4px solid #b99146;border-radius:8px}.ai-skeleton-label{color:var(--px-ink-soft);font-size:.88rem;margin:0 0 14px}.ai-gen-panel{display:flex;flex-direction:column;align-items:center;gap:14px;padding:36px 24px 32px;background:#fff;border:1px solid #e2e8f0;border-radius:12px}.ai-gen-ring{display:block;filter:drop-shadow(0 2px 8px rgba(14,165,233,.15))}.ai-gen-phase{font-size:.95rem;font-weight:600;color:#0f172a;margin:0;text-align:center}.ai-gen-sub{font-size:.8rem;color:var(--px-ink-soft);margin:0;text-align:center;max-width:280px}.skeleton-block{display:flex;flex-direction:column;gap:10px}.skeleton-line{height:14px;border-radius:6px;background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9,#e2e8f0 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}.skeleton-line--title{width:45%;height:18px}.skeleton-line--short{width:60%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dash-kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.dash-kpi-card{background:var(--th-panel, #ffffff);border:1px solid var(--th-panel-border, #eae7e0);border-radius:var(--radius-md);padding:16px 20px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-sm)}.dash-kpi-card--alert strong{color:#d97706}.dash-kpi-icon{width:16px;height:16px;color:var(--ink-muted);margin-bottom:6px;flex-shrink:0}.dash-kpi-label{font-size:.72rem;font-weight:800;color:#65758b;text-transform:uppercase;letter-spacing:.05em}.dash-kpi-card strong{font-size:2rem;font-weight:900;color:var(--th-text, #111827);line-height:1.1}@media(max-width:720px){.dash-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.dashboard-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin-bottom:18px}.roster-pulse-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px}.pulse-chip{display:flex;align-items:center;gap:10px;min-width:180px;flex-shrink:0;padding:10px 14px;border:1px solid var(--border);border-left:3px solid var(--ink-muted);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease}.pulse-chip:hover{border-left-color:var(--brand);box-shadow:var(--shadow-sm)}.pulse-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px}.pulse-legend-item{display:flex;align-items:center;gap:5px;font-size:.75rem;color:#65758b;font-weight:600}.pulse-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pulse-avatar{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;flex-shrink:0;color:#fff;font-weight:800;font-size:.8rem}.pulse-info{display:flex;flex-direction:column;gap:2px;min-width:0;overflow:hidden}.pulse-info strong{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pulse-sub{font-size:.78rem;color:var(--px-ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pulse-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-left:auto;box-shadow:0 0 6px currentColor}.rp-table{display:flex;flex-direction:column;gap:6px}.rp-group{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.rp-group-header{display:flex;align-items:center;gap:8px;padding:9px 14px;background:var(--surface-2);font-size:.82rem;font-weight:700;color:var(--ink);user-select:none}.rp-group-header--toggle{cursor:pointer}.rp-group-header--toggle:hover{background:var(--border-soft)}.rp-group-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.rp-group-label{flex:1}.rp-group-count{background:var(--border);color:var(--ink-soft);border-radius:99px;padding:1px 8px;font-size:.75rem;font-weight:700}.rp-group-chevron{color:var(--ink-muted);font-size:1rem;transition:transform .15s;display:inline-block}.rp-group-chevron.open{transform:rotate(90deg)}.rp-group-rows{display:flex;flex-direction:column}.rp-row{display:grid;grid-template-columns:12px 32px 1fr auto auto;align-items:center;gap:10px;padding:8px 14px;border-top:1px solid var(--border-soft);transition:background .12s}.rp-row:hover{background:var(--surface-2)}.rp-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.rp-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:.68rem;flex-shrink:0}.rp-name{display:flex;flex-direction:column;gap:1px;min-width:0}.rp-name strong{font-size:.87rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp-sport{font-size:.73rem;color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp-row-summary{font-size:.78rem;color:var(--ink-muted);white-space:nowrap}.rp-meta{font-size:.78rem;color:var(--ink);white-space:nowrap}.rp-meta--label{font-size:.7rem;color:var(--ink-muted);font-weight:600;text-align:right}.rp-meta--next{color:var(--brand);font-weight:600}.rp-wellness{font-size:.78rem;font-weight:600;color:#374151;padding:2px 7px;border-radius:8px;background:#f1f5f9;white-space:nowrap}.rp-wellness--none{color:#d1d5db;background:transparent}.wellness-ready{color:#16a34a}.wellness-monitor{color:#d97706}.wellness-recover{color:#dc2626}@media(max-width:700px){.rp-row{grid-template-columns:12px 32px 1fr;gap:6px}.rp-row-summary,.rp-meta{grid-column:3}}.week-ahead-list{display:flex;flex-direction:column;gap:6px}.week-ahead-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);font-size:.85rem;background:var(--surface-2)}.week-ahead-row--competition{background:#fef2f2;border:1px solid #fecaca}.week-ahead-date{flex-shrink:0;color:var(--px-ink-soft);font-weight:700;font-size:.78rem}.week-ahead-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.athlete-badges-row{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.athlete-badge{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600;color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:999px;padding:3px 10px}.bulk-assign-panel{margin:12px 0}.bulk-assign-list{display:flex;flex-direction:column;gap:6px;margin:10px 0;max-height:260px;overflow-y:auto}.bulk-assign-row{display:flex;align-items:center;gap:8px;font-size:.9rem;padding:6px 8px;border-radius:6px;background:#f8fafc}.stats-grid--compact.stats-grid{margin-bottom:18px}.stats-grid--compact .stat-card{min-height:auto;padding:10px 14px}.stats-grid--compact .stat-card span{margin-bottom:6px;font-size:.78rem}.stats-grid--compact .stat-card strong{font-size:1.5rem}@media(max-width:720px){.dashboard-row{grid-template-columns:1fr}}.demo-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;background:var(--px-navy-900);color:#f1f5f9;border-radius:12px;padding:12px 16px;margin-bottom:16px;font-size:.9rem;border-left:4px solid var(--px-cyan)}.demo-banner-actions{display:flex;gap:8px;flex-wrap:wrap}[data-theme=dark] .eyebrow{background:none!important;-webkit-background-clip:unset!important;background-clip:unset!important;color:#4ade80!important;-webkit-text-fill-color:#4ade80!important}[data-theme=dark] .page-header{border-bottom-color:#ffffff12!important}[data-theme=dark] .page-header:after{background:linear-gradient(90deg,#4ade80,#38bdf8)!important}[data-theme=dark] .page-header h1{color:#eeeef6!important;background:none!important;-webkit-background-clip:unset!important;background-clip:unset!important;-webkit-text-fill-color:#eeeef6!important}[data-theme=dark] .primary-button{background:#4ade80!important;color:#09090d!important;box-shadow:0 1px 3px #4ade8040!important}[data-theme=dark] .primary-button:hover{background:#86efac!important;box-shadow:0 4px 12px #4ade804d!important}[data-theme=dark] .sidebar nav button.active{background:#4ade801f!important;color:#4ade80!important;box-shadow:inset 2.5px 0 #4ade80!important}[data-theme=dark] .card.clickable:hover{border-color:#4ade804d!important}[data-theme=dark] .section-title h2{color:var(--th-text)!important}[data-theme=dark] .stat-card span{color:#5a5a72!important}[data-theme=dark] .stat-card strong{color:#eeeef6!important}[data-theme=dark] .demo-banner{background:#0f1d2e!important;color:#e0f2fe!important}@keyframes fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #4ade8000}50%{box-shadow:0 0 0 6px #4ade801f}}@keyframes alertPulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes barFill{0%{width:0!important}}@keyframes portalEntrance{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes portalPhaseIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.content>*{animation:fadeInUp .22s ease both}.content>*:nth-child(1){animation-delay:0ms}.content>*:nth-child(2){animation-delay:40ms}.content>*:nth-child(3){animation-delay:80ms}.content>*:nth-child(4){animation-delay:.12s}.content>*:nth-child(5){animation-delay:.16s}.content>*:nth-child(6){animation-delay:.18s}.content>*:nth-child(n+7){animation-delay:.2s}.stat-card{transition:transform .18s ease,box-shadow .18s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}[data-theme=dark] .stat-card:hover{box-shadow:0 4px 16px #00000059}.primary-button:active,.secondary-button:active{transform:scale(.97)}.list .list-item,.list>article{animation:fadeInUp .18s ease both}.list .list-item:nth-child(1){animation-delay:0ms}.list .list-item:nth-child(2){animation-delay:30ms}.list .list-item:nth-child(3){animation-delay:60ms}.list .list-item:nth-child(4){animation-delay:90ms}.list .list-item:nth-child(5){animation-delay:.11s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.portal-shell{background:#f8fafc;color:#111827;min-height:100vh;display:flex;flex-direction:column}.portal-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:14px 28px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;animation:fadeIn .2s ease both}.portal-brand{display:flex;align-items:center;gap:10px}.portal-brand-mono{width:32px;height:32px;background:var(--brand);color:#fff;border-radius:7px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.78rem;letter-spacing:.04em;flex-shrink:0}.portal-brand strong{display:block;font-size:.85rem;font-weight:700;color:#111827;line-height:1.1}.portal-brand span{display:block;font-size:.7rem;color:#6b7280;line-height:1.2}.portal-athlete-name{font-size:.82rem;color:#64748b;font-weight:500}.portal-content{max-width:800px;margin:0 auto;width:100%;padding:48px 24px 80px;display:flex;flex-direction:column;gap:40px}.portal-hero{text-align:center;padding:12px 0 0;animation:portalEntrance .4s cubic-bezier(.16,1,.3,1) both}.portal-hero h1{font-size:clamp(2.2rem,6vw,3.2rem);font-weight:800;margin:0 0 16px;color:#f5f2ea;letter-spacing:-.04em;line-height:1}.portal-hero-eyebrow{font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#c9b79c;margin:0 0 14px}.portal-meta{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.portal-meta span{font-size:.78rem;color:#9ca3af;background:#14171c;padding:5px 12px;border-radius:99px;border:1px solid #242931;font-weight:500}.portal-plan{display:flex;flex-direction:column;gap:8px;animation:portalEntrance .45s cubic-bezier(.16,1,.3,1) both;animation-delay:80ms}.portal-plan-header{border-bottom:1px solid #e2e8f0;padding-bottom:14px;margin-bottom:4px}.portal-plan-header h2{margin:0 0 8px;font-size:1.1rem;font-weight:700;color:#1e293b;letter-spacing:-.02em}.portal-plan-meta{display:flex;gap:16px;flex-wrap:wrap}.portal-plan-meta span{font-size:.75rem;color:#64748b;display:flex;align-items:center;gap:4px}.portal-plan-meta span:before{content:"\b7";color:var(--brand);font-weight:700}.portal-plan-meta span:first-child:before{display:none}.portal-phases{display:flex;flex-direction:column;gap:10px}.portal-phase{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:border-color .18s ease;animation:portalPhaseIn .3s ease both}.portal-phase:nth-child(1){animation-delay:.1s}.portal-phase:nth-child(2){animation-delay:.14s}.portal-phase:nth-child(3){animation-delay:.18s}.portal-phase:nth-child(4){animation-delay:.22s}.portal-phase:nth-child(n+5){animation-delay:.26s}.portal-phase[open]{border-color:#c7d2fe}.portal-phase-summary{padding:16px 20px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;user-select:none;transition:background .15s ease}.portal-phase-summary:hover{background:#f8fafc}.portal-phase-summary::-webkit-details-marker{display:none}.portal-phase-summary:after{content:"";width:16px;height:16px;flex-shrink:0;background:#e2e8f0;border-radius:4px;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M3 4l2 2 2-2' stroke='%23475569' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M3 4l2 2 2-2' stroke='%23475569' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");mask-size:cover;-webkit-mask-size:cover;transition:transform .2s ease}.portal-phase[open] .portal-phase-summary:after{transform:rotate(180deg)}.portal-phase-title{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.portal-phase-num{width:22px;height:22px;border-radius:5px;background:var(--brand-soft);color:var(--brand);font-size:.68rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.02em}.portal-phase-title strong{font-size:.95rem;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-badge{font-size:.62rem;padding:2px 7px;border-radius:99px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;flex-shrink:0}.portal-badge.taper{background:#3b82f61a;color:#2563eb;border:1px solid rgba(59,130,246,.2)}.portal-badge.deload{background:var(--brand-soft);color:var(--brand);border:1px solid var(--border)}.portal-phase-meta{display:flex;gap:12px;flex-wrap:wrap;flex-shrink:0}.portal-phase-meta span{font-size:.72rem;color:#64748b;font-weight:500}.portal-phase-body{padding:0 16px 18px;display:flex;flex-direction:column;gap:10px;border-top:1px solid #f1f5f9}.portal-rationale{font-size:.82rem;color:#475569;margin:12px 0 4px;line-height:1.6;border-left:2px solid var(--brand);padding-left:12px}.portal-session{background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;overflow:hidden;margin-top:4px;transition:border-color .16s ease}.portal-session:hover{border-color:#c7d2fe}.portal-session-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-bottom:1px solid #f1f5f9}.portal-session-header h3{margin:0;font-size:.88rem;font-weight:600;color:var(--brand);letter-spacing:-.01em}.portal-session-emphasis{font-size:.7rem;color:#64748b;font-weight:500;background:#f1f5f9;padding:3px 9px;border-radius:99px}.portal-session-body{padding:12px 16px;display:flex;flex-direction:column;gap:14px}.portal-block{display:flex;flex-direction:column;gap:6px}.portal-block h4{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:#94a3b8;margin:0 0 6px;font-weight:700}.portal-block ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.portal-block li{font-size:.83rem;color:#475569;line-height:1.45;padding-left:12px;position:relative}.portal-block li:before{content:"\b7";position:absolute;left:0;color:#94a3b8}.portal-exercise{display:flex;flex-direction:column;gap:5px;padding:10px 0;border-bottom:1px solid #f1f5f9}.portal-exercise:last-child{border-bottom:none}.portal-exercise-name{font-size:.88rem;font-weight:600;color:#1e293b}.portal-exercise-details{display:flex;gap:6px;flex-wrap:wrap}.portal-exercise-details span{font-size:.72rem;font-weight:600;color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;padding:3px 9px;border-radius:99px;letter-spacing:.01em}.portal-exercise-cue{font-size:.78rem;color:#64748b;line-height:1.45;font-style:italic}.portal-empty{text-align:center;padding:48px 24px;color:#94a3b8;font-size:.9rem}.portal-empty-sessions{font-size:.82rem;color:#94a3b8;margin:8px 0;font-style:italic}.portal-footer{text-align:center;padding:32px 24px;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:4px}.portal-footer p{margin:0;font-size:.78rem;color:#94a3b8}.portal-powered{font-size:.68rem!important;color:#cbd5e1!important;letter-spacing:.04em}.portal-error-screen{min-height:100vh;background:#f8fafc;display:flex;align-items:center;justify-content:center;padding:24px}.portal-error-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:48px 40px;text-align:center;max-width:380px;width:100%}.portal-error-card h2{color:#1e293b;margin:16px 0 8px;font-size:1.2rem}.portal-error-card p{color:#64748b;font-size:.88rem;line-height:1.55;margin:0}.portal-tab-bar{display:flex;gap:2px;border-bottom:2px solid #e2e8f0;margin-bottom:24px;padding:0 2px;overflow-x:auto;-webkit-overflow-scrolling:touch}.portal-tab-btn{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:10px 16px;font-size:.85rem;font-weight:600;color:#64748b;cursor:pointer;border-radius:6px 6px 0 0;transition:color .12s,border-color .12s;white-space:nowrap;flex-shrink:0}.portal-tab-btn:hover{color:#1e293b;background:#f1f5f9}.portal-tab-btn.active{color:#1e293b;border-bottom-color:var(--brand);font-weight:900}.portal-overview-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 24px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-sm)}.portal-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.portal-info-item{display:flex;flex-direction:column;gap:3px}.portal-info-item-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8}.portal-info-item-val{font-size:.92rem;font-weight:600;color:#1e293b}@media(max-width:600px){.portal-header{padding:12px 16px}.portal-content{padding:32px 14px 60px}.portal-hero h1{font-size:2rem}.portal-phase-meta{display:none}.portal-session-header{flex-direction:column;align-items:flex-start}}.ath-tab-bar{display:flex;flex-wrap:wrap;gap:2px;border-bottom:2px solid #e2e8f0;margin-bottom:20px;padding:0 2px;overflow-x:auto;-webkit-overflow-scrolling:touch}.ath-tab-btn{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:10px 14px;font-size:.83rem;font-weight:600;color:#64748b;cursor:pointer;border-radius:6px 6px 0 0;transition:color .12s,border-color .12s;white-space:nowrap;flex-shrink:0}.ath-tab-btn:hover{color:#1e293b;background:#f1f5f9}.ath-tab-btn.active{color:#1e293b;border-bottom-color:var(--brand);font-weight:900}.ath-tab-signout{margin-left:auto;color:#94a3b8;border-bottom-color:transparent!important;font-size:.78rem}.ath-tab-signout:hover{color:#dc2626;background:#fef2f2}.ath-info-card{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;box-shadow:var(--shadow-sm)}.ath-info-icon{display:flex;align-items:center;color:var(--brand)}.ath-info-icon svg{width:16px;height:16px}.ath-info-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8}.ath-info-val{font-size:.95rem;font-weight:600;color:#1e293b}.ath-profile-tab{display:flex;flex-direction:column;gap:16px}.ath-profile-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px 20px}.ath-profile-card--editable{border-color:#c7d2fe}.ath-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.ath-profile-field{display:flex;flex-direction:column;gap:4px}.ath-profile-field-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8}.ath-profile-field-val{font-size:.9rem;font-weight:600;color:#1e293b}.ath-profile-section-title{font-size:.7rem;font-weight:700;color:var(--brand);text-transform:uppercase;letter-spacing:.1em;margin:0 0 14px}.ath-profile-edit-label{font-size:.88rem;font-weight:700;color:#1e293b;margin:0 0 4px}.ath-profile-edit-hint{font-size:.75rem;color:#64748b;margin:0 0 12px;line-height:1.5}.ath-profile-textarea{width:100%;min-height:80px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;padding:10px 12px;font:inherit;font-size:.88rem;resize:vertical}.ath-profile-textarea:focus{border-color:var(--brand);outline:none}@media(max-width:760px){.sidebar{display:none!important}.app-shell{grid-template-columns:1fr!important;padding-bottom:72px}.content{padding:16px 14px 88px!important}.page-header{flex-direction:column!important;gap:12px!important;align-items:flex-start!important}.header-actions{width:100%!important}.header-actions button{flex:1 1 auto!important;min-width:100px!important}.stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.dashboard-row{grid-template-columns:1fr!important;gap:16px!important}}.mob-bottom-nav{display:none}@media(max-width:760px){.mob-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--th-sidebar, #111827);border-top:1px solid rgba(255,255,255,.08);padding-bottom:env(safe-area-inset-bottom,0);height:60px;align-items:stretch}.mob-nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:none;cursor:pointer;padding:6px 4px;color:#ffffff47;transition:color .15s ease;-webkit-tap-highlight-color:transparent}.mob-nav-btn svg{width:20px;height:20px;flex-shrink:0}.mob-nav-label{font-size:9px;font-weight:600;letter-spacing:.02em;line-height:1;white-space:nowrap}.mob-nav-btn.active{color:#4ade80}[data-theme=light] .mob-nav-btn{color:#ffffff59}[data-theme=light] .mob-nav-btn.active{color:#4ade80}}.mob-sidebar-backdrop{display:none;position:fixed;inset:0;background:#0009;z-index:200;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .18s ease both}.mob-sidebar-backdrop.open{display:block}.mob-sidebar-panel{position:absolute;left:0;top:0;bottom:0;width:260px;background:var(--th-sidebar, #111827);display:flex;flex-direction:column;animation:slideInLeft .22s cubic-bezier(.16,1,.3,1) both;overflow-y:auto}.mob-sidebar-close{position:absolute;top:14px;right:14px;background:#ffffff14;border:none;border-radius:6px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#ffffff80}.mob-sidebar-header{display:flex;align-items:center;gap:10px;padding:18px 14px 16px;border-bottom:1px solid rgba(255,255,255,.07)}.mob-sidebar-nav{flex:1;padding:10px 7px;display:flex;flex-direction:column;gap:1px}.mob-sidebar-nav button{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:7px;background:none;border:none;cursor:pointer;color:#ffffff61;font-size:13px;font-weight:500;width:100%;text-align:left;transition:background .14s ease,color .14s ease;-webkit-tap-highlight-color:transparent}.mob-sidebar-nav button:hover,.mob-sidebar-nav button.active{background:#4ade801a;color:#4ade80}.mob-sidebar-footer{padding:12px 14px 20px;border-top:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;gap:6px}.empty-state-icon{width:52px;height:52px;background:#4ade8014;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.empty-state-icon svg{width:24px;height:24px;color:#4ade80;opacity:.7}[data-theme=light] .empty-state-icon{background:#14532d12}[data-theme=light] .empty-state-icon svg{color:#14532d}.squad-card{border-left-width:3px!important;border-left-style:solid!important;transition:box-shadow .16s ease,transform .16s ease}.squad-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0000001a}[data-theme=dark] .squad-card{background:#14171c!important;border-color:#ffffff14!important;border-left-color:#4ade8059!important}[data-theme=dark] .squad-card:hover{box-shadow:0 4px 16px #00000059}[data-theme=dark] .annual-plan-phase-bar{filter:saturate(.7) brightness(.85);border:none!important}[data-theme=dark] .annual-plan-phase-bar:hover{filter:saturate(.9) brightness(1)}[data-theme=dark] .phase-bar-pill{filter:saturate(.75) brightness(.8)}[data-theme=dark] .brain-athlete-card{background:#14171c!important;border-color:#ffffff12!important;border-left-width:3px!important;filter:saturate(.6)}[data-theme=dark] .sport-group{border-left-color:#ffffff1f!important;background:#14171c!important}[data-theme=dark] .sport-group:hover{background:#1a1e26!important;border-left-color:#4ade8066!important}[data-theme=dark] .demo-banner{background:#0e1420!important;border-color:#60a5fa33!important;color:#93c5fd!important}[data-theme=dark] .demo-banner strong{color:#bfdbfe!important}[data-theme=dark] .rec-ready{background:#22c55e14!important;border-left-color:#22c55e!important;color:#86efac!important}[data-theme=dark] .rec-monitor{background:#eab30814!important;border-left-color:#eab308!important;color:#fde047!important}[data-theme=dark] .rec-caution{background:#f9731614!important;border-left-color:#f97316!important;color:#fdba74!important}[data-theme=dark] .rec-recover{background:#ef444414!important;border-left-color:#ef4444!important;color:#fca5a5!important}[data-theme=dark] .activity-item:hover{background:#14171c!important;border-left-color:#4ade80!important}[data-theme=dark] .phase-completion-summary{color:#86efac!important}[data-theme=dark] .phase-note-input{background:#14171c!important;border-color:#ffffff1a!important;color:#e8e4dc!important}[data-theme=dark] .slot-power{border-left-color:#d97706aa}[data-theme=dark] .slot-lower{border-left-color:#16a34aaa}[data-theme=dark] .slot-upper{border-left-color:#2563ebaa}[data-theme=dark] .slot-injury{border-left-color:#059669aa}[data-theme=dark] .slot-trunk{border-left-color:#0891b2aa}[data-theme=dark] .slot-corrective{border-left-color:#7c3aedaa}h1,h2,h3,.page-header h1,.portal-hero h1{font-family:Manrope,DM Sans,Inter,system-ui,sans-serif}@media(max-width:760px){.portal-brand-name-desktop{display:none}#ath-bottom-nav~*{padding-bottom:72px}}@media(max-width:680px){.pub-hero{padding:60px 20px 48px;min-height:auto}.pub-hero-title{font-size:clamp(1.7rem,7vw,2.4rem)}.pub-hero-cta{flex-direction:column;width:100%}.pub-cta-btn,.pub-cta-outline{width:100%;text-align:center}.pub-hero-stats{padding:14px 12px;gap:0;margin-top:36px}.pub-hero-stat{padding:0 12px}.pub-hero-stat-num{font-size:1.2rem}.pub-how{padding:56px 20px}.pub-how-grid{flex-direction:column;align-items:center;gap:24px}.pub-how-arrow{transform:rotate(90deg);padding:0;margin:0}.pub-how-step{max-width:100%;padding:0}.pub-features{padding:56px 20px}.pub-features-main{grid-template-columns:1fr}.pub-features-minor{flex-direction:column;align-items:stretch}.pub-minor-pill{justify-content:center}.pub-sports{padding:0 20px 56px}.pub-sports-panel{padding:28px 20px;border-radius:12px}.pub-pricing{padding:48px 20px}.pub-legal{padding:40px 20px}.pub-login-card{padding:28px 20px}.pub-prefooter{padding:56px 20px}.pub-prefooter h2{font-size:1.4rem}.pub-prefooter-btns{flex-direction:column;width:100%}.pub-prefooter-btns .pub-cta-btn,.pub-prefooter-btns .pub-cta-outline{width:100%;text-align:center}.pub-footer--rich{flex-direction:column;align-items:flex-start;gap:16px;padding:24px 20px}.pub-footer-right{align-items:flex-start;flex-direction:row;gap:12px}}
