@import "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap";:root{color:#172b3a;font-synthesis:none;--navy:#102a43;--navy-2:#173f5f;--accent:#0d9488;--accent-strong:#087a70;--accent-soft:#e8f6f3;--blue:var(--accent);--blue-soft:var(--accent-soft);--line:#dfe7e9;--muted:#6f8190;--card:#fff;--shadow:0 10px 30px #102a4312;background:#f3f6f7;font-family:Noto Sans SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:#f3f6f7;min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}input,select,textarea{color:#172b3a;background:#fff;border:1px solid #d7e1e4;border-radius:10px;outline:none;width:100%;padding:11px 13px;transition:all .2s}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px var(--accent-soft);border-color:#53b8ae}input:disabled{color:#909da6;background:#f1f4f5}textarea{resize:vertical;min-height:84px}label{color:#354b59;gap:7px;font-size:14px;font-weight:600;display:grid}small,.muted{color:var(--muted)}.button{border:0;border-radius:10px;padding:11px 18px;font-weight:700;transition:all .2s}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--blue);color:#fff;box-shadow:0 5px 14px #2563eb38}.button.ghost{color:#445066;border:1px solid var(--line);background:#fff}.button.big{padding:15px 20px;font-size:16px}.button.wide,.wide{width:100%}.button:disabled{opacity:.5;cursor:not-allowed;transform:none}.text-button,.danger-link,.icon-button{color:var(--blue);background:0 0;border:0;font-weight:700}.danger-link,.icon-button.danger{color:#dc2626}.icon-button{color:#788297;font-size:25px}.eyebrow{letter-spacing:1.8px;font-size:12px;font-weight:800}.eyebrow.blue{color:var(--blue)}.brand-mark{background:var(--blue);color:#fff;border-radius:18px;place-items:center;width:64px;height:64px;font-size:30px;font-weight:800;display:grid;box-shadow:0 10px 25px #2563eb47}.brand-mark.small{border-radius:12px;width:42px;height:42px;font-size:20px}.brand-mark.tiny{border-radius:9px;width:32px;height:32px;font-size:16px}.alert{border-radius:9px;padding:11px 13px;font-size:13px}.alert.error{color:#b91c1c;background:#fff0f0}.alert.info{color:#1d4ed8;background:#eff6ff}.toast{z-index:200;color:#fff;box-shadow:var(--shadow);background:#14213b;border-radius:11px;padding:13px 18px;animation:.2s pop;position:fixed;bottom:24px;right:24px}.toast.error{background:#b91c1c}@keyframes pop{0%{opacity:0;transform:translateY(10px)}}.spinner{text-align:center;color:var(--muted);padding:80px}.login-page{background:#fff;grid-template-columns:1.06fr .94fr;min-height:100vh;display:grid}.login-brand{color:#fff;background:linear-gradient(145deg,#0f1c39,#172c5e);flex-direction:column;justify-content:center;padding:clamp(50px,8vw,110px);display:flex;position:relative;overflow:hidden}.login-brand:after{content:"";border:100px solid #ffffff06;border-radius:50%;width:430px;height:430px;position:absolute;bottom:-220px;right:-220px}.login-brand .eyebrow{color:#8fb2ff;margin:30px 0 12px}.login-brand h1{letter-spacing:-2px;margin-bottom:22px;font-size:clamp(40px,4.2vw,68px);line-height:1.18}.login-brand>p{color:#b7c3dc;max-width:520px;margin-bottom:35px;font-size:17px;line-height:1.8}.feature-line{color:#d6dff0;gap:11px;margin:7px 0;display:flex}.feature-line span{color:#78a2ff}.login-panel{background:#fbfcfe;place-items:center;padding:30px;display:grid}.login-card{gap:18px;width:min(420px,100%);display:grid}.login-card h2{margin:2px 0 -12px;font-size:30px}.login-card .muted{margin-bottom:12px}.demo-note{text-align:center;color:#8490a3;background:#f2f5fa;border-radius:8px;padding:10px;font-size:12px;line-height:1.7}.mobile-logo{align-items:center;gap:10px;font-size:19px;font-weight:800;display:none}.app-shell{min-height:100vh}.sidebar{border-right:1px solid var(--line);z-index:50;background:#fff;flex-direction:column;width:240px;padding:24px 14px;display:flex;position:fixed;inset:0 auto 0 0}.side-brand{align-items:center;gap:12px;padding:0 8px 28px;display:flex}.side-brand div:last-child{display:grid}.side-brand strong{font-size:19px}.side-brand span{color:#8993a5;letter-spacing:1px;font-size:11px}.sidebar nav{gap:5px;display:grid}.sidebar nav button{text-align:left;color:#606a7c;background:0 0;border:0;border-radius:10px;align-items:center;gap:13px;padding:12px 14px;font-weight:600;display:flex}.sidebar nav button span{text-align:center;width:23px;font-size:19px}.sidebar nav button.active{background:var(--blue-soft);color:var(--blue)}.side-footer{border-top:1px solid var(--line);align-items:center;gap:9px;margin-top:auto;padding:18px 4px 0;display:flex}.side-footer>div:nth-child(2){flex:1;display:grid}.side-footer span{color:var(--muted);font-size:11px}.side-footer button{color:#7d8798;background:0 0;border:0;font-size:18px}.avatar,.person span{width:35px;height:35px;color:var(--blue);background:#e7efff;border-radius:10px;place-items:center;font-weight:800;display:grid}.admin-main{min-height:100vh;margin-left:240px}.page{max-width:1500px;margin:auto;padding:36px clamp(22px,4vw,55px)}.page-title{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;display:flex}.page-title h1{margin:7px 0 4px;font-size:29px}.page-title p{color:var(--muted);margin:0}.date-chip{border:1px solid var(--line);color:#596376;background:#fff;border-radius:10px;padding:10px 14px;font-size:13px}.mobile-header{display:none}.stat-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px;display:grid}.stat-grid article{border:1px solid var(--line);background:#fff;border-radius:15px;align-items:center;gap:15px;padding:20px;display:flex;box-shadow:0 3px 15px #1d2c4b09}.stat-icon{border-radius:13px;place-items:center;width:48px;height:48px;font-size:22px;display:grid}.stat-icon.blue{color:#2563eb;background:#eaf1ff}.stat-icon.violet{color:#7c3aed;background:#f1ecff}.stat-icon.amber{color:#d97706;background:#fff5df}.stat-icon.green{color:#059669;background:#e8f9f0}.stat-grid article div{grid-template-columns:auto auto;align-items:baseline;gap:0 5px;display:grid}.stat-grid small{color:var(--muted);grid-column:1/-1}.stat-grid strong{font-size:28px}.stat-grid article div span{color:#929aaa;font-size:11px}.card{border:1px solid var(--line);background:#fff;border-radius:15px;margin-bottom:22px;overflow:hidden;box-shadow:0 4px 18px #1d2c4b09}.card-head{border-bottom:1px solid var(--line);justify-content:space-between;padding:21px 23px;display:flex}.card-head h2{margin-bottom:3px;font-size:18px}.card-head p{color:var(--muted);margin:0;font-size:13px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:#7a8496;background:#fafbfc;font-size:12px;font-weight:600}th,td{white-space:nowrap;border-bottom:1px solid #edf0f5;padding:15px 20px}tbody tr:last-child td{border:0}.table-empty{text-align:center;color:var(--muted);padding:20px}.person{align-items:center;gap:10px;display:flex}.toggle{color:#8a93a3;background:0 0;border:0;align-items:center;gap:7px;display:flex}.toggle i{background:#ccd2dc;border-radius:10px;width:28px;height:16px;display:inline-block;position:relative}.toggle i:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;transition:all .2s;position:absolute;top:2px;left:2px}.toggle.on{color:#059669}.toggle.on i{background:#34c78b}.toggle.on i:after{left:14px}.status{color:#697386;background:#f0f2f6;border-radius:20px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.status.completed{color:#07865c;background:#e8f8ef}.status.in_progress,.status.active{color:#a76500;background:#fff5d9}.status.scheduled{color:#2563eb;background:#eaf1ff}.status.missed,.status.cancelled{color:#ba2b2b;background:#fff0f0}.exercise-grid,.template-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.exercise-card,.template-card{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 4px 18px #1d2c4b09}.exercise-media{background:#eef2f7;height:175px;position:relative;overflow:hidden}.exercise-media img,.exercise-media video{object-fit:cover;width:100%;height:100%}.exercise-media>span{background:#ffffffeb;border-radius:20px;padding:4px 9px;font-size:11px;font-weight:700;position:absolute;top:13px;left:13px}.media-placeholder{color:#8b95a8;place-items:center;height:100%;display:grid}.exercise-body{padding:18px}.exercise-body h3{margin:0}.exercise-body small{margin-top:3px;display:block}.exercise-body p{color:#606a7d;height:43px;margin:14px 0;font-size:13px;line-height:1.65;overflow:hidden}.substitute-note{color:#6f7889;background:#f5f7fa;border-radius:8px;margin-bottom:12px;padding:9px 11px;font-size:11px}.template-card{padding:22px}.template-card .phase{color:#2563eb;background:#eaf1ff;border-radius:20px;padding:4px 9px;font-size:11px}.template-card h3{margin:17px 0 8px}.template-card p{height:42px;color:var(--muted);font-size:13px}.template-meta{border-top:1px solid var(--line);gap:25px;padding:15px 0;display:flex}.template-meta span{color:var(--muted);font-size:12px}.template-meta strong{color:#172033;font-size:18px}.form-grid{grid-template-columns:1fr 1fr;gap:16px;padding:22px;display:grid}.form-grid.one{grid-template-columns:1fr}.form-grid .full{grid-column:1/-1}.modal-actions{justify-content:flex-end;gap:9px;display:flex}.check-grid{grid-template-columns:repeat(3,1fr);gap:8px;max-height:150px;padding:2px;display:grid;overflow:auto}.check{background:#f6f8fb;border-radius:8px;align-items:center;gap:7px;padding:9px;font-weight:500;display:flex}.check input{width:auto}.modal-backdrop{z-index:100;background:#0d182e94;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:min(560px,100%);max-height:92vh;overflow:auto;box-shadow:0 30px 80px #0003}.modal-wide{width:min(960px,100%)}.modal>header{border-bottom:1px solid var(--line);z-index:3;background:#fff;justify-content:space-between;align-items:center;padding:19px 22px;display:flex;position:sticky;top:0}.modal>header h2{margin:0;font-size:20px}.modal>p,.modal>label,.modal>.sub-list{margin-left:22px;margin-right:22px}.filter-bar{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:18px;padding:16px;display:grid}.analysis-stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.analysis-stats article{border:1px solid var(--line);background:#fff;border-radius:13px;gap:7px;padding:18px;display:grid}.analysis-stats small{color:var(--muted)}.analysis-stats strong{font-size:25px}.analysis-stats i{color:var(--muted);font-size:12px;font-style:normal}.chart{padding:20px}.chart svg{width:100%;height:260px}.chart-labels{color:var(--muted);justify-content:space-between;padding:0 20px;font-size:11px;display:flex}.chart-empty{height:250px;color:var(--muted);place-items:center;display:grid}.mini-progress,.progress,.runner-progress{background:#e6ebf2;border-radius:5px;height:6px;overflow:hidden}.mini-progress{width:100px;margin-bottom:5px}.mini-progress i,.progress i,.runner-progress i{background:var(--blue);border-radius:5px;height:100%;display:block}.exercise-library-tools{border:1px solid var(--line);background:#fff;border-radius:15px;margin-bottom:14px;padding:15px;box-shadow:0 4px 18px #1d2c4b09}.exercise-search{margin-bottom:13px;position:relative}.exercise-search>span{color:#8993a5;font-size:20px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.exercise-search input{background:#f7f9fc;padding-left:42px;padding-right:40px}.exercise-search button{color:#8b95a8;background:0 0;border:0;padding:6px;font-size:20px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.exercise-category-tabs{scrollbar-width:none;gap:7px;padding-bottom:2px;display:flex;overflow-x:auto}.exercise-category-tabs::-webkit-scrollbar{display:none}.exercise-category-tabs button{color:#626d80;white-space:nowrap;background:#f2f5f9;border:1px solid #0000;border-radius:22px;align-items:center;gap:7px;padding:8px 12px;font-weight:700;display:flex}.exercise-category-tabs button b{color:#8791a3;background:#fff;border-radius:12px;min-width:21px;padding:3px 6px;font-size:10px}.exercise-results{min-height:30px;color:var(--muted);justify-content:space-between;align-items:center;margin:0 2px 12px;font-size:12px;display:flex}.exercise-empty{min-height:280px;color:var(--muted);text-align:center;background:#fff;border:1px dashed #ccd5e2;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:9px;display:flex}.exercise-empty strong{color:#283246;font-size:17px}.exercise-empty .button{margin-top:8px}.template-form>.form-grid{padding-bottom:10px}.builder-head{justify-content:space-between;align-items:center;padding:10px 22px;display:flex}.builder-head h3{margin-bottom:3px}.builder-head p{color:var(--muted);margin:0;font-size:12px}.week-block{border:1px solid #dce4f2;border-radius:12px;margin:10px 22px 20px;overflow:hidden}.week-block>header{background:#f1f5fc;justify-content:space-between;align-items:center;padding:12px;display:flex}.week-block>header input{width:160px;box-shadow:none;background:0 0;border:0;font-weight:800}.day-block{border:1px solid var(--line);border-radius:11px;margin:14px;overflow:hidden}.day-head{background:#fbfcfd;align-items:center;gap:12px;padding:11px 13px;display:flex}.day-name{max-width:250px;font-weight:700}.day-head label{align-items:center;gap:6px;margin-left:auto;display:flex}.day-head label input{width:60px}.builder-exercise{border:1px solid #e7ebf2;border-radius:10px;margin:13px}.builder-exercise-head{background:#f8f9fb;align-items:center;gap:10px;padding:10px;display:flex}.builder-exercise-head select{flex:1}.order{background:var(--blue);color:#fff;border-radius:8px;place-items:center;width:28px;height:28px;font-weight:800;display:grid}.set-table{padding:8px 12px}.set-row{grid-template-columns:35px repeat(3,1fr) 28px;align-items:center;gap:8px;margin:7px 0;display:grid}.set-row.labels{color:var(--muted);font-size:11px}.set-row input{padding:8px}.set-row button{color:#dc2626;background:0 0;border:0}.add-row,.add-exercise,.add-day{color:var(--blue);background:0 0;border:0;padding:9px 13px;font-weight:700}.add-exercise{border:1px dashed #b9c9e7;border-radius:8px;width:calc(100% - 26px);margin:0 13px 13px}.add-day{margin:0 14px 14px}.modal-actions.sticky{border-top:1px solid var(--line);z-index:3;background:#fff;padding:14px 22px;position:sticky;bottom:0}.program-editor{padding:20px}.program-editor>.alert{margin-bottom:15px}.program-workout{border:1px solid var(--line);border-radius:12px;margin-bottom:14px;overflow:hidden}.program-workout>header{background:#f5f7fb;justify-content:space-between;align-items:center;padding:11px 13px;display:flex}.program-workout>header>div{align-items:center;gap:10px;display:flex}.program-workout>header input{width:160px}.program-exercise{border-top:1px solid var(--line);padding:13px}.program-exercise>select{max-width:300px;font-weight:700}.program-exercise .set-table{padding-left:0;padding-right:0}.program-exercise .status{justify-self:center}.step-indicator{justify-content:center;align-items:center;margin:2px 0 6px;display:flex}.step-indicator span{color:#8a94a6;background:#edf0f5;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.step-indicator span.active,.step-indicator span.done{background:var(--blue);color:#fff}.step-indicator i{background:#e0e5ee;width:80px;height:3px}.step-indicator i.done{background:var(--blue)}.schedule-step{padding:21px}.schedule-title{justify-content:space-between;align-items:end;margin:17px 0;display:flex}.schedule-title h3{margin:5px 0 0}.schedule-list{gap:10px;max-height:54vh;padding-right:4px;display:grid;overflow:auto}.schedule-list article{border:1px solid var(--line);border-radius:11px;grid-template-columns:40px 1fr 175px;align-items:center;gap:13px;padding:13px;display:grid}.schedule-index{background:var(--blue-soft);width:36px;height:36px;color:var(--blue);border-radius:10px;place-items:center;font-weight:800;display:grid}.schedule-info{gap:2px;display:grid}.schedule-info>span{color:var(--blue);font-size:11px;font-weight:700}.schedule-info small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.schedule-list label span{font-size:11px}.schedule-step>.alert{margin-top:12px}.live-shell{background:#f3f6fb;min-height:100vh}.live-rail{border-right:1px solid var(--line);z-index:30;background:#fff;flex-direction:column;width:292px;display:flex;position:fixed;inset:0 auto 0 0}.live-rail>header{border-bottom:1px solid var(--line);align-items:center;gap:10px;height:76px;padding:0 17px;display:flex}.live-rail>header>button{background:#f0f3f7;border:0;border-radius:9px;width:34px;height:34px;font-size:18px}.live-rail>header>div:last-child{display:grid}.live-rail>header span{color:var(--muted);font-size:10px}.live-date{border-bottom:1px solid var(--line);padding:15px 17px}.live-date span{color:var(--muted);font-size:11px}.live-date input{padding:9px}.live-rail-title{justify-content:space-between;align-items:center;padding:16px 17px 8px;display:flex}.live-rail-title span{color:var(--muted);font-size:11px}.live-athletes{gap:7px;padding:0 10px;display:grid;overflow:auto}.live-athletes>button{text-align:left;color:#172033;background:0 0;border:1px solid #0000;border-radius:12px;gap:10px;padding:11px;display:flex}.live-athletes>button.active{background:var(--blue-soft);border-color:#cfdcff}.live-avatar{color:#526078;background:#e9eff9;border-radius:11px;flex:none;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.live-athletes>button.active .live-avatar{background:var(--blue);color:#fff}.live-athletes>button>div{flex:1;grid-template-columns:1fr auto;gap:3px 8px;min-width:0;display:grid}.live-athletes strong,.live-athletes small{grid-column:1/-1}.live-athletes small{white-space:nowrap;text-overflow:ellipsis;color:var(--muted);font-size:10px;overflow:hidden}.live-athletes i{background:#dce3ee;border-radius:4px;align-self:center;height:5px;overflow:hidden}.live-athletes i b{background:var(--blue);height:100%;display:block}.live-athletes em{color:var(--muted);font-size:9px;font-style:normal}.live-none{text-align:center;color:var(--muted);padding:20px;font-size:12px}.live-rail>footer{border-top:1px solid var(--line);justify-content:space-between;margin-top:auto;padding:14px 17px;display:flex}.live-rail>footer button{color:var(--muted);background:0 0;border:0;font-size:11px}.live-main{min-height:100vh;margin-left:292px;padding:32px clamp(22px,3vw,45px)}.live-main>.empty{max-width:650px;margin:100px auto}.live-overview,.live-detail{max-width:1120px;margin:auto}.live-person-head{align-items:center;gap:13px;margin-bottom:24px;display:flex}.live-person-avatar{background:var(--blue);color:#fff;border-radius:15px;place-items:center;width:54px;height:54px;font-size:23px;font-weight:800;display:grid}.live-person-head>div:nth-child(2){flex:1}.live-person-head span{color:var(--muted);font-size:11px}.live-person-head h1{margin:3px 0;font-size:24px}.live-workout-head{color:#fff;background:linear-gradient(135deg,#13264b,#1d4389);border-radius:18px;justify-content:space-between;align-items:center;padding:25px 28px;display:flex;box-shadow:0 10px 28px #11265029}.live-workout-head .eyebrow{color:#91b5ff}.live-workout-head h2{margin:6px 0;font-size:28px}.live-workout-head p{color:#b7c6e2;margin:0}.live-progress-ring{border:7px solid #ffffff29;border-top-color:#77a4ff;border-radius:50%;align-content:center;place-items:center;width:90px;height:90px;display:grid}.live-progress-ring strong{font-size:21px}.live-progress-ring span{color:#bdc9df;font-size:9px}.live-overview-title{margin:27px 0 14px}.live-overview-title h2{margin-bottom:2px}.live-overview-title p{color:var(--muted);margin:0;font-size:12px}.live-action-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.live-action-grid>button{border:1px solid var(--line);text-align:left;color:#172033;background:#fff;border-radius:15px;padding:0;transition:all .2s;display:flex;overflow:hidden}.live-action-grid>button:hover{box-shadow:var(--shadow);border-color:#c9d8f4;transform:translateY(-2px)}.live-action-media{color:#93a0b5;background:#e8edf5;flex:none;place-items:center;width:118px;min-height:140px;font-size:32px;display:grid;position:relative}.live-action-media img{object-fit:cover;width:100%;height:100%}.live-action-media i{background:var(--blue);color:#fff;border-radius:8px;place-items:center;width:26px;height:26px;font-size:12px;font-style:normal;font-weight:800;display:grid;position:absolute;top:9px;left:9px}.live-action-info{flex:1;min-width:0;padding:15px}.live-action-info>span{color:var(--blue);font-size:10px;font-weight:700}.live-action-info p{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.live-action-info>div{justify-content:space-between;font-size:11px;display:flex}.live-action-info em{color:var(--blue);font-style:normal;font-weight:700}.live-back{color:var(--blue);background:0 0;border:0;margin-bottom:17px;padding:0;font-weight:700}.live-detail-title{justify-content:space-between;align-items:end;margin-bottom:18px;display:flex}.live-detail-title h1{margin:5px 0;font-size:28px}.live-detail-title p{color:var(--muted);margin:0}.live-exercise-layout{grid-template-columns:minmax(270px,.8fr) minmax(400px,1.2fr);align-items:start;gap:18px;display:grid}.live-demo,.live-record-card{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden;box-shadow:0 4px 18px #1d2c4b0a}.live-demo{min-height:400px}.live-demo>img,.live-demo>video{object-fit:cover;width:100%;height:330px}.live-demo>div{color:#8794a9;background:#e6ebf3;align-content:center;place-items:center;height:330px;display:grid}.live-demo>div span{font-size:42px}.live-demo footer{padding:17px;display:grid}.live-demo footer span{color:var(--blue);font-size:10px;font-weight:700}.live-demo footer strong{font-size:20px}.live-record-card{padding:21px}.live-set-tabs{gap:8px;margin-bottom:16px;display:flex}.live-set-tabs button{color:#7f899a;background:#edf0f5;border:0;border-radius:50%;width:38px;height:38px;font-weight:800}.live-set-tabs button.active{background:var(--blue);color:#fff;box-shadow:0 0 0 4px #e2ebff}.live-set-tabs button.done:not(.active){color:#07865c;background:#dff6e9}.live-record-card h2{font-size:20px}.live-target{color:#fff;background:#15284c;border-radius:11px;align-items:center;gap:8px;margin-bottom:15px;padding:12px 14px;display:flex}.live-target span{color:#aab8d0;margin-right:auto;font-size:10px}.live-target i{color:#8090ab;font-style:normal}.live-record-card form{gap:11px;display:grid}.live-number>span,.live-notes>span{font-size:11px}.live-number>div{grid-template-columns:52px 1fr 52px;gap:7px;display:grid}.live-number button{color:var(--blue);background:#edf3fd;border:1px solid #cad7eb;border-radius:10px;min-height:50px;font-size:27px}.live-number section{position:relative}.live-number input{text-align:center;height:50px;padding-right:42px;font-size:20px;font-weight:800}.live-number b{color:#8a95a8;font-size:9px;position:absolute;top:18px;right:10px}.live-notes input{height:48px}.athlete-shell{background:#f3f6fb;min-height:100vh}.athlete-top{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:64px;padding:0 max(20px,50% - 380px);display:flex}.athlete-top>div{align-items:center;gap:9px;display:flex}.athlete-top button{color:var(--muted);background:0 0;border:0}.athlete-home{width:min(760px,100%);margin:auto;padding:34px 18px 70px}.welcome{padding:24px 6px 18px}.welcome>span{color:var(--blue);font-weight:700}.welcome h1{margin:12px 0;font-size:36px;line-height:1.25}.welcome p{color:var(--muted)}.athlete-tabs{border-bottom:1px solid var(--line);margin-bottom:20px;display:flex}.athlete-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;padding:12px 18px;font-weight:700}.athlete-tabs button.active{color:var(--blue);border-color:var(--blue)}.today-card{box-shadow:var(--shadow);background:#fff;border:1px solid #e6eaf1;border-radius:18px;padding:22px}.today-card-head{justify-content:space-between;align-items:flex-start;display:flex}.today-card h2{margin:6px 0;font-size:24px}.today-summary{color:var(--muted);gap:20px;margin:20px 0 13px;font-size:12px;display:flex}.today-summary strong{color:#172033;font-size:17px}.progress{height:8px}.exercise-preview{gap:7px;margin:18px 0;display:grid}.exercise-preview span{background:#f7f9fc;border-radius:8px;padding:8px 10px;font-size:13px}.daily-complete{color:var(--muted);justify-content:space-between;margin:18px 4px;display:flex}.daily-complete strong{color:#172033}.empty{text-align:center;border:1px solid var(--line);background:#fff;border-radius:15px;padding:50px 20px}.empty-icon{color:#9db5e7;font-size:40px}.empty p{color:var(--muted)}.history-list{gap:10px;display:grid}.history-list article{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;padding:15px;display:flex}.history-list article>div{gap:5px;display:grid}.history-list article>div:last-child{text-align:right}.history-list span,.history-list small{color:var(--muted);font-size:12px}.overview-content{width:min(780px,100%);margin:auto;padding:30px 18px 120px}.overview-hero{margin-bottom:22px}.overview-hero h1{margin:8px 0;font-size:32px}.overview-hero p{color:var(--muted)}.overview-list{gap:14px;display:grid}.overview-exercise{border:1px solid var(--line);background:#fff;border-radius:16px;gap:15px;padding:18px;display:flex;box-shadow:0 4px 18px #1d2c4b0a}.overview-order{background:var(--blue);color:#fff;border-radius:11px;flex:0 0 38px;place-items:center;height:38px;font-weight:800;display:grid}.overview-info{flex:1;min-width:0}.overview-info>span{color:var(--blue);font-size:11px;font-weight:700}.overview-info h2{margin:4px 0;font-size:20px}.overview-info>small{margin-bottom:9px;display:block}.overview-sets{gap:6px;margin-top:12px;display:grid}.overview-sets>div{color:#5d677a;background:#f6f8fb;border-radius:8px;grid-template-columns:70px 1fr 65px 20px;align-items:center;gap:8px;padding:9px 11px;font-size:12px;display:grid}.overview-sets>div.done{color:#087b58;background:#eaf8f0}.overview-sets b{color:#059669}.overview-action{background:linear-gradient(#0000,#f1f4f9 20%);margin-top:8px;padding:28px 0 5px;position:sticky;bottom:0}.overview-action p{text-align:center;color:var(--muted);margin:9px 0;font-size:11px}.number-control{grid-template-columns:44px minmax(70px,1fr) 44px;align-items:stretch;gap:7px;display:grid!important}.number-control>button{color:var(--blue);touch-action:manipulation;background:#eef3fb;border:1px solid #ced8e8;border-radius:10px;min-height:52px;padding:0;font-size:25px;font-weight:700}.number-control>button:active{background:#dce8ff;transform:scale(.96)}.number-control>div{position:relative}.number-control input{text-align:center;height:52px;padding:10px 36px 10px 8px;font-size:19px;font-weight:800}.number-control b{color:#8d97a8;font-size:10px;position:absolute;top:18px;right:9px}.number-field>span{font-size:13px}.runner-page{background:#f1f4f9;min-height:100vh}.runner-header{background:#fff;align-items:center;gap:13px;height:68px;padding:0 max(16px,50% - 390px);display:flex}.runner-header button{background:#f0f3f7;border:0;border-radius:10px;width:36px;height:36px;font-size:19px}.runner-header div{flex:1;display:grid}.runner-header small{color:var(--muted)}.runner-header>span{color:var(--blue);font-weight:700}.runner-progress{border-radius:0;height:4px}.runner-content{width:min(780px,100%);margin:auto;padding:18px}.exercise-step{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:13px;display:flex}.exercise-step button{background:var(--blue-soft);color:var(--blue);border:0;border-radius:8px;padding:7px 11px;font-weight:700}.exercise-step button:disabled{opacity:.4}.runner-media{background:#dfe5ee;border-radius:18px 18px 0 0;place-items:center;height:300px;display:grid;overflow:hidden}.runner-media img,.runner-media video{object-fit:cover;width:100%;height:100%}.runner-media>div{text-align:center;color:#8792a5}.runner-media>div span{font-size:44px}.runner-card{box-shadow:var(--shadow);background:#fff;border-radius:0 0 18px 18px;padding:24px}.exercise-title h1{margin:8px 0 2px;font-size:27px}.tag{color:var(--blue);background:#eaf1ff;border-radius:20px;padding:4px 9px;font-size:11px;font-weight:700}.cue{color:#596376;background:#f6f8fb;border-left:3px solid #a9bce5;padding:10px 12px;font-size:13px}.set-dots{gap:8px;margin:24px 0 17px;display:flex}.set-dots span{color:#8b94a3;background:#edf0f5;border-radius:50%;place-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:grid}.set-dots span.done{color:#07865c;background:#def6e8}.set-dots span.current{background:var(--blue);color:#fff;box-shadow:0 0 0 4px #e2ebff}.runner-card>h2{font-size:20px}.target-strip{color:#fff;background:#172746;border-radius:11px;align-items:center;gap:10px;margin-bottom:19px;padding:12px 15px;display:flex}.target-strip span{color:#aab7cf;margin-right:auto;font-size:11px}.target-strip i{color:#8290a9;font-style:normal}.record-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.record-grid label>div{position:relative}.record-grid input{padding-right:42px;font-size:20px;font-weight:800}.record-grid b{color:#9099aa;font-size:11px;position:absolute;top:14px;right:11px}.notes-input{margin:15px 0}.runner-nav{justify-content:space-between;margin-top:15px;display:flex}.runner-nav button{color:var(--muted);background:0 0;border:0}.runner-nav button:disabled{opacity:.35}.workout-summary{text-align:center;width:min(620px,100% - 36px);box-shadow:var(--shadow);background:#fff;border-radius:20px;margin:60px auto;padding:40px}.success-ring{color:#059669;background:#e0f7e9;border-radius:50%;place-items:center;width:72px;height:72px;margin:0 auto 20px;font-size:33px;display:grid}.workout-summary h2{margin:8px;font-size:30px}.workout-summary>p{color:var(--muted)}.summary-grid{border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(3,1fr);margin:28px 0;display:grid}.summary-grid div{border-right:1px solid var(--line);padding:17px;display:grid}.summary-grid div:last-child{border:0}.summary-grid strong{font-size:23px}.summary-grid span{color:var(--muted);font-size:11px}.sub-list{gap:8px;margin-bottom:18px;display:grid}.sub-list label{border:1px solid var(--line);border-radius:9px;gap:10px;padding:12px;display:flex}.sub-list label.selected{border-color:var(--blue);background:var(--blue-soft)}.sub-list input{width:auto}.sub-list div{display:grid}.sub-list span{color:var(--muted);font-size:11px}@media (width<=1050px){.stat-grid,.exercise-grid,.template-grid,.analysis-stats{grid-template-columns:1fr 1fr}}@media (width<=760px){.login-page{display:block}.login-brand{display:none}.login-panel{min-height:100vh;padding:24px}.mobile-logo{margin-bottom:28px;display:flex}.sidebar{transition:all .25s;transform:translate(-100%)}.sidebar.open{transform:none}.nav-mask{z-index:40;background:#00000059;position:fixed;inset:0}.admin-main{margin:0}.mobile-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:58px;padding:0 15px;display:flex}.mobile-header button{color:var(--muted);background:0 0;border:0}.page{padding:24px 15px}.page-title{align-items:flex-start}.page-title h1{font-size:24px}.page-title p{display:none}.page-title>.button{padding:11px;font-size:0}.page-title>.button:first-letter{font-size:18px}.stat-grid,.exercise-grid,.template-grid,.analysis-stats{grid-template-columns:1fr 1fr}.filter-bar,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.check-grid{grid-template-columns:1fr 1fr}.modal-backdrop{align-items:end;padding:0}.modal{border-radius:18px 18px 0 0;max-height:94vh}.set-row{grid-template-columns:25px repeat(3,1fr) 22px;gap:4px}.set-row input{padding:7px 4px}.day-head{flex-wrap:wrap}.runner-media{height:240px}.record-grid{gap:7px}.record-grid input{padding:11px 32px 11px 7px;font-size:17px}.runner-card{padding:18px}.target-strip{gap:6px}.welcome h1{font-size:30px}.exercise-library-tools{border-left:0;border-right:0;border-radius:0;margin-left:-15px;margin-right:-15px;padding:13px 15px}.exercise-search{margin-bottom:11px}.exercise-category-tabs{margin-right:-15px;padding-right:15px}.exercise-category-tabs button{padding:7px 11px}}@media (width<=480px){.stat-grid,.exercise-grid,.template-grid,.analysis-stats{grid-template-columns:1fr}.page-title{flex-wrap:wrap}.today-summary{justify-content:space-between;gap:10px}.summary-grid{grid-template-columns:1fr}.summary-grid div{border-right:0;border-bottom:1px solid var(--line)}.runner-media{height:210px}.workout-summary{padding:28px 20px}.record-grid label>span{font-size:11px}.check-grid{grid-template-columns:1fr}}@media (width<=760px){.record-grid{grid-template-columns:1fr;gap:13px}.number-field>span{font-size:13px}.number-control{grid-template-columns:52px minmax(0,1fr) 52px}.number-control>button{min-height:56px;font-size:28px}.number-control input{height:56px;font-size:21px}.number-control b{top:20px}.overview-content{padding-top:23px}.overview-hero h1{font-size:28px}.overview-exercise{gap:11px;padding:15px}.overview-order{flex-basis:34px;height:34px}.overview-sets>div{grid-template-columns:62px 1fr 58px 18px;padding:9px 8px}}@media (width<=1100px){.live-rail{width:265px}.live-main{margin-left:265px;padding:25px 20px}.live-action-grid{grid-template-columns:1fr}.live-exercise-layout{grid-template-columns:minmax(230px,.72fr) minmax(380px,1.28fr)}.live-demo>img,.live-demo>video,.live-demo>div{height:280px}.live-demo{min-height:350px}}@media (width<=760px){.schedule-list article{grid-template-columns:36px 1fr}.schedule-list article>label{grid-column:1/-1}.live-rail{width:100%;height:auto;position:static}.live-rail>header{height:64px}.live-date{padding:10px 14px}.live-rail-title{padding:10px 14px 6px}.live-athletes{padding-bottom:9px;display:flex;overflow:auto}.live-athletes>button{min-width:210px}.live-rail>footer{display:none}.live-main{margin:0;padding:20px 14px}.live-exercise-layout,.live-action-grid{grid-template-columns:1fr}.live-demo{min-height:280px}.live-demo>img,.live-demo>video,.live-demo>div{height:220px}.live-workout-head{padding:20px}.live-progress-ring{width:72px;height:72px}.live-detail-title p{display:none}}.live-progress-ring{background:conic-gradient(#76a3ff 0 var(--progress),#ffffff29 var(--progress) 360deg);border:0;position:relative}.live-progress-ring:after{content:"";background:#214682;border-radius:50%;position:absolute;inset:7px}.live-progress-ring strong,.live-progress-ring span{z-index:1;position:relative}.live-action-grid>button.pending{box-shadow:inset 4px 0 0 var(--blue);border-color:#cfdcf1}.live-action-grid>button.completed{box-shadow:none;background:#effaf4;border-color:#b9e7ce}.live-action-grid>button.completed .live-action-media{color:#079669;background:#dff4e8}.live-action-grid>button.completed .live-action-media i{background:#079669}.live-action-grid>button.completed .live-action-info>span,.live-action-grid>button.completed .live-action-info em{color:#07865c}.live-action-grid>button.completed .live-action-info h3{color:#405047}.live-completion{border:1px solid var(--line);text-align:center;max-width:660px;box-shadow:var(--shadow);background:#fff;border-radius:20px;margin:10vh auto;padding:48px}.live-completion h1{margin:8px 0 12px;font-size:30px}.live-completion>p{color:var(--muted);max-width:520px;margin:0 auto 28px;line-height:1.8}.live-completion-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.live-completion-actions .button{min-width:170px}.athlete-multi{gap:9px;display:grid}.multi-title{justify-content:space-between;align-items:center;display:flex}.athlete-choice-grid{grid-template-columns:1fr 1fr;gap:8px;max-height:240px;display:grid;overflow:auto}.athlete-choice-grid>button{border:1px solid var(--line);text-align:left;color:#172033;background:#fff;border-radius:10px;align-items:center;gap:9px;padding:10px;display:flex}.athlete-choice-grid>button.selected{border-color:var(--blue);background:var(--blue-soft)}.athlete-choice-grid>button>span{color:#647086;background:#e8edf5;border-radius:9px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.athlete-choice-grid>button.selected>span{background:var(--blue);color:#fff}.athlete-choice-grid>button>div{flex:1;min-width:0;display:grid}.athlete-choice-grid small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.athlete-choice-grid i{color:#fff;background:#e5e9f0;border-radius:50%;place-items:center;width:22px;height:22px;font-style:normal;display:grid}.athlete-choice-grid>button.selected i{background:var(--blue)}.athlete-multi>p{color:var(--muted);margin:0;font-size:11px}.day-actions{gap:8px;margin:0 13px 13px;display:flex}.day-actions .add-exercise{flex:1;width:auto;margin:0}.batch-exercise{background:var(--blue-soft);color:var(--blue);border:1px solid #a8bfea;border-radius:8px;padding:9px 13px;font-weight:700}.exercise-picker{padding:20px}.picker-tools{grid-template-columns:minmax(220px,1fr) auto;gap:12px;display:grid}.picker-tools>div{flex-wrap:wrap;gap:5px;display:flex}.picker-tools button{color:#667185;background:#f0f3f7;border:0;border-radius:20px;padding:8px 12px}.picker-tools button.active{background:var(--blue);color:#fff}.picker-summary{color:var(--muted);justify-content:space-between;align-items:center;margin:15px 0 9px;font-size:12px;display:flex}.exercise-picker-grid{grid-template-columns:1fr 1fr;gap:8px;max-height:50vh;display:grid;overflow:auto}.exercise-picker-grid>button{border:1px solid var(--line);color:#172033;text-align:left;background:#fff;border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex}.exercise-picker-grid>button.selected{border-color:var(--blue);background:var(--blue-soft)}.exercise-picker-grid i{color:#fff;border:2px solid #cfd6e2;border-radius:7px;flex:none;place-items:center;width:24px;height:24px;font-style:normal;display:grid}.exercise-picker-grid>button.selected i{border-color:var(--blue);background:var(--blue)}.exercise-picker-grid div{display:grid}.exercise-picker-grid span{color:var(--muted);font-size:11px}.picker-empty{text-align:center;color:var(--muted);padding:35px}.exercise-picker>.modal-actions{margin:18px -20px -20px}@media (width<=760px){.athlete-choice-grid,.exercise-picker-grid,.picker-tools{grid-template-columns:1fr}.day-actions{flex-direction:column}.live-completion{margin:20px auto;padding:32px 20px}}.performance-page{min-width:0;overflow-x:hidden}.performance-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.performance-tabs{gap:8px;margin:18px 0;display:flex}.performance-tabs button,.metric-switches button{border:1px solid var(--line);color:#5b6679;background:#fff;border-radius:9px;padding:10px 16px;font-weight:700}.performance-tabs button.active,.metric-switches button.active{background:var(--blue);border-color:var(--blue);color:#fff}.performance-toolbar{grid-template-columns:minmax(210px,340px) minmax(0,1fr);align-items:end;gap:15px;margin-bottom:16px;display:grid}.performance-toolbar>label:only-child{max-width:460px}.metric-switches{flex-wrap:wrap;gap:8px;display:flex}.performance-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.performance-summary article{border:1px solid var(--line);background:#fff;border-radius:12px;gap:5px;min-width:0;padding:15px;display:grid}.performance-summary strong{overflow-wrap:anywhere;font-size:20px}.performance-summary span{color:var(--muted);font-size:11px}.performance-summary .positive{color:#07865c}.performance-summary .negative{color:#b91c1c}.performance-card{min-width:0;margin-bottom:16px;overflow:hidden}.trend-chart-shell{width:100%;min-width:0}.trend-chart{width:100%;height:auto;min-height:210px;display:block;overflow:visible}.trend-chart line{stroke:#d7deea;stroke-width:1px}.trend-chart line.target{stroke:#e0a21b;stroke-dasharray:8 6}.trend-chart polyline{fill:none;stroke:var(--blue);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.trend-chart circle{fill:#fff;stroke:var(--blue);stroke-width:3px}.trend-chart text{fill:#697386;font-size:12px}.trend-chart .date-label{font-size:11px}.one-point-note{text-align:center;color:var(--muted);margin:7px 0 0;font-size:13px}.performance-empty{min-height:170px;color:var(--muted);text-align:center;place-items:center;display:grid}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@media (width<=1024px){.performance-filter{grid-template-columns:1fr 1fr}.performance-toolbar{grid-template-columns:1fr}.performance-card .table-wrap{max-width:100%;overflow-x:auto}.performance-card table{min-width:620px}}@media (width<=760px){.performance-filter,.performance-summary{grid-template-columns:1fr}.performance-tabs button{flex:1}.metric-switches{grid-template-columns:repeat(3,1fr);display:grid}.metric-switches button{padding:10px 6px;font-size:12px}.trend-chart{min-height:170px}}.live-rail-scroll{flex:1;overflow:auto}.live-rail-scroll .live-athletes{overflow:visible}.completed-title{border-top:1px solid var(--line);margin-top:10px;padding-top:14px}.completed-title strong{color:#07865c}.completed-list>button{opacity:.8}.completed-list>button.active{background:#eaf8f0;border-color:#bfe5d1}.completed-list>button.active .live-avatar{background:#079669}.live-action-list{gap:12px;display:grid}.live-action-item{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden}.live-action-item.pending{border-left:4px solid var(--blue)}.live-action-item.completed{background:#effaf4;border-color:#b9e7ce}.live-action-toggle{text-align:left;color:#172033;background:0 0;border:0;width:100%;padding:0;display:flex}.live-action-item.completed .live-action-media{color:#079669;background:#dff4e8}.live-action-item.completed .live-action-media i{background:#079669}.live-action-item.completed .live-action-info>span,.live-action-item.completed .live-action-info em{color:#07865c}.inline-records{border-top:1px solid var(--line);background:#f8fafc;padding:15px}.inline-records-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.inline-records-head>div{display:grid}.inline-records-head span{color:var(--muted);font-size:11px}.inline-records-head button{color:var(--muted);background:0 0;border:0}.inline-set{border:1px solid var(--line);background:#fff;border-radius:11px;margin-top:9px;padding:12px}.inline-set.completed{border-color:#c7e8d6}.inline-set>header{align-items:center;gap:12px;margin-bottom:11px;display:flex}.inline-set>header>span{color:var(--muted);font-size:11px}.inline-set>header>b{color:#07865c;margin-left:auto;font-size:11px}.inline-set-fields{grid-template-columns:1fr 1fr 1.35fr;gap:10px;display:grid}.inline-set .live-number>div{grid-template-columns:40px 1fr 40px}.inline-set .live-number button{min-height:44px}.inline-set .live-number input{height:44px;font-size:17px}.inline-set .live-number b{top:15px}.inline-rir{align-content:start}.inline-rir>span{font-size:11px}.rir-choice{grid-template-columns:repeat(6,1fr);gap:4px;display:grid}.rir-choice button{color:#526078;background:#fff;border:1px solid #ccd7e8;border-radius:8px;height:44px;font-weight:800}.rir-choice button.active{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 3px 8px #2563eb33}.inline-set-bottom{grid-template-columns:1fr auto auto;align-items:center;gap:9px;margin-top:10px;display:grid}.inline-set-bottom input{height:42px}.inline-set-bottom>span{font-size:11px}.inline-set-bottom .ok{color:#07865c}.inline-set-bottom .bad,.finish-workout .bad{color:#b91c1c}.inline-set-bottom .button{padding:10px 15px}.completed-edit-banner{color:#087b58;background:#eaf8f0;border:1px solid #bfe5d1;border-radius:10px;justify-content:space-between;align-items:center;margin-top:14px;padding:10px 13px;font-size:12px;display:flex}.completed-edit-banner button{color:#087b58;background:0 0;border:0;font-weight:800}.finish-workout{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:16px;margin-top:18px;padding:17px;display:flex;position:sticky;bottom:12px;box-shadow:0 8px 24px #1d2c4b1a}.finish-workout>div{flex:1;display:grid}.finish-workout span{color:var(--muted);font-size:11px}.finish-workout .button{min-width:190px}.live-completion .summary-grid{margin:25px 0}@media (width<=1000px){.inline-set-fields{grid-template-columns:1fr 1fr}.inline-rir{grid-column:1/-1}.live-action-item .live-action-media{width:100px}}@media (width<=760px){.live-rail-scroll{overflow:visible}.live-rail-scroll .live-athletes{overflow:auto}.completed-title{margin-top:0}.inline-set-fields{grid-template-columns:1fr}.inline-rir{grid-column:auto}.inline-set-bottom{grid-template-columns:1fr}.finish-workout{flex-direction:column;align-items:stretch;position:static}.finish-workout .button{width:100%}.inline-set>header{flex-wrap:wrap}.inline-set>header>b{margin-left:0}.live-action-item .live-action-media{width:92px}}.compact-prescription{grid-template-columns:90px 1fr 1fr 120px auto;align-items:end;gap:9px;padding:13px;display:grid}.compact-prescription label{gap:4px}.compact-prescription label span{color:var(--muted);font-size:10px}.compact-prescription input,.compact-prescription select{padding:9px}.advanced-toggle{background:var(--blue-soft);color:var(--blue);white-space:nowrap;border:0;border-radius:9px;padding:10px 12px;font-weight:700}.advanced-set-table{border-top:1px dashed #ccd6e7;margin-top:2px;padding-top:12px}.advanced-set-table .set-row select{padding:8px}.builder-exercise:not(:has(.advanced-set-table)) .add-row{display:none}@media (width<=760px){.compact-prescription{grid-template-columns:1fr 1fr}.compact-prescription .advanced-toggle{grid-column:1/-1}.builder-exercise:not(:has(.advanced-set-table)) .add-row{display:none}}.athlete-rir{grid-column:1/-1}.athlete-rir>div{grid-template-columns:repeat(6,1fr);gap:7px;display:grid}.athlete-rir button{color:#556177;background:#fff;border:1px solid #ccd7e8;border-radius:10px;height:48px;font-size:17px;font-weight:800}.athlete-rir button.active{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 4px 10px #2563eb38}.record-type-badge{color:#2563eb;background:#eef4ff;border-radius:20px;width:max-content;margin-top:8px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.record-type-select{max-width:190px}.typed-prescription{grid-template-columns:90px 1fr auto}.typed-prescription-fields{flex-wrap:wrap;align-items:end;gap:9px;display:flex}.typed-prescription-fields label{flex:1;min-width:125px}.completion-hint{color:#667185;background:#f3f6fa;border-radius:9px;padding:11px 13px;font-size:12px}.advanced-typed-sets{border-top:1px dashed #ccd6e7;padding:10px}.typed-set-row{border-bottom:1px solid var(--line);grid-template-columns:70px 1fr 30px;align-items:center;gap:9px;padding:9px;display:grid}.typed-set-row>button{color:#dc2626;background:0 0;border:0}.one-rm-list{padding:20px}.one-rm-list>.alert{margin-bottom:12px}.one-rm-row{border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr 130px auto;align-items:center;gap:12px;margin-top:9px;padding:13px;display:grid}.one-rm-row>div{display:grid}.one-rm-row span,.one-rm-row small{color:var(--muted);font-size:11px}.missing-baselines{gap:9px;display:grid}.missing-baselines article{border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr 220px;align-items:center;gap:12px;padding:12px;display:grid}.missing-baselines article>div{display:grid}.missing-baselines label{position:relative}.missing-baselines label span{font-size:10px}.missing-baselines label b{color:var(--muted);font-size:11px;position:absolute;bottom:11px;right:10px}.program-exercise-title{align-items:center;gap:9px;display:flex}.program-exercise-title select{max-width:300px;font-weight:700}.typed-program-sets{gap:7px;margin-top:10px;display:grid}.typed-program-set{background:#f8fafc;border-radius:9px;align-items:end;gap:9px;padding:9px;display:flex}.typed-program-set>span{color:var(--blue);font-size:11px}.typed-program-set label{max-width:120px}.typed-program-set label input,.typed-program-set label select{padding:7px}.metric-input{grid-template-columns:1fr!important}.metric-input>div{grid-column:1/-1}.metric-input.has-stepper{grid-template-columns:44px minmax(70px,1fr) 44px!important}.metric-step-button{min-height:52px!important}.timer-field{grid-template-columns:1fr auto;align-items:end;gap:8px;display:grid}.timer-actions{gap:5px;display:flex}.timer-actions .button{padding:11px}.typed-record-grid .completion-hint{grid-column:1/-1}.target-strip small{color:#9fb4d8}.inline-set>header small{color:var(--blue)}@media (width<=760px){.typed-prescription{grid-template-columns:1fr}.typed-prescription-fields{grid-template-columns:1fr 1fr;display:grid}.typed-set-row,.one-rm-row,.missing-baselines article{grid-template-columns:1fr}.typed-program-set,.program-exercise-title{flex-direction:column;align-items:stretch}.timer-field{grid-template-columns:1fr}.record-type-select{max-width:none}}.live-briefing{max-width:1220px;margin:auto;padding-bottom:104px}.briefing-hero{color:#fff;background:linear-gradient(135deg,#13264b,#1d4389);border-radius:20px;justify-content:space-between;align-items:center;padding:27px 30px;display:flex;box-shadow:0 12px 30px #1126502b}.briefing-hero h2{margin:6px 0;font-size:30px}.briefing-hero p{color:#c1cde2;margin:0}.briefing-title{justify-content:space-between;align-items:end;margin:28px 0 14px;display:flex}.briefing-title h2{margin:0 0 3px;font-size:22px}.briefing-title p{color:var(--muted);margin:0;font-size:12px}.briefing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.briefing-card{border:1px solid var(--line);background:#fff;border-radius:18px;transition:transform .18s,box-shadow .18s,border-color .18s;overflow:hidden;box-shadow:0 5px 18px #1d2c4b0a}.briefing-card:hover{box-shadow:var(--shadow);border-color:#c9d8f4;transform:translateY(-2px)}.briefing-card.completed{background:#f4fcf8;border-color:#9adbbd}.briefing-media{aspect-ratio:16/9;color:#7f8da4;background:#eaf0f9;border:0;place-items:center;width:100%;padding:0;display:grid;position:relative;overflow:hidden}.briefing-media:not(:disabled){cursor:pointer}.briefing-media:disabled{cursor:default}.briefing-media img,.briefing-media video{object-fit:cover;width:100%;height:100%;display:block}.briefing-media-empty{font-size:12px}.briefing-play{color:#fff;background:#12264bdb;border-radius:50%;place-items:center;width:50px;height:50px;padding-left:3px;font-size:17px;font-style:normal;display:grid;position:absolute;inset:50% auto auto 50%;translate:-50% -50%;box-shadow:0 7px 18px #00000040}.briefing-card-body{padding:17px}.briefing-card-meta{align-items:center;gap:8px;display:flex}.briefing-card-meta>span{background:var(--blue);color:#fff;border-radius:8px;place-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:grid}.briefing-card-meta>b{color:var(--blue);background:var(--blue-soft);border-radius:999px;padding:5px 9px;font-size:10px}.briefing-card-meta>em{color:#07865c;margin-left:auto;font-size:10px;font-style:normal;font-weight:800}.briefing-card-body h3{margin:12px 0 9px;font-size:20px}.briefing-prescription{color:#23375d;background:#f2f6fc;border-radius:10px;gap:5px;padding:11px 12px;display:grid}.briefing-prescription strong{font-size:12px}.briefing-card.completed .briefing-prescription{color:#176246;background:#e5f7ed}.briefing-card-body>p{min-height:42px;color:var(--muted);margin:11px 0 0;font-size:12px;line-height:1.7}.briefing-start{z-index:15;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border:1px solid #cfdcf1;border-radius:15px;align-items:center;gap:20px;margin-top:22px;padding:15px 17px;display:flex;position:sticky;bottom:14px;box-shadow:0 10px 30px #1d2c4b1f}.briefing-start>div{flex:1;display:grid}.briefing-start>div span{color:var(--muted);margin-top:2px;font-size:11px}.briefing-start .button{min-width:190px}.live-overview-title{justify-content:space-between;align-items:end;gap:16px;display:flex}.live-briefing-return{white-space:nowrap}.live-media-backdrop{z-index:80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#09162fc2;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.live-media-dialog{background:#fff;border-radius:20px;width:min(980px,100%);max-height:92vh;overflow:auto;box-shadow:0 30px 80px #00000059}.live-media-dialog>header{border-bottom:1px solid var(--line);align-items:center;padding:18px 20px;display:flex}.live-media-dialog>header>div{flex:1;display:grid}.live-media-dialog>header span{color:var(--blue);font-size:10px;font-weight:800}.live-media-dialog>header h2{margin:2px 0;font-size:22px}.live-media-dialog>header button{color:#546177;background:#eef2f7;border:0;border-radius:10px;width:38px;height:38px;font-size:23px}.live-media-stage{background:#08152c;place-items:center;min-height:280px;display:grid}.live-media-stage video,.live-media-stage img{object-fit:contain;background:#08152c;width:100%;max-height:66vh;display:block}.live-media-error{color:#d5ddec}.live-media-copy{padding:18px 20px}.live-media-copy>div{flex-wrap:wrap;gap:7px;display:flex}.live-media-copy strong{background:var(--blue-soft);color:#244987;border-radius:8px;padding:7px 10px;font-size:12px}.live-media-copy p{color:var(--muted);margin:12px 0 0;line-height:1.7}@media (width<=1100px){.briefing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.briefing-hero h2{font-size:26px}}@media (width<=760px){.live-briefing{padding-bottom:82px}.briefing-hero{gap:14px;padding:20px}.briefing-hero h2{font-size:24px}.briefing-hero p{font-size:11px}.briefing-grid{grid-template-columns:1fr}.briefing-title{margin-top:22px}.briefing-start{flex-direction:column;align-items:stretch;gap:10px;bottom:8px}.briefing-start .button{width:100%;min-width:0}.live-overview-title{flex-direction:column;align-items:stretch}.live-briefing-return{width:100%}.live-media-backdrop{padding:8px}.live-media-dialog{border-radius:14px;max-height:96vh}.live-media-stage{min-height:220px}.live-media-dialog>header,.live-media-copy{padding:14px}.briefing-card-body>p{min-height:0}}.field-hint{color:var(--muted);margin-top:6px;font-size:11px;font-weight:400;display:block}.completion-prescription{color:#667185;background:#f3f6fa;border-radius:10px;margin:11px 13px;padding:13px;font-size:13px;font-weight:700}.completion-action-button{background:var(--blue);color:#fff;border:0;border-radius:9px;padding:9px 15px;font-weight:800}.completion-action-button.done{background:#079669}.completion-action-button:disabled{opacity:.75}.completion-action .live-action-info>small{margin-top:8px;display:block}.completion-runner-action{gap:16px;margin-top:18px;display:grid}.completion-runner-action .completion-hint{text-align:center;padding:16px}.danger-button{color:#fff;background:#dc2626;border-color:#dc2626}.danger-button:disabled{opacity:.45}.delete-confirm-body{gap:16px;padding:21px;display:grid}.delete-confirm-body>.alert{gap:4px;margin:0;display:grid}.delete-confirm-body>label>span{margin-bottom:6px;font-size:12px;display:block}.delete-impact{grid-template-columns:1fr 1fr;gap:8px;display:grid}.delete-impact>div{color:var(--muted);background:#f7f8fa;border-radius:9px;justify-content:space-between;padding:10px 12px;font-size:12px;display:flex}.delete-impact strong{color:#b91c1c}.danger-zone{border-top:1px solid #fee2e2;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding-top:16px;display:flex}.danger-zone>div{display:grid}.danger-zone span{color:var(--muted);font-size:11px}.danger-link-button{color:#dc2626;background:0 0;border:0;padding:7px;font-weight:700}.media-delete-button{margin-top:5px;padding-left:0;display:block}.template-card-actions{grid-template-columns:1fr auto;gap:8px;display:grid}.template-card-actions .button{width:100%}.live-overview{padding-bottom:76px}.compact-live-head{border-radius:16px;grid-template-columns:auto minmax(220px,1fr) auto auto;align-items:center;gap:18px;padding:15px 18px;display:grid}.live-session-athlete{align-items:center;gap:11px;min-width:175px;display:flex}.compact-live-head .live-person-avatar{width:44px;height:44px;color:var(--blue);box-shadow:none;background:#fff;border-radius:12px;font-size:19px}.live-session-athlete>div:last-child{display:grid}.live-session-athlete span,.live-session-plan>span{color:#aec0df;font-size:10px}.live-session-athlete h1{color:#fff;margin:2px 0;font-size:21px;line-height:1.15}.live-session-plan{border-left:1px solid #ffffff2e;min-width:0;padding-left:18px}.live-session-plan>span{font-weight:700}.live-session-plan h2{white-space:nowrap;text-overflow:ellipsis;margin:2px 0;font-size:20px;overflow:hidden}.live-session-plan p{font-size:11px}.live-session-progress{text-align:center;background:#ffffff1a;border-radius:11px;min-width:88px;padding:9px 12px;display:grid}.live-session-progress strong{font-size:19px;line-height:1.15}.live-session-progress span{color:#c2cee2;margin-top:3px;font-size:9px}.compact-live-head>.status{color:#fff;background:#ffffff24}.live-overview-title{align-items:center;margin:18px 0 10px}.live-overview-title h2{font-size:19px}.live-action-list{gap:9px}.live-action-item{border-radius:12px}.live-action-toggle{align-items:stretch;min-height:92px}.live-action-media,.live-action-item .live-action-media{width:86px;min-height:92px}.live-action-media img,.live-action-media video{object-fit:cover;width:100%;height:100%;display:block}.live-action-media>span{color:#8290a6;font-size:21px;font-weight:800}.live-action-info{align-content:center;padding:11px 13px;display:grid}.live-action-info>span{font-size:9px}.live-action-info h3{margin:2px 0;font-size:17px}.live-action-info p{margin:1px 0 5px;font-size:11px}.live-action-info>div{align-items:center}.completion-action .live-action-info{padding-right:120px;position:relative}.completion-action .live-action-info>div>b{display:none}.completion-action-button{white-space:nowrap;margin-left:0;position:absolute;top:50%;right:13px;translate:0 -50%}.live-completed-group{background:#f2faf6;border:1px solid #bee5d0;border-radius:12px;margin-top:12px;overflow:hidden}.live-completed-group>summary{color:#087b58;cursor:pointer;justify-content:space-between;align-items:center;padding:12px 14px;font-size:12px;font-weight:800;list-style:none;display:flex}.live-completed-group>summary::-webkit-details-marker{display:none}.live-completed-group>summary em{font-size:10px;font-style:normal;font-weight:700}.live-completed-group[open]>summary em{font-size:0}.live-completed-group[open]>summary em:after{content:"收起";font-size:10px}.completed-actions{padding:0 9px 9px}.finish-workout{padding:12px 14px;bottom:10px}.finish-workout .button{padding:11px 17px;font-size:14px}.finish-workout>div strong{font-size:14px}@media (width<=1100px){.compact-live-head{grid-template-columns:auto minmax(180px,1fr) auto;gap:13px}.compact-live-head>.status{display:none}.live-session-athlete{min-width:155px}.live-session-plan{padding-left:13px}}@media (width<=760px){.live-overview{padding-bottom:20px}.compact-live-head{grid-template-columns:1fr auto;padding:13px}.live-session-athlete{min-width:0}.live-session-plan{border-top:1px solid #ffffff29;border-left:0;grid-column:1/-1;padding:9px 0 0}.live-session-progress{grid-area:1/2}.live-overview-title{align-items:stretch}.live-action-media,.live-action-item .live-action-media{width:74px}.live-action-info{padding:10px}.live-action-info h3{font-size:16px}.finish-workout{position:static}.completion-action .live-action-info>div{align-items:flex-end}.completion-action-button{padding:8px 10px}}.inline-records{background:#f6f8fc;padding:3px 10px 11px}.inline-set{margin-top:8px;padding:10px 11px}.inline-set>header{gap:8px;min-height:25px;margin-bottom:8px}.inline-set>header>strong{white-space:nowrap;font-size:14px}.inline-set-target{align-items:center;gap:6px;display:flex;color:#3e4b61!important}.inline-set-target i{color:#697386;background:#edf1f7;border-radius:5px;padding:3px 6px;font-size:9px;font-style:normal;font-weight:800}.inline-set>header small{background:var(--blue-soft);color:var(--blue);border-radius:6px;padding:4px 7px;font-size:10px}.inline-set .record-type-strength_reps_rir{grid-template-columns:minmax(125px,1fr) minmax(125px,1fr) minmax(270px,1.8fr);gap:9px}.inline-set .record-type-load_reps{grid-template-columns:1fr 1fr;gap:9px}.inline-set .athlete-rir{grid-column:auto;gap:5px}.inline-set .number-field{gap:5px}.inline-set .number-field>span,.inline-set .athlete-rir>span{font-size:10px}.inline-set .number-control input{height:43px;font-size:18px}.inline-set .athlete-rir>div{gap:4px}.inline-set .athlete-rir button{border-radius:8px;height:43px;font-size:15px}.inline-set-bottom{min-height:39px;margin-top:8px}.inline-set-bottom .button{min-width:84px}.inline-notes{min-width:0}.inline-notes input{height:39px}.inline-notes-toggle{color:#65738a;background:0 0;border:0;padding:8px 2px;font-size:11px;font-weight:700}.inline-notes-toggle:hover{color:var(--blue)}.live-overview.records-open .finish-workout{position:static}@media (width<=760px){.inline-set .record-type-strength_reps_rir,.inline-set .record-type-load_reps{grid-template-columns:1fr}.inline-set-bottom{grid-template-columns:1fr auto}.inline-set-bottom>span{grid-column:1/-1}.inline-set>header{align-items:flex-start}.inline-set-target{flex-wrap:wrap}.inline-set>header small{order:4}.inline-set>header>b{margin-left:auto}}.load-history-card{background:linear-gradient(135deg,#f8fbff,#eef4ff);border:1px solid #cfdaeb;border-radius:12px;margin:0 0 18px;overflow:hidden}.load-history-card summary{cursor:pointer;align-items:center;gap:10px;padding:11px 13px;list-style:none;display:flex}.load-history-card summary::-webkit-details-marker{display:none}.load-history-card summary:before{content:"↗";width:24px;height:24px;color:var(--blue);background:#dfeaff;border-radius:8px;place-items:center;font-weight:900;display:grid}.load-history-card summary span{font-size:12px;font-weight:800}.load-history-card summary strong{color:var(--blue);margin-left:auto;font-size:12px}.load-history-card>p{color:var(--muted);margin:0;padding:0 13px 13px;font-size:12px}.load-history-content{padding:0 13px 12px}.load-history-head{justify-content:space-between;align-items:center;min-height:24px;font-size:12px;display:flex}.new-load-record{white-space:nowrap;background:#dcf7e8;border-radius:20px;padding:4px 8px;font-weight:800;color:#07865c!important;font-size:11px!important}.load-history-chart-shell{height:86px;margin-top:3px;position:relative}.load-history-chart{width:100%;height:100%;display:block;overflow:visible}.load-history-chart line{stroke:#cbd6e7;stroke-width:.7px}.load-history-chart polyline{fill:none;stroke:#2563eb;stroke-width:2.2px;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.load-history-chart-shell>i{background:#fff;border:2px solid #2563eb;border-radius:50%;width:9px;height:9px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #2563eb33}.load-history-points{justify-content:space-between;gap:6px;display:flex}.load-history-points span{text-align:center;min-width:44px;display:grid}.load-history-points small{color:var(--muted);font-size:9px}.load-history-points b{font-size:10px}.load-history-card.compact{margin:6px 0 10px}.load-history-card.compact .load-history-chart-shell{height:68px}.load-history-card.compact .load-history-content{padding-bottom:9px}@media (width<=760px){.load-history-card{margin-bottom:14px}.load-history-chart-shell{height:74px}.load-history-points b{font-size:9px}.load-history-card summary{padding:10px}.load-history-content{padding:0 10px 10px}}.page-title-actions{align-items:center;gap:10px;display:flex}.quick-workout-form{gap:16px;display:grid}.quick-builder-head{margin-top:2px}.quick-exercise-list{gap:12px;display:grid}.quick-exercise{border:1px solid var(--line);background:#f8fafc;border-radius:13px;padding:13px}.quick-exercise>header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.quick-exercise>header>div:nth-child(2){flex:1;display:grid}.quick-exercise>header small{color:var(--muted);font-size:11px}.quick-order-actions{align-items:center;gap:5px;display:flex}.quick-order-actions>button{color:#526078;background:#edf2fa;border:0;border-radius:7px;padding:7px 9px}.quick-order-actions>button:disabled{opacity:.35}.quick-empty{text-align:center;min-height:120px;color:var(--muted);border:1px dashed #bdc9dc;border-radius:12px;place-content:center;display:grid}.quick-empty strong{color:#39465b}.quick-empty span{margin-top:5px;font-size:12px}@media (width<=760px){.page-title-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.page-title-actions .button{padding:10px 7px;font-size:12px!important}.quick-exercise>header{align-items:flex-start}.quick-order-actions{flex-wrap:wrap;justify-content:flex-end}.quick-exercise .typed-prescription-fields{grid-template-columns:1fr 1fr}}.team-scheduling{padding-top:16px}.team-scheduling>.alert{margin:0 20px 14px}.team-scheduling-layout{grid-template-columns:minmax(0,1.3fr) minmax(290px,.7fr);gap:14px;padding:0 20px 18px;display:grid}.team-scheduling-main,.team-lesson-preview{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.team-scheduling-fields{grid-template-columns:1fr 1fr;gap:12px;padding:15px;display:grid}.team-member-head,.team-lesson-head{justify-content:space-between;align-items:center;padding:13px 15px 8px;display:flex}.team-member-head strong,.team-lesson-head strong{color:var(--navy);font-size:13px}.team-lesson-head small{font-size:10px}.team-member-chips{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:7px;padding:0 15px 15px;display:flex}.team-member-chips button{border:1px solid var(--line);color:#607581;background:#f4f7f8;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:700}.team-member-chips button.selected{background:var(--accent-soft);color:var(--accent-strong);border-color:#9bd3cd}.team-lesson-list{gap:8px;max-height:330px;padding:0 15px 15px;display:grid;overflow:auto}.team-lesson-list>button{border:1px solid var(--line);text-align:left;color:var(--navy);background:#fff;border-radius:11px;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:11px;display:grid}.team-lesson-list>button.selected{border:2px solid var(--accent);background:#fbfefd;padding:10px}.team-lesson-list>button>span{color:#526b77;background:#edf2f3;border-radius:10px;place-items:center;width:36px;height:36px;font-weight:900;display:grid}.team-lesson-list>button.selected>span{background:var(--accent);color:#fff}.team-lesson-list>button>div{gap:2px;display:grid}.team-lesson-list>button small{color:var(--muted);font-size:9px}.team-lesson-list>button>b{color:var(--accent-strong);white-space:nowrap;font-size:9px}.team-lesson-preview{background:#f9fbfb}.team-lesson-preview>header{border-bottom:1px solid var(--line);background:#fff;padding:15px}.team-lesson-preview>header>div{gap:3px;display:grid}.team-lesson-preview>header small{color:var(--muted);font-size:9px}.team-lesson-preview>div{padding:5px 14px}.team-lesson-preview article{border-bottom:1px solid #e8eeee;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;padding:11px 0;display:grid}.team-lesson-preview article i{background:#eaf0f1;border-radius:7px;place-items:center;width:23px;height:23px;font-size:9px;font-style:normal;font-weight:900;display:grid}.team-lesson-preview article>div{gap:2px;display:grid}.team-lesson-preview article small{color:var(--muted);font-size:9px}.team-lesson-preview article span{color:var(--accent-strong);font-size:9px;font-weight:800}.team-lesson-preview>div>p{color:var(--muted);margin:11px 0;font-size:10px}.team-preview-empty{text-align:center;padding:25px}@media (width<=900px){.team-scheduling-layout{grid-template-columns:1fr}.team-lesson-preview{max-height:340px;overflow:auto}}@media (width<=760px){.team-scheduling-layout{padding:0 10px 10px}.team-scheduling>.alert{margin:0 10px 10px}.team-scheduling-fields{grid-template-columns:1fr}.team-lesson-list>button{grid-template-columns:36px 1fr}.team-lesson-list>button>b{grid-column:2}.page-title-actions{grid-template-columns:1fr 1fr}.page-title-actions .button.primary{grid-column:1/-1}}.assessment-actions{flex-wrap:wrap;justify-content:flex-end}.assessment-actions .button{white-space:nowrap}.assessment-modal-body{padding:20px 22px}.assessment-modal-body>.alert{margin-bottom:12px}.assessment-file-form{gap:18px;display:grid}.assessment-file-form>p{color:var(--muted);margin:0;line-height:1.7}.assessment-file-form .modal-actions{margin:2px -22px -20px}.assessment-preview-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.assessment-preview-summary>div{border:1px solid var(--line);background:#f8fafc;border-radius:10px;gap:4px;min-width:0;padding:11px;display:grid}.assessment-preview-summary small{font-size:11px}.assessment-preview-summary strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.assessment-preview-summary .has-error{color:#b91c1c;background:#fff4f4;border-color:#fecaca}.assessment-preview-summary .has-warning{color:#a16207;background:#fffaeb;border-color:#fde68a}.assessment-preview-rows{gap:12px;display:grid}.assessment-preview-row{border:1px solid var(--line);background:#fff;border-radius:12px;padding:15px}.assessment-preview-row.has-blocker{border-color:#fecaca}.assessment-preview-row>header{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.assessment-preview-row>header>div{gap:3px;display:grid}.assessment-preview-row>header span{color:var(--blue);font-size:11px;font-weight:800}.assessment-preview-row>header small{text-align:right}.assessment-row-meta{color:var(--muted);flex-wrap:wrap;gap:8px 18px;margin:10px 0;font-size:12px;display:flex}.assessment-binding{background:#f5f8fd;border-radius:10px;grid-template-columns:minmax(180px,1fr) auto auto;align-items:end;gap:10px;padding:11px;display:grid}.assessment-check{grid-template-columns:auto 1fr;align-items:center;gap:8px;display:flex}.assessment-check input{width:auto}.assessment-binding>.assessment-check{padding:11px 2px}.assessment-match{color:#087b58;background:#eaf8f1;border-radius:9px;padding:9px 11px;font-size:13px}.assessment-issue{border-radius:8px;margin-top:8px;padding:8px 10px;font-size:12px}.assessment-issue.blocker{color:#b91c1c;background:#fff0f0}.assessment-issue.warning{color:#96610a;background:#fff8dd}.assessment-check.skip{color:#9a6408;margin-top:8px}.assessment-values{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.assessment-values span{color:#5a6679;background:#f2f5f9;border-radius:7px;padding:6px 8px;font-size:11px}.assessment-values b{color:#28354a;margin-right:5px}.acknowledgement{background:#fff9e7;border:1px solid #f1d277;border-radius:10px;margin:16px 2px 0;padding:12px}.assessment-modal-error{margin-top:14px}.assessment-modal-body>.modal-actions.sticky{margin:16px -22px -20px}.assessment-complete{text-align:center;padding:34px 15px 24px}.assessment-complete>span{color:#07865c;background:#e4f8ed;border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 15px;font-size:28px;font-weight:900;display:grid}.assessment-complete h3{margin-bottom:8px;font-size:21px}.assessment-complete p{color:var(--muted)}.assessment-manual-form>.modal-actions{margin-top:0}.assessment-top-fields{padding:0 0 20px}.assessment-metric-entry{border:1px solid var(--line);border-radius:12px;overflow:hidden}.assessment-metric-entry>header{border-bottom:1px solid var(--line);background:#f7f9fc;padding:15px 17px}.assessment-metric-entry h3{margin:0 0 3px;font-size:17px}.assessment-metric-entry p{color:var(--muted);margin:0;font-size:12px}.assessment-metric-grid{grid-template-columns:1fr 1fr;gap:15px;padding:17px;display:grid}.assessment-metric-grid fieldset{border:1px solid var(--line);border-radius:10px;margin:0;padding:12px}.assessment-metric-grid fieldset legend{padding:0 5px;font-size:14px;font-weight:700}.assessment-metric-grid fieldset>div{grid-template-columns:1fr 1fr;gap:10px;display:grid}.assessment-empty-note{text-align:center;color:var(--muted);margin:0;padding:24px}.assessment-settings-layout{grid-template-columns:215px minmax(0,1fr);min-height:540px;display:grid}.assessment-settings-layout>aside{border-right:1px solid var(--line);background:#f7f9fc;padding:13px}.assessment-settings-layout>aside>header{justify-content:space-between;align-items:center;padding:4px 5px 10px;display:flex}.assessment-settings-layout>aside>button{text-align:left;color:#445066;background:0 0;border:0;border-radius:9px;gap:3px;width:100%;padding:10px;display:grid}.assessment-settings-layout>aside>button span{color:var(--muted);font-size:10px}.assessment-settings-layout>aside>button.active{color:var(--blue);background:#fff;box-shadow:0 2px 10px #1d2c4b14}.assessment-settings-layout>main{min-width:0;padding:18px}.assessment-type-editor{border-bottom:1px solid var(--line);align-items:flex-end;gap:10px;padding:0 0 18px;display:flex}.assessment-type-editor>div{flex:1;grid-template-columns:1fr 1fr 1fr auto;gap:10px;display:grid}.assessment-type-editor .assessment-check{padding:11px 2px}.assessment-metric-settings>header,.assessment-settings-form>header{justify-content:space-between;align-items:center;gap:12px;padding:17px 0 12px;display:flex}.assessment-metric-settings h3,.assessment-settings-form h3{margin:0 0 3px;font-size:17px}.assessment-metric-settings header p,.assessment-settings-form header p{color:var(--muted);margin:0;font-size:11px}.assessment-metric-editor{grid-template-columns:180px minmax(0,1fr);gap:15px;display:grid}.assessment-metric-editor>nav{align-content:start;gap:6px;display:grid}.assessment-metric-editor>nav>button{border:1px solid var(--line);text-align:left;color:#4d596c;background:#fff;border-radius:9px;gap:2px;padding:9px;display:grid}.assessment-metric-editor>nav>button span{color:var(--muted);font-size:10px}.assessment-metric-editor>nav>button.active{background:var(--blue-soft);color:var(--blue);border-color:#9ab7f5}.assessment-settings-form{min-width:0}.assessment-settings-fields{grid-template-columns:1fr 1fr;gap:11px;display:grid}.assessment-settings-fields .assessment-check{padding-top:22px}.assessment-form-actions{justify-content:flex-end;gap:9px;margin-top:15px;display:flex}.assessment-import-history{gap:12px;display:grid}.assessment-import-history>article{border:1px solid var(--line);border-radius:12px;padding:15px}.assessment-import-history article>header{justify-content:space-between;gap:15px;display:flex}.assessment-import-history article>header>div{gap:4px;display:grid}.assessment-import-history article>header span,.assessment-import-history time{color:var(--muted);font-size:11px}.assessment-batch-status{color:#087b58;background:#e8f8ef;border-radius:8px;margin:11px 0;padding:6px 9px;font-size:12px;font-weight:700;display:inline-flex}.assessment-batch-status.withdrawn{color:#697386;background:#f0f2f6}.assessment-history-counts{flex-wrap:wrap;gap:8px;display:flex}.assessment-history-counts span{color:var(--muted);background:#f5f7fa;border-radius:7px;padding:7px 9px;font-size:11px}.assessment-history-counts b{color:#27354a}.assessment-import-history article>footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding-top:11px;font-size:11px;display:flex}@media (width<=1100px){.assessment-actions{max-width:490px}.assessment-preview-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-settings-layout{grid-template-columns:180px minmax(0,1fr)}.assessment-type-editor{flex-direction:column;align-items:stretch}.assessment-type-editor>div{grid-template-columns:1fr 1fr;width:100%}.assessment-type-editor>button{align-self:flex-end}.assessment-metric-editor{grid-template-columns:150px minmax(0,1fr)}}@media (width<=760px){.assessment-actions{max-width:none}.assessment-preview-row>header,.assessment-import-history article>header,.assessment-import-history article>footer{flex-direction:column}.assessment-preview-row>header small{text-align:left}.assessment-binding{grid-template-columns:1fr}.assessment-binding>.assessment-check{padding:2px}.assessment-metric-grid,.assessment-metric-grid fieldset>div,.assessment-settings-layout{grid-template-columns:1fr}.assessment-settings-layout>aside{border-right:0;border-bottom:1px solid var(--line);max-height:190px;overflow:auto}.assessment-metric-editor{grid-template-columns:1fr}.assessment-metric-editor>nav{grid-template-columns:1fr 1fr}.assessment-settings-fields,.assessment-type-editor>div{grid-template-columns:1fr}.assessment-settings-fields .assessment-check{padding-top:4px}.assessment-import-history article>footer{align-items:stretch}}.assessment-warning-acknowledgement{margin-top:16px}.assessment-file-warnings{background:#fffdf4;border:1px solid #f1d277;border-radius:10px;padding:12px}.assessment-file-warnings>strong{color:#79500b;font-size:13px}.assessment-warning-acknowledgement .acknowledgement{margin-top:8px}.week-header-actions,.week-intensity-tools{align-items:center;gap:8px;display:flex}.week-header-actions{margin-left:auto}.week-intensity-tools{background:#fff;border:1px solid #cfe2df;border-radius:10px;padding:5px 6px 5px 11px}.week-intensity-tools>span{color:#55707c;white-space:nowrap;font-size:11px;font-weight:700}.week-intensity-tools>input{width:100px;box-shadow:none;background:#f3f8f7;border:0;padding:7px 8px}.week-intensity-tools>b{color:var(--accent-strong);font-size:12px}.week-intensity-tools>.button{white-space:nowrap;padding:7px 11px;font-size:12px}.day-block.collapsed{border-color:#dbe5e7}.day-block.collapsed .day-head{background:#fff}.day-summary{color:var(--muted);white-space:nowrap;font-size:11px}.day-expand-toggle{background:var(--accent-soft);color:var(--accent-strong);white-space:nowrap;border:0;border-radius:8px;padding:8px 10px;font-size:11px;font-weight:800}.day-block.expanded{border-color:#b9d9d5;box-shadow:0 4px 15px #102a430b}@media (width<=760px){.week-block>header{flex-direction:column;align-items:stretch}.week-header-actions{justify-content:space-between;align-items:stretch;margin-left:0}.week-intensity-tools{flex:1}.week-intensity-tools>input{width:80px}.week-block>header>input{width:100%}}@media (width<=900px){.day-head{flex-wrap:wrap}.day-summary{order:3;width:100%}.day-head label{margin-left:0}}.app-shell,.admin-main,.page,.live-shell,.live-main{background:#f3f6f7}.sidebar{background:var(--navy);border-right-color:#ffffff14;box-shadow:8px 0 28px #102a4314}.side-brand strong{color:#fff}.side-brand span{color:#9fb4c2}.sidebar nav button{color:#b7c8d2}.sidebar nav button:hover{color:#fff;background:#ffffff0f}.sidebar nav button.active{color:#8be2d9;box-shadow:inset 3px 0 var(--accent);background:#0d94882e}.side-footer{border-top-color:#ffffff1a}.side-footer strong{color:#fff}.side-footer span,.side-footer button{color:#9fb4c2}.sidebar .avatar{color:#8be2d9;background:#0d948833}.brand-mark{background:var(--accent);overflow:hidden;box-shadow:0 10px 25px #0d94883d}.brand-mark img{object-fit:cover;width:100%;height:100%;display:block}.login-role-tabs{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.login-role-tabs button{color:var(--muted);background:0 0;border:0;border-radius:9px;padding:11px;font-weight:800}.login-role-tabs button.active{color:var(--accent);background:#fff;box-shadow:0 2px 8px #0f172a14}.brand-settings{align-items:center;gap:28px;padding:28px;display:flex}.brand-avatar-preview{background:var(--accent);color:#fff;border-radius:28px;flex:none;place-items:center;width:112px;height:112px;font-size:44px;font-weight:900;display:grid;overflow:hidden}.brand-avatar-preview img{object-fit:cover;width:100%;height:100%}.brand-settings-actions{gap:10px;margin-top:18px;display:flex}.brand-settings-actions .button{cursor:pointer;align-items:center;display:inline-flex}.session-rpe-picker{text-align:left;gap:10px;display:grid}.session-rpe-picker>div:first-child{justify-content:space-between;align-items:end;display:flex}.session-rpe-picker>div:first-child span{color:var(--muted);font-size:11px}.session-rpe-scale{grid-template-columns:repeat(10,1fr);gap:7px;display:grid!important}.session-rpe-scale button{border:1px solid var(--line);color:#344054;background:#fff;border-radius:10px;height:46px;font-size:16px;font-weight:900}.session-rpe-scale button[data-level=very-light]{background:#edf9f5}.session-rpe-scale button[data-level=light]{background:#e0f4e8}.session-rpe-scale button[data-level=moderate]{background:#fff5cc}.session-rpe-scale button[data-level=hard]{background:#ffe0a8}.session-rpe-scale button[data-level=very-hard]{background:#ffc0a8}.session-rpe-scale button[data-level=max]{color:#fff;background:#e85d5d}.session-rpe-scale button.active{outline:3px solid var(--accent);outline-offset:2px;transform:translateY(-2px)}.session-rpe-picker>p{text-align:center;color:var(--muted);background:#f3f5f8;border-radius:8px;margin:0;padding:8px;font-weight:800}.session-rpe-picker>p.selected{color:#172033}.finish-workout.ready-for-rpe{grid-template-columns:1fr auto;align-items:end;display:grid}.finish-workout.ready-for-rpe>.session-rpe-picker{grid-column:1/-1;width:100%}.strength-progress-summary{text-align:left;background:#ecf8f4;border-radius:12px;margin:0 0 24px;padding:16px}.strength-progress-summary h2,.strength-progress-summary h3{color:var(--accent-strong);margin:0 0 8px}.strength-progress-summary article{border-top:1px solid #cfe9e1;justify-content:space-between;gap:14px;padding:8px 0;display:flex}.strength-progress-summary article span{color:#49645d}.athlete-rpe-finish{width:min(680px,100% - 32px);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:22px;margin:8vh auto;padding:34px}.athlete-rpe-finish>p{color:var(--muted);margin-bottom:24px}.athlete-rpe-finish .session-rpe-picker{margin-bottom:20px}.inline-set .metric-step-button{min-height:43px!important}@media (width<=760px){.session-rpe-scale{grid-template-columns:repeat(5,1fr)}.finish-workout.ready-for-rpe{grid-template-columns:1fr}.brand-settings{flex-direction:column;align-items:flex-start}.strength-progress-summary article{gap:3px;display:grid}}.button.primary,.completion-action-button{background:var(--accent);box-shadow:0 5px 14px #0d948833}.button.primary:hover,.completion-action-button:hover{background:var(--accent-strong)}.button.soft{background:var(--accent-soft);color:var(--accent-strong)}.button.ghost{color:#405766;border-color:var(--line)}.page-title h1,.card-head h2,.exercise-body h3,.template-card h3{color:var(--navy)}.eyebrow.blue,.text-button{color:var(--accent-strong)}.card,.stat-grid article,.exercise-card,.template-card,.exercise-library-tools,.filter-bar,.analysis-stats article,.performance-summary article,.performance-toolbar,.quick-exercise{border-color:var(--line);box-shadow:0 5px 20px #102a430b}.card,.stat-grid article,.exercise-card,.template-card,.exercise-library-tools,.filter-bar,.analysis-stats article,.performance-summary article{border-radius:14px}th{color:#687b88;background:#f5f8f8}th,td{border-bottom-color:#e8edef}tbody tr:hover td{background:#fbfdfd}.stat-icon.blue,.status.scheduled{background:var(--accent-soft);color:var(--accent-strong)}.mini-progress i,.progress i,.runner-progress i{background:var(--accent)}.exercise-category-tabs button{color:#526875;background:#edf2f3}.exercise-category-tabs button.active{background:var(--navy);color:#fff}.exercise-category-tabs button.active b{color:var(--accent-strong)}.exercise-search input{background:#f6f9f9}.exercise-card:hover,.template-card:hover{border-color:#bdd9d5;box-shadow:0 9px 26px #102a4314}.template-card .phase,.briefing-card-meta>b{background:var(--accent-soft);color:var(--accent-strong)}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#081c2b9e}.modal{border:1px solid #ffffff73;box-shadow:0 30px 80px #081c2b47}.login-brand{background:linear-gradient(145deg,var(--navy),var(--navy-2))}.login-brand .eyebrow,.feature-line span{color:#65d6ca}.login-brand>p{color:#bdccd5}.login-panel{background:#f7f9f9}.briefing-hero,.compact-live-head,.live-workout-head{background:linear-gradient(135deg,var(--navy),var(--navy-2));box-shadow:0 12px 30px #102a4329}.briefing-hero .eyebrow{color:#73d8ce}.briefing-card:hover{border-color:#add7d2}.briefing-card-meta>span{background:var(--accent)}.briefing-prescription{color:#294954;background:#eff6f5}.live-rail{border-right-color:var(--line)}.live-athlete.active,.live-athlete-card.active{background:var(--accent-soft);border-color:#a9dcd6}.compact-live-head .live-person-avatar{color:var(--accent-strong)}.live-action-item{border-color:var(--line);box-shadow:0 3px 14px #102a4309}.live-action-item.pending{border-left-color:var(--accent)}.inline-records{background:#f5f8f8}.inline-set{border-color:var(--line);box-shadow:none}.inline-set>header small{background:var(--accent-soft);color:var(--accent-strong)}.load-history-card{background:linear-gradient(135deg,#fbfefd,#edf8f6);border-color:#bcded9}.load-history-card summary:before{color:var(--accent-strong);background:#d7f0ec}.load-history-card summary strong{color:var(--accent-strong)}.load-history-chart polyline{stroke:var(--accent)}.load-history-chart-shell>i{border-color:var(--accent);box-shadow:0 1px 4px #0d948833}.performance-tabs button{color:#607581;background:#edf2f3}.performance-tabs button.active{background:var(--navy);color:#fff}.metric-switches button{border-color:var(--line);color:#526875}.metric-switches button.active{background:var(--accent-soft);color:var(--accent-strong);border-color:#8dcec7}.performance-summary article:first-child{border-top:3px solid var(--accent)}.trend-chart line{stroke:#d7e1e3}.trend-chart polyline{stroke:var(--accent)}.trend-chart circle{fill:#fff;stroke:var(--accent)}.assessment-settings-layout>aside button.active,.assessment-metric-editor>nav>button.active{background:var(--accent-soft);color:var(--accent-strong);border-color:#9ed5cf}.assessment-preview-row>header span{color:var(--accent-strong)}@media (width<=760px){.sidebar{box-shadow:none}.mobile-header{background:var(--navy);color:#fff;border-bottom-color:#ffffff14}.mobile-header button,.mobile-logo{color:#fff}}.metric-input.has-stepper{gap:5px;grid-template-columns:minmax(70px,1fr) 38px!important}.metric-input.has-stepper>div{grid-column:auto}.metric-step-stack{grid-template-rows:1fr 1fr;align-self:stretch;gap:3px;height:100%;display:grid!important}.metric-input.has-stepper .metric-step-button{height:auto;color:var(--accent-strong);cursor:pointer;background:linear-gradient(#fff,#edf3f8);border:1px solid #c8d5e4;border-radius:6px;padding:0;font-size:15px;font-weight:900;line-height:1;box-shadow:0 1px 2px #102a430f;min-height:0!important}.metric-input.has-stepper .metric-step-button:hover{background:var(--accent-soft);border-color:#79bfb4}.metric-input.has-stepper .metric-step-button:active{background:#cfeae4;transform:scale(.96)}.inline-set .record-type-reps,.inline-set .record-type-duration{grid-template-columns:minmax(220px,320px);width:min(320px,100%)}:is(.inline-set:has(.record-type-reps) .inline-set-bottom,.inline-set:has(.record-type-duration) .inline-set-bottom){align-items:center;max-width:440px;display:flex}:is(.inline-set:has(.record-type-reps) .inline-notes,.inline-set:has(.record-type-duration) .inline-notes){flex:1}.inline-set.completed{box-shadow:inset 4px 0 0 var(--accent);background:#edf9f4;border-color:#8fd3bb}.inline-set.completed .button.saved{color:#087b58;background:#d7efe7;border-color:#9bcfbe}.session-rpe-scale button{place-content:center;gap:2px;height:62px;padding:7px 2px;display:grid}.session-rpe-scale button strong{font-size:17px;line-height:1}.session-rpe-scale button small{white-space:nowrap;font-size:9px;font-weight:700}.session-rpe-picker>p.selected{gap:3px;display:grid}.session-rpe-picker>p.selected span{color:#65738a;font-size:11px;font-weight:600}.live-completion{position:relative}.completion-edit-link{color:#65738a;background:0 0;border:0;padding:7px 9px;font-size:12px;font-weight:700;position:absolute;top:18px;right:20px}.completion-edit-link:hover{color:var(--accent-strong);background:var(--accent-soft);border-radius:7px}.completion-done{min-width:210px}.live-completion.ended-early .success-ring{color:#b36b00;background:#fff1d6}.incomplete-confirm{gap:8px;padding:20px;display:grid}.incomplete-confirm p{margin:0;font-size:18px}.incomplete-confirm>span{color:var(--muted);line-height:1.7}.finish-workout.compact-finish{align-items:center;padding:12px 14px;display:flex}.finish-workout.compact-finish>div{flex:1}.finish-workout.compact-finish .button{min-width:155px}.finish-rpe-modal{gap:16px;padding:20px;display:grid}.finish-rpe-modal>.bad{text-align:center;color:#b91c1c}@media (width<=760px){.session-rpe-scale button{height:58px}.completion-edit-link{top:10px;right:10px}}
