:root{font-family:Segoe UI Variable,Segoe UI,system-ui,sans-serif;color:#18231e;background:#f4f6f2;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #18231e;--muted: #6b7771;--line: #dfe4df;--green: #1d6a4d;--green-dark: #123f30;--green-soft: #e9f2ed;--cream: #f7f4ea;--gold: #b7802d;--gold-soft: #f8efd9;--red: #b55b48;--white: #fff;--shadow: 0 8px 28px rgba(25, 51, 38, .07)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #78b99c;outline-offset:2px}.skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;color:var(--ink);padding:10px 14px;transform:translateY(-150%);border-radius:6px}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;color:#e8eee9;background:#101c17;padding:25px 18px 18px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:10px;font-size:15px;line-height:1;font-weight:800;letter-spacing:.15em;color:inherit}.brand>span:last-child{display:flex;flex-direction:column;gap:5px}.brand small{font-family:Consolas,monospace;font-size:8px;font-weight:500;letter-spacing:.13em;color:#86978e}.brand-icon{width:34px;height:34px;background:#d7e9df;color:#1c6148;display:grid;place-items:center;border-radius:9px}.workspace-label,.sidebar nav p{font-family:Consolas,monospace;color:#76867e;font-size:9px;letter-spacing:.13em}.workspace-label{margin:34px 9px 9px}.clinic-switcher,.user-card{border:1px solid #293a32;background:#18261f;color:#eef3f0;width:100%;display:flex;gap:10px;align-items:center;text-align:left;padding:10px;border-radius:10px}.clinic-switcher>span:nth-child(2),.user-card>span:nth-child(2){min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.clinic-switcher strong,.user-card strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clinic-switcher small,.user-card small{font-size:9px;color:#94a59c}.clinic-mark{flex:none;width:28px;height:28px;border-radius:7px;background:#b8d6c7;color:#183b2d;display:grid;place-items:center;font-weight:800}.sidebar nav{margin-top:19px}.sidebar nav p{margin:19px 10px 7px}.sidebar nav button{position:relative;border:0;width:100%;display:flex;align-items:center;gap:11px;padding:10px 11px;margin:2px 0;background:transparent;color:#9caca4;font-size:12px;font-weight:600;border-radius:8px}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#22352b}.sidebar nav button.active:before{content:"";position:absolute;left:-18px;width:3px;height:23px;border-radius:3px;background:#86b89f}.nav-badge{margin-left:auto;color:#c7ddd2;background:#365044;padding:2px 7px;border-radius:10px;font-size:9px}.sidebar-bottom{margin-top:auto}.synthetic{margin:0 0 12px;color:#82938a;display:flex;justify-content:center;align-items:center;gap:6px;font-size:9px}.user-card{border:0;background:transparent}.avatar{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#dceae2;color:#184a37;font-size:11px;font-weight:800}.avatar.clinician{background:#b8d7c7}.main-column{grid-column:2;min-width:0}.topbar{height:68px;position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.mobile-brand{display:none}.athlete-crumb,.topbar-actions{display:flex;align-items:center;gap:10px}.athlete-crumb>span:last-child{display:flex;flex-direction:column;gap:2px}.athlete-crumb strong{font-size:12px}.athlete-crumb small{color:var(--muted);font-size:9px}.view-toggle{background:#edf0ec;padding:3px;border-radius:8px;display:flex}.view-toggle button{border:0;background:transparent;color:#6e7973;padding:7px 11px;border-radius:6px;font-size:10px;font-weight:700}.view-toggle button.active{background:#fff;color:var(--ink);box-shadow:0 1px 5px #00000014}.icon-button{width:36px;height:36px;padding:0;display:grid;place-items:center;border:1px solid var(--line);color:#45524b;background:#fff;border-radius:8px}.page-wrap{max-width:1400px;margin:0 auto;padding:34px 36px 55px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:28px}.page-heading h1{margin:8px 0 5px;font-size:clamp(26px,2.3vw,35px);line-height:1.1;letter-spacing:-.04em}.page-heading p{margin:0;color:var(--muted);font-size:13px}.eyebrow,.section-kicker{font-family:Consolas,monospace;color:#6a7b72;font-size:9px;font-weight:500;letter-spacing:.13em}.eyebrow{display:flex;align-items:center;gap:7px}.status-dot{width:7px;height:7px;border-radius:50%;background:#4f9c76;box-shadow:0 0 0 3px #e4f0e9}.heading-actions{display:flex;gap:9px}.primary-button,.secondary-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:0 14px;font-size:10px;font-weight:700}.primary-button{border:1px solid #194d39;color:#fff;background:#1a5b43;box-shadow:0 3px 8px #1a5b4329}.primary-button:hover{background:#144834}.primary-button:disabled{opacity:.65;cursor:wait}.secondary-button{border:1px solid var(--line);color:#44514b;background:#fff}.secondary-button:hover{background:#f8faf8}.signal-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;border:1px solid #d9e5dd;background:linear-gradient(90deg,#edf4ef,#f9faf7);padding:15px 17px;border-radius:11px;margin-bottom:18px}.signal-icon{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:#fff;color:#286c50;box-shadow:0 2px 8px #1c533c14}.signal-banner strong{font-size:12px}.signal-banner p{margin:3px 0 0;color:#64716b;font-size:10px}.signal-banner button,.text-button{border:0;background:transparent;color:#1b6449;display:flex;align-items:center;gap:6px;font-size:10px;font-weight:800}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.metric-card,.card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px}.metric-card{position:relative;padding:15px 16px 14px;overflow:hidden}.metric-icon{position:absolute;right:13px;top:13px;width:29px;height:29px;border-radius:8px;display:grid;place-items:center;background:#eef3ef;color:#668174}.metric-icon svg{width:15px}.metric-icon.good{background:var(--green-soft);color:var(--green)}.metric-icon.watch{background:var(--gold-soft);color:var(--gold)}.metric-label{color:#66726c;font-size:10px;font-weight:700}.metric-value{margin:9px 0 1px;font-size:29px;line-height:1;font-weight:800;letter-spacing:-.05em}.metric-value span{margin-left:4px;color:#77827c;font-size:12px;letter-spacing:0}.metric-trend{display:inline-block;padding:3px 6px;margin:8px 0;border-radius:5px;font-size:8px;font-weight:800}.metric-trend.good{color:#286d51;background:var(--green-soft)}.metric-trend.watch{color:#8a6427;background:var(--gold-soft)}.metric-detail{padding-top:8px;border-top:1px solid #edf0ed;color:#84908a;font-size:8px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:12px;margin-bottom:12px}.card{padding:19px}.card-head,.ai-card-top,.table-intro,.athlete-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.card h2,.athlete-section h2{margin:4px 0 0;font-size:14px;letter-spacing:-.02em}.legend{display:flex;gap:12px;color:#7a8680;font-size:8px}.legend span{display:flex;align-items:center;gap:5px}.dot{width:7px;height:7px;border-radius:50%;display:block}.dot.green{background:#2a7657}.dot.gold{background:#c79a53}.chart{height:194px;position:relative;margin:18px 0 4px;padding:0 0 22px 28px}.chart-lines{position:absolute;inset:0 0 22px;display:flex;flex-direction:column;justify-content:space-between}.chart-lines>div{height:1px;background:#edf0ed;position:relative}.chart-lines span{position:absolute;right:calc(100% + 7px);top:-5px;color:#9aa39f;font-size:7px}.chart-columns{position:relative;display:grid;grid-template-columns:repeat(7,1fr);height:100%;gap:12px}.chart-day{height:100%;display:flex;flex-direction:column;align-items:center}.bars{position:relative;flex:1;width:100%}.load-bar{position:absolute;bottom:0;left:calc(50% - 8px);width:16px;border-radius:4px 4px 0 0;background:linear-gradient(#ead7ac,#f3ead4)}.ready-point{position:absolute;left:50%;width:100%;height:1px;border-top:2px solid #34795d}.ready-point:before{content:"";position:absolute;right:50%;width:100%;border-top:2px solid #34795d;transform:translateY(-2px) rotate(-8deg);transform-origin:right}.ready-point i{position:absolute;left:-4px;top:-5px;width:8px;height:8px;background:#fff;border:2px solid #34795d;border-radius:50%;z-index:2}.chart-day small{margin-top:7px;color:#8b958f;font-family:DM Mono;font-size:7px}.chart-foot{display:flex;justify-content:space-between;color:#9aa39e;font-size:7px;border-top:1px solid #edf0ed;padding-top:8px}.priority{display:flex;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid #edf0ed}.priority>span{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:#eff3ef;color:#4f6b5e;font-family:DM Mono;font-size:9px}.priority div{display:flex;flex-direction:column;gap:3px}.priority strong{font-size:10px}.priority small{color:var(--muted);font-size:8px}.approval{display:flex;align-items:center;gap:9px;margin-top:13px;padding:10px;background:#faf4e7;border:1px solid #eee2c7;border-radius:8px}.approval>span{color:#a77a35}.approval svg{width:17px}.approval div{display:flex;flex-direction:column;gap:2px}.approval strong{font-size:9px}.approval small{color:#887a61;font-size:7px}.approval.approved{background:var(--green-soft);border-color:#d3e6db}.approval.approved>span{color:var(--green)}.ai-card{margin-bottom:12px;padding:0;overflow:hidden}.ai-card-top{padding:17px 19px;border-bottom:1px solid var(--line);background:linear-gradient(100deg,#f8fbf9,#fff)}.ai-title{display:flex;gap:10px;align-items:center}.ai-title>span{width:34px;height:34px;border-radius:9px;background:#e1eee7;color:#2c7657;display:grid;place-items:center}.ai-label{font-family:DM Mono;font-size:7px;letter-spacing:.12em;color:#587466;padding:5px 8px;border:1px solid #d9e8e0;background:#f3f8f5;border-radius:5px}.empty-ai{text-align:center;padding:28px 20px 30px;max-width:610px;margin:auto}.data-stack{display:flex;justify-content:center;margin-bottom:13px}.data-stack span{margin-left:-4px;padding:6px 9px;background:#fff;border:1px solid var(--line);box-shadow:0 2px 5px #0000000a;border-radius:6px;font-family:DM Mono;color:#708079;font-size:7px}.empty-ai h3{margin:0 0 7px;font-size:15px}.empty-ai p{max-width:530px;color:var(--muted);font-size:10px;line-height:1.7;margin:0 auto 16px}.draft-area{padding:16px 19px 19px}.draft-toolbar,.draft-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.draft-toolbar{margin-bottom:10px;color:#83908a;font-size:8px}.status-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid #eadbbd;color:#886323;background:#fcf5e7;border-radius:5px;font-size:8px;font-weight:800}.status-pill.approved{color:#29664d;background:#eaf3ee;border-color:#d3e6dc}.draft-area textarea{width:100%;resize:vertical;border:1px solid var(--line);background:#fbfcfa;border-radius:8px;color:#34423b;padding:13px;font-size:10px;line-height:1.65}.draft-footer{padding-top:11px}.draft-footer>div{display:flex;align-items:center;gap:8px;color:#64776e}.draft-footer>div span{display:flex;flex-direction:column;gap:2px}.draft-footer strong{font-size:8px}.draft-footer small{font-size:7px}.signals-card{scroll-margin-top:90px}.review-count{padding:4px 7px;border-radius:5px;font-family:DM Mono;font-size:7px;background:#fcf1df;color:#8e6121}.signal-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center;border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.alert-circle{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;color:#a37024;background:#faf0d9}.signal-row strong{font-size:10px}.signal-row p{margin:3px 0;color:var(--muted);font-size:8px}.provenance{color:#949e99;font-size:7px}.threshold{border-left:1px solid var(--line);padding-left:17px;display:flex;flex-direction:column;gap:2px}.threshold small{font-family:DM Mono;color:#8b958f;font-size:7px}.threshold strong{font-size:9px}.threshold span{color:#a17027;font-size:7px}.assessment-table{padding:0;overflow:hidden}.table-intro{padding:20px}.confidence-key{display:flex;gap:12px;color:#7d8882;font-size:8px}.confidence-key span{display:flex;align-items:center;gap:5px}.confidence{width:6px;height:6px;display:block;border-radius:50%}.confidence.high{background:#3d8a66}.confidence.medium{background:#c2934a}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:680px}th{background:#f6f8f5;border-block:1px solid var(--line);color:#84908a;font-family:DM Mono;font-size:7px;font-weight:500;letter-spacing:.1em;text-align:left;padding:10px 20px}td{border-bottom:1px solid #edf0ed;padding:14px 20px;font-size:10px}td small{color:#7f8a84;font-size:8px}.delta{padding:4px 7px;border-radius:5px;font-size:8px;font-weight:800}.delta.good{color:#28694f;background:#e9f3ed}.delta.watch{color:#8c6525;background:#faf0dd}.delta.neutral{color:#69756f;background:#f0f2f0}.threshold-note{margin:18px 20px 20px;padding:12px;display:flex;gap:9px;color:#786b55;background:#faf7ef;border:1px solid #eee7d6;border-radius:8px}.threshold-note svg{flex:none}.threshold-note p{margin:0;font-size:8px;line-height:1.6}.schedule-card{padding:0 20px;overflow:hidden}.schedule-card>.card-head{padding:19px 0}.session-row{display:grid;grid-template-columns:45px 92px 1fr auto auto;align-items:center;gap:15px;padding:13px 0;border-top:1px solid var(--line)}.date-tile{height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:7px;background:#f0f2ef;color:#66736c}.date-tile small{font-family:DM Mono;font-size:7px}.date-tile strong{font-size:15px}.date-tile.today{background:#dfeee6;color:#1e674b}.date-tile.complete{background:#edf3ef}.session-type{display:flex;align-items:center;gap:6px;font-size:8px;font-weight:700}.session-type.field{color:#27684f}.session-type.strength{color:#684f82}.session-type.recovery{color:#8b6a30}.session-main{display:flex;flex-direction:column;gap:3px}.session-main strong{font-size:10px}.session-main small{color:var(--muted);font-size:8px}.session-duration{color:#69766f;font-size:9px}.session-status{min-width:70px;display:flex;align-items:center;justify-content:center;gap:4px;padding:4px 7px;border-radius:10px;font-size:7px;text-transform:uppercase;font-weight:800}.session-status.complete{color:#2d6d53;background:#e7f1eb}.session-status.today{color:#8a672b;background:#faf0dc}.session-status.upcoming{color:#748079;background:#f0f2f0}.notes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.note-card{padding:24px}.note-date{display:flex;justify-content:space-between;font-family:DM Mono;font-size:8px;color:#708078}.note-card h2{margin:22px 0 10px;font-size:17px}.note-card>p{min-height:78px;color:#65716b;font-size:10px;line-height:1.7}.note-tags{display:flex;gap:6px;margin:15px 0 20px}.note-tags span{padding:5px 7px;background:#edf3ef;color:#3f6955;border-radius:5px;font-size:7px;font-weight:700}.note-author{display:flex;gap:9px;align-items:center;padding-top:14px;border-top:1px solid var(--line)}.note-author div{display:flex;flex-direction:column;gap:2px}.note-author strong{font-size:9px}.note-author small{color:#87918c;font-size:7px}.drawer-backdrop,.modal-backdrop{position:fixed;inset:0;z-index:50;background:#0a16108c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:flex-end}.drawer{width:min(560px,100%);height:100%;overflow-y:auto;background:#fff;box-shadow:-20px 0 50px #0000002e;padding:25px;animation:slide .28s ease-out}@keyframes slide{0%{transform:translate(30px);opacity:0}}.drawer-head{display:flex;justify-content:space-between;gap:20px}.drawer-head h2{margin:6px 0;font-size:23px}.drawer-head p{margin:0;color:var(--muted);font-size:10px}.review-summary{display:flex;gap:10px;padding:12px;margin:20px 0;border:1px solid #d7e8de;color:#2d624d;background:#eef6f1;border-radius:9px}.review-summary>span{flex:none}.review-summary strong{font-size:10px}.review-summary p{margin:3px 0 0;color:#63766c;font-size:8px}.plan-fields{display:grid;gap:14px}.plan-fields label{display:flex;flex-direction:column;gap:6px;color:#59665f;font-size:9px;font-weight:700}.plan-fields input,.plan-fields textarea{width:100%;border:1px solid var(--line);background:#fafbfa;border-radius:7px;padding:10px;color:var(--ink);font-size:10px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.drawer-sessions{margin-top:23px}.drawer-sessions h3{font-size:11px}.drawer-sessions>div{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding:10px 2px}.drawer-sessions>div>div{flex:1;display:flex;flex-direction:column;gap:2px}.drawer-sessions strong{font-size:9px}.drawer-sessions small{color:var(--muted);font-size:7px}.drawer-sessions button{border:0;background:transparent;color:#75817b}.session-dot{width:8px;height:8px;border-radius:50%;background:#577969}.session-dot.strength{background:#78648f}.session-dot.recovery{background:#bc8d43}.drawer-footer{position:sticky;bottom:-25px;display:flex;justify-content:flex-end;gap:9px;margin:22px -25px -25px;padding:15px 25px;background:#fff;border-top:1px solid var(--line)}.toast{position:fixed;z-index:100;right:24px;bottom:24px;max-width:420px;display:flex;align-items:center;gap:9px;padding:12px 15px;background:#143d2f;color:#fff;border-radius:9px;box-shadow:0 12px 32px #0003;font-size:10px;animation:toast .25s ease-out}@keyframes toast{0%{opacity:0;transform:translateY(8px)}}.athlete-portal{min-height:100vh;background:#f1f4ef;color:#17231e}.athlete-header{height:72px;display:flex;justify-content:space-between;align-items:center;padding:0 max(24px,calc((100vw - 1160px)/2));color:#fff;background:#102019;border-bottom:1px solid #2a3932}.avatar-button{border:0;border-radius:50%;padding:0;background:transparent}.athlete-portal main{max-width:1160px;margin:auto;padding:36px 24px 60px}.athlete-hero{display:flex;justify-content:space-between;align-items:center;padding:6px 2px 28px}.athlete-greeting h1{margin:7px 0 4px;font-size:34px;letter-spacing:-.045em}.athlete-greeting p{margin:0;color:#68756e;font-size:12px}.readiness-ring{width:78px;height:78px;border-radius:50%;background:conic-gradient(#4b9270 0 81%,#dce5df 81%);display:grid;place-items:center}.readiness-ring:before{content:"";position:absolute;width:64px;height:64px;background:#f1f4ef;border-radius:50%}.readiness-ring div{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.readiness-ring strong{font-size:21px;line-height:1}.readiness-ring span{margin-top:4px;color:#557165;font-family:DM Mono;font-size:7px}.athlete-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.75fr);gap:18px}.today-card{background:#153c2e;color:#fff;padding:27px;border-radius:15px;box-shadow:0 16px 35px #133b2c2e}.today-top{display:flex;justify-content:space-between}.today-card .section-kicker{color:#9dc6b2}.today-card h2{margin:7px 0 4px;font-size:25px}.today-card p{color:#b9cdc4;margin:0;font-size:10px}.recovery-icon{width:46px;height:46px;display:grid;place-items:center;background:#295240;color:#b7d7c7;border-radius:12px}.exercise-list{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:23px 0}.exercise-list>div{padding:12px;display:flex;align-items:center;gap:8px;background:#214938;border:1px solid #305b48;border-radius:9px}.exercise-list svg{flex:none;color:#a9d0bc}.exercise-list span{display:flex;flex-direction:column;gap:3px}.exercise-list strong{font-size:8px}.exercise-list small{color:#a9beb4;font-size:7px}.athlete-primary{min-height:42px;width:100%;border:0;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:8px;color:#133b2d;background:#d0e8dc;font-size:10px;font-weight:800}.athlete-primary:hover{background:#e1f1e9}.athlete-section{margin-top:26px}.athlete-section-head{align-items:flex-end;margin-bottom:10px}.athlete-section-head>span{color:#718078;font-size:9px}.mobile-sessions{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.mobile-sessions>div{min-height:62px;display:flex;align-items:center;gap:11px;padding:10px 14px;border-bottom:1px solid var(--line)}.mobile-sessions>div:last-child{border:0}.mobile-sessions>div.active{background:#f7f9f5}.mobile-day{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#edf1ed;color:#6f7c75;font-family:DM Mono;font-size:10px}.mobile-day.complete{color:#27694f;background:#e5f0e9}.mobile-day.today{color:#fff;background:#2c7055}.mobile-sessions>div>div{flex:1;display:flex;flex-direction:column;gap:3px}.mobile-sessions strong{font-size:9px}.mobile-sessions small{color:#7c8882;font-size:7px}.today-pill{padding:4px 6px;color:#2e6c52;background:#e5f1ea;border-radius:5px;font-family:DM Mono;font-size:6px}.focus-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:23px}.focus-card>svg{color:#397c5d;margin-bottom:14px}.focus-card h2{margin:7px 0 9px;font-size:17px}.focus-card>p{color:#6a7770;font-size:9px;line-height:1.6;margin:0 0 18px}.focus-card>div{display:flex;align-items:center;gap:9px;padding:10px 0;border-top:1px solid var(--line);font-size:9px;font-weight:700}.focus-card>div span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#eef3ef;color:#4b695a;font-family:DM Mono;font-size:7px}.focus-card footer{margin:12px -23px -23px;padding:12px 23px;display:flex;align-items:center;gap:6px;color:#718079;background:#f8faf8;border-radius:0 0 14px 14px;font-size:7px}.assistant-launch{width:100%;margin-top:12px;padding:14px;border:1px solid #d9e4dc;background:#e9f1ec;color:#254f3e;border-radius:11px;display:flex;align-items:center;gap:10px;text-align:left}.assistant-launch>span{width:34px;height:34px;display:grid;place-items:center;background:#cfe1d7;border-radius:9px}.assistant-launch>div{flex:1;display:flex;flex-direction:column;gap:3px}.assistant-launch strong{font-size:9px}.assistant-launch small{color:#60776c;font-size:7px}.athlete-footer{height:58px;padding:0 max(24px,calc((100vw - 1160px)/2));color:#98a49e;background:#102019;display:flex;align-items:center;justify-content:space-between;font-family:DM Mono;font-size:7px;letter-spacing:.08em}.athlete-footer span:last-child{display:flex;align-items:center;gap:5px}.modal-backdrop{justify-content:center;align-items:center;padding:20px}.checkin-modal{position:relative;width:min(470px,100%);max-height:calc(100vh - 30px);overflow-y:auto;background:#fff;border-radius:15px;padding:27px;box-shadow:0 20px 60px #00000040}.checkin-modal .close{position:absolute;right:20px;top:20px}.checkin-modal h2{margin:8px 0 5px;font-size:23px}.checkin-modal>p{color:#6d7973;font-size:9px;line-height:1.6;margin-bottom:20px;padding-right:32px}.slider-field{display:block;padding:14px 0;border-top:1px solid var(--line)}.slider-field>span{display:flex;justify-content:space-between;font-size:9px}.slider-field b{color:#2d6d53}.slider-field input{accent-color:#2e7558;width:100%;margin:12px 0 1px}.slider-field small{display:flex;justify-content:space-between;color:#909a95;font-size:7px}.slider-field i{font-style:normal}.live-readiness{margin:6px 0 15px;padding:12px;display:grid;grid-template-columns:1fr auto;align-items:center;background:#eef5f1;border-radius:8px}.live-readiness span{font-family:DM Mono;color:#5a7166;font-size:7px}.live-readiness strong{grid-row:span 2;font-size:20px}.live-readiness small{color:#2f6d52;font-size:8px}.checkin-success{text-align:center;padding:22px 8px 8px}.checkin-success>span{width:64px;height:64px;margin:auto;display:grid;place-items:center;border-radius:50%;background:#e4f2ea;color:#2d7958}.checkin-success h2{margin-top:17px}.checkin-success p{padding:0;margin:0 auto 20px;max-width:340px}.assistant-panel{position:fixed;z-index:60;right:20px;bottom:20px;width:min(390px,calc(100vw - 24px));height:min(590px,calc(100vh - 40px));display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:0 20px 60px #00000038;animation:toast .24s ease-out}.assistant-head{padding:14px 15px;display:flex;align-items:center;gap:9px;color:#fff;background:#163e30}.assistant-head>span{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#2a5b47}.assistant-head>div{flex:1;display:flex;flex-direction:column;gap:2px}.assistant-head strong{font-size:10px}.assistant-head small{color:#aec8bc;font-size:7px}.assistant-head button{border:0;background:transparent;color:#fff}.assistant-scope{display:flex;align-items:center;gap:6px;padding:9px 13px;color:#5d7167;background:#edf4f0;border-bottom:1px solid #dbe7e0;font-size:7px}.chat-body{flex:1;overflow-y:auto;padding:15px;background:#f7f9f6}.bot-message,.user-message{width:fit-content;max-width:88%;padding:10px 11px;margin-bottom:10px;font-size:9px;line-height:1.55;border-radius:10px}.bot-message{background:#fff;border:1px solid var(--line);border-bottom-left-radius:3px}.user-message{margin-left:auto;color:#fff;background:#236148;border-bottom-right-radius:3px}.suggestions{display:flex;flex-wrap:wrap;gap:6px}.suggestions button{border:1px solid #ceded5;color:#35634f;background:#edf4f0;border-radius:14px;padding:6px 8px;font-size:7px}.chat-form{display:flex;gap:7px;padding:11px;border-top:1px solid var(--line)}.chat-form input{flex:1;min-width:0;border:1px solid var(--line);border-radius:8px;padding:9px;font-size:9px}.chat-form button{width:34px;border:0;border-radius:8px;color:#fff;background:#1d5b42}@media(max-width:1000px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.athlete-layout{grid-template-columns:1fr}.athlete-layout aside{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.assistant-launch{margin-top:0}}@media(max-width:760px){.app-shell{display:block}.sidebar{display:none}.main-column{width:100%}.topbar{height:62px;padding:0 15px}.mobile-brand{display:block;color:var(--ink)}.mobile-brand .brand{font-size:12px}.mobile-brand .brand-icon{width:30px;height:30px}.mobile-brand .brand small,.athlete-crumb,.view-toggle button:first-child{display:none}.view-toggle button:last-child{background:#fff;color:var(--ink);box-shadow:0 1px 5px #00000014}.page-wrap{padding:24px 15px 45px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:20px}.page-heading .heading-actions{width:100%}.page-heading .heading-actions button{flex:1}.signal-banner{grid-template-columns:auto 1fr}.signal-banner button{grid-column:2;justify-self:start}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{padding:14px}.metric-value{font-size:25px}.metric-icon{display:none}.card{padding:15px}.legend{display:none}.chart-columns{gap:5px}.signal-row{grid-template-columns:auto 1fr}.signal-row .threshold{grid-column:2;border-left:0;padding-left:0}.signal-row button{grid-column:2;justify-self:start}.ai-card{padding:0}.ai-card-top{padding:15px}.ai-label{display:none}.draft-area{padding:14px}.draft-footer{align-items:flex-start;flex-direction:column}.draft-footer button{width:100%}.notes-grid{grid-template-columns:1fr}.session-row{grid-template-columns:42px 1fr auto;gap:10px}.session-type,.session-duration{display:none}.session-status{min-width:60px}.drawer{padding:20px}.drawer-footer{margin:20px -20px -20px;bottom:-20px;padding:13px 20px}.field-row{grid-template-columns:1fr}.athlete-header{height:64px;padding:0 16px}.athlete-portal main{padding:25px 15px 45px}.athlete-greeting h1{font-size:27px}.athlete-greeting p{font-size:10px}.readiness-ring{width:65px;height:65px}.readiness-ring:before{width:53px;height:53px}.readiness-ring strong{font-size:18px}.today-card{padding:20px}.today-card h2{font-size:21px}.exercise-list{grid-template-columns:1fr;margin:18px 0}.exercise-list>div{padding:10px}.athlete-layout aside{grid-template-columns:1fr}.assistant-launch{margin-top:0}.athlete-footer{padding:0 16px}.athlete-footer span:last-child{max-width:170px;text-align:right}}@media(max-width:430px){.metric-grid{grid-template-columns:1fr 1fr;gap:8px}.metric-detail{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-trend{font-size:7px}.signal-banner{padding:13px}.signal-banner p{line-height:1.5}.chart{height:170px}.chart-foot{flex-direction:column;gap:3px}.athlete-hero{align-items:flex-start}.readiness-ring{margin-top:-2px}.assistant-panel{right:12px;bottom:12px;height:calc(100vh - 24px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
