@import url('/assets/css/brand.css');
:root{--bg:#0d1117;--bg2:#11161d;--card:#161b22;--card2:#1d242d;--text:#f4f6f8;--muted:#9ba7b4;--line:#2d3742;--line2:#3a4653;--accent:#d71920;--accent2:#ff343b;--success:#35b56a;--warning:#e6a23c;--urgent:#ff646b;--radius:18px;--shadow:0 12px 35px rgba(0,0,0,.18)}*{box-sizing:border-box}html{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#0b0e12 0,var(--bg2) 100%);min-height:100vh;color:var(--text)}a{color:#fff}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.9rem,8vw,3rem);margin-bottom:.35rem;line-height:1.05}h2{font-size:1.18rem;margin-bottom:.75rem}h3{font-size:1rem}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.15em;color:#c6cdd5;margin-bottom:7px}.muted,small{color:var(--muted)}.container{max-width:1080px;margin:auto;padding:24px 16px 90px}.container.narrow{max-width:760px}.workout-container{max-width:780px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line);background:rgba(13,17,23,.96);backdrop-filter:blur(14px);position:sticky;top:0;z-index:50}.topbar>div{display:flex;flex-direction:column}.topbar strong{letter-spacing:.09em}.topbar span{font-size:.7rem;color:var(--muted)}.topbar nav{display:flex;align-items:center;gap:16px}.topbar a{text-decoration:none;font-size:.86rem;color:#e8edf2}.page-head,.workout-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:10px 0 22px}.page-head p:last-child,.workout-head p:last-child{margin-bottom:0}.card,.metric{background:linear-gradient(145deg,var(--card),var(--card2));border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:16px;box-shadow:var(--shadow)}.card.hero{padding:24px}.program-hero{border-color:#453035;background:linear-gradient(145deg,#1a171b,#241b20)}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.metric-grid.compact{margin:16px 0}.metric{margin:0;text-align:center;padding:16px 8px}.metric span{display:block;color:var(--muted);font-size:.72rem}.metric strong{display:block;font-size:1.45rem;margin-top:4px}.metric .small-metric,.small-metric{font-size:.88rem;line-height:1.35}.btn{border:0;border-radius:12px;padding:13px 16px;color:white;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;min-height:46px;transition:transform .15s ease,opacity .15s ease,background .15s ease}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2))}.btn.ghost{background:#2b333d}.btn.small{padding:9px 12px;min-height:38px;font-size:.82rem}.btn.full{width:100%}.auth-page{display:grid;place-items:center;padding:20px}.auth-card{width:min(100%,430px);background:var(--card);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 22px 80px rgba(0,0,0,.35)}.auth-card.wide{width:min(100%,620px)}label{display:flex;flex-direction:column;gap:7px;font-size:.82rem;font-weight:750;margin-bottom:14px}.field-title{font-size:.82rem;font-weight:800;color:#dbe1e6}input,select,textarea{width:100%;background:#0f141b;border:1px solid #36414d;color:#fff;border-radius:12px;padding:13px 14px;font:inherit;font-size:16px;outline:none}input:focus,select:focus,textarea:focus{border-color:#707b87;box-shadow:0 0 0 3px rgba(112,123,135,.12)}input[type=file]{padding:10px}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stack-form{margin-top:16px}.inline-fields{display:grid;grid-template-columns:1fr 88px;gap:8px}.form-help{font-size:.78rem;color:var(--muted);line-height:1.5;margin:-3px 0 14px}.alert{border-radius:12px;padding:12px 14px;margin:12px 0 18px}.alert.danger{background:#351619;border:1px solid #6f292e}.alert.success{background:#112d1d;border:1px solid #235f3b}.button-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.button-row form{margin:0}.badge{font-size:.72rem;padding:3px 8px;background:#343c47;border-radius:999px}.warning-badge{background:#493818;color:#ffd483}.status,.pill{font-size:.72rem;font-weight:800;border-radius:999px;padding:5px 9px;background:#313944;white-space:nowrap}.status.approved,.status.completed,.pill.success{background:#153d27;color:#80dfa5}.status.pending,.status.scheduled{background:#493818;color:#ffd483}.status.disabled,.status.missed{background:#441e22;color:#f5a2a8}.status.in_progress{background:#18354d;color:#8fc9f3}.pill.urgent{background:#521f25;color:#ffb3b7}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-head h2{margin-bottom:0}.athlete-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.athlete-row:first-of-type{border-top:0}.athlete-row>div:first-child{display:flex;flex-direction:column;gap:4px}.actions{display:flex;gap:8px}.athlete-link{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:0}.athlete-link>div:last-child{display:flex;flex-direction:column;gap:4px;min-width:0}.athlete-roster-link{text-decoration:none}.athlete-roster-link:hover strong{color:#fff}.avatar{width:42px;height:42px;border-radius:50%;background:#2d333b;border:1px solid #424c57;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}.avatar.large{width:58px;height:58px}.avatar.profile-avatar{width:92px;height:92px}.avatar img{width:100%;height:100%;object-fit:cover}.avatar span{font-weight:900;font-size:.78rem;letter-spacing:.05em}.identity-line{display:flex;align-items:center;gap:14px}.athlete-title{align-items:flex-start}.progress-line{height:5px;width:min(260px,52vw);background:#242c35;border-radius:999px;overflow:hidden;margin-top:3px}.progress-line span{display:block;height:100%;background:var(--success);border-radius:999px}.coach-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.coach-grid>.card{margin-bottom:0}.session-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.session-tile{border:1px solid var(--line);background:#11171e;border-radius:14px;padding:12px;text-decoration:none;display:flex;flex-direction:column;gap:5px;min-height:104px}.session-tile:hover{border-color:#596777}.session-tile span,.session-tile small{font-size:.69rem}.session-tile.completed{border-color:#245b38}.session-tile.in_progress{border-color:#315d7b}.session-tile.missed{border-color:#6d3136}.phase-heading{margin:24px 0 8px;padding-top:14px;border-top:1px solid var(--line)}.phase-heading:first-child{margin-top:6px;border-top:0;padding-top:0}.load-row{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(260px,1.2fr) minmax(180px,1fr) auto;gap:10px;align-items:end;padding:13px 0;border-top:1px solid var(--line)}.load-title{display:flex;flex-direction:column;gap:5px;align-self:center}.load-inputs{display:grid;grid-template-columns:1fr 1fr 82px;gap:7px}.load-row label{margin-bottom:0}.load-note{min-width:0}.alert-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-left:4px solid #63707d;background:#11171e;border-radius:13px;padding:13px;margin-top:10px;text-decoration:none}.alert-row p{margin:4px 0 3px;color:#d6dce2;font-size:.84rem;line-height:1.4}.alert-row.warning{border-left-color:var(--warning)}.alert-row.urgent{border-left-color:var(--urgent)}.alert-row.resolved{opacity:.58}.note-list article,.notification-list article{padding:12px 0;border-top:1px solid var(--line)}.note-list article:first-child,.notification-list article:first-child{border-top:0}.note-list p,.notification-list p{margin:0 0 5px;line-height:1.5}.notification-list article{display:flex;justify-content:space-between;gap:10px}.profile-photo-wrap{display:flex;align-items:center;gap:16px}.profile-photo-wrap p{margin-bottom:0}.photo-grid,.photo-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.photo-grid figure,.photo-strip figure{margin:0;background:#0f141b;border:1px solid var(--line);border-radius:12px;overflow:hidden}.photo-grid img,.photo-strip img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}.photo-grid figcaption,.photo-strip figcaption{padding:7px 8px;font-size:.72rem;color:var(--muted)}.photo-timeline{display:flex;flex-direction:column;gap:10px;margin:16px 0}.photo-week{border:1px solid var(--line);background:#11171e;border-radius:13px;padding:11px}.photo-week-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px}.photo-week-head span{font-size:.72rem;color:var(--muted)}.photo-strip{grid-template-columns:repeat(4,minmax(90px,1fr))}.photo-upload-form{padding-top:12px;border-top:1px solid var(--line)}.athlete-session-list{display:flex;flex-direction:column;gap:9px}.session-row{display:flex;justify-content:space-between;align-items:center;gap:10px;text-decoration:none;border:1px solid var(--line);background:#11171e;border-radius:13px;padding:12px}.session-row>div{display:flex;flex-direction:column;gap:3px}.session-row.completed{border-color:#245b38}.session-row.in_progress{border-color:#315d7b}.session-row.missed{border-color:#6d3136}.week-map{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.week-tile{border:1px solid var(--line);border-radius:13px;padding:11px;background:#11171e;display:flex;flex-direction:column;gap:3px}.week-tile span,.week-tile small{font-size:.68rem;color:var(--muted)}.week-tile.current{border-color:#a64549;box-shadow:inset 0 0 0 1px #a64549}.week-tile.complete{border-color:#245b38}.week-tile strong{font-size:1.1rem}.safety-banner{display:flex;flex-direction:column;gap:4px;border:1px solid #694145;background:#2a181b;border-radius:14px;padding:13px 15px;margin-bottom:15px}.safety-banner strong{color:#fff}.safety-banner span{font-size:.8rem;line-height:1.45;color:#d8c7c9}.workout-progress{height:7px;background:#252d36;border-radius:999px;overflow:hidden;position:sticky;top:68px;z-index:20}.workout-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .2s ease}.workout-progress-text{text-align:center;color:var(--muted);font-size:.75rem;margin:7px 0 12px}.exercise-deck{min-height:420px}.workout-exercise{display:none}.workout-exercise.active{display:block}.exercise-number{display:inline-block;font-size:.7rem;font-weight:900;letter-spacing:.12em;color:#aeb8c2;margin-bottom:8px}.exercise-description{line-height:1.45}.prescription-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:15px 0}.prescription-grid>div{background:#0f141b;border:1px solid var(--line);border-radius:11px;padding:9px;text-align:center}.prescription-grid span{display:block;color:var(--muted);font-size:.65rem}.prescription-grid strong{display:block;font-size:1rem;margin-top:3px}.recommended-load{display:flex;flex-direction:column;gap:2px;background:#231719;border:1px solid #553237;border-radius:13px;padding:12px 14px;margin:12px 0}.recommended-load span{font-size:.69rem;color:#d8bec0;text-transform:uppercase;letter-spacing:.08em}.recommended-load strong{font-size:1.2rem}.recommended-load small{margin-top:3px}.instruction-box,.coach-instruction,.athlete-note{border:1px solid var(--line);background:#11171e;border-radius:12px;padding:11px 12px;margin:10px 0;font-size:.82rem;line-height:1.5}.coach-instruction{display:flex;flex-direction:column;gap:4px;border-color:#61462b;background:#241d14}.sets-table{display:flex;flex-direction:column;gap:8px;margin:16px 0}.set-card{display:grid;grid-template-columns:58px 1fr 1fr 82px;gap:8px;align-items:end;background:#0f141b;border:1px solid var(--line);border-radius:13px;padding:9px}.sets-table.pullup .set-card{grid-template-columns:50px repeat(4,1fr) 74px}.sets-table.bodyweight .set-card{grid-template-columns:58px 1fr 82px}.set-card label{margin:0;font-size:.7rem;color:var(--muted)}.set-card input{padding:10px 9px}.set-label{height:43px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-right:1px solid var(--line)}.set-label span{font-size:.56rem;color:var(--muted)}.set-label strong{font-size:1.05rem}.set-done{align-items:center;justify-content:flex-end!important;gap:5px!important;cursor:pointer}.set-done input{width:22px;height:22px;accent-color:var(--success)}.set-done span{color:#fff;font-weight:800}.feedback-block{margin:18px 0 12px}.feedback-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px}.feedback-options label{margin:0;cursor:pointer}.feedback-options input{position:absolute;opacity:0;pointer-events:none}.feedback-options span{display:flex;justify-content:center;align-items:center;text-align:center;min-height:42px;border-radius:11px;border:1px solid var(--line2);background:#11171e;font-size:.78rem;font-weight:800}.feedback-options input:checked+span{border-color:#d65258;background:#351b1f}.feedback-options label:nth-child(2) input:checked+span{border-color:#2d8150;background:#142b1f}.pain-check{flex-direction:row;align-items:flex-start;gap:9px;background:#27181b;border:1px solid #5b3237;border-radius:12px;padding:11px 12px;cursor:pointer}.pain-check input{width:20px;height:20px;flex:0 0 auto;accent-color:var(--accent)}.pain-check span{line-height:1.4}.exercise-safety{font-size:.75rem;color:#b9c2ca;line-height:1.45;border-top:1px solid var(--line);padding-top:11px}.exercise-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.session-note-card{margin-top:8px}.workout-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:9px;position:sticky;bottom:10px;z-index:30;background:rgba(13,17,23,.88);backdrop-filter:blur(12px);padding:9px;border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.3)}.rest-timer{position:fixed;right:16px;bottom:88px;z-index:60;background:#f4f6f8;color:#0d1117;border-radius:18px;box-shadow:0 14px 50px rgba(0,0,0,.4);padding:11px 12px 11px 15px;display:flex;align-items:center;gap:14px}.rest-timer[hidden]{display:none}.rest-timer>div{display:flex;flex-direction:column}.rest-timer span{font-size:.58rem;font-weight:900;letter-spacing:.12em}.rest-timer strong{font-size:1.5rem;line-height:1}.rest-timer button{border:0;background:#dfe4e8;border-radius:10px;padding:9px 11px;font-weight:800;cursor:pointer}.review-exercise .section-head{align-items:flex-start}.set-review-grid{display:grid;grid-template-columns:55px 1fr 1fr 1.4fr;border:1px solid var(--line);border-radius:11px;overflow:hidden}.set-review-grid>div{padding:8px;border-top:1px solid var(--line);font-size:.78rem}.set-review-grid>div:nth-child(-n+4){border-top:0}.set-review-head{font-size:.66rem!important;color:var(--muted);font-weight:800;background:#10151b}@media(max-width:850px){.coach-grid{grid-template-columns:1fr}.session-grid{grid-template-columns:repeat(3,1fr)}.load-row{grid-template-columns:1fr}.load-inputs{grid-template-columns:1fr 1fr 82px}.load-row .btn{width:100%}}@media(max-width:640px){.container{padding:16px 12px 92px}.grid.two{grid-template-columns:1fr}.auth-card{padding:22px 18px}.topbar{padding:12px}.topbar nav{gap:11px}.topbar a{font-size:.78rem}.page-head,.workout-head{align-items:flex-start}.athlete-row{align-items:flex-start;flex-direction:column}.athlete-roster-link{flex-direction:row;align-items:center}.actions{width:100%}.actions .btn{flex:1}.metric-grid{gap:7px}.metric{padding:13px 5px}.metric span{font-size:.64rem}.metric strong{font-size:1.2rem}.coach-metrics{grid-template-columns:repeat(3,1fr)}.session-grid{grid-template-columns:repeat(2,1fr)}.week-map{grid-template-columns:repeat(2,1fr)}.photo-grid{grid-template-columns:repeat(2,1fr)}.photo-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.photo-strip figure{min-width:120px;scroll-snap-align:start}.prescription-grid{grid-template-columns:repeat(4,1fr)}.prescription-grid>div{padding:8px 4px}.sets-table.pullup .set-card{grid-template-columns:44px 1fr 1fr}.sets-table.pullup .set-card label:nth-of-type(3),.sets-table.pullup .set-card label:nth-of-type(4){grid-column:auto}.sets-table.pullup .set-card .set-done{grid-column:3}.set-card{grid-template-columns:46px 1fr 1fr}.set-card .set-done{grid-column:3}.sets-table.bodyweight .set-card{grid-template-columns:46px 1fr 76px}.exercise-nav{grid-template-columns:1fr 1fr}.rest-timer{left:12px;right:12px;bottom:88px;justify-content:space-between}.load-inputs{grid-template-columns:1fr 1fr 76px}.profile-photo-wrap{align-items:flex-start}.notification-list article{flex-direction:column}.workout-actions{left:0;right:0;bottom:6px}.identity-line{align-items:flex-start}.avatar.large{width:52px;height:52px}}@media(max-width:400px){.prescription-grid{grid-template-columns:repeat(2,1fr)}.feedback-options{grid-template-columns:1fr}.exercise-nav{grid-template-columns:1fr}.workout-actions{grid-template-columns:1fr 1fr}.sets-table.pullup .set-card{grid-template-columns:42px 1fr 1fr}.coach-metrics .metric span{min-height:28px}.avatar.large{display:none}}
