:root{color-scheme:light;--bg: #eef3f6;--surface: #ffffff;--surface-strong: #edf7fb;--surface-soft: #f8fbfc;--border: #d6dde2;--text: #10283a;--muted: #667887;--primary: #0093d4;--primary-strong: #003459;--primary-soft: #dff4fc;--ink-soft: #24485f;--accent: #d1d3d4;--danger: #a64242;--success: #1f7a53;--sidebar: #003459;--sidebar-muted: #d1d3d4;--shadow-soft: 0 12px 32px rgb(16 40 58 / .08);--shadow-lift: 0 18px 45px rgb(16 40 58 / .14)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(1200px 420px at 55% -180px,rgba(0,147,212,.16),transparent 68%),linear-gradient(180deg,#ffffff 0,var(--bg) 260px);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0}input,select,textarea{width:100%;min-height:42px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);padding:9px 10px;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0093d424;outline:0}textarea{resize:vertical}label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:650}table{width:100%;border-collapse:collapse;min-width:680px}th,td{border-bottom:1px solid var(--border);padding:11px 10px;text-align:left;vertical-align:middle}th{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}tbody tr{transition:background .14s ease}tbody tr:hover{background:var(--surface-soft)}tbody tr.selected-row{background:var(--surface-strong)}tbody tr.muted-row{background:#f7f8f9;color:var(--muted)}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.signed-out-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;display:grid;grid-template-rows:auto 1fr auto auto;gap:22px;height:100vh;background:linear-gradient(180deg,rgba(0,147,212,.18),transparent 28%),var(--sidebar);color:#fff;padding:18px;box-shadow:12px 0 32px #00345929}.brand,.login-brand,.account-box,.account-actions,.language-switch,.nav-link,.button-link,.primary-action,.status-pill,.small-button{display:inline-flex;align-items:center}.brand{gap:11px;min-width:0}.brand strong,.account-box strong{display:block}.brand span,.account-box span{display:block;color:var(--sidebar-muted);font-size:13px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:44px;height:38px;border-radius:8px;background:#fff;color:var(--primary-strong);font-size:13px;font-weight:900}.logo-mark{overflow:hidden;padding:4px}.logo-mark img{display:block;width:100%;height:100%;object-fit:contain}.brand-mark.large{width:58px;height:48px;background:var(--primary);color:#fff}.nav-list{display:grid;align-content:start;gap:8px}.nav-link{gap:10px;min-height:42px;border-radius:6px;color:#dbe7e3;padding:0 11px;text-decoration:none;transition:background .15s ease,color .15s ease,transform .15s ease}.nav-link:hover,.nav-link.router-link-active{background:var(--primary);color:#fff}.nav-link:hover{transform:translate(2px)}.account-box{justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.22);padding-top:14px}.app-version{color:var(--sidebar-muted);font-size:11px;font-weight:500;text-align:center;opacity:.6;margin-top:-10px}.mobile-topbar,.mobile-bottom-nav{display:none}.mobile-brand,.mobile-topbar-actions,.mobile-nav-link{display:inline-flex;align-items:center}.mobile-brand{min-width:0;gap:10px}.mobile-brand>div{min-width:0}.mobile-brand strong,.mobile-brand span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-brand strong{color:var(--primary-strong);font-size:14px}.mobile-brand span{color:var(--muted);font-size:12px}.mobile-topbar-actions,.account-actions{gap:8px}.language-switch{gap:2px;border:1px solid rgba(255,255,255,.28);border-radius:6px;padding:2px}.language-switch button{min-width:34px;height:30px;border-radius:4px;background:transparent;color:var(--sidebar-muted);cursor:pointer;font-size:12px;font-weight:800}.language-switch button.selected{background:var(--primary);color:#fff}.panel-switch{width:fit-content;border-color:var(--border)}.panel-switch button{color:var(--primary-strong)}.icon-button{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:6px;background:#ffffff29;color:#fff;cursor:pointer;transition:background .14s ease,color .14s ease,transform .14s ease}.icon-button.light{background:var(--surface-strong);color:var(--primary-strong)}.icon-button.danger-light{background:#fae7e7;color:var(--danger)}.main-surface{min-width:0;padding:28px}.page-stack{display:grid;gap:20px;max-width:1520px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.page-heading h1{margin:0;font-size:28px;line-height:1.15;color:var(--primary-strong)}.page-heading p,.login-brand p{margin:5px 0 0;color:var(--muted)}.button-link,.primary-action,.small-button{justify-content:center;gap:8px;min-height:40px;border-radius:6px;background:var(--primary);color:#fff;padding:0 13px;text-decoration:none;cursor:pointer;white-space:nowrap;box-shadow:0 6px 16px #0093d429;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}.button-link:hover,.primary-action:hover,.small-button:hover{background:var(--primary-strong);color:#fff;box-shadow:0 10px 22px #0034592e}.button-link:disabled,.primary-action:disabled,.small-button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.55}.button-link:active,.primary-action:active,.small-button:active,.icon-button:active{transform:translateY(1px)}.is-loading{pointer-events:none}.spin{animation:spin .8s linear infinite}.primary-action.compact,.small-button{width:fit-content}.small-button{min-height:32px;background:var(--surface-strong);color:var(--primary-strong);box-shadow:none}.section-band,.metric-tile,.login-panel{border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft)}.section-band{display:grid;gap:16px;padding:18px;border-top:4px solid var(--primary)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-title h2{margin:0;font-size:18px}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.metric-tile{display:grid;gap:8px;position:relative;overflow:hidden;padding:16px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.metric-tile:after{position:absolute;top:0;right:0;width:82px;height:82px;background:linear-gradient(135deg,rgba(0,147,212,.12),transparent 64%);content:"";pointer-events:none}.metric-tile:hover{border-color:#0093d473;box-shadow:var(--shadow-lift);transform:translateY(-2px)}.metric-tile svg{color:var(--primary)}.metric-tile span{color:var(--muted);font-size:13px}.metric-tile strong{font-size:26px;line-height:1.1}.readiness-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.readiness-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-left:4px solid var(--border);border-radius:8px;background:#fff;padding:12px;box-shadow:0 8px 20px #10283a0d;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.readiness-card:hover{box-shadow:0 14px 28px #10283a1c;transform:translateY(-1px)}.readiness-card>div:first-child{min-width:0}.readiness-card span,.readiness-score span{color:var(--muted);font-size:12px}.readiness-card strong{display:block}.readiness-score{display:grid;justify-items:end;gap:5px;white-space:nowrap}.readiness-card.risk-high{border-left-color:var(--danger)}.readiness-card.risk-watch{border-left-color:#b98219}.readiness-card.risk-low{border-left-color:var(--success)}.readiness-card.risk-missing{border-left-color:var(--muted)}.risk-pill{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 9px;font-size:12px;font-weight:800;text-transform:uppercase}.risk-pill.risk-high{background:#fae7e7;color:var(--danger)}.risk-pill.risk-watch{background:#fff2d9;color:#875800}.risk-pill.risk-low{background:#e2f3ea;color:var(--success)}.risk-pill.risk-missing{background:var(--surface-strong);color:var(--primary-strong)}.risk-pill.risk-green{background:#e2f3ea;color:var(--success)}.risk-pill.risk-yellow{background:#fff7cc;color:#7a5a00}.risk-pill.risk-orange{background:#fff2d9;color:#875800}.risk-pill.risk-red{background:#fae7e7;color:var(--danger)}.split-layout{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:16px;align-items:start}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.filters{grid-template-columns:1.4fr 1fr 1fr auto}.training-summary-row{display:flex;flex-wrap:wrap;gap:10px 18px;color:var(--muted)}.training-summary-row strong{color:var(--text)}.training-session-list{display:grid;gap:10px}.training-session-row{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(120px,.75fr) minmax(110px,.7fr) minmax(110px,.7fr) minmax(150px,1fr) minmax(130px,.8fr) auto;gap:10px;align-items:end;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-strong)}.training-session-form{grid-template-columns:minmax(150px,1.1fr) minmax(120px,.75fr) minmax(110px,.7fr) minmax(110px,.7fr) minmax(150px,1fr) auto}.session-load-hint{align-self:center;color:var(--primary-strong);font-size:12px;font-weight:850;line-height:1.35}.weekly-planner{border-top-color:var(--primary-strong)}.weekly-planner-title{align-items:flex-start}.weekly-plan-controls{display:grid;grid-template-columns:auto 150px auto auto;gap:10px;align-items:end}.weekly-plan-grid{display:grid;grid-template-columns:repeat(7,minmax(190px,1fr));gap:10px;overflow-x:auto;padding-bottom:2px}.weekly-day-card{display:grid;align-content:start;gap:10px;min-width:190px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:11px;box-shadow:0 8px 22px #10283a0f}.weekly-day-head,.weekly-session-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.weekly-day-head strong,.weekly-day-head span{display:block}.weekly-day-head>div>span{color:var(--muted);font-size:12px}.weekly-session-list{display:grid;gap:8px}.weekly-session-card{display:grid;gap:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface-strong);padding:10px;box-shadow:0 6px 16px #10283a0d}.weekly-session-grid{display:grid;grid-template-columns:1fr .8fr .65fr;gap:8px}.weekly-session-footer span{color:var(--primary-strong);font-size:12px;font-weight:850}.weekly-plan-page{max-width:none}.weekly-plan-state{display:inline-flex;align-items:center;min-height:32px;border:1px solid var(--border);border-radius:999px;background:#e2f3ea;color:var(--success);padding:0 12px;font-size:12px;font-weight:850;text-transform:uppercase}.weekly-plan-state.dirty{background:#fff7cc;color:#7a5a00}.weekly-plan-toolbar{border-top-color:var(--primary-strong)}.weekly-plan-toolbar-grid{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(180px,.8fr) auto auto;gap:12px;align-items:end}.weekly-plan-nav-actions,.weekly-plan-save-actions,.weekly-day-actions,.quick-preset-row,.planner-session-head,.weekly-board-day-head{display:flex;align-items:center}.weekly-plan-nav-actions,.weekly-plan-save-actions,.weekly-day-actions,.quick-preset-row{flex-wrap:wrap;gap:8px}.weekly-plan-save-actions{justify-content:flex-end}.weekly-plan-metrics{grid-template-columns:repeat(4,minmax(160px,1fr))}.weekly-plan-board{border-top-color:var(--primary-strong)}.weekly-board-head{align-items:flex-start}.weekly-board-grid{display:grid;grid-template-columns:repeat(7,minmax(270px,1fr));gap:12px;overflow-x:auto;padding-bottom:4px}.weekly-board-day{display:grid;align-content:start;gap:12px;min-width:270px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:12px;box-shadow:0 10px 28px #10283a12;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.weekly-board-day:hover{box-shadow:var(--shadow-lift);transform:translateY(-1px)}.weekly-board-day.today{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.weekly-board-day.loaded{background:linear-gradient(180deg,#fff 0,#f9fcfd)}.weekly-board-day-head{justify-content:space-between;gap:10px}.weekly-board-day-head strong,.weekly-board-day-head span,.weekly-day-stats strong,.weekly-day-stats span{display:block}.weekly-board-day-head>div>span,.weekly-day-stats span{color:var(--muted);font-size:12px}.weekly-day-stats{display:grid;justify-items:end;gap:3px;white-space:nowrap}.weekly-day-stats strong{color:var(--primary-strong);font-size:20px}.quick-preset-button{min-height:28px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--primary-strong);padding:0 9px;cursor:pointer;font-size:12px;font-weight:800;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}.quick-preset-button:hover{border-color:var(--primary);background:var(--surface-strong);transform:translateY(-1px)}.planner-session-card{background:#fff}.planner-session-head{justify-content:space-between;gap:8px}.planner-session-head label{flex:1;min-width:0}.planner-session-grid{grid-template-columns:1fr .8fr .65fr}.weekly-empty-day{margin:0;border:1px dashed var(--border);border-radius:6px;padding:12px;text-align:center}.weekly-day-actions{justify-content:space-between;margin-top:2px}.compact-actions{align-items:center;justify-content:flex-end}.icon-button{width:34px;min-width:34px;padding:0}.small-button.danger{color:#991b1b}.small-button.danger:hover{background:#fee2e2}.checkbox-line{display:inline-flex;align-items:center;gap:8px;min-height:40px}.checkbox-line input{width:auto;min-height:auto}.context-check{align-self:end;min-height:40px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);padding:0 10px}.monitoring-panel{border-top-color:var(--primary-strong)}.monitoring-title{align-items:flex-start}.monitoring-export-controls{display:grid;grid-template-columns:150px 150px auto;gap:10px;align-items:end}.monitoring-metric-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.confidence-word{font-size:20px}.confidence-high{color:var(--success)}.confidence-medium{color:#875800}.confidence-low{color:var(--danger)}.monitoring-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:12px}.monitoring-chart-panel,.attention-panel{display:grid;align-content:start;gap:12px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:13px;box-shadow:0 8px 22px #10283a0d}.load-trend-chart{display:grid;grid-template-columns:repeat(7,minmax(36px,1fr));gap:8px;min-height:180px}.load-trend-day{display:grid;grid-template-rows:1fr auto;gap:6px;min-width:0}.load-bars{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:3px;min-height:140px;border-bottom:1px solid var(--border)}.load-bar{display:block;min-height:4px;border-radius:4px 4px 0 0}.load-bar.planned,.legend-swatch.planned{background:var(--primary-strong)}.load-bar.observed,.legend-swatch.observed{background:var(--primary)}.load-trend-day small{color:var(--muted);font-size:11px;text-align:center}.chart-legend{display:inline-flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:12px;font-weight:750}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.legend-swatch{display:inline-block;width:12px;height:12px;border-radius:3px}.attention-list,.session-rpe-list,.explain-list{display:grid;gap:10px}.attention-row{display:grid;gap:7px;border:1px solid var(--border);border-radius:6px;background:var(--surface-strong);padding:10px;transition:border-color .14s ease,background .14s ease}.attention-row:hover{border-color:#0093d459;background:#fff}.attention-row>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.attention-row p,.attention-row small,.explain-list ul{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.compact-copy{margin:0;line-height:1.45}.minor-warning-panel{border-left:4px solid #d1a300}.minor-warning-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.minor-warning-row{background:#fffdf0}.missing-chip-list{display:flex;flex-wrap:wrap;gap:8px}.session-rpe-row{display:grid;grid-template-columns:minmax(190px,1.3fr) minmax(120px,.65fr) minmax(160px,1fr) auto;gap:10px;align-items:end;border:1px solid var(--border);border-radius:8px;background:var(--surface-strong);padding:10px}.session-rpe-meta{display:grid;gap:5px;align-self:center}.session-rpe-meta span{color:var(--muted);font-size:12px}.player-metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.explain-list{border:1px solid var(--border);border-radius:6px;background:var(--surface-strong);padding:10px}.explain-list strong{color:var(--primary-strong)}.explain-list ul{padding-left:18px}.player-trend-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.player-trend-chart{display:grid;gap:8px;border:1px solid var(--border);border-radius:6px;background:#fff;padding:10px}.player-trend-chart>span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.spark-bars{display:grid;grid-template-columns:repeat(28,minmax(3px,1fr));align-items:end;gap:2px;min-height:68px}.spark-bars i{display:block;min-height:3px;border-radius:3px 3px 0 0;background:var(--primary)}.table-wrap{overflow-x:auto}.status-pill{gap:6px;min-height:26px;width:fit-content;border-radius:999px;background:var(--surface-strong);color:var(--primary-strong);padding:0 10px;font-size:12px;font-weight:800;text-transform:uppercase}.status-pill.success{background:#dcefe6;color:var(--success)}.quote-modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:18px;background:#0f172a94}.quote-modal{position:relative;display:grid;justify-items:center;gap:14px;width:min(520px,100%);border:1px solid var(--border);border-radius:8px;background:#fff;padding:30px 26px 24px;text-align:center;box-shadow:0 24px 70px #0f172a47}.quote-modal-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:999px;background:var(--surface-strong);color:var(--primary-strong)}.quote-modal span{color:var(--primary-strong);font-size:12px;font-weight:900;letter-spacing:0;text-transform:uppercase}.quote-modal p{margin:0;color:var(--text);font-size:24px;font-weight:800;line-height:1.3}.quote-modal-close{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.quote-modal-close:hover{background:var(--surface-strong);color:var(--primary-strong)}.alert{margin:0;border-radius:6px;padding:11px 12px;font-weight:650}.alert.danger{background:#fae7e7;color:var(--danger)}.alert.success{background:#e2f3ea;color:var(--success)}.toast-stack{position:fixed;top:18px;right:18px;z-index:120;display:grid;gap:10px;width:min(380px,calc(100vw - 32px));pointer-events:none}.toast-message{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--border);border-left:4px solid var(--success);border-radius:8px;background:#fff;color:var(--text);padding:11px 10px 11px 12px;box-shadow:0 14px 34px #10283a2e;pointer-events:auto}.toast-message span{min-width:0;font-size:14px;font-weight:750;line-height:1.35}.toast-message button{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.toast-message button:hover{background:var(--surface-strong);color:var(--primary-strong)}.toast-error{border-left-color:var(--danger)}.toast-error span{color:var(--danger)}.muted,.empty-cell{color:var(--muted)}.empty-cell{text-align:center}.list-button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:56px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);padding:9px 10px;text-align:left;cursor:pointer}.list-button+.list-button{margin-top:8px}.list-button.selected,.list-button:hover{border-color:var(--primary);background:var(--surface-strong)}.list-button strong,.list-button small{display:block}.list-button small{margin-top:4px;color:var(--muted)}.login-layout{display:grid;min-height:100vh;place-items:center;background:radial-gradient(820px 340px at 16% 18%,rgba(0,147,212,.18),transparent 68%),linear-gradient(145deg,rgba(0,52,89,.07) 0 45%,transparent 45%),linear-gradient(180deg,#fff 0,var(--bg) 100%);padding:24px}.login-shell{display:grid;grid-template-columns:minmax(320px,1fr) minmax(360px,430px);gap:24px;width:min(1040px,100%);align-items:stretch}.login-identity{display:grid;align-content:end;gap:22px;min-height:560px;border-radius:8px;background:linear-gradient(150deg,#0093d4e0,#003459f5),var(--primary-strong);color:#fff;padding:34px;box-shadow:var(--shadow-lift)}.login-identity strong,.login-identity span,.login-foot strong,.login-foot p{display:block}.login-identity strong{max-width:420px;font-size:36px;line-height:1.08}.login-identity span{margin-top:8px;color:#ffffffc7;font-size:15px;font-weight:800;text-transform:uppercase}.login-emblem{width:118px;height:118px;border-radius:8px;background:#fff;object-fit:contain;padding:10px}.login-panel{display:grid;align-content:center;gap:16px;border-top:4px solid var(--primary);padding:28px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-panel-head{display:flex;align-items:center;gap:13px}.login-logo{width:58px;height:58px;border:1px solid var(--border);border-radius:8px;object-fit:contain;padding:5px}.login-panel-head h1{margin:0;color:var(--primary-strong);font-size:28px;line-height:1.1}.login-panel-head p,.login-foot p{margin:4px 0 0;color:var(--muted)}.input-field{gap:8px}.input-field label{color:var(--muted);display:block;font-size:13px;font-weight:650}.input-shell{display:flex;align-items:center;gap:9px;min-height:46px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--muted);padding:0 10px}.input-shell:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #0093d424}.input-shell.plain{min-height:40px;padding:0 10px}.input-shell input{min-height:44px;border:0;padding:0;outline:0}.inline-icon-button{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:6px;background:transparent;color:var(--primary-strong);cursor:pointer}.inline-icon-button:hover{background:var(--surface-strong)}.login-submit{justify-content:space-between;min-height:46px;width:100%}.login-foot{border-top:1px solid var(--border);padding-top:14px}.survey-page{max-width:980px;margin:0 auto}.survey-form{display:grid;gap:18px}.question-list{display:grid;gap:12px}.question-row{display:grid;gap:13px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:16px;box-shadow:0 8px 22px #10283a0d}.question-copy{display:grid;gap:6px}.question-copy span{color:var(--primary);font-size:12px;font-weight:800;text-transform:uppercase}.question-copy strong{line-height:1.35}.scale-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.scale-button{display:grid;gap:4px;min-height:72px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);padding:8px;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease,box-shadow .14s ease}.scale-button:hover{border-color:var(--primary);box-shadow:0 8px 18px #0093d41f;transform:translateY(-1px)}.scale-button strong{font-size:20px}.scale-button span{color:var(--muted);font-size:12px;line-height:1.2}.scale-button.selected{border-color:var(--primary);background:var(--surface-strong);box-shadow:inset 0 0 0 1px var(--primary)}.sticky-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;border-top:1px solid var(--border);background:#f4f8faeb;padding:12px 0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-stepper{display:none;align-items:center;gap:7px;overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:#fff;padding:8px;box-shadow:var(--shadow-soft)}.mobile-stepper span{display:inline-flex;align-items:center;min-height:30px;border-radius:999px;background:var(--surface-strong);color:var(--primary-strong);padding:0 11px;font-size:12px;font-weight:800;white-space:nowrap}.mobile-stepper span.active{background:var(--primary);color:#fff}.daily-records-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.player-record-card{display:grid;gap:11px;border:1px solid var(--border);border-left:4px solid var(--border);border-radius:8px;background:#fff;color:var(--text);padding:13px;text-align:left;cursor:pointer;box-shadow:0 8px 22px #10283a0f;transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}.player-record-card:hover,.player-record-card.selected{border-color:var(--primary);border-left-color:var(--primary);background:var(--surface-strong);box-shadow:var(--shadow-lift);transform:translateY(-1px)}.player-record-card.disabled{cursor:not-allowed;opacity:.65}.player-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.player-card-top strong{line-height:1.25}.player-card-meta,.player-card-status{display:flex;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:12px}.player-card-status{color:var(--primary-strong);font-weight:800}.player-card-next,.coach-form-actions,.player-card-actions{display:inline-flex;align-items:center}.player-card-next{justify-content:flex-end;gap:4px;color:var(--primary);font-size:12px;font-weight:900;text-transform:uppercase}.player-card-actions{justify-content:flex-end;gap:6px}.player-card-actions .small-button{border:1px solid var(--border);background:#fff;color:var(--primary-strong)}.player-card-actions .small-button:hover{border-color:var(--primary);background:var(--primary);color:#fff}.player-card-actions .small-button:disabled:hover{border-color:var(--border);background:#fff;color:var(--primary-strong)}.player-record-card:focus-visible{outline:3px solid rgba(0,147,212,.22);outline-offset:2px}.coach-survey-panel{border-top:4px solid var(--primary);padding-top:16px}.coach-form-actions{justify-content:flex-end;flex-wrap:wrap;gap:8px}.mobile-back-button{display:none}.compact-heading h2{margin:0;color:var(--primary-strong);font-size:22px}.public-survey-layout{display:grid;gap:22px;min-height:calc(100vh - 52px)}.public-survey-brand{display:inline-flex;align-items:center;gap:12px;width:fit-content}.public-survey-brand img{width:54px;height:54px;border:1px solid var(--border);border-radius:8px;background:#fff;object-fit:contain;padding:5px}.public-survey-brand strong,.public-survey-brand span{display:block}.public-survey-brand span{color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase}.trend-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.trend-point{display:grid;gap:4px;border:1px solid var(--border);border-radius:6px;background:#fff;padding:10px}.trend-point span,.trend-point small{color:var(--muted);font-size:12px}.trend-point strong{font-size:20px}.response-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.response-summary-grid>div,.notes-box{display:grid;gap:4px;border:1px solid var(--border);border-radius:6px;background:#fff;padding:10px}.response-summary-grid span,.notes-box span,.question-category{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.notes-box p{margin:0}.answers-table td:first-child{display:grid;gap:4px;min-width:360px}.answer-value{display:inline-grid;place-items:center;min-width:34px;height:30px;border-radius:6px;background:var(--primary);color:#fff;font-weight:800}.code-input{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;line-height:1.45}.upload-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.code-input.tall{min-height:460px}.editor-band{min-width:0}.template-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr)}.builder-panel{display:grid;gap:12px;border-top:1px solid var(--border);padding-top:14px}.team-check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.check-tile{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:6px;background:#fff;padding:10px}.check-tile input{width:auto;min-height:auto}.check-tile strong,.check-tile small{display:block}.check-tile small{color:var(--muted)}.builder-question{display:grid;gap:14px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:14px}.builder-question-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.builder-question-head span{color:var(--primary);font-size:12px;font-weight:800;text-transform:uppercase}.builder-question-head strong{display:block;margin-top:3px}.inline-actions{display:inline-flex;gap:6px}.compact-title h3{margin:0;font-size:15px}.question-labels,.label-grid{display:grid;gap:8px}.label-row{display:grid;grid-template-columns:34px minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center}.label-row strong{color:var(--primary-strong)}.footer-save{justify-self:end}@media(max-width:1050px){.app-shell{grid-template-columns:1fr}.login-shell{grid-template-columns:minmax(0,1fr);width:min(460px,100%)}.login-identity{display:none}.sidebar{position:static;height:auto;grid-template-rows:auto auto auto;box-shadow:none}.nav-list{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;padding-bottom:2px}.account-box{border-top:0;padding-top:0}.split-layout,.metric-grid,.monitoring-metric-grid,.monitoring-split,.response-summary-grid,.player-metrics-grid,.form-grid,.form-grid.filters,.form-grid.two,.training-session-form,.training-session-row,.monitoring-export-controls,.weekly-plan-controls,.weekly-plan-toolbar-grid,.weekly-plan-metrics,.weekly-session-grid,.planner-session-grid,.session-rpe-row,.upload-row{grid-template-columns:1fr}.weekly-plan-save-actions{justify-content:flex-start}.weekly-board-grid,.weekly-plan-grid{scroll-snap-type:x proximity}.weekly-board-day,.weekly-day-card{scroll-snap-align:start}}@media(max-width:680px){body{background:linear-gradient(180deg,#ffffff 0,var(--bg) 220px)}.app-shell{display:block;min-height:100vh;padding-bottom:82px}.signed-out-shell{padding-bottom:0}.sidebar{display:none}.mobile-topbar{position:sticky;top:0;z-index:70;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:64px;border-bottom:1px solid rgba(214,221,226,.9);background:#ffffffe6;padding:10px 14px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-topbar .brand-mark{width:38px;height:34px}.mobile-topbar .language-switch{border-color:var(--border)}.mobile-topbar .language-switch button{color:var(--primary-strong)}.mobile-topbar .icon-button{background:var(--surface-strong);color:var(--primary-strong)}.mobile-bottom-nav{position:fixed;right:10px;bottom:10px;left:10px;z-index:75;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(70px,1fr);gap:6px;overflow-x:auto;border:1px solid rgba(214,221,226,.9);border-radius:8px;background:#fffffff0;padding:8px;box-shadow:0 18px 40px #10283a38;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-nav-link{justify-content:center;gap:4px;min-height:52px;min-width:70px;border-radius:6px;color:var(--muted);padding:5px 8px;text-align:center;text-decoration:none}.mobile-nav-link span{overflow:hidden;max-width:64px;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:850}.mobile-nav-link.router-link-active{background:var(--primary);color:#fff}.login-layout{padding:16px}.login-panel{padding:22px}.login-panel-head{align-items:flex-start}.login-panel-head h1{font-size:24px}.main-surface{padding:16px 14px 18px}.page-heading{align-items:stretch;flex-direction:column}.page-heading h1{font-size:23px}.button-link,.primary-action,.small-button{min-height:44px}.page-heading>.primary-action,.button-link,.primary-action{width:100%}.section-band{gap:14px;padding:14px}.section-title{align-items:stretch;flex-direction:column}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-tile{min-height:112px;padding:14px}.metric-tile strong{font-size:23px}.table-wrap{margin-right:-14px;margin-left:-14px;padding-right:14px;padding-left:14px}.scale-grid{grid-template-columns:1fr}.scale-button{grid-template-columns:34px 1fr;align-items:center;min-height:48px;text-align:left}.mobile-stepper{display:flex}.mobile-flow-panel.hiddenMobile{display:none}.mobile-flow-panel{animation:flow-panel-enter .18s ease-out}.daily-records-grid{grid-template-columns:1fr}.player-record-card{grid-template-columns:1fr;min-height:128px;padding:14px}.player-card-actions{justify-content:stretch}.player-card-actions .small-button{flex:1;min-width:0}.player-record-card.selected{background:#fff}.player-card-next{min-height:30px}.coach-survey-panel{border:0;padding-top:0}.coach-form-actions{justify-content:stretch}.mobile-back-button{display:inline-flex;width:100%}.sticky-actions{justify-content:stretch;margin:0 -14px;padding:12px 14px}.weekly-board-grid{grid-template-columns:repeat(7,minmax(82vw,1fr));margin-right:-14px;margin-left:-14px;padding:2px 14px 8px}.weekly-board-day{min-width:82vw}.weekly-plan-nav-actions,.weekly-plan-save-actions,.weekly-day-actions,.quick-preset-row{align-items:stretch}.weekly-day-actions .small-button,.weekly-plan-save-actions .small-button,.weekly-plan-save-actions .primary-action{flex:1;width:auto}.planner-session-head{align-items:end}.quote-modal{padding:28px 18px 20px}.quote-modal p{font-size:20px}.builder-question-head{align-items:stretch;flex-direction:column}.inline-actions{justify-content:flex-start;flex-wrap:wrap}.toast-stack{top:74px;right:12px;left:12px;width:auto}.label-row{grid-template-columns:1fr}}@keyframes flow-panel-enter{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}
