:root{color:#16211e;background:#f4f7f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;min-width:320px;overflow:hidden}button,input,select,textarea{font:inherit}button{align-items:center;background:#0c5c4f;border:0;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-weight:800;justify-content:center;min-height:40px;padding:0 14px}button:hover{background:#174f77}button:disabled{background:#9aa9a3;cursor:not-allowed}input,select,textarea{background:#fff;border:1px solid #cbd8d1;border-radius:8px;color:#16211e;padding:0 12px;width:100%}input,select{min-height:42px}textarea{min-height:150px;padding:12px;resize:vertical}h1,h2,p{margin-top:0}h1{font-size:clamp(2.25rem,5vw,4.4rem);line-height:.98;margin-bottom:0}h2{color:#142c29;font-size:1.35rem;line-height:1.2;margin-bottom:10px}.app-shell{background:#f4f7f3;color:#16211e;display:grid;grid-template-columns:clamp(248px,19vw,320px) minmax(0,1fr);height:100dvh;min-height:0;overflow:hidden}.app-shell.sidebar-collapsed{grid-template-columns:90px minmax(0,1fr)}.app-shell.theme-dark{background:#101715;color:#edf5f1}@media(prefers-color-scheme:dark){.app-shell.theme-system{background:#101715;color:#edf5f1}}.sidebar{background:#14201e;color:#eef6f2;display:flex;flex-direction:column;gap:20px;height:100dvh;min-height:0;overflow:hidden;padding:20px;position:sticky;top:0}.brand{align-items:center;display:flex;gap:12px;min-width:0}.brand img{flex:0 0 52px;height:52px;width:52px}.brand strong,.brand span{display:block}.brand strong{font-size:1.2rem}.brand span{color:#9fb6ae;font-size:.82rem}.collapse-button{background:#203531;color:#dcebe5}nav{display:grid;gap:7px;overflow:auto;overscroll-behavior:contain}nav button{background:transparent;color:#b9cbc5;gap:10px;justify-content:flex-start;padding:10px 11px}nav button.active,nav button:hover{background:#203531;color:#fff}.nav-short{align-items:center;background:#2f4943;border-radius:7px;display:inline-flex;flex:0 0 32px;font-size:.72rem;height:30px;justify-content:center}nav button.active .nav-short{background:#f2c14e;color:#14201e}.sidebar-footer{display:grid;gap:10px;margin-top:auto}.theme-switcher{border:1px solid #3f5a54;border-radius:8px;display:grid;gap:3px;grid-template-columns:repeat(3,minmax(0,1fr));padding:3px}.theme-switcher button{background:transparent;color:#b9cbc5;font-size:.74rem;min-height:32px;padding:0 6px;text-transform:capitalize}.theme-switcher button.active{background:#edf4f1;color:#14201e}.signin-button{width:100%}.sidebar-collapsed .sidebar{padding:18px 13px}.sidebar-collapsed .brand,.sidebar-collapsed nav button{justify-content:center}.sidebar-collapsed .brand div,.sidebar-collapsed .nav-label,.sidebar-collapsed .collapse-button span{display:none}.sidebar-collapsed .collapse-button:before{content:">"}.sidebar-collapsed .theme-switcher{display:grid;grid-template-columns:1fr}.sidebar-collapsed .theme-switcher button{font-size:.64rem;padding:0 2px}.sidebar-collapsed .signin-button{font-size:0;padding:0}.sidebar-collapsed .signin-button:before{content:"In";font-size:.76rem}.workspace{background:inherit;display:flex;flex-direction:column;gap:22px;min-height:0;min-width:0;overflow-y:auto;padding:28px}.topbar,.tracker-hero,.diagnostic-strip,.tracker-grid,.builder-grid,.settings-panel{margin:0 auto;max-width:1260px;width:100%}.topbar{align-items:end;display:flex;gap:18px;justify-content:space-between}.eyebrow{color:#28715f;font-size:.78rem;font-weight:900;letter-spacing:0;margin-bottom:8px;text-transform:uppercase}.target-chip,.tracker-hero,.empty-state,.plan-panel,.coach-panel,.builder-panel,.settings-panel{background:#fff;border:1px solid #d9e2dc;border-radius:8px;box-shadow:0 18px 45px #1e363014}.target-chip{display:grid;gap:4px;min-width:150px;padding:16px}.target-chip span,.score-grid span,.diagnostic-card span,.selected-summary span,.adaptive-card span,.progress-evidence span,.settings-grid span{color:#5d6b66;font-size:.78rem;font-weight:900;text-transform:uppercase}.target-chip strong{color:#0c5c4f;font-size:2rem;line-height:1}.tracker-hero{display:grid;gap:24px;grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);padding:24px}.tracker-hero p,.empty-state p,.settings-panel p,.adaptive-card p,.progress-evidence p,.selected-summary p{color:#53645f;margin-bottom:0}.score-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.score-grid article,.diagnostic-card,.settings-grid article,.selected-summary,.progress-evidence,.adaptive-card,.proposal-list section{background:#f8faf8;border:1px solid #dce5df;border-radius:8px;display:grid;gap:8px;min-width:0;padding:16px}.score-grid strong{color:#174f77;font-size:1.7rem;line-height:1}.tracker-grid{display:grid;gap:22px;grid-template-columns:minmax(0,1fr) 360px}.diagnostic-strip{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.diagnostic-card.met{border-color:#b9ddc5}.diagnostic-card.blocked,.diagnostic-card.failed{border-color:#efc6ba}.diagnostic-card.waiting{border-color:#d5ddeb}.plan-panel,.coach-panel,.builder-panel,.settings-panel{padding:22px}.section-head{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.section-head.compact{margin-bottom:8px}.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.tabs,.segmented{background:#edf4f1;border:1px solid #d9e2dc;border-radius:8px;display:inline-grid;gap:4px;padding:4px}.tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.segmented{grid-template-columns:repeat(2,minmax(0,1fr))}.tabs button,.segmented button{background:transparent;color:#40534d;min-height:34px;text-transform:capitalize;white-space:nowrap}.tabs button.active,.segmented button.active{background:#fff;box-shadow:0 6px 16px #1e36301a;color:#0c5c4f}.plan-table{border:1px solid #dce5df;border-radius:8px;overflow:hidden}.plan-table-stack{display:grid;gap:18px}.plan-table-section{display:grid;gap:10px}.table-section-head{align-items:end;display:flex;gap:14px;justify-content:space-between}.table-section-head h3{margin:0}.table-section-head>span,.table-empty{color:#53645f;font-size:.86rem;font-weight:800}.table-empty{padding:14px}.table-row{align-items:center;border-top:1px solid #dce5df;display:grid;gap:8px;grid-template-columns:88px 68px minmax(116px,1fr) 82px 72px 52px 86px;min-height:58px;padding:0 10px;width:100%}.table-row:first-child{border-top:0}.table-head{background:#f2f6f4;color:#5d6b66;font-size:.76rem;font-weight:900;min-height:42px;text-transform:uppercase}.table-button{background:#fff;border-radius:0;color:#16211e;font-size:.92rem;font-weight:500;justify-content:stretch;text-align:left}.table-button:hover,.table-button.selected{background:#edf4f1}.table-row span,.table-row strong{min-width:0}.status-pill{border-radius:999px;display:inline-flex;font-size:.76rem;font-weight:900;justify-content:center;line-height:1.1;padding:6px 8px;text-align:center}.status-pill.good,.status-pill.ahead,.status-dot.good,.status-dot.ahead{background:#e4f3e8;color:#23643c}.status-pill.neutral,.status-dot.neutral{background:#edf4f1;color:#465a54}.status-pill.behind,.status-dot.behind{background:#fae8e2;color:#9c3f27}.status-pill.key,.status-dot.key{background:#eef1fb;color:#174f77}.linear-plan{display:grid;gap:10px}.empty-state{display:grid;gap:10px;padding:18px}.empty-actions{display:flex;flex-wrap:wrap;gap:10px}.timeline-item{background:#fff;border:1px solid #dce5df;color:#16211e;display:grid;gap:8px;grid-template-columns:16px 92px minmax(0,1fr) auto;justify-content:stretch;min-height:72px;padding:12px;text-align:left}.timeline-item:hover,.timeline-item.selected{background:#edf4f1}.timeline-item small{color:#53645f;grid-column:3 / 5}.status-dot{border-radius:999px;height:12px;margin-top:6px;width:12px}.coach-panel{align-content:start;display:grid;gap:12px}.progress-evidence strong,.adaptive-card strong,.settings-grid strong{color:#174f77}.evidence-list{display:grid;gap:6px}.adaptive-card{gap:12px}.profile-pills,.proposal-actions,.influence-list{display:flex;flex-wrap:wrap;gap:8px}.profile-pills button{background:#edf4f1;color:#40534d;min-height:32px;padding:0 10px}.profile-pills button.active{background:#d7eee6;color:#0c5c4f}.profile-pills button.unavailable{opacity:.55}.proposal-list{display:grid;gap:10px}.proposal-list section{padding:12px}.influence-list{display:grid}.influence-list small strong{color:inherit}.builder-grid{display:grid;gap:22px;grid-template-columns:minmax(0,1fr) 360px}.settings-panel{display:grid;gap:22px;grid-template-columns:300px minmax(0,1fr)}.builder-panel{display:grid;gap:14px}.builder-panel.wide{grid-column:1 / -1}.assignment-form label,.builder-panel label{color:#43534e;display:grid;font-size:.84rem;font-weight:900;gap:6px;text-transform:uppercase}.builder-note{color:#53645f;margin-bottom:0}.builder-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.builder-actions span{color:#53645f;font-size:.86rem;font-weight:800}.template-list{display:grid;gap:10px}.template-list button,.plan-readiness-card{background:#edf4f1;color:#40534d;justify-content:flex-start}.template-list button.active,.plan-readiness-card.active{background:#0c5c4f;color:#fff}.plan-readiness-card{border:1px solid #d9e2dc;border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:12px}.plan-readiness-card div:first-child{display:grid;gap:4px;min-width:0}.plan-readiness-card small,.plan-readiness-card span{color:inherit}.settings-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.blocked-state{background:#edf4f1;border-radius:999px;color:#40534d;font-size:.82rem;font-weight:900;padding:6px 10px}.athlete-list{display:flex;flex-wrap:wrap;gap:10px}.athlete-list article{background:#edf4f1;border:1px solid #d9e2dc;border-radius:8px;display:grid;min-width:160px;padding:10px 12px}.athlete-list span,.athlete-list small{color:#53645f}.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-section{min-width:0}.settings-section.wide{grid-column:1 / -1}.assignment-panel{align-items:end;background:#f8faf8;border:1px solid #dce5df;border-radius:8px;display:grid;gap:16px;grid-template-columns:minmax(220px,.8fr) minmax(0,1.4fr) auto;padding:16px}.assignment-form{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.coach-settings{display:grid;gap:16px}.coach-profile-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.coach-profile-grid article{background:#f8faf8;border:1px solid #dce5df;border-radius:8px;display:grid;gap:14px;grid-template-rows:1fr auto;min-width:0;padding:16px}.coach-profile-grid article.unavailable{opacity:.72}.coach-profile-grid article p{color:#53645f;margin-bottom:0}.coach-profile-grid article span{color:#5d6b66;font-size:.78rem;font-weight:900;text-transform:uppercase}.theme-dark .workspace,.theme-dark .table-button,.theme-dark .timeline-item,.theme-dark input,.theme-dark select,.theme-dark textarea,.theme-dark .target-chip,.theme-dark .tracker-hero,.theme-dark .empty-state,.theme-dark .plan-panel,.theme-dark .coach-panel,.theme-dark .builder-panel,.theme-dark .settings-panel,.theme-dark .assignment-panel,.theme-dark .coach-profile-grid article,.theme-dark .score-grid article,.theme-dark .diagnostic-card,.theme-dark .settings-grid article,.theme-dark .selected-summary,.theme-dark .progress-evidence,.theme-dark .adaptive-card,.theme-dark .proposal-list section,.theme-dark .athlete-list article{background:#182421;border-color:#2e403b;box-shadow:none}.theme-dark .table-head,.theme-dark .tabs,.theme-dark .segmented,.theme-dark .blocked-state{background:#22332f;border-color:#2e403b}.theme-dark h2,.theme-dark .table-button,.theme-dark .timeline-item,.theme-dark .settings-grid strong,.theme-dark .adaptive-card strong,.theme-dark .progress-evidence strong{color:#edf5f1}.theme-dark p,.theme-dark small,.theme-dark .tracker-hero p,.theme-dark .settings-panel p,.theme-dark .adaptive-card p,.theme-dark .progress-evidence p,.theme-dark .selected-summary p,.theme-dark .timeline-item small{color:#b8c9c3}@media(prefers-color-scheme:dark){.theme-system .workspace,.theme-system .table-button,.theme-system .timeline-item,.theme-system .target-chip,.theme-system .tracker-hero,.theme-system .empty-state,.theme-system .plan-panel,.theme-system .coach-panel,.theme-system .builder-panel,.theme-system .settings-panel,.theme-system .assignment-panel,.theme-system .coach-profile-grid article,.theme-system .score-grid article,.theme-system .diagnostic-card,.theme-system .settings-grid article,.theme-system .selected-summary,.theme-system .progress-evidence,.theme-system .adaptive-card,.theme-system .proposal-list section,.theme-system .athlete-list article{background:#182421;border-color:#2e403b;box-shadow:none}.theme-system h2,.theme-system .table-button,.theme-system .timeline-item,.theme-system .settings-grid strong,.theme-system .adaptive-card strong,.theme-system .progress-evidence strong{color:#edf5f1}.theme-system p,.theme-system small,.theme-system .adaptive-card p,.theme-system .timeline-item small{color:#b8c9c3}}@media(max-width:1120px){.app-shell,.app-shell.sidebar-collapsed,.tracker-hero,.diagnostic-strip,.tracker-grid,.builder-grid,.settings-panel,.assignment-panel{grid-template-columns:1fr}.app-shell,.app-shell.sidebar-collapsed{grid-template-rows:auto minmax(0,1fr)}.sidebar{height:auto;max-height:42dvh;min-height:auto;overflow:auto;position:static}.sidebar-collapsed .brand div,.sidebar-collapsed .nav-label,.sidebar-collapsed .theme-switcher,.sidebar-collapsed .signin-button,.sidebar-collapsed .collapse-button span{display:initial}.sidebar-collapsed .collapse-button:before{content:none}}@media(max-width:820px){.workspace{padding:18px}.topbar,.section-head,.table-section-head,.toolbar{align-items:stretch;flex-direction:column}.score-grid,.diagnostic-strip,.settings-grid,.coach-profile-grid,.assignment-form{grid-template-columns:1fr}.tabs,.segmented{width:100%}.plan-table{border:0;display:grid;gap:10px;overflow:visible}.table-head{display:none}.table-row{border:1px solid #dce5df;border-radius:8px;grid-template-columns:1fr;padding:12px}.timeline-item{grid-template-columns:16px minmax(0,1fr) auto}.timeline-item span:nth-of-type(2),.timeline-item small{grid-column:2 / 4}}
