:root{--ink:#111312;--paper:#f7f8f5;--muted:#69746b;--line:#dce2da;--lime:#c6ff3c;--soft:#eaf5df;--coral:#e86347}*{box-sizing:border-box}body{margin:0;background:#e1e5de;color:var(--ink);font-family:DM Sans,sans-serif}.app-shell{max-width:1440px;min-height:100vh;margin:auto;background:var(--paper)}.topbar{height:76px;padding:0 5.5%;display:flex;align-items:center;border-bottom:1px solid var(--line);background:#111312;color:#f7f8f5}.brand{font:800 34px Barlow Condensed,sans-serif;letter-spacing:-.7px;text-decoration:none;color:#fff}.brand span{display:inline-grid;place-items:center;width:30px;height:30px;margin-right:4px;background:var(--lime);clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);color:#111312;font-size:15px}.product-label{margin-left:24px;color:#9da59e;font:700 11px Barlow Condensed,sans-serif;letter-spacing:1.2px}.account{margin-left:auto;display:flex;align-items:center;gap:9px}.avatar{display:grid;place-items:center;width:34px;height:34px;background:var(--lime);color:#111312;font:700 16px Barlow Condensed,sans-serif}.account b,.account small{display:block}.account b{font-size:12px}.account small{color:#a9b2a9;font-size:10px}.account button{margin-left:12px;border:1px solid #515a50;background:transparent;color:#e9eee7;padding:7px 10px;text-transform:uppercase;font:700 11px Barlow Condensed,sans-serif;letter-spacing:.7px;cursor:pointer}main{padding:66px 5.5% 100px}.view{display:none}.view.active{display:block}.hero{max-width:670px}.eyebrow{margin:0;color:#52705a;font-size:10px;font-weight:700;letter-spacing:1.55px}.hero h1,.athlete-header h1{margin:10px 0 13px;font:800 clamp(48px,6vw,80px)/.88 "Barlow Condensed",sans-serif;letter-spacing:.2px;text-transform:uppercase}.hero h1 i{font-style:normal;color:#55833c}.hero>p:last-child{max-width:490px;color:var(--muted);font-size:15px;line-height:1.6}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-top:67px;margin-bottom:18px}.section-heading h2,.modal h2{margin:5px 0 0;font:800 33px/.95 Barlow Condensed,sans-serif;text-transform:uppercase}.outline,.button{border:1px solid var(--ink);border-radius:2px;padding:12px 15px;background:#fff;color:var(--ink);font:700 15px Barlow Condensed,sans-serif;letter-spacing:.35px;text-transform:uppercase;cursor:pointer}.button{background:var(--lime)}.athlete-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.athlete-card{min-height:214px;border:1px solid var(--line);border-top:4px solid var(--lime);background:#fff;padding:18px;cursor:pointer;transition:.16s}.athlete-card:hover{transform:translateY(-3px);border-color:#9ab78e}.athlete-card .avatar{width:43px;height:43px;font-size:20px}.athlete-card h3{margin:20px 0 2px;font:800 26px Barlow Condensed,sans-serif;text-transform:uppercase}.athlete-card p{margin:0;color:var(--muted);font-size:11px}.card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding-top:10px;border-top:1px solid #e8ece7;color:#516a56;font-size:11px}.readiness{font:700 18px Barlow Condensed,sans-serif;color:#315a38}.back{padding:0;border:0;background:transparent;color:#405c48;font:700 14px Barlow Condensed,sans-serif;text-transform:uppercase;letter-spacing:.5px;cursor:pointer}.athlete-header{display:flex;align-items:center;gap:18px;margin-top:30px;padding-bottom:29px;border-bottom:1px solid var(--line)}.large{width:72px;height:72px;font-size:31px}.athlete-header h1{font-size:55px;margin:5px 0}.athlete-header p:last-child{margin:0;color:var(--muted);font-size:13px}.header-metrics{display:flex;gap:9px;margin-left:auto}.header-metrics span{min-width:100px;padding:10px 12px;background:var(--soft);color:#5d6d60;font-size:10px}.header-metrics b{display:block;color:#1e3825;font:800 22px Barlow Condensed,sans-serif}.detail-toolbar{display:flex;justify-content:space-between;align-items:center;margin:28px 0}.date-range{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.date-range>span{font-size:10px;font-weight:700;letter-spacing:1px}.date-range input{border:1px solid var(--line);padding:8px;background:#fff;color:#344338;font:11px DM Sans}.date-range em{font-style:normal}.training-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:32px}.section-heading.compact{margin:0 0 13px}.section-heading.compact h2{font-size:29px}.muted{color:#7d887e;font-size:11px}.day-card{margin-bottom:12px;border:1px solid var(--line);background:#fff;cursor:pointer}.day-card:hover{border-color:#92b187}.day-top{display:flex;justify-content:space-between;gap:12px;padding:15px 17px;background:#f0f5ec;border-bottom:1px solid var(--line)}.day-top h3{margin:3px 0 0;font:800 24px Barlow Condensed,sans-serif;text-transform:uppercase}.day-top span{color:#506353;font-size:11px}.metrics{display:flex;gap:10px;align-items:center;color:#55665a;font-size:10px}.metrics b{color:#233b2a}.exercise-row{display:grid;grid-template-columns:24px 1fr auto;gap:11px;padding:14px 17px;border-bottom:1px solid #edf0eb}.exercise-row:last-child{border-bottom:0}.check{width:19px;height:19px;display:grid;place-items:center;background:var(--lime);font-size:12px}.check.missed{background:#f5f6f3;border:1px solid #cbd2ca;color:#949c93}.exercise-row h4{margin:0;font:700 18px Barlow Condensed,sans-serif;text-transform:uppercase}.exercise-row p{margin:2px 0 0;color:#69766b;font-size:11px;line-height:1.45}.feedback{max-width:180px;color:#617463;font-size:10px;line-height:1.4}.feedback b{display:block;color:#355b3c;text-transform:uppercase;font-size:9px;letter-spacing:.5px}.insight-panel{align-self:start;background:#172219;color:#e9eee7;padding:19px;border-left:5px solid var(--lime)}.insight-panel .eyebrow{color:#b6db91}.insight-panel h3{margin:14px 0 7px;font:800 26px/.92 Barlow Condensed,sans-serif;text-transform:uppercase}.insight-panel>p:not(.eyebrow){color:#b8c1b8;font-size:12px;line-height:1.55}.source{padding-top:12px;margin-top:12px;border-top:1px solid #3c493e}.source b,.source span{display:block}.source b{color:var(--lime);font:700 14px Barlow Condensed}.source span{margin-top:2px;color:#aab3aa;font-size:10px}.advisor-button{position:fixed;right:28px;bottom:24px;z-index:4;border:0;background:var(--lime);box-shadow:0 8px 24px #14221744;padding:13px 16px;color:#111312;font:700 17px Barlow Condensed,sans-serif;letter-spacing:.4px;text-transform:uppercase;cursor:pointer}.advisor-button span{font-size:18px}.chat{position:fixed;z-index:5;right:28px;bottom:78px;width:350px;height:438px;display:flex;flex-direction:column;background:#fff;border:1px solid #232d24;box-shadow:0 22px 60px #14221736}.hidden{display:none!important}.chat header{display:flex;justify-content:space-between;padding:15px;background:#172219;color:#fff}.chat header div>*{display:block}.chat header span{float:left;margin:1px 8px 0 0;color:var(--lime)}.chat header b{font:700 20px Barlow Condensed,sans-serif;text-transform:uppercase}.chat header small{margin-top:2px;color:#adbaae;font-size:10px}.chat header button,.close{border:0;background:transparent;color:inherit;font-size:26px;cursor:pointer}.chat-body{flex:1;padding:15px;overflow:auto;background:#f6f8f4}.bubble{max-width:84%;margin-bottom:10px;padding:10px 11px;font-size:12px;line-height:1.45}.bubble.ai{background:#e6f4d8;border-left:3px solid var(--lime)}.bubble.you{margin-left:auto;background:#1c2e21;color:#fff}.chat form{display:flex;border-top:1px solid var(--line);padding:9px}.chat input{min-width:0;flex:1;border:0;outline:0;padding:8px;font:12px DM Sans}.chat form button{width:34px;border:0;background:var(--lime);font-size:18px;cursor:pointer}.modal-back{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0e160f88}.modal{position:relative;width:min(560px,100%);max-height:90vh;overflow:auto;background:#f8faf6;padding:29px;border-top:6px solid var(--lime)}.small-modal{width:min(390px,100%)}.modal h2{margin-bottom:25px;font-size:37px}.modal label{display:block;margin-bottom:14px;color:#566257;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px}.modal input,.modal textarea{display:block;width:100%;margin-top:6px;border:1px solid #cbd4c9;background:#fff;padding:10px;color:var(--ink);font:13px DM Sans}.modal textarea{min-height:65px;resize:vertical}.close{position:absolute;right:13px;top:8px;color:#273228}.exercise-draft{margin:16px 0;padding:14px;background:#edf2ea;border-left:3px solid #99cb65}.exercise-draft>span{display:block;margin-bottom:8px;font:700 15px Barlow Condensed;letter-spacing:.5px;text-transform:uppercase}.add-exercise{width:100%;margin:1px 0 16px;padding:10px;border:1px dashed #8c9d8d;background:transparent;color:#315a38;font:700 14px Barlow Condensed;text-transform:uppercase;cursor:pointer}.toast{position:fixed;z-index:20;left:50%;bottom:25px;transform:translate(-50%);padding:10px 14px;background:#172219;color:#fff;font-size:12px;box-shadow:0 8px 25px #0004}@media (max-width:900px){.athlete-grid{grid-template-columns:repeat(2,1fr)}.training-layout{grid-template-columns:1fr}.insight-panel{display:none}.header-metrics{margin-left:0}.athlete-header{flex-wrap:wrap}}@media (max-width:600px){.topbar{padding:0 18px}.product-label,.account>span:not(.avatar){display:none}.account button{margin-left:2px}main{padding:42px 18px 90px}.hero h1{font-size:54px}.section-heading{margin-top:45px}.athlete-grid{grid-template-columns:1fr}.detail-toolbar{align-items:stretch;gap:13px;flex-direction:column}.date-range{flex-wrap:wrap}.athlete-header{gap:12px}.athlete-header h1{font-size:44px}.header-metrics{width:100%;justify-content:space-between}.header-metrics span{min-width:0;flex:1}.day-top{flex-direction:column}.metrics{justify-content:space-between}.exercise-row{grid-template-columns:20px 1fr}.feedback{grid-column:2;max-width:none}.chat{right:12px;bottom:70px;width:calc(100% - 24px)}.advisor-button{right:12px;bottom:12px}}.sync-note{margin:8px 0 0;color:#3f5846;font-size:13px;font-weight:600}.draft-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.exercise-draft .draft-heading span{margin:0}.remove-exercise{border:0;background:transparent;color:#b54d38;font:700 12px Barlow Condensed,sans-serif;letter-spacing:.4px;text-transform:uppercase;cursor:pointer;text-decoration:underline}.timezone{margin-left:auto;min-width:195px;padding:11px 13px;background:#172219;color:#edf4eb;border-left:4px solid var(--lime)}.timezone span,.timezone small{display:block;color:#b0bdb0;font-size:10px;letter-spacing:.7px}.timezone b{display:block;margin:4px 0;font:700 18px Barlow Condensed,sans-serif;color:var(--lime);letter-spacing:.3px}.workspace-tabs{display:flex;gap:8px;margin:0 0 25px;border-bottom:1px solid var(--line)}.workspace-tabs button{margin-bottom:-1px;padding:10px 13px;border:0;border-bottom:3px solid transparent;background:transparent;color:#657267;font:700 15px Barlow Condensed,sans-serif;letter-spacing:.4px;text-transform:uppercase;cursor:pointer}.workspace-tabs button.active{border-color:var(--lime);color:#192b1d}.wearable-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.wearable-card{min-height:190px;padding:20px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--lime)}.wearable-card h3{margin:10px 0 7px;font:800 28px Barlow Condensed,sans-serif;text-transform:uppercase}.wearable-card>p:not(.eyebrow){margin:0;color:#657268;font-size:12px;line-height:1.55}.wearable-card small{display:block;margin-top:22px;padding-top:10px;border-top:1px solid #e9ede7;color:#3c6345;font-size:11px;font-weight:700}.data-note{margin-top:14px;padding:14px 16px;background:#e7f5dc;border-left:4px solid var(--lime);color:#49614e;font-size:12px;line-height:1.5}.timezone-hint{margin:-7px 0 16px;color:#56705a;font-size:11px;font-weight:600}@media (max-width:600px){.timezone{width:100%;margin-left:0}.wearable-grid{grid-template-columns:1fr}}.advisor-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:4px 15px 13px}.advisor-actions button{padding:9px 7px;border:1px solid #1c3021;background:#fff;color:#1d3523;font:700 14px Barlow Condensed,sans-serif;text-transform:uppercase;cursor:pointer}.advisor-actions .accept-change{background:var(--lime)}.adjustment-done,.adjustment-kept{display:block;grid-column:1 / -1;padding:9px 10px;font-size:11px;font-weight:700}.adjustment-done{background:#e5f7d8;color:#2d6138}.adjustment-kept{background:#f0f2ee;color:#667368}.day-card.adapted{border-color:#9077e6;border-left:5px solid #765fd0}.day-card.adapted .day-top{background:#eeeafe}.day-card.adapted .metrics{background:#ded6f7;color:#514486}.day-top{flex-direction:row;align-items:center;justify-content:space-between;padding:14px 26px}.metrics{justify-content:center;padding:7px 11px;background:#e5f0dd;font-size:12px;font-weight:700;letter-spacing:.02px}.metrics b{font-weight:700}.feedback{max-width:230px;padding:8px 10px;background:#f1f6ed;border-left:3px solid var(--lime);font-size:11px}.completion-timing{display:block;margin-top:5px;color:#52705a;font-size:10px;font-weight:700;letter-spacing:.2px}.centered-shell{display:grid;place-items:center;min-height:calc(100vh - 76px);padding:40px 5.5%}.empty{max-width:520px;padding:34px 30px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--lime);text-align:left}.empty .icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:18px;background:var(--lime);color:#111312;font:800 19px Barlow Condensed,sans-serif}.empty h2{margin:0 0 10px;font:800 37px/.95 Barlow Condensed,sans-serif;text-transform:uppercase}.empty .helper{margin:0 0 18px;max-width:420px;color:var(--muted);font-size:13px;line-height:1.6}.empty .toolbar{display:flex;gap:9px;margin-top:4px}.helper{color:var(--muted);font-size:12px;line-height:1.55}.alert{margin:14px 0;padding:11px 13px;background:var(--soft);border-left:4px solid #9ab78e;color:#3f5846;font-size:12px;line-height:1.5}.alert--success{background:#e5f7d8;border-left-color:var(--lime);color:#2d6138}.alert--warning{background:#fdf4d8;border-left-color:#e0b74a;color:#6b551d}.alert--danger{background:#fbe6e1;border-left-color:var(--coral);color:#8a3323}.pill{display:inline-block;padding:4px 8px;background:#eef1ec;color:#4d5a4f;font:700 10px Barlow Condensed,sans-serif;letter-spacing:.7px;text-transform:uppercase;white-space:nowrap}.pill--success{background:#dff3cc;color:#2f6039}.pill--warning{background:#fbeecb;color:#6d5518}.pill--danger{background:#f7ded8;color:#8b3524}.button--secondary{background:#fff}.button--danger{background:var(--coral);border-color:#b34a34;color:#fff}.button[disabled]{opacity:.55;cursor:not-allowed}.connection{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;margin-bottom:10px;background:#fff;border:1px solid var(--line)}.connection h3{margin:0;font:800 20px Barlow Condensed,sans-serif;text-transform:uppercase}.connection p{margin:3px 0 0;color:var(--muted);font-size:11px}.field{display:block;margin-bottom:14px;color:#566257;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px}.field input,.field textarea,.field select{display:block;width:100%;margin-top:6px;border:1px solid #cbd4c9;background:#fff;padding:10px;color:var(--ink);font:13px DM Sans,sans-serif}.field input[aria-invalid=true],.field textarea[aria-invalid=true],input[aria-invalid=true]{border-color:var(--coral);background:#fffaf9}.field-error{margin:-8px 0 12px;color:#a03b28;font-size:11px;font-weight:600}.roster-toolbar{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:16px}.roster-search{min-width:260px}.roster-search input{margin-top:6px}.skeleton-card{min-height:214px;border:1px solid var(--line);border-top:4px solid #dbe4d4;background:#fff;padding:18px}.skeleton-card .avatar{background:#e6ebe3;color:#aab3a9}.skeleton-card h3{margin:20px 0 2px;color:#c3ccc2;font:800 26px Barlow Condensed,sans-serif;text-transform:uppercase}.skeleton-card p{margin:0;color:#c3ccc2;font-size:11px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.skeleton-card{animation:pulse 1.4s ease-in-out infinite}.athlete-card:focus-visible,.day-card:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid #2f6039;outline-offset:2px}.offline-banner{margin:0 0 18px}.correlation{margin-top:8px;color:#7d887e;font-size:10px;letter-spacing:.4px}.correlation button{margin-left:6px;border:0;background:transparent;color:#3f5846;font:700 10px Barlow Condensed,sans-serif;text-transform:uppercase;cursor:pointer;text-decoration:underline}.scope-note{display:flex;align-items:center;gap:9px;margin:18px 0 0;padding:10px 13px;background:var(--soft);color:#3f5846;font-size:12px}.scope-note b{font-weight:700}.metrics-empty{color:#7d887e;font-weight:600}.metrics i{margin:0 6px;font-style:normal;color:#8ba18f}.day-actions,.feed-actions{display:flex;gap:8px;align-items:center}.day-actions button,.feed-actions button{border:1px solid var(--line);background:#fff;padding:6px 9px;color:#3f5846;font:700 12px Barlow Condensed,sans-serif;letter-spacing:.4px;text-transform:uppercase;cursor:pointer}.day-actions button:hover,.feed-actions button:hover{border-color:#92b187}.day-actions .danger{color:#a03b28}.day-card.folded .exercise-row{padding:9px 17px}.exercise-row .link{display:inline-block;margin-top:4px;color:#35603d;font-size:11px;font-weight:600}.transcript-badge{display:flex;align-items:center;justify-content:flex-end;align-self:center}.workspace-panel{margin-top:4px}.modal label{color:#35603d}.modal label i{color:#5c7a62;font-weight:600}.modal label[for=day-title]{font-weight:800;font-size:12px;color:#2f6039}.modal label[for=day-title] i{color:#4f7a58;font-weight:700}.modal .toolbar{display:flex;gap:9px;margin-top:6px}.modal .conflict-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 16px}.modal .conflict-grid .session{padding:12px;background:#edf2ea;border-left:3px solid #99cb65}.modal .conflict-grid h3{margin:0 0 6px;font:800 17px Barlow Condensed,sans-serif;text-transform:uppercase}.modal .conflict-grid p{margin:0;color:#566257;font-size:11px;line-height:1.5}.chat{resize:none}.chat-resize{position:absolute;left:-6px;top:-6px;width:20px;height:20px;cursor:nwse-resize;background:linear-gradient(135deg,var(--lime) 0 55%,transparent 55%);border:0;touch-action:none}.chat-resize:focus-visible{outline:2px solid #2f6039;outline-offset:2px}.chat--resizing{-webkit-user-select:none;user-select:none}.chat--resizing *{pointer-events:none}.chat--resizing .chat-resize{pointer-events:auto}.chat-header-actions{display:flex;align-items:flex-start;gap:6px}.chat header .new-session{padding:5px 8px;border:1px solid var(--lime);background:transparent;color:var(--lime);font:700 12px Barlow Condensed,sans-serif;letter-spacing:.5px;text-transform:uppercase;cursor:pointer}.chat header .new-session:hover:not([disabled]){background:var(--lime);color:#111312}.chat header .new-session[disabled]{opacity:.5;cursor:not-allowed}.advisor-body{display:flex;flex-direction:column;gap:8px}.advisor-observations{margin:6px 0 0;padding-left:16px;font-size:11px;line-height:1.5;color:#3f5846}.advisor-meta{margin-top:6px;color:#7d887e;font-size:10px;line-height:1.45}.advisor-actions-row{display:flex;gap:8px;margin:0 15px 12px}.advisor-action{padding:6px 10px;border:1px solid #4c6152;background:transparent;color:#2f6039;font:700 12px Barlow Condensed,sans-serif;letter-spacing:.5px;text-transform:uppercase;cursor:pointer}.advisor-action:hover{background:#eef3ea;border-color:#2f6039}.advisor-action--muted{border-color:#cbd4c9;color:#667368}.advisor-status{margin:0 15px 12px;padding:9px 10px;font-size:11px;font-weight:700}.advisor-status--error{background:#fbe6e1;color:#8a3323}.advisor-status--info{background:#eef1ec;color:#4d5a4f}.chat form button[disabled]{opacity:.5;cursor:not-allowed}.chat textarea{min-width:0;flex:1;border:0;outline:0;padding:8px;resize:none;font:12px DM Sans,sans-serif}body.scroll-locked{position:fixed;top:var(--scroll-lock-top,0px);left:0;right:0;width:100%;padding-right:var(--scroll-lock-gutter,0px)}.modal,.modal textarea,.modal-back{overscroll-behavior:contain}@media (max-width:900px){.modal .conflict-grid{grid-template-columns:1fr}}@media (max-width:600px){.roster-toolbar{flex-direction:column;align-items:stretch}}
