:root{--bg:#f6f8fb;--panel:#fff;--panel-soft:#eef6f2;--fg:#111827;--muted:#5b667a;--line:#dbe3ee;--accent:#0f766e;--accent-dark:#0b5f59;--danger:#b42318;--nav:#132238}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.language-switcher{color:var(--fg);z-index:50;background:#fffffff0;border:1px solid #dbe3eeeb;border-radius:6px;align-items:center;gap:8px;min-height:38px;padding:6px 8px 6px 12px;display:inline-flex;position:fixed;bottom:18px;right:18px;box-shadow:0 12px 34px #1322381f}.language-switcher span{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:800}.language-switcher select{border:1px solid var(--line);color:var(--fg);cursor:pointer;background:#fff;border-radius:6px;min-height:28px;padding:4px 28px 4px 8px;font-size:13px}html:not([data-language=zh])[data-i18n-ready=false] .dashboard-main,html:not([data-language=zh])[data-i18n-ready=false] .auth-page,html:not([data-language=zh])[data-i18n-ready=false] .center-screen{visibility:hidden}.auth-page,.center-screen{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-page{background:radial-gradient(circle at 0 0,#0f766e29,#0000 34%),linear-gradient(135deg,#f6f8fb,#edf4f8)}.login-split-page{background:#fff;grid-template-columns:minmax(0,1.35fr) minmax(420px,1fr);place-items:stretch stretch;padding:0;overflow:hidden}.login-visual{background:linear-gradient(90deg,#0819153d,#08191514),url(/images/login-golf-course.jpg) 50%/cover;border-bottom:4px solid #fff;min-height:100vh;position:relative}.login-visual-overlay{background:linear-gradient(#05101205,#05101247);position:absolute;inset:0}.login-visual-content{color:#fff;z-index:1;gap:18px;max-width:420px;display:grid;position:absolute;bottom:76px;left:48px}.login-visual-content p{letter-spacing:0;text-transform:uppercase;margin:0;font-size:12px;font-weight:900}.login-visual-content h2{max-width:400px;margin:0;font-size:42px;line-height:1.02}.login-panel{box-shadow:none;border:0;place-self:center;max-width:420px;padding:40px}.login-slogan{color:var(--muted);margin:-2px 0 24px;font-size:15px;line-height:1.55}.auth-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;width:min(440px,100%);padding:32px;box-shadow:0 24px 80px #13223824}.login-split-page .login-panel{box-shadow:none;border:0;width:min(420px,100% - 48px);padding:40px}.eyebrow{color:var(--accent);letter-spacing:0;margin:0 0 10px;font-size:12px;font-weight:800}h1,h2,p{margin-top:0}h1{margin-bottom:12px;font-size:32px;line-height:1.1}h2{font-size:18px;line-height:1.2}.lede{color:var(--muted);margin-bottom:24px;font-size:15px;line-height:1.55}.form-stack{gap:16px;display:grid}.form-stack label{color:var(--fg);gap:8px;font-size:14px;font-weight:700;display:grid}.form-stack input{border:1px solid var(--line);width:100%;color:var(--fg);border-radius:6px;outline:none;padding:12px 14px}.form-stack input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0f766e24}.inline-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.inline-form.compact{grid-template-columns:minmax(240px,420px) auto;justify-content:start;align-items:end}.inline-form label,.inline-control{gap:6px;display:grid}.inline-form label span{color:var(--muted);font-size:12px;font-weight:800}.inline-form input,.inline-form select,.inline-control input{border:1px solid var(--line);color:var(--fg);border-radius:6px;min-height:38px;padding:8px 10px}.inline-actions,.inline-control{align-items:center;gap:8px;display:flex}.compact-actions{flex-wrap:wrap;align-items:flex-start;max-width:360px}.inline-control input{width:88px}.primary-button,.secondary-button,.ghost-button,.mini-button{cursor:pointer;border:0;border-radius:6px;min-height:42px;padding:10px 16px;font-weight:800}.primary-button{background:var(--accent);color:#fff}.secondary-button{border:1px solid var(--line);color:var(--accent-dark);background:#fff;align-items:center;display:inline-flex}.primary-button:hover{background:var(--accent-dark)}.primary-button:disabled{cursor:default;opacity:.65}.ghost-button{color:var(--fg);background:#edf2f7}.mini-button{background:var(--accent);color:#fff;white-space:nowrap;min-height:34px;padding:7px 10px;font-size:12px}.mini-button.muted{color:var(--fg);background:#edf2f7}.form-error{color:var(--danger);background:#fff1f0;border:1px solid #ffccc7;border-radius:6px;margin:0;padding:10px 12px;line-height:1.5}.form-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;margin:0;padding:10px 12px;line-height:1.5}.auth-switch{color:var(--muted);margin:18px 0 0;font-size:14px;line-height:1.5}.auth-switch a{color:var(--accent-dark);font-weight:800}.auth-link-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.muted-text{color:var(--muted);margin:0;line-height:1.55}.dashboard-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--nav);color:#fff;padding:24px 18px}.brand{align-items:center;gap:12px;margin-bottom:32px;display:flex}.brand-mark{background:var(--accent);border-radius:6px;justify-content:center;align-items:center;width:38px;height:38px;font-size:13px;font-weight:900;display:inline-flex}.brand strong,.brand small{display:block}.brand small{color:#aab8cb;margin-top:2px;font-size:12px}.side-nav{gap:6px;display:grid}.side-nav a{color:#d7e0ec;border-radius:6px;padding:11px 12px;font-weight:700}.side-nav a:hover,.side-nav a.active{color:#fff;background:#ffffff1a}.dashboard-main{min-width:0}.topbar{background:var(--panel);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:72px;padding:14px 28px;display:flex}.topbar .eyebrow{margin-bottom:4px}.content-stack{gap:18px;padding:28px;display:grid}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.coach-overview-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.metric-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;gap:8px;min-height:120px;padding:18px;display:grid}.metric-card span{color:var(--muted);font-size:13px;font-weight:800}.metric-card strong{font-size:34px;line-height:1}.metric-card small{color:var(--muted);overflow-wrap:anywhere;line-height:1.35}.ops-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px;display:grid}.issue-list{gap:10px;display:grid}.issue-row{border:1px solid var(--line);background:#f8fbfc;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.issue-row span{color:var(--muted);font-weight:700}.issue-row strong{color:var(--fg);font-size:22px}.record-preview{gap:10px;display:grid}.record-preview span{color:var(--muted)}.record-preview pre{color:#e5e7eb;white-space:pre-wrap;background:#0f172a;border-radius:8px;max-height:280px;margin:0;padding:14px;overflow:auto}.check-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.check-grid a,.check-grid span{border:1px solid var(--line);color:var(--fg);background:#f8fbfc;border-radius:8px;padding:12px;font-weight:700;line-height:1.45}.coach-priority-list{gap:10px;display:grid}.coach-priority-row{border:1px solid var(--line);color:var(--fg);background:#f8fbfc;border-radius:8px;grid-template-columns:minmax(220px,1fr) minmax(360px,1.5fr);align-items:center;gap:14px;padding:14px;display:grid}.command-main-panel{min-width:0}.command-athlete-row{grid-template-columns:minmax(160px,.7fr) minmax(260px,1.1fr) minmax(320px,1.3fr)}.priority-identity,.priority-decision{gap:4px;display:grid}.priority-identity>span{text-transform:uppercase;font-size:12px;font-weight:900}.priority-identity p,.priority-decision span{color:var(--muted);margin:0;line-height:1.45}.priority-decision strong{font-size:15px;line-height:1.45}.command-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.coach-priority-row strong,.coach-priority-row span{display:block}.coach-priority-row strong{margin-bottom:4px}.coach-priority-row span{color:var(--muted);line-height:1.45}.priority-metrics{grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:8px;display:grid}.priority-metrics span{border:1px solid var(--line);color:var(--fg);background:#fff;border-radius:6px;min-height:38px;padding:8px;font-size:13px;font-weight:800}.recommendation-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.recommendation-card{border:1px solid var(--line);background:#f8fbfc;border-radius:8px;gap:8px;padding:14px;display:grid}.recommendation-card span{color:var(--muted);font-size:13px;font-weight:800}.recommendation-card strong{font-size:28px;line-height:1}.recommendation-card p{color:var(--fg);margin:0;line-height:1.45}.page-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.command-heading{align-items:end}.command-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.page-heading h1{margin-bottom:0}.count-badge{background:var(--panel-soft);color:var(--accent-dark);overflow-wrap:anywhere;border:1px solid #cbe7df;border-radius:999px;max-width:420px;padding:8px 12px;font-size:13px;font-weight:800}.table-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;gap:14px;padding:18px;display:grid}.table-scroll{overflow-x:auto}.filter-row{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.filter-row label{gap:6px;min-width:180px;display:grid}.filter-row label span,.muted-table-text{color:var(--muted);font-size:12px;font-weight:700}.filter-row select{border:1px solid var(--line);color:var(--fg);font:inherit;background:#fff;border-radius:6px;min-height:40px;padding:8px 10px}table{border-collapse:collapse;width:100%;min-width:840px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 10px}th{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:900}td{color:var(--fg);font-size:14px}.compact-date-cell{white-space:nowrap;width:1%;min-width:88px;max-width:104px}.compact-time-cell{white-space:nowrap;width:1%;min-width:124px;max-width:148px}.compact-number-cell{text-align:center;white-space:nowrap;width:1%;min-width:58px;max-width:76px}.compact-course-cell{white-space:nowrap;width:1%;min-width:76px;max-width:140px}table.round-record-table{width:max-content;min-width:0}.raw-value{overflow-wrap:anywhere;white-space:pre-wrap;max-width:680px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.wide-cell{min-width:260px;max-width:360px}.metadata-details{min-width:180px}.metadata-details summary{color:var(--accent-dark);cursor:pointer;white-space:nowrap;font-weight:850}.metadata-details pre{border:1px solid var(--line);color:var(--fg);white-space:pre-wrap;background:#f8fbfc;border-radius:8px;min-width:360px;margin:10px 0 0;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.45;overflow:auto}.embedded-action-cell{background:#f8fbfc;padding:0 10px 14px}.embedded-action-panel{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(220px,1fr) auto minmax(420px,1.4fr);align-items:end;gap:12px;padding:14px;display:grid}.embedded-action-panel p{color:var(--muted);margin:4px 0 0;line-height:1.45}.password-reset-inline{grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) auto}.entitlement-details{border-top:1px solid var(--line);gap:12px;padding-top:14px;display:grid}tr:last-child td{border-bottom:0}.clickable-row:hover td{background:#f8fbfc}.table-link,.back-link{color:var(--accent-dark);font-weight:800}.small-action{background:var(--accent);color:#fff;white-space:nowrap;border-radius:6px;padding:7px 10px;font-size:13px;font-weight:800;display:inline-flex}.back-link{width:fit-content}.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.athlete-profile-strip{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:14px;padding:18px 20px;display:flex}.athlete-profile-strip span{color:#1f3149;background:#e6eef8;border:1px solid #b9c9dd;border-radius:999px;padding:10px 16px;font-size:16px;font-weight:900}.athlete-core-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.athlete-workspace-nav{background:var(--panel);border:1px solid var(--line);border-radius:8px;gap:12px;padding:14px;display:flex;overflow-x:auto}.athlete-workspace-nav button{border:1px solid var(--line);color:var(--fg);cursor:pointer;font:inherit;white-space:nowrap;background:#f8fbfc;border-radius:6px;flex:none;min-width:108px;min-height:52px;padding:12px 18px;font-size:15px;font-weight:850}.athlete-workspace-nav button.active{background:var(--accent);border-color:var(--accent);color:#fff}.workspace-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.workspace-summary-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.workspace-summary-tile,.workspace-summary-grid article{background:var(--panel);border:1px solid var(--line);color:var(--fg);text-align:left;border-radius:8px;gap:8px;min-height:118px;padding:16px;display:grid}.workspace-summary-tile{cursor:pointer}.workspace-summary-tile:hover{background:var(--panel-soft);border-color:var(--accent)}.workspace-summary-tile span,.workspace-summary-grid article span{color:var(--muted);font-size:12px;font-weight:900}.workspace-summary-tile strong,.workspace-summary-grid article strong{overflow-wrap:anywhere;font-size:20px;line-height:1.25}.workspace-summary-tile small{color:var(--muted);overflow-wrap:anywhere;line-height:1.4}.core-metric-card strong{overflow-wrap:anywhere}.training-panel{border-left:4px solid var(--accent)}.ai-decision-panel{background:#f4faf7;border:1px solid #bfd8d2;border-radius:8px;gap:12px;padding:14px;display:grid}.ai-decision-panel .section-title{gap:12px}.ai-decision-panel h2{margin:4px 0 0}.ai-decision-panel small{color:var(--muted);font-weight:800}.ai-current-stage{background:#fffdf8}.ai-current-stage .section-title strong{color:var(--fg);font-size:30px;line-height:1}.ai-current-stage h2{margin:4px 0 6px;font-size:30px}.ai-current-stage .section-title p,.ai-current-stage p,.ai-current-stage small{color:var(--muted);margin:0;font-weight:800;line-height:1.45}.ai-section-heading{align-items:center;gap:12px;margin:6px 2px -2px;display:flex}.ai-section-heading strong{color:var(--fg);font-size:24px;font-weight:950}.ai-section-heading span{color:var(--muted);font-weight:850}.ai-matrix-panel{background:#fffdf8}.ai-matrix-list{background:#fbfaf6;border:1px solid #ddd3c2;border-radius:8px;gap:14px;padding:14px;display:grid}.ai-matrix-list article{gap:7px;display:grid}.ai-matrix-list article div{align-items:center;gap:10px;display:flex}.ai-matrix-list strong{font-size:17px}.ai-matrix-list em{border-radius:999px;margin-left:auto;padding:5px 10px;font-style:normal;font-weight:900}.ai-matrix-list em.green{color:#18a058;background:#dff8e8}.ai-matrix-list em.yellow{color:#c27a00;background:#fff3d4}.ai-matrix-list em.red{color:#ef4444;background:#ffe3e1}.ai-matrix-list p,.ai-advice-block p{color:var(--fg);margin:0;font-weight:750;line-height:1.55}.ai-status-dot{border-radius:999px;flex:none;width:10px;height:10px;display:inline-block}.ai-status-dot.green{background:#22c55e}.ai-status-dot.yellow{background:#f59e0b}.ai-status-dot.red{background:#ef4444}.ai-status-dot.gray{background:#94a3b8}.ai-advice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.ai-advice-block h2{margin:0;font-size:18px}.ai-snapshot-history{gap:12px}.ai-snapshot-card{background:#fbfaf6;border:1px solid #ddd3c2;border-radius:8px;gap:12px;padding:14px;display:grid}.ai-snapshot-card h3{margin:0;font-size:18px}.ai-snapshot-line{gap:4px;padding-left:14px;display:grid}.ai-snapshot-line span{color:var(--muted);font-size:12px;font-weight:900}.ai-snapshot-line p{color:var(--fg);margin:0;font-weight:750;line-height:1.55}.ai-decision-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.ai-decision-grid div{background:#fff;border:1px solid #d6e7e2;border-radius:8px;gap:6px;padding:12px;display:grid}.ai-decision-grid span{color:var(--muted);font-size:12px;font-weight:900}.ai-decision-grid p{overflow-wrap:anywhere;margin:0;line-height:1.45}.training-plan-grid{grid-template-columns:1.2fr 1fr 1fr;gap:12px;display:grid}.training-plan-grid article{border:1px solid var(--line);background:#f8fbfc;border-radius:8px;gap:8px;padding:14px;display:grid}.training-plan-grid span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.training-plan-grid strong{font-size:18px;line-height:1.3}.training-plan-grid p,.training-plan-grid ul{color:var(--fg);margin:0;line-height:1.45}.training-plan-grid ul{padding-left:18px}.training-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.training-summary-grid article{border:1px solid var(--line);background:#fff;border-radius:8px;gap:6px;padding:12px;display:grid}.training-summary-grid span{color:var(--muted);font-size:12px;font-weight:900}.training-summary-grid strong{overflow-wrap:anywhere;font-size:16px;line-height:1.35}.coach-plan-editor{border:1px solid var(--line);background:#f8fbfc;border-radius:8px;gap:12px;padding:14px;display:grid}.coach-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.coach-plan-editor label{gap:8px;display:grid}.coach-plan-editor label span{color:var(--muted);font-size:12px;font-weight:900}.coach-plan-editor input,.coach-plan-editor textarea{border:1px solid var(--line);color:var(--fg);font:inherit;background:#fff;border-radius:8px;outline:none;width:100%;padding:12px 14px;font-size:15px}.coach-plan-editor textarea{resize:vertical;min-height:130px;line-height:1.5}.coach-plan-textarea.compact textarea{min-height:92px}.coach-plan-editor input:focus,.coach-plan-editor textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0f766e24}.coach-plan-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.coach-plan-preview{border:1px solid var(--line);background:#f8fbfc;border-radius:8px;gap:12px;padding:14px;display:grid}.coach-plan-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.coach-plan-preview-grid article{border:1px solid var(--line);background:#fff;border-radius:8px;gap:6px;padding:12px;display:grid}.coach-plan-preview-grid span{color:var(--muted);font-size:12px;font-weight:900}.coach-plan-preview-grid p{overflow-wrap:anywhere;margin:0;line-height:1.45}.compact-message{min-height:42px;margin:0;padding:10px 12px;display:inline-flex}.reason-list{flex-wrap:wrap;gap:8px;display:flex}.reason-list span{background:var(--panel-soft);color:var(--accent-dark);border:1px solid #cbe7df;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:800}.trend-panel,.trend-title{gap:16px}.trend-title>div:first-child{gap:4px;display:grid}.segmented-control,.metric-tabs{flex-wrap:wrap;gap:8px;display:flex}.segmented-control button,.metric-tabs button{border:1px solid var(--line);color:var(--fg);cursor:pointer;font:inherit;background:#fff;border-radius:6px;min-height:52px;padding:13px 18px;font-size:15px;font-weight:850}.metric-tabs{overflow-x:auto}.metric-tabs button{flex:none;min-width:132px}.segmented-control button.active,.metric-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.chart-wrap{gap:8px;min-width:0;display:grid}.chart-wrap svg{border:1px solid var(--line);background:#f8fbfc;border-radius:8px;width:100%;height:auto;display:block}.chart-axis{stroke:#cbd5e1;stroke-width:1px}.chart-grid-line{stroke:#e2e8f0;stroke-width:1px}.chart-axis-label,.chart-point-label,.chart-unit-label{fill:var(--muted);font-size:11px;font-weight:800}.chart-point-label,.chart-unit-label{fill:var(--fg)}.chart-line{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.chart-point{fill:#fff;stroke:var(--accent-dark);stroke-width:2px}.trend-chart-text{fill:var(--fg);font-size:8px;font-weight:800}.chart-labels{color:var(--muted);justify-content:space-between;font-size:12px;font-weight:800;display:flex;overflow-x:auto}.chart-labels span{text-align:center;min-width:42px}.training-axis-labels{gap:8px;justify-content:initial;padding-left:7.63%;padding-right:3.68%;font-size:10px;display:grid}.training-axis-labels span{gap:2px;min-width:58px;line-height:1.15;display:grid}.training-axis-labels b,.training-axis-labels small{font:inherit}.training-chart-wrap{gap:10px;display:grid}.training-chart-wrap svg{border:1px solid var(--line);background:#f8fbfc;border-radius:8px;width:100%;height:auto;display:block}.training-chart-wrap .chart-axis-label,.training-chart-wrap .chart-point-label,.training-chart-wrap .chart-unit-label{font-size:10px}.training-chart-text{fill:var(--fg);font-size:8px;font-weight:800}.training-metric-line{fill:none;stroke:#2f8f7b;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.training-metric-point{fill:#fff;stroke:#2f8f7b;stroke-width:2px}.chart-legend{flex-wrap:wrap;gap:12px;display:flex}.chart-legend span{color:var(--muted);align-items:center;gap:6px;font-size:13px;font-weight:800;display:inline-flex}.chart-legend i{width:22px;height:10px;display:inline-block}.legend-bar{background:#2f8f7b;border-radius:3px}.legend-line{border-top:3px solid #0f172a}.daily-card-grid{grid-template-columns:repeat(7,minmax(150px,1fr));gap:12px;display:grid;overflow-x:auto}.daily-status-card{border:1px solid var(--line);color:var(--fg);cursor:pointer;font:inherit;text-align:left;background:#f8fbfc;border-radius:8px;gap:12px;min-width:150px;padding:14px;display:grid}.daily-status-card:hover,.daily-status-card.active{background:var(--panel-soft);border-color:var(--accent)}.daily-status-card>div:first-child{gap:4px;display:grid}.daily-status-card strong{font-size:15px}.daily-status-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.daily-status-card dt{color:var(--muted);font-size:11px;font-weight:900}.daily-status-card dd{margin:2px 0 0;font-weight:900}.daily-status-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.4}.plan-date-selector{gap:14px}.plan-date-strip{gap:10px;padding-bottom:2px;display:flex;overflow-x:auto}.plan-date-strip button{border:1px solid var(--line);color:var(--fg);cursor:pointer;font:inherit;text-align:left;background:#f8fbfc;border-radius:8px;flex:none;align-items:flex-start;gap:5px;min-width:132px;padding:12px 14px;display:grid}.plan-date-strip button:hover,.plan-date-strip button.active{background:var(--panel-soft);border-color:var(--accent)}.plan-date-strip strong{font-size:15px;line-height:1.2}.plan-date-strip span{font-size:12px;font-weight:900}.report-grid{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.report-card{background:#dce7f3;border-color:#aebfd5;align-content:start;box-shadow:0 18px 40px #1322381f}.report-summary-card{color:var(--fg);cursor:pointer;text-align:left;background:#edf4f8;border:1px solid #c8d8e6;border-radius:8px;grid-template-columns:minmax(220px,1fr) minmax(360px,1.4fr);align-items:center;gap:16px;padding:16px;display:grid;box-shadow:0 10px 24px #1322380f}.report-summary-card:hover{border-color:var(--accent);background:#e3f0ec;box-shadow:0 14px 30px #0f766e1f}.report-summary-card h2{margin:0 0 6px}.report-summary-card span{color:var(--muted);font-size:13px;font-weight:800}.report-summary-metrics{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:8px;display:grid}.report-summary-metrics span,.report-summary-metrics strong{color:var(--fg);background:#f4f8fb;border:1px solid #c8d8e6;border-radius:6px;min-height:36px;padding:8px 10px;font-size:13px;font-weight:850}.report-summary-metrics strong{background:var(--accent);color:#fff;text-align:center}.report-summary{background:#eef4f7;border:1px solid #c8d8e6;border-radius:8px;margin:0;padding:14px;line-height:1.55}.report-chart-panel{gap:10px;display:grid}.report-chart-panel h3{margin:0;font-size:18px;line-height:1.2}.admin-report-chart-title>span{margin-right:18px}.report-chart-wrap svg{background:#eef4f7;width:100%;height:auto;display:block}.report-chart-wrap{background:#eef4f7;border:1px solid #c8d8e6;border-radius:8px;grid-template-columns:68px minmax(0,1fr);display:grid;overflow:hidden}.report-chart-text{fill:var(--fg);font-size:12px;font-weight:850}.report-y-axis{border-right:1px solid var(--line)}.report-chart-scroll{overflow:auto hidden}.report-chart-scroll svg{width:auto}.personal-baseline-panel{background:#eaf4f1;border:1px solid #bfd8d2;border-radius:8px;gap:12px;padding:14px;display:grid;box-shadow:inset 0 1px #ffffffb8}.personal-baseline-panel h3{margin:0;font-size:18px;line-height:1.2}.personal-baseline-panel>.section-title>strong{color:var(--fg);background:#f5fbf8;border:1px solid #bfd8d2;border-radius:6px;padding:8px 10px;font-size:13px;font-weight:850}.baseline-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.baseline-grid article{background:#f4faf7;border:1px solid #bfd8d2;border-radius:8px;gap:6px;min-height:76px;padding:12px;display:grid;box-shadow:0 8px 18px #0f766e0f}.baseline-grid span{color:var(--muted);font-size:12px;font-weight:800}.baseline-grid strong{color:var(--fg);font-size:18px;font-weight:900}.period-average-panel{background:#eef3fa;border:1px solid #cbd8ea;border-radius:8px;gap:12px;padding:14px;display:grid}.period-average-panel h3{margin:0;font-size:18px;line-height:1.2}.report-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.report-stat-grid div,.report-stat-grid article{background:#f7faff;border:1px solid #cbd8ea;border-radius:8px;gap:6px;padding:12px;display:grid;box-shadow:0 8px 18px #1322380d}.report-stat-grid span{color:var(--muted);font-size:12px;font-weight:900}.report-stat-grid strong{font-size:22px;line-height:1}.status-distribution{flex-wrap:wrap;gap:8px;display:flex}.status-distribution span{background:#eef4f7;border:1px solid #c8d8e6;border-radius:999px;padding:7px 10px;font-size:13px}.info-tile{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px}.info-tile span,.section-title span{color:var(--muted);font-size:13px;font-weight:700}.info-tile strong{overflow-wrap:anywhere;margin-top:8px;display:block}.section-title{justify-content:space-between;align-items:center;display:flex}.section-title h2{margin-bottom:0}.status-ok{color:#166534;font-weight:700}.status-warning{color:#a16207;font-weight:700}.status-neutral{color:#0369a1;font-weight:700}.status-error{color:var(--danger);font-weight:700}@media (max-width:860px){.login-split-page{grid-template-columns:1fr}.login-visual{min-height:36vh}.login-visual-content{gap:12px;max-width:calc(100% - 48px);bottom:24px;left:24px}.login-visual-content h2{max-width:320px;font-size:30px}.login-panel{place-self:start stretch;margin:0 auto}.dashboard-shell{grid-template-columns:1fr}.sidebar{padding:18px}.side-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.side-nav a{text-align:center}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid,.coach-overview-grid,.athlete-core-grid,.ops-grid,.check-grid,.command-athlete-row,.coach-priority-row,.priority-metrics,.recommendation-grid,.training-plan-grid,.training-summary-grid,.coach-plan-preview-grid,.ai-decision-grid,.workspace-summary-grid,.workspace-summary-grid.compact,.report-grid,.report-stat-grid,.baseline-grid,.inline-form{grid-template-columns:1fr}.daily-card-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media (max-width:640px){.auth-panel,.content-stack{padding:20px}.login-split-page .login-panel{width:100%;padding:28px 20px 32px}.login-visual{min-height:280px}.login-visual-content h2{font-size:26px}.topbar,.page-heading{flex-direction:column;align-items:stretch}.side-nav,.detail-grid{grid-template-columns:1fr}}
