:root{color:#172019;font-synthesis:none;text-rendering:optimizelegibility;background:#f3f6f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.sidebar{color:#f7fbf7;background:#121a17;flex-direction:column;gap:26px;height:100vh;padding:24px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.brand strong,.brand span{display:block}.brand span{color:#a9b8ae;margin-top:2px;font-size:13px}.nav{gap:10px;display:grid}.nav button,.icon-button,.primary-action,.secondary-action,.form-grid button,.inline-form button,.submit-button{border:0;justify-content:center;align-items:center;gap:8px;display:inline-flex}.nav button{color:#d4ded8;background:0 0;border-radius:8px;justify-content:flex-start;min-height:46px;padding:11px 12px}.nav button.active{color:#152019;background:#e6f2df}.health{color:#d4ded8;border:1px solid #31423a;border-radius:8px;align-items:center;gap:8px;margin-top:auto;padding:12px;display:flex}.health.ok{color:#c7f0cf;border-color:#65bd78}.health.error{color:#ffd7d4;border-color:#d86a5f}.logout-button{color:#d4ded8;background:0 0;border:1px solid #31423a;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:9px 11px;display:inline-flex}.session-strip{background:#fff;border:1px solid #dbe5db;border-radius:8px;justify-content:flex-end;align-items:center;gap:10px;margin-bottom:18px;padding:10px 12px;display:flex}.session-strip span{color:#607168}.session-strip strong{color:#185a3d;background:#edf6ee;border-radius:999px;padding:5px 9px}.login-page{background-color:#0000;background-image:linear-gradient(100deg,#121a17f0 0%,#121a17d6 45%,#21714f9e 100%),url(/assets/login-multideporte-QUKymvuI.webp);background-position:100%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;grid-template-columns:minmax(0,1fr) minmax(320px,420px);align-items:stretch;gap:24px;min-height:100vh;padding:32px;display:grid}.login-hero{color:#fff;align-content:center;gap:18px;max-width:680px;display:grid}.login-brand span{color:#c7d8cc}.login-hero h1{max-width:620px;margin:0;font-size:44px;line-height:1.05}.login-hero p{color:#e4efe7;max-width:540px;margin:0;font-size:17px}.login-card{background:#fff;border-radius:8px;align-self:center;gap:14px;padding:24px;display:grid}.login-card h2{margin:0}.login-form{gap:12px;display:grid}.login-form label{gap:7px;font-weight:800;display:grid}.login-notice{margin-bottom:0}.public-report-page{background:#f3f6f2;min-height:100vh;padding:18px}.public-report-header{justify-content:space-between;align-items:center;gap:14px;max-width:920px;margin:0 auto 16px;display:flex}.public-report-header .brand{color:#172019}.public-report-header .brand span{color:#607168}.public-report-header .health{background:#fff;margin-top:0}.public-notice{max-width:920px;margin-left:auto;margin-right:auto}.public-report-page .qr-layout{grid-template-columns:minmax(320px,460px) minmax(260px,360px);justify-content:center}.main{padding:28px}.hero{color:#fff;background-color:#0000;background-image:linear-gradient(100deg,#0f5c3ef5 0%,#0f5c3ee0 52%,#2d744eb3 100%),url(/assets/login-multideporte-QUKymvuI.webp);background-position:100%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:8px;justify-content:space-between;align-items:center;min-height:170px;margin-bottom:18px;padding:28px;display:flex}.hero h1{margin:6px 0;font-size:32px;line-height:1.15}.hero p{color:#edf7ef;max-width:620px;margin:0;font-size:16px}.eyebrow{color:#cbe8cd;letter-spacing:0;text-transform:uppercase;font-size:13px;font-weight:700}.icon-button{aspect-ratio:1;color:#172019;background:#fffffff2;border-radius:8px;width:44px}.notice{color:#5f4b0a;background:#fff8dc;border:1px solid #e8cf74;border-radius:8px;align-items:center;gap:8px;margin-bottom:18px;padding:11px 13px;display:flex}.notice-toast{z-index:80;border:1px solid;border-radius:8px;align-items:center;gap:10px;max-width:min(420px,100vw - 32px);padding:13px 14px;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 14px 40px #121a172e}.notice-toast.success{color:#185a3d;background:#edf8ee;border-color:#7cc58c}.notice-toast.error{color:#5f4b0a;background:#fff8dc;border-color:#e8cf74}.notice-toast span{font-weight:800;line-height:1.35}.notice-toast button{color:inherit;background:0 0;border:0;margin-left:4px;padding:0 2px;font-size:22px;line-height:1}.coach-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:16px;display:grid}.simple-coach-layout{grid-template-columns:minmax(0,1fr) 300px;gap:14px}.dashboard-layout{grid-template-columns:minmax(0,1fr) 330px}.team-strip,.scoreboard,.risk-legend,.roster-panel,.rail-panel,.setup-card,.share-panel,.result-panel{background:#fff;border:1px solid #dbe5db;border-radius:8px}.team-strip{grid-column:1/-1;grid-template-columns:minmax(260px,1fr) minmax(240px,360px) auto auto;align-items:end;gap:14px;padding:16px;display:grid}.simple-team-strip{color:#fff;background:#12251c;border-color:#12251c;grid-template-columns:minmax(260px,1fr) auto auto}.simple-team-strip .qr-callout{display:none}.simple-team-strip .team-picker label{color:#b8d2bd}.simple-team-strip select{background:#fff}.simple-team-strip .secondary-action{color:#eaffee;background:0 0;border-color:#6bb083}.team-picker label{color:#607168;margin-bottom:7px;font-size:13px;font-weight:700;display:block}input,select,textarea{color:#172019;background:#fff;border:1px solid #cbd8cd;border-radius:8px;width:100%;min-height:44px;padding:10px 12px}textarea{resize:vertical}.qr-callout{background:#edf6ee;border-radius:8px;align-items:center;gap:10px;min-height:58px;padding:12px;display:flex}.qr-callout img{background:#fff;border-radius:8px;width:76px;height:76px;padding:5px}.qr-callout span{color:#607168;font-size:13px;display:block}.qr-callout strong{overflow-wrap:anywhere;display:block}.primary-action,.form-grid button,.inline-form button,.submit-button{color:#fff;background:#21714f;border-radius:8px;min-height:44px;padding:10px 14px}.secondary-action{color:#185a3d;background:#edf6ee;border:1px solid #b8d2bd;border-radius:8px;min-height:44px;padding:10px 14px}.secondary-action:disabled{color:#819188;cursor:not-allowed;opacity:.7}.scoreboard{grid-template-columns:repeat(4,minmax(0,1fr));align-self:start;gap:12px;padding:16px;display:grid}.simple-scoreboard{background:0 0;border:0;gap:10px;padding:0}.coach-main{grid-column:1;align-self:start;gap:16px;display:grid}.coach-brief{background:#fff;border:1px solid #dbe5db;border-radius:8px;gap:14px;padding:16px;display:grid}.simple-coach-layout .coach-brief{background:#fff8df;border-color:#e9ce78;box-shadow:inset 5px 0 #d49b13}.coach-brief h2{margin:0;font-size:18px}.coach-brief p{color:#607168;margin:4px 0 0}.coach-brief-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.coach-brief-item{background:#f7faf7;border:1px solid #dfe8df;border-radius:8px;gap:6px;padding:12px;display:grid}.coach-brief-item span{color:#607168;font-size:13px;font-weight:700}.coach-brief-item strong{font-size:28px;line-height:1}.evaluation-toggle{background:#fff;border:1px solid #dbe5db;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.evaluation-toggle strong,.evaluation-toggle span{display:block}.evaluation-toggle span{color:#607168;margin-top:2px;font-size:13px}.segmented-control{background:#edf3ef;border:1px solid #d4e0d7;border-radius:8px;grid-template-columns:repeat(3,minmax(88px,1fr));gap:4px;padding:4px;display:grid}.weekly-filter{gap:8px;min-width:220px;display:grid}.weekly-filter select,.weekly-filter input{min-height:38px}.weekly-custom-range{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.segmented-control button{color:#415249;background:0 0;border:0;border-radius:6px;min-height:36px;padding:8px 12px;font-weight:900}.segmented-control button.active{color:#fff;background:#21714f}.risk-legend{gap:12px;padding:16px;display:grid}.risk-legend>div:first-child{gap:4px;display:grid}.risk-legend>div:first-child span,.risk-item span{color:#607168;font-size:13px}.risk-items{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.risk-item{border-radius:8px;gap:6px;padding:10px;display:grid}.risk-item.green{background:#edf6ee}.risk-item.yellow{background:#fff5cc}.risk-item.red{background:#ffe5e0}.weekly-panel{background:#fff;border:1px solid #dbe5db;border-left:6px solid #21714f;border-radius:8px;gap:12px;padding:16px;display:grid}.weekly-plan-panel{background:#fff;border:1px solid #dbe5db;border-radius:8px;gap:12px;padding:16px;display:grid}.weekly-plan-form{grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;display:grid}.weekly-plan-form textarea,.weekly-plan-form button{grid-column:span 3}.plan-comparison{background:#f7faf7;border:1px solid #dbe5db;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px;display:grid}.plan-comparison p,.pending-list span{color:#607168}.plan-comparison p{grid-column:1/-1;margin:0}.pending-list{background:#fff8df;border:1px solid #ead394;border-radius:8px;gap:4px;padding:10px;display:grid}.weekly-panel.yellow{border-left-color:#d59b16}.weekly-panel.red{border-left-color:#c64a3d}.weekly-reading{color:#415249;margin:0}.weekly-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.weekly-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.weekly-status-grid .status{text-align:center;border-radius:999px;padding:8px 10px;font-size:13px;font-weight:900}.weekly-status-grid .green{color:#185a3d;background:#e5f7e9}.weekly-status-grid .yellow{color:#7a5400;background:#fff0b8}.weekly-status-grid .red{color:#972f24;background:#ffe0da}.weekly-review-list{gap:8px;display:grid}.weekly-athlete{background:#f8fbf8;border:1px solid #dbe5db;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.weekly-athlete span{color:#607168;margin-top:2px;font-size:13px;display:block}.weekly-history-list{gap:8px;display:grid}.weekly-history-item{background:#f8fbf8;border:1px solid #dbe5db;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.weekly-history-item span{color:#607168;margin-top:2px;font-size:12px;display:block}.superadmin-summary{grid-column:1/-1}.summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.quiet-list{background:#f7faf7;border:1px solid #dbe5db;border-radius:8px;gap:4px;margin-top:12px;padding:10px;display:grid}.quiet-list span{color:#607168}.metric{border-radius:8px;grid-template-rows:auto auto;align-content:space-between;gap:10px;min-height:118px;padding:14px;display:grid}.metric svg{width:20px;height:20px}.metric span{color:#53665b;font-size:13px;font-weight:700}.metric strong{font-size:30px;line-height:1}.metric.blue{background:#e9f2ff}.metric.green{background:#e5f7e9}.metric.yellow{background:#fff3cf}.metric.red{background:#ffe4df}.simple-scoreboard .metric{border:1px solid #0000;min-height:108px;padding:16px}.simple-scoreboard .metric strong{font-size:36px}.simple-scoreboard .metric.blue{background:#eef3f7}.simple-scoreboard .metric.green{background:#dff5e3;border-color:#b8dfc0}.simple-scoreboard .metric.yellow{background:#ffe9a6;border-color:#edc95a}.simple-scoreboard .metric.red{background:#ffd0c8;border-color:#eea59a}.roster-panel{padding:18px}.dashboard-visuals{background:#fff;border:1px solid #dbe5db;border-radius:8px;padding:18px}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.chart-card{background:#f8fbf8;border:1px solid #dfe8df;border-radius:8px;gap:14px;min-height:260px;padding:16px;display:grid}.chart-card h3,.chart-card p{margin:0}.chart-card h3{font-size:17px}.chart-card p{color:#607168;margin-top:4px}.donut-wrap{grid-template-columns:148px minmax(0,1fr);align-items:center;gap:18px;display:grid}.donut-chart-svg{justify-content:center;align-items:center;width:148px;height:148px;display:flex;position:relative}.donut-chart-svg svg{width:148px;height:148px;overflow:visible;transform:rotate(-90deg)}.donut-base{fill:none;stroke:#e8efe9;stroke-width:18px}.donut-segment{cursor:pointer;fill:none;stroke-linecap:round;stroke-width:18px;transition:opacity .16s,stroke-width .16s}.donut-segment:hover{opacity:.82;stroke-width:20px}.donut-chart-svg strong{color:#172019;z-index:2;font-size:34px;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.donut-legend{gap:10px;display:grid}.donut-legend button{color:#43564b;text-align:left;background:#fff;border:1px solid #dfe8df;border-radius:8px;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:38px;padding:8px 10px;display:grid}.donut-legend button:hover{color:#172019;border-color:#21714f}.donut-legend i{border-radius:999px;width:12px;height:12px}.donut-legend i.green{background:#5fc47a}.donut-legend i.yellow{background:#f3c84d}.donut-legend i.red{background:#ef7365}.bar-chart,.pain-bars,.ranking-list{gap:10px;display:grid}.commercial-bar-chart{background:linear-gradient(0deg,#21714f1a 1px,#0000 1px) 0 0/100% 25%,linear-gradient(#fff 0%,#f4f8f5 100%);border:1px solid #dfe8df;border-radius:10px;grid-auto-columns:minmax(74px,1fr);grid-auto-flow:column;align-items:end;gap:14px;min-height:230px;padding:18px 18px 14px;display:grid;overflow-x:auto}.chart-column{color:#172019;background:0 0;border:0;grid-template-rows:minmax(138px,1fr) auto auto;align-self:stretch;place-items:center;gap:8px;min-width:74px;padding:0;display:grid;position:relative}.chart-bar-stage{justify-content:center;align-self:stretch;align-items:end;width:100%;min-height:138px;display:flex}.chart-bar-stage i{background:linear-gradient(#33a36e 0%,#1d7650 100%);border-radius:10px 10px 4px 4px;width:clamp(34px,54%,52px);min-height:10px;transition:filter .16s,transform .16s,box-shadow .16s;display:block;box-shadow:0 10px 18px #21714f33}.load-bars .chart-bar-stage i{background:linear-gradient(#e9b326 0%,#c48a0c 100%);box-shadow:0 10px 18px #c48a0c33}.chart-column:hover .chart-bar-stage i,.chart-column:focus-visible .chart-bar-stage i{filter:saturate(1.08);transform:translateY(-3px);box-shadow:0 14px 24px #21714f47}.load-bars .chart-column:hover .chart-bar-stage i,.load-bars .chart-column:focus-visible .chart-bar-stage i{box-shadow:0 14px 24px #c48a0c47}.chart-column strong{font-size:15px;line-height:1}.chart-column>span:last-child{color:#607168;font-size:13px;font-weight:800}.chart-value-popover{color:#fff;opacity:0;pointer-events:none;white-space:nowrap;z-index:4;background:#13221a;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;transition:opacity .16s,transform .16s;position:absolute;bottom:calc(100% - 18px);left:50%;transform:translate(-50%,8px);box-shadow:0 10px 28px #13221a33}.chart-column:hover .chart-value-popover,.chart-column:focus-visible .chart-value-popover{opacity:1;transform:translate(-50%)}.bar-row,.pain-row{grid-template-columns:52px minmax(0,1fr) 44px;align-items:center;gap:10px;display:grid}.bar-row span,.pain-row span{color:#607168;font-size:13px;font-weight:800}.bar-row div,.pain-row div{background:#e8efe9;border-radius:999px;height:13px;overflow:hidden}.bar-row i,.pain-row i{border-radius:inherit;background:#21714f;height:100%;display:block}.pain-row i{background:#d49b13}.bar-row strong,.pain-row strong{text-align:right}.ranking-row{color:#172019;text-align:left;background:#fff;border:1px solid #dfe8df;border-radius:8px;grid-template-columns:30px minmax(0,1fr) minmax(70px,auto) 58px;align-items:center;gap:8px;min-height:48px;padding:9px 10px;display:grid}.ranking-row>span{color:#185a3d;background:#edf6ee;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-weight:900;display:flex}.ranking-row small{color:#607168}.ranking-row strong{text-align:right}.ranking-row.selected{border-color:#21714f;box-shadow:inset 4px 0 #21714f}.report-slice-modal{background:#fff;border-radius:10px;grid-template-rows:auto minmax(0,1fr);width:min(94vw,980px);max-width:980px;max-height:min(86vh,760px);display:grid;overflow:hidden;box-shadow:0 24px 70px #1420193d}.slice-preview{background:#f8fbf8;gap:14px;min-height:0;padding:16px;display:grid;overflow:auto}.slice-preview p{color:#607168;margin:0}.slice-summary{grid-template-columns:170px minmax(0,1fr);gap:12px;display:grid}.slice-summary div{background:#fff;border:1px solid #dfe8df;border-radius:8px;gap:5px;padding:12px;display:grid}.slice-summary span{color:#607168;font-size:12px;font-weight:800}.slice-summary strong{overflow-wrap:anywhere}.slice-table-wrap{background:#fff;border:1px solid #dfe8df;border-radius:8px;overflow:auto}.slice-table{border-collapse:collapse;width:100%;min-width:720px}.slice-table th,.slice-table td{text-align:left;vertical-align:top;white-space:nowrap;border-bottom:1px solid #edf2ee;padding:10px 12px;font-size:13px}.slice-table th{color:#365346;z-index:1;background:#edf6ee;font-weight:900;position:sticky;top:0}.slice-table tr:last-child td{border-bottom:0}.simple-coach-layout .roster-panel{background:#fff;border-color:#cad9ce}.simple-coach-layout .athlete-row{border-left:5px solid #8ab596;grid-template-columns:48px minmax(0,1fr) auto}.simple-coach-layout .athlete-row:has(.alert-badge.yellow){border-left-color:#d49b13}.simple-coach-layout .athlete-row:has(.alert-badge.red){border-left-color:#c94b3d}.section-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-heading h2,.rail-panel h2,.setup-card h2,.share-panel h2,.result-panel h2{margin:0;font-size:18px}.section-heading p{color:#607168;margin:4px 0 0}.athlete-list,.report-stack{gap:10px;display:grid}.athlete-row{color:inherit;text-align:left;background:#f7faf7;border:1px solid #dfe8df;border-radius:8px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:12px;display:grid}.athlete-row:hover,.athlete-row.selected{background:#edf6ee;border-color:#8ab596}.avatar{color:#185a3d;background:#dfeee2;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-weight:800;display:flex}.avatar.large{width:56px;height:56px}.athlete-main{gap:4px;min-width:0;display:grid}.athlete-main span,.empty,.mini-report span,.rail-panel p{color:#607168}.right-rail{grid-area:2/2/span 4;align-self:start;gap:16px;display:grid}.rail-panel{padding:18px}.athlete-detail{gap:14px;display:grid}.detail-header{grid-template-columns:56px minmax(0,1fr);align-items:center;gap:12px;display:grid}.detail-header.compact{align-items:start}.detail-header h2{margin:0;font-size:18px}.detail-header p{color:#607168;margin:4px 0 0}.detail-status{background:#f6faf6;border:1px solid #e0e9e0;border-radius:8px;justify-content:space-between;align-items:center;padding:10px;display:flex}.quick-athlete-panel{gap:14px;display:grid}.quick-report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.player-report-card{gap:16px}.player-report-actions{background:#f7faf7;border:1px solid #dfe8df;border-radius:8px;gap:10px;padding:12px;display:grid}.player-report-actions p{margin:4px 0 0}.report-action{text-align:left;grid-template-columns:20px minmax(0,1fr);place-items:center start;gap:10px;min-height:54px;display:grid}.report-action span{gap:2px;display:grid}.report-action small{color:#607168;font-size:12px}.last-session-card{border-top:1px solid #dfe8df;gap:10px;padding-top:14px;display:grid}.last-session-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.report-count-note{color:#607168;font-size:12px;font-weight:800}.compact-notes{border-top:1px solid #dfe8df;padding-top:14px}.full-width{justify-content:center;width:100%}.detail-status span{color:#607168;font-size:13px;font-weight:800}.detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.athlete-pdf-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.athlete-pdf-actions .secondary-action{justify-content:center;min-height:38px;padding:8px;font-size:13px}.small-metric{background:#f2f6f3;border-radius:8px;gap:4px;min-height:70px;padding:10px;display:grid}.small-metric span{color:#607168;font-size:12px;font-weight:800}.small-metric strong{font-size:22px;line-height:1}.history-block{gap:9px;display:grid}.history-block h3{margin:0;font-size:14px}.history-list,.note-list{gap:8px;display:grid}.history-item{grid-template-columns:minmax(96px,1fr) minmax(70px,1fr) 44px;align-items:center;gap:8px;display:grid}.history-item div:first-child{gap:2px;display:grid}.history-item strong{font-size:13px}.history-item span,.note-list p{color:#607168;font-size:12px}.load-bar{background:#e4ece4;border-radius:999px;height:9px;overflow:hidden}.load-bar span{border-radius:inherit;background:#21714f;height:100%;display:block}.history-load{color:#172019;text-align:right}.note-list p{background:#f7faf7;border-radius:8px;margin:0;padding:9px}.rail-panel.quiet{align-items:start;gap:12px;display:flex}.rail-panel.quiet p{margin:6px 0 0}.mini-report{border-bottom:1px solid #e4ece4;gap:10px;padding:12px 0;display:grid}.mini-report:last-child{border-bottom:0}.mini-report-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.mini-report-top div{gap:3px;display:grid}.coach-note{gap:8px;display:grid}.coach-note textarea{min-height:58px}.coach-note button{color:#fff;background:#172019;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:8px 10px;display:inline-flex}.alert-badge{border-radius:999px;justify-content:center;min-width:82px;padding:7px 10px;font-size:13px;font-weight:800;display:inline-flex}.alert-badge.green{color:#155e2d;background:#dff4e2}.alert-badge.yellow{color:#735400;background:#ffedb3}.alert-badge.red{color:#8d2921;background:#ffd5cf}.setup-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-layout{grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:16px;display:grid}.students-layout{grid-template-columns:minmax(320px,420px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.students-filters{grid-column:1/-1}.students-list-panel,.students-editor{min-height:420px}.setup-card{padding:18px;position:relative}.setup-card.wide{grid-column:1/-1}.admin-panel p{color:#607168;margin:8px 0 0}.professor-create{grid-template-columns:1fr}.admin-list,.audit-list{gap:10px;margin-top:14px;display:grid}.admin-row,.audit-row{background:#f7faf7;border:1px solid #dfe8df;border-radius:8px;align-items:center;gap:12px;padding:12px;display:grid}.admin-row{grid-template-columns:minmax(0,1fr) auto auto}.admin-row.professor-row{grid-template-columns:minmax(220px,1fr) minmax(320px,1.4fr) auto auto auto;align-items:start}.admin-row div,.audit-row div:last-child{gap:4px;min-width:0;display:grid}.admin-row span,.audit-row span{color:#607168}.status-pill{border-radius:999px;padding:7px 10px;font-size:13px;font-weight:900}.status-pill.active{color:#155e2d;background:#dff4e2}.status-pill.inactive{color:#607168;background:#edf0ed}.audit-row{grid-template-columns:minmax(150px,190px) minmax(0,1fr)}.audit-filters{grid-template-columns:minmax(160px,1fr) minmax(150px,1fr) minmax(170px,1fr) repeat(2,minmax(140px,.7fr)) auto;gap:10px;margin-bottom:12px;display:grid}.audit-filters button{color:#fff;background:#21714f;border-radius:8px;min-height:44px;padding:10px 14px}.audit-date{color:#53665b;align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.audit-details{margin-top:8px}.audit-details summary{color:#185a3d;cursor:pointer;font-size:13px;font-weight:900}.audit-details pre{color:#27342d;white-space:pre-wrap;background:#edf3ef;border:1px solid #d8e4da;border-radius:8px;max-height:220px;margin:8px 0 0;padding:10px;font-size:12px;overflow:auto}.audit-pagination{border-top:1px solid #dfe8df;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:14px;display:flex}.audit-pagination>span{color:#607168;font-weight:800}.audit-pagination>div{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.setup-hint{color:#607168;margin:8px 0 0}.setup-hint strong{color:#172019}.academy-list{gap:10px;margin-top:14px;display:grid}.academy-row{background:#f7faf7;border:1px solid #dfe8df;border-radius:8px;grid-template-columns:minmax(180px,1fr) minmax(260px,1.3fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.academy-row>div:first-child,.academy-row>div:first-child span{gap:4px;display:grid}.academy-row span{color:#607168;font-size:13px}.sport-checkboxes{background:#f7faf7;gap:8px;display:grid}.sport-checkboxes label,.mini-checks label{align-items:center;gap:8px;font-weight:800;display:flex}.sport-checkboxes input,.mini-checks input{width:auto;min-height:auto}.mini-checks{flex-wrap:wrap;gap:10px;display:flex}.academy-assignment{background:#f7faf7;border:1px solid #dfe8df;border-radius:8px;grid-column:1/-1;gap:8px;padding:10px;display:grid}.academy-assignment.compact{grid-column:auto}.editor-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.professor-main{gap:4px;display:grid}.professor-main span{color:#607168}.step-number{color:#fff;background:#21714f;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:12px;font-weight:800;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.form-grid.athlete-create{grid-template-columns:repeat(3,minmax(0,1fr))}.form-field{gap:6px;display:grid}.form-field span{color:#4d6259;font-size:13px;font-weight:800}.form-note{color:#6d5412;background:#fff8df;border:1px solid #ead394;border-radius:8px;grid-column:1/-1;margin:0;padding:10px 12px;font-size:13px;font-weight:700}.birth-age-field{gap:6px;display:grid}.birth-age-field span{color:#185a3d;background:#edf6ee;border:1px solid #d8e8da;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:800}.qr-layout{grid-template-columns:minmax(260px,330px) minmax(330px,460px) minmax(260px,1fr);align-items:start;gap:18px;display:grid}.share-panel,.result-panel{padding:18px}.inline-form{gap:10px;margin-top:14px;display:grid}.qr-coach-panel p{color:#607168;margin:8px 0 0}.qr-tip{color:#185a3d;background:#edf6ee;border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:10px;font-weight:800;display:flex}.phone-surface{color:#172019;background:#121a17;border-radius:8px;padding:12px}.phone-header{color:#fff;gap:3px;padding:12px 8px 16px;display:grid}.phone-header span{color:#b6c7bc;text-transform:uppercase;font-size:13px;font-weight:800}.phone-header strong{font-size:24px;line-height:1.1}.phone-header p{color:#b6c7bc;margin:2px 0 0}.mobile-form{background:#fff;border-radius:8px;gap:12px;padding:16px;display:grid}.mobile-form label{gap:7px;font-weight:800;display:grid}.qr-step{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;margin-top:3px;display:grid}.qr-step>span{color:#fff;background:#172019;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-weight:900;display:flex}.qr-step>div{gap:3px;display:grid}.qr-step strong,.field-title span,.field-card>span{color:#172019;font-weight:900}.qr-step small,.field-card small,.pain-card p{color:#607168}.qr-step small{line-height:1.35;display:block}.field-card{background:#f7faf7;border:1px solid #dfe8df;border-radius:8px;gap:9px;padding:12px;display:grid}.field-title{align-items:center;gap:7px;display:flex}.sport-card-grid{gap:10px;display:grid}.session-context-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.rest-note{color:#185a3d;background:#edf6ee;border:1px solid #b8d2bd;border-radius:8px;padding:12px;font-weight:800}.preset-grid,.scale-presets{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.preset{color:#172019;background:#fff;border:1px solid #cbd8cd;border-radius:8px;min-height:44px;font-weight:900}.preset.selected{color:#fff;background:#21714f;border-color:#21714f}.scale-card input[type=range]{accent-color:#21714f}.scale-number{color:#21714f;font-size:34px;line-height:1}.quick-pair{grid-template-columns:110px 1fr;gap:12px;display:grid}.slider-value{color:#21714f}fieldset{border:1px solid #dbe5db;border-radius:8px;margin:0;padding:12px}.pain-card{background:#fffaf0;border-color:#ead394;gap:9px;display:grid}.pain-card p{margin:0}legend{padding:0 5px;font-weight:800}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{color:#172019;background:#edf3ee;border:1px solid #d2dfd4;border-radius:999px;padding:8px 11px;font-weight:800}.large-chips .chip{min-height:42px;padding:9px 13px}.chip.selected{color:#fff;background:#21714f;border-color:#21714f}.body-selector{gap:12px;display:grid}.body-tabs{gap:8px;display:flex}.body-tabs button{color:#172019;background:#fff;border:1px solid #cbd8cd;border-radius:8px;flex:1;min-height:42px;font-weight:900}.body-tabs button.active{color:#fff;background:#21714f;border-color:#21714f}.body-highlighter-card{background:#fff;border:1px solid #ead394;border-radius:8px;min-height:330px;padding:14px 10px}.body-highlighter-card .rbh{max-height:310px}.body-highlighter-card polygon{cursor:pointer;transition:fill .15s,opacity .15s}.body-highlighter-card polygon:hover{opacity:.9;fill:#f0b24d!important}.unsupported-zones{gap:8px;display:grid}.unsupported-zones>span{color:#607168;font-size:12px;font-weight:900}.selected-zones{background:#edf6ee;border-radius:8px;gap:4px;padding:10px;display:grid}.selected-zones span{color:#607168;font-size:12px;font-weight:900}.selected-zones strong{color:#185a3d}.submit-button{width:100%}.qr-submit{min-height:54px;font-size:16px;font-weight:900}.qr-submit:disabled{cursor:not-allowed;opacity:.72}.submit-feedback{border-radius:8px;align-items:flex-start;gap:8px;padding:11px 12px;font-weight:800;display:flex}.submit-feedback.error{color:#5f4b0a;background:#fff8dc;border:1px solid #e8cf74}.report-summary{background:#edf6ee;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;display:grid}.report-summary div{gap:3px;min-width:0;display:grid}.report-summary span{color:#607168;font-size:12px;font-weight:800}.report-summary strong{overflow-wrap:anywhere}.result-panel{gap:12px;display:grid}.result-celebration{background:#fff;align-content:start}.result-celebration svg{color:#21714f}.result-panel p{margin:0}.load-number{font-size:42px;line-height:1}.management-layout{grid-template-columns:minmax(280px,.85fr) minmax(420px,1.15fr);align-items:start;gap:14px;display:grid}.academy-management-layout{grid-template-columns:minmax(340px,.9fr) minmax(520px,1.1fr)}.management-browser,.management-editor{gap:14px;display:grid}.management-browser.wide,.management-editor.wide{grid-column:1/-1}.management-list{gap:8px;display:grid}.management-item{color:#172019;text-align:left;background:#f8fbf8;border:1px solid #dbe5db;border-radius:8px;justify-items:start;gap:4px;min-height:58px;padding:10px 12px;display:grid}.management-item.active{background:#edf6ee;border-color:#78b98b}.management-item span{color:#607168;font-size:13px}.sport-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.sport-tabs button{color:#185a3d;background:#f8fbf8;border:1px solid #dbe5db;border-radius:8px;min-height:40px;font-weight:800}.sport-tabs button.active{color:#fff;background:#21714f;border-color:#21714f}.danger-action{color:#9d2418;background:#ffe5e0;border:1px solid #e9a39a;border-radius:8px;justify-content:center;align-items:center;min-height:40px;padding:9px 12px;font-weight:800;display:inline-flex}.modal-backdrop{z-index:30;background:#121a17b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.pdf-modal{background:#fff;border-radius:8px;grid-template-rows:auto minmax(420px,1fr);width:min(94vw,1100px);max-width:1100px;height:min(92vh,900px);display:grid;overflow:hidden;box-shadow:0 22px 70px #00000047}.pdf-modal-header{border-bottom:1px solid #dbe5db;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.pdf-modal-header h2,.pdf-modal-header p{margin:0}.pdf-modal-header p{color:#607168;margin-top:3px;font-size:13px}.pdf-modal-actions{gap:8px;display:flex}.pdf-modal iframe{border:0;width:100%;height:100%}.athlete-management-list{max-height:360px;padding-right:2px;overflow:auto}@media (width<=1080px){.app-shell,.coach-layout,.admin-layout,.students-layout,.management-layout,.setup-layout,.qr-layout{grid-template-columns:1fr}.sidebar{z-index:20;gap:12px;height:auto;padding:12px;position:sticky;top:0}.sidebar .brand{min-width:180px}.sidebar .brand svg{flex:none}.sidebar .brand strong{font-size:14px}.sidebar .brand span{font-size:12px}.nav{scrollbar-width:thin;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.nav button{white-space:nowrap;flex:none;min-height:40px;padding:8px 10px}.sidebar .health,.logout-button{display:none}.team-strip,.scoreboard,.coach-brief-grid,.evaluation-toggle,.weekly-metrics,.weekly-status-grid,.weekly-plan-form,.plan-comparison,.audit-filters,.risk-items,.form-grid,.form-grid.athlete-create{grid-template-columns:1fr}.scoreboard,.risk-legend,.roster-panel,.right-rail,.academy-row{grid-area:auto}.academy-row,.admin-row.professor-row{grid-template-columns:1fr}.login-page{grid-template-columns:1fr;padding:18px}.login-hero h1{font-size:34px}.public-report-header,.pdf-modal-header,.pdf-modal-actions{align-items:stretch;display:grid}.pdf-modal{grid-template-rows:auto minmax(360px,1fr);height:92vh}.evaluation-toggle{align-items:stretch;display:grid}}@media (width<=720px){html,body{max-width:100%;overflow-x:hidden}body{background:#f3f6f2}.app-shell{width:100%;min-height:100vh;display:block}.sidebar{border-bottom:1px solid #223129;width:100%;padding:10px 10px 8px;overflow:hidden}.sidebar .brand{min-width:0}.sidebar .brand svg{width:22px}.sidebar .brand strong{font-size:13px}.sidebar .brand span{font-size:11px}.nav{gap:6px;margin:0 -10px;padding:0 10px 4px;overflow-x:auto}.nav button{border-radius:7px;min-height:34px;padding:7px 9px;font-size:12px}.nav button svg{width:15px}.main,.public-report-page{width:100%;padding:10px}.hero{align-items:flex-start;min-height:auto;margin-bottom:12px;padding:18px;display:grid}.hero h1{font-size:26px}.hero p{font-size:14px}.icon-button{justify-self:end;width:40px}.notice,.session-strip{margin-bottom:10px}.notice-toast{max-width:calc(100vw - 20px);bottom:12px;left:10px;right:10px}.session-strip{justify-content:space-between;align-items:center}.coach-layout,.simple-coach-layout,.dashboard-layout,.admin-layout,.students-layout,.management-layout,.academy-management-layout,.setup-layout,.qr-layout,.public-report-page .qr-layout{grid-template-columns:minmax(0,1fr);gap:10px;width:100%;display:grid}.team-strip,.simple-team-strip,.dashboard-team-strip,.scoreboard,.dashboard-scoreboard,.risk-legend,.roster-panel,.rail-panel,.setup-card,.share-panel,.result-panel,.management-card,.students-card{border-radius:7px;width:100%}.team-strip,.simple-team-strip,.dashboard-team-strip{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:10px;padding:12px}.team-strip .primary-action,.team-strip .secondary-action{width:100%;min-height:42px}.qr-callout{grid-template-columns:70px minmax(0,1fr);align-items:center;width:100%;min-width:0}.qr-callout img{width:64px;height:64px}.qr-callout strong{overflow-wrap:anywhere}.coach-brief,.scoreboard,.roster-panel,.risk-legend,.audit-card,.management-card,.setup-card,.share-panel,.result-panel{padding:12px}.scoreboard,.dashboard-scoreboard{grid-template-columns:minmax(0,1fr);gap:8px}.metric-card{min-height:86px;padding:12px}.athlete-row,.admin-row,.ranking-row,.management-item{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px}.athlete-row .alert-badge,.ranking-row .alert-badge{grid-column:1/-1;justify-self:stretch}.right-rail,.report-stack{gap:10px;display:grid}.audit-filters,.form-grid,.form-grid.athlete-create,.weekly-plan-form,.quick-report-grid,.report-summary,.commercial-chart-grid{grid-template-columns:minmax(0,1fr)}.audit-filters button,.form-grid button,.weekly-plan-form button{width:100%}.audit-list{gap:10px;display:grid}.audit-item{grid-template-columns:minmax(0,1fr)}.audit-item pre{white-space:pre-wrap;overflow-x:auto}.public-report-page{padding:12px}.public-report-header{gap:10px;width:100%;margin-bottom:12px}.public-report-header .health{justify-content:center;width:100%}.public-notice{width:100%}.public-report-page .qr-layout{justify-content:stretch}.public-report-page .share-panel{order:2}.phone-surface{order:1;width:100%;min-width:0;max-width:100%;padding:10px}.phone-header{padding:10px 6px 12px}.phone-header strong{font-size:22px}.mobile-form{padding:12px}.qr-step{grid-template-columns:30px minmax(0,1fr);align-items:start}.qr-step>span{width:30px;height:30px}.session-context-grid,.quick-pair,.preset-grid,.scale-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.body-map-card{max-width:100%;overflow:hidden}.body-map-card svg{max-width:100%}.pdf-modal{width:calc(100vw - 20px);height:96vh}}@media (width<=420px){.main,.public-report-page{padding:8px}.hero{padding:16px}.hero h1{font-size:24px}.eyebrow{font-size:11px}.preset-grid,.scale-presets,.session-context-grid,.quick-pair{grid-template-columns:minmax(0,1fr)}.mobile-form{gap:10px;padding:10px}.field-card{padding:10px}}
