:root{color:#272130;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f5f1f3;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{background:#171322;min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--ink:#272130;--muted:#746b79;--line:#ded6dc;--paper:#fbf9fa;--pink:#e83e89;--purple:#7c64df;--night:#171322}.app-shell{background:#f5f1f3;min-height:100vh}.app-shell>main{min-height:100vh;margin-left:248px}.sidebar{z-index:20;color:#e9e1ec;background:radial-gradient(circle at 15% 0%, #7c64df38, transparent 32%), var(--night);flex-direction:column;width:248px;padding:28px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:.28em;align-items:center;gap:12px;padding:0 10px 30px;font-size:15px;font-weight:700;display:flex}.brand-mark{color:#fff;letter-spacing:0;background:linear-gradient(145deg,#f05298,#8b64e8);border:1px solid #ffffff26;border-radius:11px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 10px 30px #e83e8933}.sidebar nav{gap:6px;display:grid}.sidebar nav a{color:#aaa0af;border-radius:10px;align-items:center;gap:12px;padding:11px 12px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#ffffff13}.icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.environment{color:#8e8495;text-transform:uppercase;letter-spacing:.09em;align-items:center;gap:8px;margin:auto 10px 14px;font-size:11px;display:flex}.environment span,.safety-dot{background:#49c68a;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #49c68a1a}.profile{color:#eee8f0;text-align:left;background:#ffffff09;border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:10px;width:100%;padding:12px 10px;display:flex}.profile>span:last-child,.person-cell>span:last-child{gap:1px;display:grid}.profile strong,.person-cell strong{font-size:13px}.profile small,.person-cell small{color:#8f8494;font-size:11px}.avatar{color:#fff;background:#7c64df;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:11px;font-weight:700;display:grid}.page{max-width:1360px;margin:0 auto;padding:54px 56px 70px}.page-header{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:36px;display:flex}.eyebrow{color:var(--pink);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:700}h1,h2,blockquote{font-family:Newsreader,Georgia,serif}h1{color:var(--ink);letter-spacing:-.035em;margin:0;font-size:clamp(36px,5vw,54px);font-weight:500;line-height:1}.lede{max-width:680px;color:var(--muted);margin:12px 0 0;font-size:14px}.primary-action{color:#fff;background:var(--ink);border:0;border-radius:10px;flex:none;align-items:center;gap:8px;padding:11px 15px;font-size:13px;font-weight:700;display:flex;box-shadow:0 10px 24px #27213026}.metric-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px;display:grid}.metric-grid article,.panel,.exercise-card{border:1px solid var(--line);background:#ffffffb8;box-shadow:0 12px 45px #2f20300d}.metric-grid article{border-radius:16px;align-content:space-between;min-height:150px;padding:22px;display:grid}.metric-grid span{color:var(--muted);font-size:12px;font-weight:600}.metric-grid strong{color:var(--ink);font-family:Newsreader,Georgia,serif;font-size:46px;font-weight:500;line-height:1}.metric-grid .word-metric{font-size:34px}.metric-grid small{color:#9a909c;font-size:11px}.split-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:14px;display:grid}.panel{border-radius:16px}.release-panel{padding:25px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.panel h2,.exercise-card h2{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:25px;font-weight:600}.status-pill{text-transform:capitalize;border-radius:999px;width:fit-content;padding:5px 9px;font-size:10px;font-weight:700;display:inline-flex}.status-progress,.status-invited{color:#826114;background:#f4e9be}.status-active{color:#247052;background:#d9f0e4}.status-paused{color:#775e1c;background:#f4e9be}.status-archived{color:#766d78;background:#eae5e8}.progress-track{background:#e8e1e5;border-radius:10px;height:4px;margin:24px 0;overflow:hidden}.progress-track span{background:linear-gradient(90deg, var(--purple), var(--pink));width:42%;height:100%;display:block}.milestones{gap:2px;margin:0;padding:0;list-style:none;display:grid}.milestones li{border-radius:10px;align-items:center;gap:13px;padding:10px;display:flex}.milestones li.active{background:#f1edf5}.milestones li>span{color:#9a919c;border:1px solid #d8cfd6;border-radius:50%;flex:none;place-items:center;width:27px;height:27px;font-size:11px;display:grid}.milestones li.complete>span{color:#25704f;background:#e1f5e9;border-color:#5dca97}.milestones li.active>span{border-color:var(--purple);color:#fff;background:var(--purple)}.milestones div{gap:2px;display:grid}.milestones strong{color:var(--ink);font-size:12px}.milestones small{color:var(--muted);font-size:11px}.principles-panel{background:linear-gradient(145deg,#262034,#171322);border-color:#2d253a;flex-direction:column;padding:25px;display:flex}.principles-panel blockquote{color:#f4e9ef;letter-spacing:-.02em;margin:18px 0 34px;font-size:25px;line-height:1.24}.safety-row{border-top:1px solid #ffffff17;align-items:center;gap:12px;margin-top:auto;padding-top:18px;display:flex}.safety-row div{gap:3px;display:grid}.safety-row strong{color:#eee7f0;font-size:12px}.safety-row small{color:#918696;font-size:10px}.table-panel{overflow:hidden}.table-toolbar{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding:15px 18px;font-size:11px;display:flex}.table-toolbar button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:7px;padding:6px 10px}.responsive-table{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{color:#938995;letter-spacing:.07em;text-transform:uppercase;background:#f6f2f4;padding:12px 18px;font-size:10px}td{color:#4e4653;border-top:1px solid #e8e1e5;padding:16px 18px;font-size:12px}tbody tr:first-child td{border-top:0}.person-cell{align-items:center;gap:10px;min-width:180px;display:flex}.person-cell .avatar{background:linear-gradient(145deg,#826ce1,#df4d91)}.muted{color:#9b929d}.icon-button{border:1px solid var(--line);width:32px;height:32px;color:var(--muted);background:#fff;border-radius:8px;place-items:center;display:grid}.library-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.library-toolbar{grid-template-columns:minmax(220px,1fr) 160px 150px 130px auto;align-items:center;gap:10px;margin-bottom:14px;display:grid}.library-toolbar input,.library-toolbar select{border:1px solid var(--line);width:100%;color:var(--ink);background:#ffffffc2;border-radius:10px;outline:none;padding:11px 12px;font-size:11px}.library-toolbar input:focus,.library-toolbar select:focus{border-color:var(--purple);box-shadow:0 0 0 3px #7c64df1a}.library-toolbar>span{color:var(--muted);text-align:right;font-size:10px}.exercise-card{border-radius:16px;flex-direction:column;min-height:395px;padding:22px;display:flex}.exercise-card-top{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.modality{color:#604dab;letter-spacing:.07em;text-transform:uppercase;background:#ece7fb;border-radius:6px;padding:5px 8px;font-size:9px;font-weight:700}.modality-rehab{color:#9a3c6a;background:#fae2ed}.active-dot{color:#807683;align-items:center;gap:6px;font-size:10px;display:flex}.active-dot:before{content:"";background:#44bd80;border-radius:50%;width:6px;height:6px}.archived-dot:before{background:#a79ea9}.exercise-card h2{font-size:23px}.exercise-card>p{min-height:42px;color:var(--muted);margin:9px 0 20px;font-size:12px;line-height:1.5}.exercise-card dl{gap:9px;margin:0;display:grid}.exercise-card dl div{border-top:1px solid #e9e2e6;grid-template-columns:78px 1fr;gap:8px;padding-top:9px;display:grid}.exercise-card dt{color:#958b97;text-transform:uppercase;letter-spacing:.06em;font-size:9px}.exercise-card dd{color:#534a56;margin:0;font-size:11px}.exercise-card>button{color:var(--ink);background:0 0;border:0;justify-content:space-between;align-items:center;margin-top:auto;padding:16px 0 0;font-size:11px;font-weight:700;display:flex}.empty-library{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:16px;padding:70px 20px}.empty-library h2{color:var(--ink);margin:0 0 6px}.empty-library p{margin:0;font-size:11px}.mobile-nav{display:none}.coach-dashboard{max-width:1460px}.workflow-counts{grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:12px;display:grid}.workflow-counts article{border:1px solid var(--line);background:#ffffffc2;border-radius:12px;align-items:baseline;gap:10px;min-width:0;padding:15px 16px;display:flex}.workflow-counts strong{color:var(--ink);font-family:Newsreader,Georgia,serif;font-size:30px;font-weight:600}.workflow-counts span{color:var(--muted);font-size:10px;font-weight:700}.workflow-grid{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.attention-panel{overflow:hidden}.attention-panel>header,.roster-strip>header,.athlete-360-section>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;padding:18px 20px;display:flex}.attention-panel h2,.roster-strip h2,.athlete-360-section h2{margin:0;font-size:27px}.attention-panel>header>span{color:#fff;background:var(--pink);border-radius:50%;place-items:center;width:29px;height:29px;font-size:10px;font-weight:800;display:grid}.attention-list{margin:0;padding:0;list-style:none}.attention-list li+li{border-top:1px solid #e8e1e5}.attention-list a{color:inherit;grid-template-columns:105px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 20px;text-decoration:none;display:grid}.attention-list a:hover{background:#faf6f8}.attention-list strong{color:var(--ink);font-size:12px}.attention-list p{color:#5f5662;margin:3px 0;font-size:11px}.attention-list small{color:#968c98;font-size:9px}.attention-kind{color:#795016;text-transform:uppercase;background:#f5e8bc;border-radius:6px;width:fit-content;padding:5px 7px;font-size:8px;font-weight:800}.attention-in_review,.attention-approved{color:#315f50;background:#dff1e8}.workflow-empty{color:var(--muted);text-align:center;padding:34px 20px}.workflow-empty strong{color:var(--ink);font-size:12px}.workflow-empty p{margin:5px 0 0;font-size:10px}.isolation-note{color:#948a96;align-items:center;gap:8px;padding:7px 4px;font-size:8px;display:flex}.isolation-note span{background:#49c68a;border-radius:50%;width:6px;height:6px}.roster-strip{margin-top:12px;overflow:hidden}.roster-strip>header a{color:var(--muted);font-size:9px;font-weight:700}.roster-grid{grid-template-columns:repeat(3,1fr);display:grid}.roster-athlete{min-width:0;color:inherit;border-bottom:1px solid #e8e1e5;border-right:1px solid #e8e1e5;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px 18px;text-decoration:none;display:grid}.roster-athlete:hover{background:#faf6f8}.roster-athlete>div{align-items:center;gap:9px;min-width:0;display:flex}.roster-athlete>div>span:last-child{min-width:0;display:grid}.roster-athlete strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.roster-athlete small{color:var(--muted);text-transform:capitalize;font-size:9px}.roster-athlete dl{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:8px;margin:0;display:grid}.roster-athlete dl div{min-width:0}.roster-athlete dt{color:#9b929d;text-transform:uppercase;font-size:8px}.roster-athlete dd{color:#5d545f;text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:9px;overflow:hidden}.athlete-row{cursor:pointer}.athlete-row:hover td{background:#faf6f8}.row-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.row-actions>button:first-child{color:var(--muted);background:0 0;border:0;font-size:9px;font-weight:700}.workflow-state{text-align:center;place-content:center;justify-items:center;gap:12px;min-height:70vh;display:grid}.workflow-state h1{font-size:40px}.workflow-state p{max-width:540px;color:var(--muted);font-size:11px}.back-link{color:var(--muted);margin-bottom:24px;font-size:10px;font-weight:700;text-decoration:none;display:inline-block}.athlete-360-header{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.athlete-identity{align-items:center;gap:16px;display:flex}.athlete-identity .avatar{width:55px;height:55px;font-size:15px}.athlete-identity p:last-child{color:var(--muted);margin:7px 0 0;font-size:10px}.athlete-actions{gap:8px;display:flex}.athlete-actions>button:first-child{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;padding:10px 14px;font-size:10px;font-weight:700}.athlete-facts{border:1px solid var(--line);background:var(--line);border-radius:13px;grid-template-columns:.6fr 1.5fr 1fr;gap:1px;margin:28px 0 12px;display:grid;overflow:hidden}.athlete-facts article{background:#fffc;gap:5px;padding:15px 18px;display:grid}.athlete-facts span,.context-grid span{color:#948a96;text-transform:uppercase;font-size:8px;font-weight:700}.athlete-facts strong{color:var(--ink);text-transform:capitalize;font-size:12px}.section-links{z-index:5;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f5f1f3eb;border-radius:11px;gap:5px;margin:12px 0;padding:6px;display:flex;position:sticky;top:0}.section-links a{color:var(--muted);border-radius:7px;padding:7px 12px;font-size:9px;font-weight:700;text-decoration:none}.section-links a:hover{color:var(--ink);background:#fff}.athlete-360-section{border:1px solid var(--line);background:#ffffffb3;border-radius:14px;margin-top:12px;scroll-margin-top:60px;overflow:hidden}.athlete-360-section>header{justify-content:flex-start}.assignment-grid{background:var(--line);grid-template-columns:1fr 1fr;gap:1px;display:grid}.assignment-card{background:#fcfafb;align-content:start;gap:5px;min-height:150px;padding:20px;display:grid}.assignment-card>span{color:var(--pink);text-transform:uppercase;font-size:8px;font-weight:800}.assignment-card h3{margin:9px 0 0;font-size:22px}.assignment-card p,.assignment-card small{color:var(--muted);margin:0;font-size:9px}.assignment-card a{width:fit-content;color:var(--ink);margin-top:auto;font-size:9px;font-weight:700}.assignment-history{border-top:1px solid var(--line);gap:1px;padding:14px 18px 18px;display:grid}.assignment-history>strong{color:var(--ink);margin-bottom:6px;font-size:10px}.assignment-history a{color:#554c58;background:#f5f1f3;border-radius:7px;justify-content:space-between;gap:12px;padding:8px 10px;font-size:9px;text-decoration:none;display:flex}.assignment-history small{color:var(--muted)}.history-list{gap:12px;padding:14px;display:grid}.history-list>article{border:1px solid #e3dce1;border-radius:10px;overflow:hidden}.history-list article>header{background:#f5f1f3;justify-content:space-between;align-items:center;padding:11px 13px;display:flex}.history-list h3{margin:0;font-size:15px}.history-list header span{color:var(--muted);font-size:8px}.history-list article>div{display:grid}.history-list article>div a{color:#574e59;border-top:1px solid #e8e1e5;grid-template-columns:35px 90px 70px 1fr auto;align-items:center;gap:8px;padding:10px 13px;font-size:9px;text-decoration:none;display:grid}.history-list article>div a:first-child{border-top:0}.history-list small{color:var(--muted)}.context-grid{background:var(--line);grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.context-grid article{background:#fcfafb;min-width:0;padding:15px 18px}.context-grid p{color:#554c58;white-space:pre-wrap;margin:6px 0 0;font-size:10px;line-height:1.5}.athlete-timeline{margin:0;padding:5px 20px 20px;list-style:none}.athlete-timeline li{border-bottom:1px solid #e8e1e5;grid-template-columns:110px minmax(0,1fr) auto;gap:14px;padding:14px 0;display:grid}.athlete-timeline time{color:var(--muted);font-size:9px}.athlete-timeline strong{color:var(--ink);font-size:11px}.athlete-timeline p{color:var(--muted);margin:4px 0 0;font-size:9px}.athlete-timeline a{color:var(--ink);font-size:9px;font-weight:700}.training-evidence-facts{background:var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.training-evidence-facts article{background:#fcfafb;gap:7px;padding:17px 20px;display:grid}.training-evidence-facts span{color:#948a96;text-transform:uppercase;font-size:8px;font-weight:700}.training-evidence-facts strong{color:var(--ink);font-size:15px}.training-history-label{color:#948a96;text-transform:uppercase;padding:13px 18px 8px;font-size:8px;font-weight:700}.training-history article{border-top:1px solid #e8e1e5;grid-template-columns:minmax(150px,1.2fr) auto minmax(250px,1fr) 90px;align-items:center;gap:12px;padding:12px 18px;display:grid}.training-history article>div:first-child{gap:3px;display:grid}.training-history article strong{font-size:11px}.training-history article span,.training-history time{color:var(--muted);font-size:8px}.training-history dl{gap:14px;margin:0;display:flex}.training-history dt{color:#948a96;text-transform:uppercase;font-size:7px}.training-history dd{margin:2px 0 0;font-size:9px}.training-history time{text-align:right}.checkins-page{max-width:1460px}.checkin-queues{grid-template-columns:1fr 1fr;gap:12px;display:grid}.checkin-queue{overflow:hidden}.checkin-queue>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;padding:18px 20px;display:flex}.checkin-queue h2,.checkin-template-section h2{margin:0;font-size:28px}.checkin-queue>header>strong{color:#fff;background:var(--pink);border-radius:50%;place-items:center;width:30px;height:30px;font-size:10px;display:grid}.checkin-queue>div{display:grid}.checkin-queue>div>button{min-height:66px;color:var(--ink);text-align:left;background:0 0;border:0;border-top:1px solid #ebe4e8;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.checkin-queue>div>button:hover{background:#faf6f8}.checkin-queue button span{gap:4px;display:grid}.checkin-queue button span:last-child{justify-items:end}.checkin-queue small{color:var(--muted);font-size:9px}.checkin-empty{color:var(--muted);text-align:center;margin:0;padding:28px;font-size:10px}.checkin-state{text-transform:uppercase;border-radius:999px;width:fit-content;padding:5px 8px;font-size:8px;font-weight:800}.state-overdue{color:#9f2d55;background:#f9dce7}.state-due{color:#735a19;background:#f2e7bd}.state-submitted{color:#604dab;background:#ece7fb}.state-reviewed{color:#247052;background:#d9f0e4}.checkin-template-section{margin-top:28px}.checkin-template-section>header{margin-bottom:12px}.checkin-template-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.checkin-template-grid>article{border:1px solid var(--line);background:#ffffffbf;border-radius:15px;flex-direction:column;min-height:250px;padding:20px;display:flex}.checkin-template-grid article>span{color:var(--pink);text-transform:uppercase;font-size:8px;font-weight:800}.checkin-template-grid h3{margin:12px 0 6px;font-family:Newsreader,Georgia,serif;font-size:24px}.checkin-template-grid p{color:var(--muted);margin:0;font-size:10px;line-height:1.5}.checkin-template-grid dl{gap:28px;margin:20px 0;display:flex}.checkin-template-grid dt{color:var(--muted);text-transform:uppercase;font-size:8px}.checkin-template-grid dd{margin:3px 0 0;font-size:15px;font-weight:700}.checkin-template-grid footer{gap:7px;margin-top:auto;display:flex}.checkin-template-grid button,.question-builder button,.review-confirm button{border:1px solid var(--line);min-height:38px;color:var(--ink);background:#fff;border-radius:8px;padding:8px 12px;font-size:9px;font-weight:700}.checkin-template-grid footer button:last-child{color:#fff;background:var(--ink)}.checkin-assignment{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding-top:8px;display:flex}.checkin-assignment button{min-height:28px;padding:5px 8px}.checkin-template-grid footer .archive-template{color:#9f2d55;background:#fff;margin-left:auto}.checkin-template-grid footer .archive-template:disabled{color:#a69da7;background:#eee9ec}.assignment-actions{gap:5px;display:flex}.assignment-actions button:last-child{color:#9f2d55}.checkin-template-grid>.archived-template{opacity:.78;background:#efebeecc}.checkin-template-grid .archived-note{background:#ebe6e9;border-radius:8px;margin-top:auto;padding:10px}.editor-form footer .danger-action{color:#fff;background:#a52d54;border:0;border-radius:10px;padding:10px 14px;font-size:11px;font-weight:700}.checkin-template-modal{width:min(960px,100%)}.cadence-editor{border:1px solid var(--line);border-radius:10px;margin:0;padding:15px}.cadence-editor legend{color:var(--ink);font-size:10px;font-weight:700}.cadence-kind,.weekday-picker{flex-wrap:wrap;gap:10px;display:flex}.cadence-kind label,.weekday-picker label{align-items:center;gap:5px;min-height:36px;display:flex}.cadence-kind input,.weekday-picker input{width:15px}.question-builder{gap:10px;display:grid}.question-builder>header{justify-content:space-between;align-items:center;display:flex}.question-builder>header div{gap:3px;display:grid}.question-builder>header span{color:var(--muted);font-size:9px}.question-builder>article{border:1px solid var(--line);background:#f7f3f5;border-radius:10px;grid-template-columns:42px 1fr;gap:10px;padding:13px;display:grid}.question-order{align-content:start;gap:4px;display:grid}.question-order strong{color:var(--pink);text-align:center}.question-order button{min-height:29px;padding:3px}.question-fields{gap:9px;display:grid}.question-fields .remove-question{color:#9f2d55;width:fit-content;min-height:28px}.assignment-safety{border-left:3px solid var(--purple);color:#554c58;background:#f0ecf9;margin:0;padding:12px;font-size:10px;line-height:1.5}.review-answers{gap:8px;display:grid}.review-answers article{border:1px solid var(--line);background:#f8f5f7;border-radius:9px;padding:12px}.review-answers strong{color:var(--ink);font-size:10px}.review-answers p{color:#554c58;white-space:pre-wrap;margin:7px 0 0;font-size:11px}.review-confirm{background:#fcecf2;border:1px solid #e2c2cf;border-radius:9px;gap:8px;padding:13px;display:grid}.review-confirm p{color:var(--muted);margin:0;font-size:9px}.athlete-checkins{background:#ffffffc7;border:1px solid #ded5d4;border-radius:20px;margin-top:18px;overflow:hidden}.athlete-checkins>header{border-bottom:1px solid #e5dddd;justify-content:space-between;align-items:end;padding:20px 24px;display:flex}.athlete-checkins h2{margin:0;font-size:31px}.athlete-checkins>header>span{color:#7a7077;font-size:9px;font-weight:700}.athlete-checkins>div{display:grid}.athlete-checkins>div>button{color:#29242e;text-align:left;background:0 0;border:0;border-top:1px solid #e8e0df;grid-template-columns:80px minmax(0,1fr) auto auto;align-items:center;gap:14px;min-height:68px;padding:12px 22px;display:grid}.athlete-checkins>div>button:first-child{border-top:0}.athlete-checkins button>span:nth-child(2){gap:4px;display:grid}.athlete-checkins small{color:#857b82;font-size:9px}.athlete-checkins button>b{color:#247052;font-size:8px}.checkin-form .checkin-description{color:#665d69;margin:0 0 15px;font-size:11px}.athlete-question-list{gap:13px;display:grid}.athlete-question-list>label{color:#4f454c;background:#fff;border:1px solid #ded5d4;border-radius:11px;gap:9px;padding:15px;font-size:11px;font-weight:700;display:grid}.athlete-question-list textarea,.athlete-question-list>label>input,.athlete-question-list select{width:100%;font:inherit;border:1px solid #d8cfd0;border-radius:8px;padding:10px;font-weight:400}.scale-control,.choice-control{flex-wrap:wrap;gap:7px;display:flex}.scale-control label input{opacity:0;position:absolute}.scale-control span{background:#fff;border:1px solid #d8cfd0;border-radius:9px;place-items:center;min-width:44px;min-height:44px;display:grid}.scale-control input:checked+span{border-color:var(--purple);color:#fff;background:var(--purple)}.choice-control label{border:1px solid #d8cfd0;border-radius:9px;align-items:center;gap:7px;min-height:44px;padding:8px 14px;display:flex}.coach-feedback{color:#eee7f0;background:var(--night);border-radius:12px;margin-top:16px;padding:18px}.coach-feedback p:not(.athlete-kicker){white-space:pre-wrap}.coach-feedback a{color:#f58ab5;font-size:10px;font-weight:700}.checkin-evidence-facts{background:var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.checkin-evidence-facts article{background:#fcfafb;gap:6px;padding:16px 19px;display:grid}.checkin-evidence-facts span{color:var(--muted);text-transform:uppercase;font-size:8px}.checkin-evidence-facts strong{font-size:19px}.checkin-evidence-list{display:grid}.checkin-evidence-list a{border-top:1px solid var(--line);color:var(--ink);grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:12px 18px;text-decoration:none;display:grid}.checkin-evidence-list a>span:first-child{gap:3px;display:grid}.checkin-evidence-list small{color:var(--muted);font-size:8px}.reports-page{max-width:1460px}.report-controls{border:1px solid var(--line);background:#ffffffb8;border-radius:14px;grid-template-columns:170px 170px auto 1fr;align-items:end;gap:10px;margin-bottom:12px;padding:14px;display:grid}.report-controls label{color:var(--muted);text-transform:uppercase;gap:5px;font-size:9px;font-weight:700;display:grid}.report-controls input{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:9px;padding:10px}.report-controls button{color:#fff;background:var(--ink);border:0;border-radius:9px;min-height:38px;padding:9px 14px;font-size:10px;font-weight:700}.report-controls button:disabled{opacity:.6}.report-controls>span{color:var(--muted);place-self:center end;font-size:9px}.report-metrics{grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px;display:grid}.report-metrics article{border:1px solid var(--line);background:#ffffffc2;border-radius:13px;gap:8px;padding:17px 18px;display:grid}.report-metrics span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:700}.report-metrics strong{color:var(--ink);font-family:Newsreader,Georgia,serif;font-size:32px;font-weight:600}.report-table th:not(:first-child),.report-table td:not(:first-child){text-align:right}.report-athlete{min-width:170px;color:var(--ink);align-items:center;gap:9px;text-decoration:none;display:flex}.report-athlete>span:last-child{gap:2px;display:grid}.report-athlete small{color:var(--muted);text-transform:capitalize;font-size:9px}.report-overdue{color:#9f2d55;background:#f9dce7;border-radius:50%;place-items:center;min-width:24px;min-height:24px;font-weight:800;display:inline-grid}.report-rate{gap:5px;min-width:90px;display:inline-grid}.report-rate>span{background:#e8e1e5;border-radius:4px;height:4px;overflow:hidden}.report-rate i{border-radius:inherit;background:linear-gradient(90deg, var(--purple), var(--pink));height:100%;display:block}.assistant-panel{background:linear-gradient(145deg,#f5f1fff0,#fff8fce6);border-color:#cfc3ee}.assistant-provider{color:#604dab;text-transform:uppercase;background:#e9e2fb;border-radius:999px;width:fit-content;padding:6px 9px;font-size:8px;font-weight:800}.assistant-request{grid-template-columns:minmax(0,1fr) 260px;gap:14px;padding:18px;display:grid}.assistant-request>label{color:var(--ink);gap:7px;font-size:10px;font-weight:700;display:grid}.assistant-request textarea{width:100%;font:inherit;background:#fff;border:1px solid #cfc5df;border-radius:10px;padding:11px}.assistant-request>div{align-content:end;gap:10px;display:grid}.assistant-request p,.assistant-blocked{color:var(--muted);margin:0;font-size:9px;line-height:1.5}.assistant-request button,.assistant-actions>button{border:1px solid var(--line);color:#fff;background:var(--ink);border-radius:9px;min-height:40px;padding:9px 13px;font-size:10px;font-weight:700}.assistant-request button:disabled{opacity:.5}.assistant-preview{gap:12px;padding:18px;display:grid}.assistant-warning{border-left:3px solid var(--purple);color:#554c58;background:#ffffffa6;padding:11px 13px;font-size:9px}.assistant-warning p{margin:0}.assistant-summary-change{grid-template-columns:1fr 1fr;gap:10px;display:grid}.assistant-summary-change article{background:#ffffffb8;border:1px solid #dcd3ea;border-radius:10px;padding:13px}.assistant-summary-change span{color:var(--muted);text-transform:uppercase;font-size:8px;font-weight:700}.assistant-summary-change p{color:var(--ink);margin:7px 0 0;font-size:10px;line-height:1.5}.assistant-actions{justify-content:flex-end;align-items:start;gap:9px;display:flex}.assistant-actions>button:first-child{color:var(--muted);background:#fff}.assistant-actions .inline-confirm{max-width:360px}.assistant-blocked{color:#9f2d55;padding:0 18px 16px}.number-control{align-items:center;gap:9px;display:flex}.number-control input{border:1px solid #d8cfd0;border-radius:8px;flex:1;min-width:0;padding:10px}.number-control small{color:var(--muted);font-size:9px}.athlete-context-panel>header>a,.previous-block>header>a{color:var(--ink);font-size:9px;font-weight:700}.athlete-context-panel .context-grid,.previous-block .comparison-grid{border:1px solid var(--line);border-radius:9px;overflow:hidden}.comparison-source{background:#f2edf0;border-radius:8px;align-items:center;gap:9px;margin-bottom:10px;padding:10px 12px;font-size:9px;display:flex}.comparison-source>span:last-child{color:var(--muted);margin-left:auto}.comparison-grid{background:var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.comparison-grid article{background:#fff;gap:4px;padding:12px;display:grid}.comparison-grid strong{font-size:16px}.comparison-grid span{color:var(--ink);font-size:9px;font-weight:700}.comparison-grid small{color:var(--muted);font-size:8px;line-height:1.4}.program-list{gap:10px;display:grid}.program-card{border:1px solid var(--line);background:#ffffffc7;border-radius:14px;grid-template-columns:minmax(240px,1.5fr) minmax(210px,.8fr) auto;align-items:center;gap:24px;padding:20px 22px;display:grid;box-shadow:0 10px 35px #2f20300a}.program-card h2{color:var(--ink);margin:7px 0 3px;font-size:24px}.program-card p,.program-card small{color:var(--muted);margin:0;font-size:11px}.program-kind{color:var(--pink);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:800}.program-card-version{grid-template-columns:auto auto;justify-content:start;align-items:center;gap:4px 9px;display:grid}.program-card-version>span:first-child{color:var(--muted);text-transform:uppercase;grid-column:1/-1;font-size:9px}.program-card-version strong{color:var(--ink);font-family:Newsreader,Georgia,serif;font-size:27px;font-weight:600}.program-card-version small{grid-column:1/-1}.program-card-actions{gap:7px;display:grid}.summary-only{max-width:150px;color:var(--muted);font-size:10px;font-weight:700;line-height:1.35}.program-card-actions button,.program-empty button,.builder-section header>button,.lifecycle-panel>button,.action-pair button,.inline-confirm button,.add-sub-action{border:1px solid var(--line);min-height:38px;color:var(--ink);background:#fff;border-radius:9px;padding:9px 12px;font-size:10px;font-weight:700}.program-card-actions button:first-child{border-color:var(--ink);color:#fff;background:var(--ink)}.program-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:16px;padding:70px 20px}.program-empty h2{color:var(--ink);margin:0;font-size:28px}.program-empty p{margin:7px 0 20px;font-size:12px}.program-state{text-align:center;align-content:center;justify-items:center;gap:13px;min-height:70vh;display:grid}.program-state h1{font-size:42px}.program-state p{color:var(--muted)}.program-state .loading-mark{background:linear-gradient(145deg,#f05298,#8b64e8)}.command-banner{z-index:50;color:#8b244b;background:#fce5ee;border-radius:9px;max-width:450px;padding:11px 14px;font-size:11px;position:fixed;top:16px;right:18px;box-shadow:0 10px 35px #27213026}.form-note{color:var(--muted);margin:0;font-size:10px}.program-status.status-draft{color:#604dab;background:#ece7fb}.program-status.status-in_review{color:#826114;background:#f4e9be}.program-status.status-approved{color:#247052;background:#d9f0e4}.program-status.status-published{color:#fff;background:#287554}.program-status.status-retired{color:#766d78;background:#eae5e8}.program-status.status-rejected{color:#a32d57;background:#f9dce7}.builder-page{min-height:100vh;color:var(--ink);background:#f5f1f3}.builder-header{border-bottom:1px solid var(--line);background:#fbf9fae0;padding:28px 34px 22px}.builder-header>div{max-width:1500px;margin:auto}.builder-header a{color:var(--muted);margin-bottom:15px;font-size:10px;font-weight:700;text-decoration:none;display:inline-block}.builder-header h1{font-size:clamp(31px,4vw,45px)}.builder-meta{color:var(--muted);align-items:center;gap:10px;margin-top:11px;font-size:10px;display:flex}.unsaved-mark{color:#ad3263;font-weight:700}.builder-layout{grid-template-columns:minmax(0,1fr) 260px;gap:16px;max-width:1500px;margin:auto;padding:18px 24px 70px;display:grid}.builder-canvas{gap:12px;min-width:0;display:grid}.builder-section{border:1px solid var(--line);background:#ffffffb8;border-radius:12px;min-width:0;padding:20px;box-shadow:0 8px 30px #2f203009}.builder-section>header{align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.builder-section>header>div{flex:1}.builder-section h2,.lifecycle-panel h2{margin:0;font-size:23px}.builder-section header p{color:var(--muted);margin:3px 0 0;font-size:10px}.section-index{color:var(--pink);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.builder-field{color:#736978;letter-spacing:.03em;gap:5px;min-width:0;font-size:9px;font-weight:700;display:grid}.builder-field input,.builder-field select,.builder-field textarea,.builder-section input,.builder-section select,.builder-section textarea{width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff;border:1px solid #dcd4da;border-radius:7px;outline:0;padding:8px 9px;font-size:11px;font-weight:400}.builder-field input:focus,.builder-field select:focus,.builder-field textarea:focus,.builder-section input:focus,.builder-section select:focus,.builder-section textarea:focus{border-color:var(--purple);box-shadow:0 0 0 2px #7c64df1a}.builder-section :disabled{color:#756d78;opacity:.8;background:#f2eef0}.week-grid{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:7px;display:grid}.week-grid article{background:#faf8f9;border:1px solid #e3dce1;border-radius:8px;gap:6px;padding:10px;display:grid}.week-grid strong{color:var(--purple);font-size:9px}.policy-list,.session-list,.exercise-list,.group-list{gap:10px;display:grid}.policy-row{background:#faf8f9;border:1px solid #e2dade;border-radius:9px;gap:10px;padding:13px;display:grid}.field-error{color:#a32d57;margin:0;font-size:9px}.section-empty{color:var(--muted);text-align:center;border:1px dashed #dcd4da;border-radius:9px;margin:0;padding:25px;font-size:10px}.session-editor{background:#faf8f9;border:1px solid #d8ced5;border-radius:11px;overflow:hidden}.session-editor>header,.slot-editor>header,.set-group>header{background:#f2edf0;border-bottom:1px solid #e0d8dd;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.session-editor>header div,.slot-editor>header div,.set-group>header div{align-items:center;gap:9px;display:flex}.session-editor>header span,.slot-editor>header span{color:var(--pink);text-transform:uppercase;font-size:9px;font-weight:800}.session-editor>header input{background:0 0;border:0;width:min(320px,50vw);font-size:15px;font-weight:700}.session-settings{grid-template-columns:80px 135px 100px minmax(180px,1fr);gap:8px;padding:12px 14px 5px;display:grid}.modality-picker{flex-wrap:wrap;gap:7px;padding:7px 14px 12px;display:flex}.modality-picker label,.check-field{min-height:30px;color:var(--muted);text-transform:capitalize;align-items:center;gap:5px;font-size:9px;display:flex}.modality-picker input,.check-field input{width:14px;accent-color:var(--purple)}.schedule-overrides{border:1px solid #e2dade;border-radius:8px;margin:0 14px 12px;padding:9px 10px}.schedule-overrides summary,.set-group summary{cursor:pointer;color:var(--muted);font-size:9px;font-weight:700}.override-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:7px;padding-top:10px;display:grid}.exercise-list{padding:0 14px 14px}.slot-editor{background:#fff;border:1px solid #ddd4da;border-radius:9px;overflow:hidden}.slot-settings{grid-template-columns:minmax(180px,1.4fr) 110px 70px 1fr 1fr;gap:7px;padding:11px;display:grid}.slot-editor>header strong{font-size:11px}.set-group{background:#f9f7f8;border:1px solid #ded6dc;border-radius:8px;margin:0 10px 10px;overflow:hidden}.set-group>header{background:#eee9ec;padding:9px 10px}.set-group>header input{background:0 0;border:0;font-weight:700}.set-group-settings{grid-template-columns:1fr 1fr 1.4fr;gap:7px;padding:10px;display:grid}.set-group details{margin:0 10px 10px}.set-group details .value-fields{padding-top:8px}.set-group h4{margin:10px;font-size:10px}.value-fields{grid-template-columns:repeat(6,minmax(74px,1fr));gap:5px;min-width:720px;display:grid}.target-scroll{-webkit-overflow-scrolling:touch;border-top:1px solid #e2dade;max-width:100%;overflow-x:auto}.target-matrix{min-width:850px}.target-matrix th{padding:7px 8px}.target-matrix td{vertical-align:top;padding:8px}.target-matrix td:first-child{color:var(--purple)}.target-matrix td:nth-child(2){width:100px}.target-matrix select{min-height:32px}.exceptions{gap:6px;margin-top:6px;display:grid}.exception-row{border-left:2px solid var(--pink);background:#f7f1f4;min-width:800px;padding:7px}.exception-row>.builder-field{width:70px}.text-action,.remove-action{color:#9c315c;background:0 0;border:0;padding:5px 7px;font-size:9px;font-weight:700}.add-sub-action{width:fit-content;margin:2px 0}.lifecycle-panel{color:#e9e1ec;background:radial-gradient(circle at 20% 0, #7c64df40, transparent 35%), var(--night);border:1px solid #332a40;border-radius:12px;flex-direction:column;gap:9px;height:fit-content;padding:17px;display:flex;position:sticky;top:16px;box-shadow:0 15px 45px #17132229}.lifecycle-panel h2{color:#fff}.lifecycle-panel>div:first-child>p:last-child{color:#9d92a1;font-size:9px}.lifecycle-panel .builder-field{color:#bfb4c3}.lifecycle-panel .builder-field input,.lifecycle-panel .builder-field select,.lifecycle-panel .builder-field textarea{color:#fff;background:#ffffff12;border-color:#ffffff1f}.lifecycle-panel>button,.action-pair button,.inline-confirm button{color:#eee7f0;background:#ffffff12;border-color:#ffffff24;width:100%}.lifecycle-panel .primary-action{background:linear-gradient(135deg,#e83e89,#7c64df);border:0;justify-content:center}.action-pair{grid-template-columns:1fr 1fr;gap:7px;display:grid}.danger-action{color:#ffc1d7!important}.inline-confirm{background:#e83e891a;border:1px solid #e83e8959;border-radius:8px;gap:7px;padding:10px;display:grid}.inline-confirm strong{font-size:10px}.inline-confirm p,.busy-note{color:#ad9fb3;margin:0;font-size:9px;line-height:1.4}.assignment-fields{border-top:1px solid #ffffff1a;gap:7px;padding-top:8px;display:grid}.validation-result{color:#d9f0e4;background:#49c68a1a;border-radius:8px;padding:10px;font-size:9px}.validation-result.invalid{color:#ffc1d7;background:#e83e891a}.validation-result p{margin:5px 0 0}.readonly-banner,.local-errors{color:var(--muted);background:#eee9ec;border:1px solid #d8cfd6;border-radius:9px;padding:12px 14px;font-size:10px}.local-errors{color:#982c54;background:#fce5ee}.local-errors p{margin:5px 0 0}.role-mode{color:#d8cff8;background:#7c64df1f;border:1px solid #7c64df59;border-radius:7px;margin:0;padding:8px 9px;font-size:9px;line-height:1.4}.athlete-workspace{color:#29242e;background:linear-gradient(#f8f5f1 0,#f1ede9 100%);min-height:100vh}.athlete-header{justify-content:space-between;align-items:center;max-width:1240px;margin:auto;padding:22px 34px;display:flex}.athlete-brand{color:#29242e;letter-spacing:.18em;align-items:center;gap:11px;font-size:11px;font-weight:800;display:flex}.athlete-header button{color:#29242e;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:6px 8px;display:flex}.athlete-header button>span:last-child{gap:2px;display:grid}.athlete-header button strong{font-size:11px}.athlete-header button small{color:#857b82;font-size:9px}.athlete-avatar{color:#fff;background:#e04d81;border-radius:50%;place-items:center;width:35px;height:35px;font-size:10px;font-weight:800;display:grid}.athlete-content{max-width:1240px;margin:auto;padding:12px 34px 80px}.assignment-hero{color:#f7f2f6;background:radial-gradient(circle at 90% 15%,#e83e8961,#0000 28%),radial-gradient(circle at 5% 100%,#7c64df4d,#0000 34%),#1b1722;border-radius:28px;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);align-content:center;gap:36px;min-height:315px;padding:48px 150px 48px 48px;display:grid;position:relative;overflow:hidden;box-shadow:0 25px 70px #1e161f29}.assignment-main h1{color:#fff;font-size:clamp(42px,6vw,70px)}.assignment-main>p:last-child{color:#bdb2bd;max-width:540px;margin:15px 0 0;font-size:13px;line-height:1.55}.athlete-kicker{color:#ee72a5;letter-spacing:.15em;text-transform:uppercase;margin:0 0 9px;font-size:9px;font-weight:800}.assignment-facts{align-content:center;gap:13px;margin:0;display:grid}.assignment-facts div{border-bottom:1px solid #ffffff1a;grid-template-columns:62px 1fr;gap:12px;padding-bottom:12px;display:grid}.assignment-facts dt{color:#8f8491;text-transform:uppercase;font-size:9px}.assignment-facts dd{color:#e5dde4;margin:0;font-size:11px}.week-position{background:#ffffff09;border-left:1px solid #ffffff17;place-content:center;justify-items:center;width:118px;height:100%;display:grid;position:absolute;top:0;right:0}.week-position span,.week-position small{color:#9f939f;text-transform:uppercase;font-size:8px;font-weight:700}.week-position strong{color:#fff;margin:8px 0 3px;font-family:Newsreader,Georgia,serif;font-size:56px;font-weight:500}.scheduled-banner{color:#85445f;background:#f9eaf0;border:1px solid #e4c8d3;border-radius:11px;margin:14px 0 0;padding:13px 17px;font-size:11px}.week-navigation{justify-content:space-between;align-items:flex-end;gap:30px;padding:48px 4px 20px;display:flex}.week-navigation h2{margin:0;font-size:36px}.week-navigation>div>p:last-child{color:#7a7077;margin:5px 0 0;font-size:11px}.week-navigation label{color:#8e838a;text-transform:uppercase;gap:5px;font-size:9px;font-weight:700;display:grid}.week-navigation select{color:#29242e;min-width:125px;font:inherit;background:#fff;border:1px solid #d8cfd0;border-radius:9px;padding:10px 12px}.athlete-sessions{gap:16px;display:grid}.athlete-session{background:#ffffffc7;border:1px solid #ded5d4;border-radius:20px;overflow:hidden;box-shadow:0 12px 40px #3628300b}.athlete-session>header{border-bottom:1px solid #e5dddd;grid-template-columns:90px 1fr;gap:22px;padding:24px 28px;display:grid}.session-number{border-right:1px solid #e1d8d8;align-content:center;justify-items:start;display:grid}.session-number span{color:#d94b7d;font-family:Newsreader,Georgia,serif;font-size:32px}.session-number small{color:#71676e;font-size:9px;font-weight:700}.athlete-session h3{margin:2px 0;font-family:Newsreader,Georgia,serif;font-size:28px}.athlete-session header>div:last-child>p:last-child{color:#746a71;margin:5px 0 0;font-size:11px}.session-cues{color:#a14266;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:8px;font-weight:800}.athlete-exercises{background:#e5dddd;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.athlete-exercise{background:#fcfaf9;min-width:0;padding:25px 28px}.athlete-exercise-heading{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.athlete-exercise h4{margin:7px 0 0;font-family:Newsreader,Georgia,serif;font-size:23px}.athlete-exercise-heading a{color:#9c315c;text-underline-offset:3px;flex:none;font-size:9px;font-weight:800}.athlete-role,.optional-tag{color:#654eaa;letter-spacing:.08em;text-transform:uppercase;background:#ece7fa;border-radius:5px;margin-right:5px;padding:4px 6px;font-size:7px;font-weight:800;display:inline-block}.optional-tag{color:#766c72;background:#ece7e7}.role-running{color:#207057;background:#daf1e5}.role-rehab{color:#9c315c;background:#f8e1ea}.athlete-note{color:#665c63;background:#f7eef1;border-left:2px solid #e04d81;margin:13px 0 0;padding:10px 12px;font-size:10px;line-height:1.45}.prescription-list{gap:9px;margin-top:18px;display:grid}.prescription{border-top:1px solid #e8e0df;padding-top:10px}.prescription>div{justify-content:space-between;gap:10px;display:flex}.prescription strong{color:#4a4147;font-size:10px}.prescription span{color:#988d93;text-transform:uppercase;font-size:8px}.prescription>p{color:#5e545a;margin:6px 0 0;font-size:10px;line-height:1.5}.prescription .set-exception{color:#74445a;background:#f7e9ef;border-radius:6px;margin-top:5px;padding:6px 8px;font-size:9px}.set-exception b{color:#9c315c}.athlete-empty,.athlete-rest-week{text-align:center;place-content:center;justify-items:center;min-height:500px;padding:30px;display:grid}.athlete-empty span{color:#d94b7d;letter-spacing:.15em;text-transform:uppercase;font-size:9px;font-weight:800}.athlete-empty h1{max-width:650px;margin-top:10px;font-size:clamp(46px,7vw,76px)}.athlete-empty p,.athlete-rest-week p{color:#7a7077;font-size:12px}.athlete-rest-week{border:1px dashed #d3c8c9;border-radius:18px;min-height:220px}.athlete-rest-week h3{margin:0;font-size:27px}.athlete-session>header{grid-template-columns:90px minmax(0,1fr) auto}.session-log-facts{color:#71676e;flex-wrap:wrap;align-items:center;gap:7px;margin-top:10px;font-size:9px;display:flex}.training-status{color:#735a19;text-transform:uppercase;background:#f2e7bd;border-radius:999px;width:fit-content;padding:4px 7px;font-size:8px;font-weight:800}.training-status.status-completed{color:#247052;background:#d9f0e4}.training-status.status-skipped{color:#766d78;background:#eae5e8}.training-status.status-in_progress{color:#604dab;background:#ece7fb}.session-training-actions{align-content:center;gap:6px;min-width:125px;display:grid;position:relative}.session-training-actions>button{color:#fff;background:#29242e;border:1px solid #29242e;border-radius:9px;min-height:38px;padding:8px 11px;font-size:9px;font-weight:800}.session-training-actions .text-training-action{color:#9c315c;background:0 0;border:0;min-height:25px}.training-inline-confirm{z-index:3;background:#fff;border:1px solid #dec5ce;border-radius:10px;width:260px;padding:12px;position:absolute;top:0;right:0;box-shadow:0 15px 45px #2721302e}.training-inline-confirm label{color:#6f656c;gap:5px;font-size:9px;font-weight:700;display:grid}.training-inline-confirm textarea{resize:vertical;font:inherit;border:1px solid #d8cfd0;border-radius:7px;padding:8px}.training-inline-confirm p{color:#9f2d55;font-size:9px}.training-inline-confirm>div{gap:6px;display:flex}.training-inline-confirm button{background:#fff;border:1px solid #d8cfd0;border-radius:7px;padding:7px 9px;font-size:8px;font-weight:700}.training-inline-confirm button:first-child{color:#fff;background:#29242e}.training-error{color:#9f2d55;background:#fce5ee;border-radius:8px;margin:0;padding:11px 13px;font-size:10px}.training-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#110d18b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.training-workspace{color:#29242e;background:#f8f5f1;border-radius:22px;grid-template-rows:auto minmax(0,1fr) auto;width:min(1180px,100%);max-height:calc(100vh - 40px);display:grid;position:relative;overflow:hidden;box-shadow:0 35px 100px #08050c66}.training-workspace>header{border-bottom:1px solid #ded5d4;justify-content:space-between;align-items:center;padding:19px 24px;display:flex}.training-workspace>header>div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.training-workspace>header .athlete-kicker{width:100%;margin-bottom:0}.training-workspace h2{margin:0;font-size:30px}.training-workspace>header>button{background:#fff;border:1px solid #d8cfd0;border-radius:9px;place-items:center;width:36px;height:36px;font-size:22px;display:grid}.training-scroll{padding:18px 24px 28px;overflow-y:auto}.training-readonly{color:#665d69;background:#ece7e7;border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:10px}.session-measures{background:#fff;border:1px solid #ded5d4;border-radius:12px;grid-template-columns:repeat(3,120px) minmax(220px,1fr);gap:9px;margin-bottom:16px;padding:14px;display:grid}.session-measures label,.training-set-row>label,.training-confirmation label{color:#71676e;text-transform:uppercase;gap:5px;font-size:8px;font-weight:800;display:grid}.session-measures label>span{color:#a0969c;font-size:7px}.session-measures input,.session-measures textarea,.training-set-row input,.training-confirmation textarea{color:#29242e;width:100%;min-width:0;font:inherit;text-transform:none;background:#fff;border:1px solid #d8cfd0;border-radius:7px;outline:0;padding:8px 9px;font-size:10px}.training-groups{gap:12px;display:grid}.training-group{background:#fff;border:1px solid #ded5d4;border-radius:12px;overflow:hidden}.training-group>header{color:#fff;background:#29242e;justify-content:space-between;align-items:baseline;padding:12px 14px;display:flex}.training-group h3{margin:0;font-size:17px}.training-group header span{color:#bdb2bd;text-transform:uppercase;font-size:8px}.training-set-row{border-top:1px solid #e8e0df;grid-template-columns:minmax(125px,1fr) 58px repeat(5,minmax(65px,.55fr)) minmax(120px,1fr);align-items:end;gap:7px;padding:10px 12px;display:grid}.training-set-row:first-child{border-top:0}.training-set-number{align-self:center;gap:3px;display:grid}.training-set-number strong{font-size:10px}.training-set-number small{color:#7a7077;font-size:8px}.training-complete-check{align-items:center;min-height:34px;gap:5px!important;display:flex!important}.training-complete-check input{accent-color:#e04d81;width:14px}.training-workspace>footer{background:#fff;border-top:1px solid #ded5d4;justify-content:space-between;align-items:center;gap:12px;min-height:67px;padding:12px 24px;display:flex}.training-workspace>footer>div{align-items:center;gap:9px;display:flex}.training-workspace>footer span{color:#857b82;font-size:8px}.training-workspace>footer button,.training-confirmation button{background:#fff;border:1px solid #d8cfd0;border-radius:8px;min-height:38px;padding:8px 12px;font-size:9px;font-weight:800}.training-command-actions button:last-child,.training-confirmation button:first-child{color:#fff;background:#29242e;border-color:#29242e}.training-confirmation{z-index:5;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#171322a6;place-items:center;padding:18px;display:grid;position:absolute;inset:0}.training-confirmation>div{background:#fff;border-radius:14px;width:min(420px,100%);padding:22px}.training-confirmation h3{margin:0;font-size:22px}.training-confirmation p{color:#71676e;font-size:10px;line-height:1.5}.training-confirmation label{gap:5px;margin:13px 0;display:grid}.training-confirmation>div>div{gap:7px;margin-top:15px;display:flex}.auth-page,.system-state{background:radial-gradient(circle at 15% 10%, #7c64df38, transparent 30%), radial-gradient(circle at 85% 90%, #e83e8929, transparent 32%), var(--night);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{color:#e9e1ec;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#231d31d6;border:1px solid #ffffff1c;border-radius:22px;width:min(100%,430px);padding:36px;box-shadow:0 30px 90px #0000004d}.auth-brand{color:#fff;letter-spacing:.25em;align-items:center;gap:12px;margin-bottom:46px;font-size:13px;font-weight:700;display:flex}.auth-card h1{color:#fff;font-size:47px}.auth-copy{color:#aaa0af;margin:13px 0 30px;font-size:13px;line-height:1.5}.auth-card form{gap:10px;display:grid}.auth-card label{color:#c6bdc9;font-size:11px;font-weight:600}.auth-card input{color:#fff;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;outline:none;width:100%;padding:13px 14px}.auth-card input:focus{border-color:var(--pink);box-shadow:0 0 0 3px #e83e891f}.auth-action{background:linear-gradient(135deg,#ee438e,#865fe2);justify-content:center;width:100%;margin-top:5px}.auth-action:disabled,.secondary-action:disabled,.local-login:disabled{cursor:wait;opacity:.58}.auth-divider{text-align:center;border-top:1px solid #ffffff17;margin:25px 0;position:relative}.auth-divider span{color:#776d7d;background:#211b2e;padding:0 10px;font-size:10px;position:relative;top:-10px}.secondary-action{color:#eee7f0;background:#ffffff0e;border:1px solid #ffffff21;border-radius:10px;width:100%;padding:12px 14px;font-size:12px;font-weight:700}.local-login{color:#a99fb0;text-underline-offset:3px;background:0 0;border:0;width:100%;margin-top:10px;padding:8px;font-size:10px;text-decoration:underline}.auth-message{color:#ddd2e0;text-align:center;background:#ffffff0e;border-radius:8px;margin:16px 0 0;padding:10px;font-size:11px}.auth-note{color:#716778;text-align:center;margin-top:30px;font-size:9px;display:block}.system-state{color:#a99fb0;text-align:center;align-content:center;gap:16px}.system-state h1{color:#fff;max-width:600px}.system-state p{max-width:520px;margin:0;font-size:12px}.system-state .secondary-action{justify-self:center;width:auto;margin-top:10px}.loading-mark{color:#fff;background:linear-gradient(145deg,#f05298,#8b64e8);border:1px solid #ffffff26;border-radius:16px;place-items:center;width:52px;height:52px;font-family:Newsreader,Georgia,serif;font-size:25px;animation:1.5s ease-in-out infinite loading-pulse;display:grid;box-shadow:0 15px 40px #e83e8933}@keyframes loading-pulse{50%{transform:translateY(-3px);box-shadow:0 20px 55px #e83e8952}}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#110d18ad;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.editor-modal{background:#fbf9fa;border:1px solid #ffffff1f;border-radius:20px;width:min(100%,760px);max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 35px 100px #08050c59}.editor-modal>header{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fbf9faf0;justify-content:space-between;align-items:flex-start;padding:24px 26px 18px;display:flex;position:sticky;top:0}.editor-modal>header h2{color:var(--ink);margin:0;font-size:30px}.editor-modal>header>button{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);background:#fff;border-radius:9px;place-items:center;font-size:22px;line-height:1;display:grid}.editor-form{gap:17px;padding:24px 26px 28px;display:grid}.editor-form label{color:#665d69;letter-spacing:.03em;gap:7px;font-size:10px;font-weight:700;display:grid}.editor-form input,.editor-form select,.editor-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);letter-spacing:0;background:#fff;border-radius:9px;outline:none;padding:11px 12px;font-size:12px;font-weight:400}.editor-form textarea{resize:vertical;line-height:1.5}.editor-form input:focus,.editor-form select:focus,.editor-form textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px #7c64df1a}.form-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.form-grid.three{grid-template-columns:repeat(3,1fr)}.editor-form .checkbox-field{align-items:center;gap:9px;display:flex}.checkbox-field input{width:16px;height:16px;accent-color:var(--purple)}.editor-form footer{justify-content:flex-end;gap:10px;padding-top:5px;display:flex}.secondary-form-action{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:10px;padding:10px 14px;font-size:12px;font-weight:700}.form-error{color:#9f2d55;background:#fce5ee;border-radius:8px;margin:0;padding:10px 12px;font-size:11px}@media (width<=980px){.app-shell>main{margin-left:210px}.sidebar{width:210px}.page{padding-left:30px;padding-right:30px}.metric-grid{grid-template-columns:1fr 1fr}.metric-grid article:last-child{grid-column:span 2}.library-grid{grid-template-columns:1fr 1fr}.assignment-hero{grid-template-columns:1fr;padding-left:34px}.athlete-exercises{grid-template-columns:1fr}.workflow-counts{grid-template-columns:repeat(3,1fr)}.roster-grid,.comparison-grid,.checkin-template-grid{grid-template-columns:1fr 1fr}.report-metrics{grid-template-columns:repeat(3,1fr)}.training-history article{grid-template-columns:minmax(150px,1fr) auto}.training-history dl{grid-column:1/-1}.training-history time{text-align:left}.session-measures{grid-template-columns:repeat(3,1fr)}.session-note-field{grid-column:1/-1}.training-set-row{grid-template-columns:minmax(110px,1fr) repeat(3,minmax(65px,.7fr))}.training-set-note{grid-column:span 2}}@media (width<=720px){.app-shell>main{margin-left:0;padding-bottom:72px}.sidebar{display:none}.page{padding:32px 18px 44px}.page-header{align-items:flex-start;margin-bottom:28px}.page-header .primary-action{justify-content:center;width:42px;height:42px;padding:0;font-size:0}.page-header .primary-action .icon{width:19px;height:19px}.metric-grid,.split-grid,.library-grid{grid-template-columns:1fr}.metric-grid article:last-child{grid-column:auto}.metric-grid article{min-height:128px}.principles-panel blockquote{font-size:23px}.exercise-card{min-height:310px}.library-toolbar{grid-template-columns:1fr 1fr}.library-toolbar label:first-child{grid-column:1/-1}.library-toolbar>span{text-align:left;grid-column:1/-1}.mobile-nav{inset:auto 10px max(10px, env(safe-area-inset-bottom)) 10px;z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#171322eb;border:1px solid #ffffff1a;border-radius:18px;grid-template-columns:repeat(4,1fr);padding:7px;display:grid;position:fixed;box-shadow:0 14px 45px #0f0a144d}.mobile-nav a{color:#9d92a1;border-radius:11px;place-items:center;gap:3px;padding:7px 4px;font-size:9px;text-decoration:none;display:grid}.mobile-nav a.active{color:#fff;background:#ffffff14}.mobile-nav .icon{width:17px;height:17px}.auth-card{padding:28px 22px}.auth-card h1{font-size:40px}.modal-backdrop{align-items:end;padding:0}.editor-modal{border-radius:20px 20px 0 0;max-height:92vh}.editor-modal>header,.editor-form{padding-left:18px;padding-right:18px}.form-grid,.form-grid.three{grid-template-columns:1fr}.program-card{grid-template-columns:1fr;gap:15px}.program-card-actions{grid-template-columns:1fr 1fr}.programs-page .page-header .primary-action{width:auto;padding:0 12px;font-size:10px}.builder-header{padding:22px 18px 17px}.builder-layout{grid-template-columns:1fr;padding:10px 10px 90px}.lifecycle-panel{grid-row:1;position:static}.builder-section{padding:14px 10px}.builder-section>header{flex-wrap:wrap}.session-settings,.slot-settings,.set-group-settings{grid-template-columns:1fr 1fr}.session-settings .builder-field:last-child,.slot-settings .builder-field:first-child{grid-column:1/-1}.week-grid{grid-template-columns:1fr 1fr}.value-fields{min-width:680px}.builder-meta{flex-wrap:wrap}.target-scroll{margin-left:-10px;margin-right:-10px}.program-card-actions button{min-height:44px}.athlete-header{padding:16px 18px}.athlete-header button>span:last-child{display:none}.athlete-content{padding:5px 14px 50px}.assignment-hero{border-radius:22px;align-content:start;gap:24px;min-height:410px;padding:32px 25px 92px}.assignment-main h1{font-size:44px}.assignment-facts div{grid-template-columns:52px 1fr}.week-position{border-top:1px solid #ffffff17;border-left:0;grid-auto-flow:column;gap:8px;width:100%;height:68px;inset:auto 0 0}.week-position strong{margin:0;font-size:34px}.week-navigation{align-items:center;padding:36px 4px 16px}.week-navigation h2{font-size:29px}.week-navigation>div>p:last-child{display:none}.week-navigation select{min-width:105px}.athlete-session>header{grid-template-columns:58px 1fr;gap:14px;padding:20px 16px}.session-training-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.training-inline-confirm{grid-column:1/-1;width:auto;position:relative}.athlete-session h3{font-size:24px}.athlete-exercise{padding:22px 18px}.workflow-counts{grid-template-columns:1fr 1fr}.workflow-grid,.roster-grid{grid-template-columns:1fr}.attention-list a{grid-template-columns:1fr auto}.attention-kind{grid-column:1/-1}.athlete-360-header{flex-direction:column;align-items:flex-start}.athlete-actions{width:100%}.athlete-actions button{flex:1;justify-content:center}.athlete-facts,.assignment-grid,.context-grid{grid-template-columns:1fr}.section-links{overflow-x:auto}.history-list article>div a{grid-template-columns:30px 75px 1fr auto}.history-list article>div a small{display:none}.athlete-timeline li{grid-template-columns:1fr auto}.athlete-timeline time{grid-column:1/-1}.comparison-source{flex-direction:column;align-items:flex-start}.comparison-source>span:last-child{margin-left:0}.comparison-grid,.training-evidence-facts{grid-template-columns:1fr 1fr}.training-history dl{grid-template-columns:repeat(3,1fr);display:grid}.training-modal-backdrop{align-items:end;padding:0}.training-workspace{border-radius:18px 18px 0 0;max-height:95vh}.training-workspace>header,.training-scroll,.training-workspace>footer{padding-left:14px;padding-right:14px}.session-measures{grid-template-columns:1fr 1fr}.session-note-field{grid-column:1/-1}.training-set-row{grid-template-columns:1fr 1fr;padding:12px}.training-set-number,.training-set-note{grid-column:1/-1}.training-workspace>footer{flex-direction:column;align-items:stretch}.training-workspace>footer>div{justify-content:space-between}.training-command-actions button{flex:1}.checkin-queues,.checkin-template-grid{grid-template-columns:1fr}.athlete-checkins>div>button{grid-template-columns:70px minmax(0,1fr) auto;padding:12px 14px}.athlete-checkins button>b{grid-column:2/-1}.checkin-evidence-facts,.report-controls{grid-template-columns:1fr 1fr}.report-controls button{min-height:42px}.report-controls>span{justify-self:start}.report-metrics{grid-template-columns:1fr 1fr}.report-metrics article:last-child{grid-column:1/-1}.assistant-request,.assistant-summary-change{grid-template-columns:1fr}.assistant-actions{flex-direction:column;align-items:stretch}.assistant-actions .inline-confirm{max-width:none}}@media (prefers-reduced-motion:reduce){.loading-mark{animation:none}}
