:root{--bg:#0f172a;--surface:#1e293b;--surface-2:#273449;--border:#334155;--text:#e2e8f0;--text-dim:#94a3b8;--accent:#38bdf8;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--zone-1:#22c55e;--zone-2:#84cc16;--zone-3:#eab308;--zone-4:#f97316;--zone-5:#ef4444;--zone-test:#e11d48}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}.app-shell{min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border);position:relative}.brand{color:var(--text);font-weight:700;text-decoration:none;font-size:18px}.app-nav{display:flex;align-items:center}.app-nav-toggle{display:none;background:none;border:1px solid var(--border);color:var(--text);font-size:13px;width:auto;padding:6px 12px;border-radius:6px}.app-nav-groups{display:flex;align-items:center;gap:4px}.app-nav-group-btn,.app-nav-link{color:var(--text-dim);text-decoration:none;font-size:14px;background:none;border:none;padding:6px 10px;border-radius:6px;width:auto;font-weight:400;cursor:pointer}.app-nav-group-btn:hover,.app-nav-link:hover{color:var(--accent)}.app-nav-group-btn:focus-visible,.app-nav-link:focus-visible,.app-nav-menu-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-nav-group-btn.is-active,.app-nav-link.is-active{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.app-nav-group{position:relative}.app-nav-menu{display:none;position:absolute;top:100%;left:0;margin-top:4px;min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px;z-index:40;flex-direction:column}.app-nav-group.is-open .app-nav-menu{display:flex}.app-nav-menu-link{color:var(--text-dim);text-decoration:none;font-size:14px;padding:8px 10px;border-radius:6px}.app-nav-menu-link:hover{color:var(--text);background:var(--surface2,#273449)}.app-nav-menu-link.is-active{color:var(--text);font-weight:600}.app-nav-account{display:flex;align-items:center;gap:12px;margin-left:12px;padding-left:16px;border-left:1px solid var(--border)}.app-nav-role{color:var(--text-dim);font-size:13px}@media (max-width:1100px){.app-nav-toggle{display:inline-block}.app-nav-groups{display:none;position:absolute;top:56px;right:16px;left:16px;flex-direction:column;align-items:stretch;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px;z-index:50}.app-nav-groups.is-open{display:flex}.app-nav-group,.app-nav-menu{position:static}.app-nav-menu{border:none;padding:0 0 0 12px;margin:0;min-width:0}.app-nav-group.is-open .app-nav-menu{display:flex}.app-nav-account{margin:6px 0 0;padding:8px 0 0;border-left:none;border-top:1px solid var(--border)}}button.linkish{background:none;color:var(--text-dim);font-weight:400;font-size:14px;padding:0;margin-left:16px;width:auto}button.linkish:hover{color:var(--accent);opacity:1}.app-main{padding:24px;max-width:1200px;margin:0 auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px}.rower-list{display:grid;grid-gap:10px;gap:10px}.rower-link{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text);text-decoration:none}.rower-link:hover{border-color:var(--accent)}.squad-tag{font-size:12px;color:var(--text-dim);background:var(--surface-2);padding:3px 10px;border-radius:999px}h1,h2{margin-top:0;margin-bottom:12px}form{grid-gap:12px;gap:12px;max-width:420px}form,label{display:grid}label{font-size:13px;color:var(--text-dim);grid-gap:4px;gap:4px}input,select{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px;color:var(--text);font-size:14px}button{background:var(--accent);color:#04202e;border:none;border-radius:8px;padding:10px 16px;font-weight:600;cursor:pointer;width:-moz-fit-content;width:fit-content}button:hover{opacity:.9}.empty-state{color:var(--text-dim);font-size:14px}.metric-select{margin-bottom:16px}.rank-table{width:100%;border-collapse:collapse;font-size:14px}.rank-table td,.rank-table th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}.rank-table th{color:var(--text-dim);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.rank-table tbody tr:last-child td{border-bottom:none}.rank-table td.num,.rank-table th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rank-table .samples{color:var(--text-dim);font-size:12px}.rower-inline-link{color:var(--text);text-decoration:none}.rower-inline-link:hover{color:var(--accent)}.soon-tag{font-size:10px;background:var(--surface-2);color:var(--text-dim);padding:1px 5px;vertical-align:middle}.soon-tag,.status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:999px}.status-badge{font-size:12px;font-weight:600;color:#04202e;background:var(--accent);padding:4px 10px}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.preview-card{margin-bottom:0}.preview-card h3{margin:0 0 6px;font-size:15px}.subnav a{color:var(--text-dim);text-decoration:none;font-size:14px}.subnav a:hover{color:var(--accent)}.inbox{list-style:none;padding:0;display:grid;grid-gap:8px;gap:8px}.inbox li{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.comment-list{list-style:none;padding:0;display:grid;grid-gap:10px;gap:10px}.comment-list li{border-left:2px solid var(--border);padding-left:10px}.subcard{border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:10px}.action-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}.action-row input,.action-row select,.action-row textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:8px;color:var(--text);font-size:14px}.action-row input:not([type]),.action-row input[type=text]{min-width:220px;flex:1 1 220px}.pill,.status-tag{font-size:11px;text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--text-dim);white-space:nowrap}.status-tag.status-confirmed{background:#14532d;color:#bbf7d0}.status-tag.status-failed{background:#7f1d1d;color:#fecaca}.status-tag.status-needs_review{background:#78350f;color:#fed7aa}.status-tag.status-approved{background:#14532d;color:#bbf7d0}.status-tag.status-denied,.status-tag.status-rejected{background:#7f1d1d;color:#fecaca}.pill.person-status-pending,.status-tag.status-pending{background:#78350f;color:#fed7aa}.pill.person-status-expired{background:var(--surface-2);color:var(--text-dim)}.pill.person-status-incomplete{background:#1e3a8a;color:#bfdbfe}.pill.person-status-active{background:#14532d;color:#bbf7d0}.pill.person-status-suspended{background:#78350f;color:#fed7aa}.pill.person-status-removed{background:var(--surface-2);color:var(--text-dim)}.zone-badge{display:inline-block;font-size:12px;font-weight:700;line-height:1.4;padding:2px 8px;border-radius:6px;border:1px solid transparent;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.zone-badge[data-zone="1"]{background:#052e16;color:#bbf7d0;border-color:#15803d}.zone-badge[data-zone="2"]{background:#1a2e05;color:#d9f99d;border-color:#4d7c0f}.zone-badge[data-zone="3"]{background:#422006;color:#fde68a;border-color:#a16207}.zone-badge[data-zone="4"]{background:#431407;color:#fed7aa;border-color:#c2410c}.zone-badge[data-zone="5"]{background:#450a0a;color:#fecaca;border-color:#dc2626}.zone-badge[data-zone=test]{background:#500724;color:#fecdd3;border-color:#be123c}.availability-privacy .prio{font-weight:700;padding:0 4px;border-radius:4px}.prio-high{color:#fecaca;background:#450a0a}.prio-medium{color:#fed7aa;background:#431407}.prio-low{color:#bfdbfe;background:#172554}.cal-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px}.cal-head h2{margin:0}.cal-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}.cal-controls button{padding:4px 8px;font-size:13px}.cal-title{font-weight:600;color:var(--text)}.cal-spacer{width:8px}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px;margin-top:12px}.cal-weekday{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);padding:2px 4px}.cal-cell{min-height:84px;border:1px solid var(--border);border-radius:6px;padding:4px;background:var(--surface-2);display:flex;flex-direction:column;gap:3px}.cal-week .cal-cell{min-height:140px}.cal-cell.cal-dim{opacity:.4}.cal-cell.cal-today{border-color:var(--accent)}.cal-daynum{font-size:11px;color:var(--text-dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-entry{display:flex;flex-direction:column;text-decoration:none;border-radius:4px;padding:2px 5px;border:1px solid transparent;font-size:11px;line-height:1.25}.cal-entry-name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-entry-meta{font-size:10px;opacity:.9}.cal-excused{background:#052e16;color:#bbf7d0;border-color:#15803d}.cal-unexcused{background:#450a0a;color:#fecaca;border-color:#dc2626}.cal-pending{background:#78350f;color:#fed7aa;border-color:#b45309}.cal-legend{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 0;font-size:12px}.cal-key{font-weight:700;padding:1px 8px;border-radius:999px;border:1px solid transparent}@media (max-width:700px){.cal-cell{min-height:64px}.cal-entry-meta{display:none}}.priority-pill{display:inline-block;font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.priority-pill.priority-high{background:#7f1d1d;color:#fecaca;border-color:#b91c1c}.priority-pill.priority-medium{background:#78350f;color:#fed7aa;border-color:#b45309}.priority-pill.priority-low{background:var(--surface-2);color:var(--text-dim);border-color:var(--border)}.status-tag.status-submitted{background:#1e3a8a;color:#bfdbfe}.status-tag.status-high{background:#14532d;color:#bbf7d0}.status-tag.status-medium{background:#78350f;color:#fed7aa}.status-tag.status-low{background:#7f1d1d;color:#fecaca}.status-tag.status-unavailable{background:var(--surface-2);color:var(--text-dim)}.status-tag.status-active{background:#7f1d1d;color:#fecaca}.status-tag.status-under_review{background:#1e3a8a;color:#bfdbfe}.status-tag.status-modified_training{background:#78350f;color:#fed7aa}.status-tag.status-return_to_training{background:#365314;color:#d9f99d}.status-tag.status-cleared{background:#14532d;color:#bbf7d0}.status-tag.status-closed{background:var(--surface-2);color:var(--text-dim)}.summary-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-gap:10px;gap:10px;margin-bottom:16px}.summary-stat{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;display:grid;grid-gap:2px;gap:2px}.summary-stat.tone-warn{border-color:#b45309}.summary-stat.tone-good{border-color:#15803d}.summary-value{font-size:22px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.summary-label{font-size:12px;color:var(--text-dim)}.summary-stat-link{text-decoration:none;color:inherit;display:block}.summary-stat-link:hover .summary-stat{border-color:var(--accent)}.cc-cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-top:16px}@media (max-width:800px){.cc-cols{grid-template-columns:1fr}}.attention-list,.pr-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:8px;gap:8px}.attention-list li{display:flex;align-items:baseline;gap:8px;font-size:14px}.attention-list li a{color:var(--text);text-decoration:none;flex:1 1}.pr-list li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}.pr-list a{color:var(--text);text-decoration:none}.attention-list a:hover,.pr-list a:hover{color:var(--accent)}.sev{flex:0 0 auto;font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:999px;font-weight:700;align-self:flex-start;margin-top:1px}.sev-high{background:#7f1d1d;color:#fecaca}.sev-medium{background:#78350f;color:#fed7aa}.sev-low{background:var(--surface-2);color:var(--text-dim)}.roster-controls{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end;margin:20px 0}.roster-controls label{display:grid;grid-gap:6px;gap:6px}.roster-controls .roster-inactive{flex-direction:row;align-items:center;gap:8px}.roster-controls .roster-inactive input{width:auto}.card>h1,.card>h2,.card>h3{margin-bottom:16px}.card .roster-controls+.empty-state,.card .roster-controls+.table-scroll{margin-top:4px}.card .empty-state+.table-scroll{margin-top:16px}.team-page{display:flex;flex-direction:column;gap:20px}.team-page>*{margin:0}.team-page-sub{color:var(--text-dim);font-size:13px}.split-trend{display:flex;flex-direction:column;gap:16px}.split-trend-head{display:flex;align-items:baseline;gap:12px}.split-trend .chart-frame,.split-trend .roster-controls,.split-trend-head h2{margin:0}.split-trend .chart-body{min-height:0}.trend-athletes{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-top:10px;padding:10px;border:1px solid var(--border);border-radius:8px}.trend-athletes label{display:flex;align-items:center;gap:5px;font-size:13px}.trend-athletes input{width:auto}.area-trend-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 8px}.trend-badge{font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px;border:1px solid transparent}.trend-badge[data-trend=improving]{background:#052e16;color:#bbf7d0;border-color:#15803d}.trend-badge[data-trend=declining]{background:#450a0a;color:#fecaca;border-color:#dc2626}.trend-badge[data-trend=flat]{background:var(--surface-2);color:var(--text-dim);border-color:var(--border)}.trend-badge[data-trend=insufficient]{background:#172554;color:#bfdbfe;border-color:#1d4ed8}.table-scroll{overflow-x:auto}.spark{color:var(--accent);display:block}.spark-empty{color:var(--text-dim)}.spark-cell{min-width:110px}.sub-status{font-size:12px;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sub-current{color:#86efac}.sub-stale{color:#fdba74}.sub-missing{color:#fca5a5}.sub-none{color:var(--text-dim)}.warn-pill{background:#78350f;color:#fed7aa}.pager{display:flex;align-items:center;gap:12px;margin-top:12px}.pager button{background:var(--surface-2);color:var(--text)}.pager button:disabled{opacity:.4;cursor:default}.profile-header{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:10px;gap:10px}.stat-tile{background:var(--surface-2);border-radius:8px;padding:10px 12px;display:grid;grid-gap:2px;gap:2px}.stat-tile .v{font-size:18px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-tile .k,.stat-tile .sub{font-size:11px;color:var(--text-dim)}.warn-text{color:#fdba74;font-size:13px}.btn-link{display:inline-block;background:var(--accent);color:#04202e;font-weight:600;font-size:13px;padding:6px 12px;border-radius:8px;text-decoration:none}.btn-link:hover{opacity:.9}.onboard{max-width:460px;margin:0 auto;font-size:17px;line-height:1.55}.onboard h1{font-size:26px;line-height:1.25}.onboard h2{font-size:21px}.onboard p{font-size:17px;color:var(--text)}.onboard .muted{color:var(--text-dim);font-size:15px}.onboard .big-btn,.onboard button.big-btn{display:block;width:100%;font-size:18px;font-weight:700;padding:15px 18px;border-radius:10px;min-height:52px;margin-top:14px}.onboard .link-btn{display:inline-block;background:none;border:none;color:var(--accent);font-size:16px;font-weight:600;padding:10px 4px;cursor:pointer;min-height:44px;width:auto}.onboard .qr-frame{background:#fff;padding:16px;border-radius:12px;width:-moz-fit-content;width:fit-content;margin:14px auto}.onboard .qr-frame svg{display:block;width:232px;height:232px}.onboard .app-choice-list{list-style:none;margin:8px 0;padding:0;display:grid;grid-gap:8px;gap:8px}.onboard .app-choice-list li{display:flex;align-items:center;flex-wrap:wrap;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.onboard .app-choice-name{font-size:16px;font-weight:600;flex:1 1 auto;min-width:160px}.onboard .code-inputs{display:flex;gap:8px;justify-content:center;margin:12px 0}.onboard .code-inputs input{width:46px;height:58px;text-align:center;font-size:26px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border-radius:10px;padding:0}.onboard .code-inputs input:focus{outline:2px solid var(--accent);outline-offset:1px}.onboard details{margin-top:14px}.onboard details>summary{cursor:pointer;font-size:16px;font-weight:600;color:var(--accent);padding:10px 0;min-height:44px}.onboard .key-box{display:block;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:12px;font-size:18px;letter-spacing:2px;word-break:break-all;margin:8px 0}.onboard .step-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.lineup-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-gap:16px;gap:16px;align-items:start}@media (max-width:1000px){.lineup-layout{grid-template-columns:1fr}}.seat-list{display:grid;grid-gap:6px;gap:6px;margin-top:8px}.seat-row{gap:6px}.seat,.seat-row{display:flex;align-items:center}.seat{flex:1 1;gap:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:8px 12px;color:var(--text);font-size:14px;text-align:left;cursor:pointer;width:auto;font-weight:400}.seat:disabled{cursor:default;opacity:.85}.seat[draggable=true]{cursor:-webkit-grab;cursor:grab}.seat-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.seat-filled{background:#1e3a2e}.seat-drop{border-color:var(--accent);border-style:dashed;background:#0c2a3a;box-shadow:0 0 0 2px var(--accent) inset}.seat-label{flex:0 0 96px;color:var(--text-dim);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.seat-name{flex:1 1}.seat-clear{font-size:16px;line-height:1;padding:4px 8px}.flash-ok{color:#4ade80;margin:8px 0 0;font-size:13px}.lineup-howto{margin:12px 0 16px}.lineup-pool{position:-webkit-sticky;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}.lineup-pool.pool-drop{outline:2px dashed var(--accent);outline-offset:-4px}.pool-list{list-style:none;padding:0;margin:8px 0 0;display:grid;grid-gap:4px;gap:4px}.pool-pill{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:6px 10px;color:var(--text);font-size:13px;text-align:left;cursor:-webkit-grab;cursor:grab;font-weight:400}.pool-pill:disabled{cursor:default}.pool-pill:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pool-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.pool-in{opacity:.5}.pool-name{font-weight:600}.pool-badges{display:flex;align-items:center;gap:6px;flex-shrink:0}.pool-val{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-dim)}.cat-badge,.cox-badge,.side-badge{font-size:12px;font-weight:700;line-height:1.5;min-width:20px;text-align:center;border:1px solid var(--border);border-radius:5px;padding:1px 5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cat-badge{color:var(--text);background:var(--surface)}.side-badge{color:#7dd3fc;background:#0c2a3a;border-color:#155e75}.cox-badge{color:#fcd34d;background:#422006;border-color:#854d0e}.boat-notes{margin:4px 0 8px;font-size:13px}.boat-note-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#f97316;margin-right:6px;vertical-align:middle}.boat-note-dot.resolved{background:#15803d}.oarset-tag{font-size:12px;color:var(--text-dim)}.cox-pool{margin-top:20px;border-top:1px solid var(--border);padding-top:16px}.cox-pool h3{margin:0 0 4px}.cox-pill{cursor:-webkit-grab;cursor:grab}.team-pill{font-weight:700}.team-pill.team-mens{background:#0c2a3a;color:#7dd3fc;border:1px solid #155e75}.team-pill.team-womens{background:#3b0764;color:#e9d5ff;border:1px solid #7e22ce}.compare-panel{margin:0 0 8px;padding:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;font-size:12px}.compare-panel .roster-controls{align-items:flex-end}.compare-panel .roster-controls label{font-size:12px}.warn-modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.warn-modal .card{max-width:480px;margin:0}.status-tag.status-draft{background:var(--surface-2);color:var(--text-dim)}.status-tag.status-published{background:#14532d;color:#bbf7d0}.status-tag.status-locked{background:#1e293b;color:#94a3b8;border:1px solid var(--border)}.coverage-pill{display:inline-block;font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;border:1px solid transparent;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.coverage-red{background:#450a0a;color:#fecaca;border-color:#dc2626}.coverage-orange{background:#431407;color:#fed7aa;border-color:#c2410c}.coverage-blue{background:#172554;color:#bfdbfe;border-color:#1d4ed8}.coverage-green{background:#052e16;color:#bbf7d0;border-color:#15803d}.coverage-none{background:var(--surface-2);color:var(--text-dim);border-color:var(--border)}.coverage-link{text-decoration:none}.status-tag.status-needs_replacement{background:#78350f;color:#fed7aa}.status-tag.status-awaiting_coach_review{background:#1e3a8a;color:#bfdbfe}.status-tag.status-awaiting_athlete_correction,.status-tag.status-uncertain{background:#78350f;color:#fed7aa}.status-tag.status-mismatched{background:#7f1d1d;color:#fecaca}.status-tag.status-partial{background:#78350f;color:#fed7aa}.status-tag.status-missing{background:#7f1d1d;color:#fecaca}.status-tag.status-duplicate{background:var(--surface-2);color:var(--text-dim)}.status-tag.status-corrected{background:#1e3a8a;color:#bfdbfe}.status-tag.status-ok{background:#14532d;color:#bbf7d0}.raw-evidence{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:12px;overflow-x:auto;font-size:12px;color:var(--text-dim)}.analytics-page>.profile-header{margin-bottom:12px}.analytics-page>.profile-header h1{margin:0}.analytics-page .roster-controls{margin:0 0 16px}.analytics-page .analytics-trend{margin-bottom:16px;padding:16px}.analytics-page .analytics-trend .split-trend{gap:10px}.analytics-page .analytics-trend .compare-panel{margin-bottom:8px}.analytics-more{margin-top:8px}.analytics-more>summary{cursor:pointer;color:var(--text-dim);padding:8px 0}.analytics-more[open]>summary{margin-bottom:12px}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));grid-gap:16px;gap:16px}@media (max-width:900px){.chart-grid{grid-template-columns:1fr}}.chart-frame{margin:0}.chart-frame figcaption{display:grid;grid-gap:2px;gap:2px;margin-bottom:10px}.chart-frame figcaption strong{font-size:15px}.chart-caption{font-size:12px;color:var(--text-dim)}.chart-body{min-height:120px}.chart-insufficient{padding:24px 8px}.chart-table{margin-top:18px;font-size:13px}.chart-table summary{cursor:pointer;color:var(--text-dim)}.chart-table table{margin-top:8px}.athlete-picker{margin-bottom:16px}.recharts-default-legend{font-size:12px}.planner-topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:14px}.planner-weeknav{display:flex;align-items:center;gap:14px}.planner-weeknav strong{font-size:17px}.planner-status{display:flex;align-items:center;gap:8px}.planner-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px}@media (max-width:1300px){.planner-week{grid-template-columns:repeat(4,1fr)}}@media (max-width:900px){.planner-week{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.planner-week{grid-template-columns:1fr}}.planner-day{padding:10px;display:flex;flex-direction:column;gap:8px}.planner-day h3{margin:0;font-size:14px}.planner-team{border:1px solid var(--border);border-radius:8px;padding:6px}.planner-team-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.planner-team-h.team-mens{color:#7dd3fc}.planner-team-h.team-womens{color:#e9d5ff}.planner-slot{display:flex;gap:6px;align-items:flex-start;font-size:12px;padding:2px 0}.planner-slot-label{flex:0 0 26px;color:var(--text-dim);font-weight:700}.planner-slot-actions{display:flex;gap:8px;flex-wrap:wrap}.planner-slot .linkish,.planner-slot-actions button{font-size:12px;margin:0}.planner-rest{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);color:var(--text-dim);border:1px dashed var(--border);border-radius:6px;padding:2px 8px;font-size:12px}.planner-day .subcard{padding:8px;margin:0;font-size:12px;flex:1 1}.planner-day .subcard strong,.planner-editor{font-size:13px}.planner-editor .action-row{gap:8px}.planner-editor label{font-size:12px}.planner-owa input{min-width:260px}.status-tag.status-completed{background:#1e293b;color:#94a3b8;border:1px solid var(--border)}.status-tag.status-incomplete{background:#450a0a;color:#fecaca;border:1px solid #dc2626}