@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Onest:wght@400;500;600;700;800&display=swap";:root{--bg: #f8f9fa;--surface: #ffffff;--surface-soft: #f5f5f5;--font-sans: "Inter", "Onest", "Aptos", "Segoe UI Variable", "Segoe UI", ui-sans-serif, system-ui, sans-serif;--ink: #111111;--text-strong: #111827;--muted: #6b7280;--text-muted: #64748b;--line: #e5e7eb;--line-soft: #f3f4f6;--primary: #111111;--primary-dark: #242424;--primary-soft: #f3f4f6;--danger: #ef4444;--danger-soft: #fff1f1;--warning: #f59e0b;--warning-soft: #fff7ed;--success: #10b981;--success-soft: #ecfdf5;--accent: #3b82f6;--accent-soft: #eff6ff;--slate-strong: #111111;--shadow: 0 1px 2px rgb(15 23 42 / 5%);--shadow-raised: 0 10px 28px rgb(15 23 42 / 8%);--radius: 12px}*{box-sizing:border-box}html{background:var(--bg);color-scheme:light;min-width:0}body{background:var(--bg);color:var(--text-strong);font-feature-settings:"cv02","cv03","cv04","tnum";font-family:var(--font-sans);font-size:15px;font-weight:400;letter-spacing:0;line-height:1.45;margin:0;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,select{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{color:var(--text-strong);font-family:var(--font-sans);font-size:2.15rem;font-weight:700;letter-spacing:0;line-height:1.06;margin-bottom:12px}h2{color:var(--text-strong);font-family:var(--font-sans);font-size:1.55rem;font-weight:600;letter-spacing:0;margin-bottom:14px}h3{color:var(--text-strong);font-family:var(--font-sans);font-size:1.15rem;font-weight:600;line-height:1.15;margin-bottom:10px}.icon{flex:0 0 auto;height:1.1em;width:1.1em}.muted,.hint,.recorded-note,.student-card p,.session-card p{color:var(--text-muted)}.topbar{background:var(--surface);border-bottom:1px solid var(--line-soft);position:sticky;top:0;z-index:10}.topbar-inner{align-items:center;display:flex;gap:16px;justify-content:space-between;margin:0 auto;max-width:1180px;min-height:82px;padding:0 28px}.brand-row,nav,.hero-actions,.panel-title-row,.student-main,.session-meta{align-items:center;display:flex}.brand-row{color:var(--text-strong);gap:10px}.brand-row strong{color:inherit;font-size:1.6rem;font-weight:900}.brand-short{display:none}.brand-symbol{align-items:center;color:var(--text-strong);display:inline-flex;font-size:.88rem;font-weight:1000;height:30px;justify-content:center;letter-spacing:0;width:30px}nav{gap:12px}.app-nav{background:#fffffff0;border-top:1px solid var(--line);bottom:0;box-shadow:0 -10px 28px #141c2d1a;display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(0,1fr));left:0;padding:8px max(10px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-right));position:fixed;right:0;z-index:20}.app-nav button{align-items:center;background:transparent;border:0;border-radius:8px;color:var(--text-muted);display:grid;font-size:.72rem;font-weight:900;gap:4px;justify-items:center;min-height:52px;padding:6px 4px}.app-nav button.active{background:var(--primary-soft);color:var(--primary)}.app-nav .icon{height:1.25rem;width:1.25rem}.nav-name{color:var(--text-strong);font-weight:800}.avatar-button{align-items:center;background:#eef1f7;border:2px solid #c5ccda;border-radius:16px;color:var(--text-muted);display:inline-flex;height:48px;justify-content:center;padding:0;width:48px}.container{margin:0 auto;max-width:1180px;padding:28px 28px 104px}.home-hero,.records-hero{display:grid;gap:24px;margin-bottom:34px}.date-label,.eyebrow,label,th,.summary-card span,.session-info-grid span,.active-session-card span{color:var(--text-strong);font-size:.86rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.date-label{color:var(--text-muted);font-size:1.05rem;margin-bottom:12px}.hero-actions{flex-wrap:wrap;gap:18px}.page-hero{margin-bottom:28px}.page-hero p:last-of-type{margin-bottom:0}.page-hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}.page-hero-meta span{background:var(--primary-soft);border:1px solid #c7dcff;border-radius:999px;color:var(--primary);display:inline-flex;font-size:.82rem;font-weight:900;padding:7px 10px}.page-hero-actions{align-items:center;justify-content:space-between;margin-top:20px}.app-nav.section-nav{background:transparent;border:0;bottom:auto;box-shadow:none;display:flex;flex:1 1 560px;gap:10px;left:auto;padding:0;position:static;right:auto}.app-nav.section-nav button{align-items:center;border:1px solid var(--line);color:var(--text-muted);display:inline-flex;flex:0 0 auto;font-size:.82rem;gap:8px;justify-content:center;min-height:44px;padding:10px 14px}.app-nav.section-nav button.active{border-color:var(--primary)}.primary-button,.secondary-button,.ghost-button,.danger-button{align-items:center;border:1px solid transparent;border-radius:8px;display:inline-flex;gap:10px;font-weight:750;justify-content:center;min-height:48px;padding:12px 20px;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.primary-button{background:var(--primary);box-shadow:none;color:#fff}.primary-button:hover,.primary-button:focus-visible{background:var(--primary-dark)}.primary-button:active,.secondary-button:active,.ghost-button:active,.danger-button:active,.icon-button:active{transform:translateY(1px)}.compact-action{min-height:44px;padding:10px 14px;white-space:nowrap}.icon-button{align-items:center;background:#f5f7fc;border:1px solid var(--line);border-radius:999px;color:var(--text-strong);display:inline-flex;font-size:1rem;font-weight:900;height:42px;justify-content:center;line-height:1;width:42px}.icon-button:hover,.icon-button:focus-visible{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.secondary-button{background:#fff;border-color:var(--primary);color:var(--primary)}.secondary-button:hover,.secondary-button:focus-visible{background:var(--primary-soft)}.ghost-button{background:var(--surface);border-color:var(--line);color:var(--ink)}.ghost-button:hover,.ghost-button:focus-visible{background:#f8fafc;border-color:#cbd5e1}.danger-text{border-color:#fecaca;color:#b42318}.danger-text:hover,.danger-text:focus-visible{background:#fff5f5;border-color:#fca5a5;color:#991b1b}.danger-button{background:var(--danger-soft);border-color:#f3b5b8;color:var(--danger)}button:disabled,input:disabled{cursor:not-allowed;opacity:.6}:focus-visible{outline:3px solid rgb(6 76 163 / 28%);outline-offset:3px}.dashboard-strip{display:grid;gap:20px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:28px}.summary-card,.panel,.session-card,.student-card,.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.summary-card{display:grid;grid-template-columns:minmax(0,1fr) 116px;min-height:174px;overflow:hidden}.summary-card>div:first-child{padding:26px 28px}.summary-card strong{display:inline-block;font-size:4.6rem;font-weight:950;letter-spacing:0;line-height:1;margin-top:36px}.summary-card small{color:var(--text-muted);font-size:1.15rem;margin-left:8px}.summary-icon{align-items:start;display:flex;justify-content:center;padding-top:32px}.summary-icon .icon{border-radius:18px;height:58px;padding:14px;width:58px}.summary-icon.blue{background:#f0f3f9;color:var(--primary)}.summary-icon.blue .icon{background:#dfe8f7}.summary-card.accent-trial span,.summary-card.accent-trial strong{color:#7c2304}.summary-icon.brown{background:#faf5f2;color:#7c2304}.summary-icon.brown .icon{background:#f2e3dc}.summary-card.accent-danger{background:#fff7f7;border-color:#f0b9bd}.summary-card.accent-danger span,.summary-card.accent-danger strong,.summary-card.accent-danger small{color:var(--danger)}.summary-icon.red{background:#fde2e4;color:var(--danger)}.summary-icon.red .icon{background:#facacc}.area-overview-summary{grid-template-columns:minmax(0,1fr);margin-bottom:18px}.area-overview-summary .summary-card{grid-template-columns:minmax(0,1fr) 112px;min-height:136px}.area-overview-summary .summary-card>div:first-child{padding:22px 24px}.area-overview-summary .summary-card strong{font-size:3.8rem;margin-top:18px}.area-overview-summary .summary-card small{display:block;margin-left:0;margin-top:6px}.area-overview-summary .summary-icon{padding-top:26px}.area-overview-summary .summary-icon .icon{height:54px;padding:12px;width:54px}.progress-track{background:#e2e5ee;border-radius:999px;height:7px;margin-top:24px;overflow:hidden}.progress-track div{background:#3566b2;border-radius:inherit;height:100%}.panel{padding:22px}.coach-shell{display:grid;gap:24px}.coach-hero{display:grid;gap:24px;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr)}.coach-hero-main{background:radial-gradient(circle at top right,rgb(96 165 250 / .28),transparent 30%),linear-gradient(135deg,#0f172a,#102f57 52%,#1d4f91);border-radius:22px;color:#f8fafc;min-height:280px;padding:28px;position:relative;overflow:hidden}.coach-hero-main:after{background:linear-gradient(90deg,transparent,rgb(255 255 255 / .16),transparent);content:"";height:1px;left:28px;position:absolute;right:28px;top:88px}.coach-eyebrow{color:#e2e8f0e6;font-size:.86rem;font-weight:800;letter-spacing:0;margin:0 0 18px;text-transform:uppercase}.coach-hero-main h1{color:#fff;font-size:2.6rem;font-weight:700;line-height:1.06;margin-bottom:14px;max-width:9ch}.coach-hero-copy{color:#e2e8f0eb;font-size:1.1rem;margin:0;max-width:56ch}.coach-hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.coach-hero-meta span,.coach-filter-summary span{background:#ffffff1f;border:1px solid rgb(255 255 255 / .14);border-radius:999px;color:#eff6ff;display:inline-flex;font-size:.88rem;font-weight:700;padding:8px 12px}.coach-hero-side{background:linear-gradient(180deg,#fff,#f8fbff),#fff;border-radius:22px;min-height:280px}.coach-side-label{color:var(--text-muted);display:block;font-size:.8rem;font-weight:900;letter-spacing:0;margin-bottom:10px;text-transform:uppercase}.coach-hero-side>strong{display:block;font-family:var(--font-sans);font-size:3rem;line-height:1;margin-bottom:14px}.coach-side-kpis{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}.coach-side-kpis div,.coach-roster-stat{background:#f8fafc;border:1px solid #dbe4f0;border-radius:16px;padding:14px}.coach-side-kpis span,.coach-roster-stat span{color:var(--text-muted);display:block;font-size:.78rem;font-weight:900;letter-spacing:0;margin-bottom:8px;text-transform:uppercase}.coach-side-kpis strong,.coach-roster-stat strong{color:var(--slate-strong);display:block;font-family:var(--font-sans);font-size:2rem;line-height:1}.coach-quick-actions{align-items:center;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) auto}.coach-status-banner{align-items:center;background:#fff;border:1px solid #dbe4f0;border-radius:18px;display:flex;gap:14px;justify-content:space-between;min-height:64px;padding:14px 18px}.coach-status-banner span{color:var(--text-muted);font-weight:700}.coach-status-banner strong{color:var(--slate-strong);font-family:var(--font-sans);font-size:1.8rem;line-height:1;white-space:nowrap}.coach-stat-grid{display:grid;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr))}.coach-stat-card{background:#fff;border:1px solid #d6e0ec;border-top:5px solid var(--primary);border-radius:20px;min-height:178px;padding:22px}.coach-stat-card span{color:var(--text-muted);display:block;font-size:.8rem;font-weight:900;letter-spacing:0;margin-bottom:12px;text-transform:uppercase}.coach-stat-card strong{color:var(--slate-strong);display:block;font-family:var(--font-sans);font-size:4.2rem;line-height:.95;margin-bottom:12px}.coach-stat-card p{color:var(--text-muted);margin-bottom:0}.coach-stat-card.accent-blue{border-top-color:#2563eb}.coach-stat-card.accent-orange{border-top-color:var(--accent)}.coach-stat-card.accent-slate{border-top-color:var(--slate-strong)}.coach-dashboard-grid{display:grid;gap:24px;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}.coach-focus-panel,.coach-session-preview,.coach-session-shell,.coach-record-panel,.coach-records-panel,.coach-side-panel{border-radius:20px}.coach-focus-list,.coach-preview-list{display:grid;gap:14px;margin-top:18px}.coach-focus-list article,.coach-preview-card{align-items:start;background:#f8fafc;border:1px solid #dbe4f0;border-radius:16px;display:grid;gap:14px;grid-template-columns:auto minmax(0,1fr);padding:16px}.coach-focus-list article span{align-items:center;background:var(--slate-strong);border-radius:999px;color:#fff;display:inline-flex;font-family:var(--font-sans);font-size:1.2rem;font-weight:800;height:34px;justify-content:center;width:34px}.coach-focus-list article strong{color:var(--slate-strong);display:block;font-size:1.1rem;margin-bottom:4px}.coach-focus-list article p,.coach-preview-card p,.coach-empty-block p{color:var(--text-muted);margin:0}.coach-preview-card{align-items:center;grid-template-columns:minmax(0,1fr) auto}.coach-preview-card h3{font-size:1.45rem;margin:8px 0 4px}.coach-empty-block,.coach-empty-card{background:linear-gradient(180deg,#fff,#f8fafc),#fff;border-style:dashed}.coach-empty-block{border:1px dashed #bfd0e2;border-radius:16px;margin-top:18px;padding:20px}.coach-empty-block strong{color:var(--slate-strong);display:block;font-size:1.1rem;margin-bottom:6px}.coach-filter-summary{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.coach-filter-summary span{background:#eff6ff;border:1px solid #cfe0ff;color:var(--primary)}.coach-session-layout{margin-top:0}.coach-session-card{border-left-width:0;border-radius:20px;position:relative}.coach-session-card:before{background:linear-gradient(180deg,#1d4ed8,#60a5fa);border-radius:999px;content:"";left:18px;position:absolute;top:22px;bottom:22px;width:5px}.coach-session-card>*{position:relative}.coach-session-card .session-meta,.coach-session-card h3,.coach-session-card p,.coach-session-card .recorded-note,.coach-session-card .primary-button,.coach-session-card .secondary-button{margin-left:16px}.coach-session-card.selected{background:linear-gradient(180deg,#f8fbff,#eef5ff);border-color:#b8d2ff}.coach-active-session-card{background:linear-gradient(180deg,#fff,#f8fbff)}.coach-kicker{margin-bottom:18px}.coach-roster-toolbar{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.coach-search{margin-top:0}.coach-student-card{border-radius:18px;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.coach-student-card:hover{border-color:#b8cce6;box-shadow:0 10px 24px #0f172a12;transform:translateY(-1px)}.coach-side-stack{display:grid;gap:20px}.coach-side-panel{height:fit-content}.panel-title-row{gap:18px;justify-content:space-between}.panel-title-row p{margin-bottom:0}.action-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.segmented-control{align-items:center;background:#f8fafc;border:1px solid var(--line);border-radius:10px;display:inline-grid;gap:2px;grid-auto-flow:column;padding:3px}.segmented-control button{background:transparent;border:0;border-radius:7px;color:var(--text-muted);font-weight:750;min-height:36px;padding:8px 13px}.segmented-control button:hover,.segmented-control button:focus-visible{background:#eef2f7;color:var(--text-strong)}.segmented-control button.active{background:#111827;box-shadow:0 4px 12px #0f172a1f;color:#fff}.pill,.session-tag,.time-tag{border-radius:4px;display:inline-flex;font-weight:900;letter-spacing:0;padding:4px 10px;text-transform:uppercase}.pill,.session-tag{background:#dceaff;color:var(--primary)}.time-tag{background:#e4e7ef;color:#303744}.form-stack{display:grid;gap:16px}.form-note-block{align-content:start;background:var(--surface-soft);border:1px solid var(--line-soft);border-radius:8px;display:grid;gap:8px;padding:14px 16px}.form-note-block p{margin-bottom:0}label{display:grid;gap:8px}input,select,textarea{appearance:none;background:#fff;border:1.5px solid #c7cedd;border-radius:5px;color:var(--ink);min-height:50px;outline:none;padding:12px 14px;transition:border-color .16s ease,box-shadow .16s ease;width:100%}select{background-image:linear-gradient(45deg,transparent 50%,#4b5563 50%),linear-gradient(135deg,#4b5563 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:34px}.modal-card select,.modal-card select option{background-color:#fff;color:var(--text-strong)}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px #064ca31f}textarea{min-height:96px;resize:vertical}select[multiple],.multi-select{min-height:140px;padding-block:8px}.coach-picker-form{gap:14px;margin-bottom:18px}.coach-picker-block{display:grid;gap:10px}.coach-search-field{display:block}.coach-search-field input{max-width:360px}.coach-picker-label{color:var(--text-strong);font-size:.86rem;font-weight:900;text-transform:uppercase}.coach-picker-list{display:flex;flex-wrap:wrap;gap:10px}.coach-picker-chip,.coach-selection-pill{align-items:flex-start;background:#f8f9ff;border:1px solid #c7d2e5;border-radius:999px;color:var(--text-strong);display:inline-flex;flex-direction:column;font-weight:800;gap:2px;min-height:42px;padding:10px 14px}.coach-picker-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.coach-selection-preview{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));max-height:240px;overflow-y:auto;padding-right:2px}.coach-selection-preview-block{display:grid;gap:10px}.coach-selection-preview-head{align-items:center;display:flex;gap:10px;justify-content:space-between}.coach-selection-count{align-items:center;background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;color:var(--text-strong);display:inline-flex;font-size:.8rem;font-weight:900;min-width:34px;justify-content:center;padding:4px 10px}.coach-selection-pill{background:#eef4ff;border-color:#b8cefb;color:var(--primary);display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;min-height:0;padding:12px 14px;text-align:left}.coach-selection-copy{display:grid;gap:4px;min-width:0}.coach-selection-pill span{font-size:1rem;line-height:1.15}.coach-selection-remove{align-items:center;color:#4b5563;display:inline-flex;font-size:1.15rem;font-weight:900;justify-content:center;line-height:1;min-width:18px}.coach-picker-meta{color:var(--text-muted);font-size:.72rem;font-weight:700;line-height:1.2}.coach-picker-chip.active .coach-picker-meta{color:#ffffffdb}.coach-picker-empty{padding:10px 2px}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.toolbar{align-items:end;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-top:20px}.filter-panel,.admin-filter-panel{margin-bottom:28px}.session-layout,.attendance-layout,.grid.two{display:grid;gap:24px;grid-template-columns:minmax(0,1fr) minmax(290px,380px);margin-top:24px}.session-list,.student-list{display:grid;gap:20px}.session-card{border-left:6px solid var(--primary);padding:24px}.session-card.selected{background:#f8fbff}.session-card.empty-session{border-left-color:#9aa3b2}.session-meta{flex-wrap:wrap;gap:12px;margin-bottom:18px}.session-card h3{font-size:1.8rem}.session-card p{font-size:1rem}.session-card .primary-button,.session-card .secondary-button{margin-top:18px;width:100%}.recorded-note{font-size:.95rem;font-weight:900;margin-top:12px;text-align:right}.session-info-grid,.active-session-card{border:1px solid var(--line-soft);border-radius:var(--radius);display:grid;gap:0;grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0;overflow:hidden}.session-info-grid span,.active-session-card span{border-right:1px solid var(--line-soft);display:grid;gap:8px;padding:16px}.session-info-grid span:nth-child(2n),.active-session-card span:nth-child(2n){border-right:0}.session-info-grid strong,.active-session-card strong{color:var(--ink);font-size:1.1rem;line-height:1.2;text-transform:none}.record-panel{padding:24px}.active-session-card{grid-template-columns:repeat(4,minmax(0,1fr))}.active-session-card span:nth-child(2n){border-right:1px solid var(--line-soft)}.active-session-card span:last-child{border-right:0}.student-search{align-items:end;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) auto;margin:22px 0}.records-student-filter-row{grid-template-columns:minmax(0,1fr) auto auto auto}.realtime-search{align-items:center}.search-count{background:var(--primary-soft);border-radius:999px;color:var(--primary);font-size:.95rem;font-weight:900;padding:10px 14px;white-space:nowrap}.table-pagination{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:18px}.pagination-status{color:var(--text-muted);font-size:.9rem;font-weight:850}.pagination-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:18px}.pagination-info{color:var(--text-muted);font-size:.88rem;font-weight:600}.pagination-controls{align-items:center;display:flex;gap:6px;flex-wrap:wrap}.student-card{padding:20px}.student-main{gap:14px;justify-content:space-between}.student-main>div{flex:1;min-width:0}.student-main h3{font-size:1.05rem;margin-bottom:3px}.student-main p{font-size:.9rem;font-weight:800;margin-bottom:0}.student-avatar{align-items:center;background:#dbe5ff;border-radius:16px;color:#0d1b3f;display:inline-flex;flex:0 0 auto;font-size:1.25rem;font-weight:900;height:58px;justify-content:center;width:58px}.status-row.segmented{background:#eff1fa;border:1px solid var(--line-soft);border-radius:5px;display:grid;gap:0;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px;overflow:hidden}.status-button{background:transparent;border:0;color:#1f2937;font-weight:800;min-height:44px;padding:10px}.status-button.active{color:#fff}.status-button.active.present{background:var(--primary)}.status-button.active.absent{background:var(--danger)}.status-button.active.late{background:var(--warning)}.status-button:disabled{opacity:1}.clear-link{background:transparent;border:0;color:var(--muted);font-weight:800;margin-top:10px;padding:0;text-decoration:underline}.locked-note{color:var(--muted);font-size:.82rem;font-weight:800;margin:10px 0 0}.note-list{display:grid;gap:12px;margin-top:16px}.note-card{background:#fffdf4;border:1px solid #eadfae;border-radius:var(--radius);padding:14px}.note-card strong{color:#5f4200;display:block;font-size:.9rem;margin-bottom:6px}.note-card p{margin-bottom:8px}.note-card span,.note-empty{color:var(--muted);font-size:.82rem}.admin-notes-panel{margin-bottom:24px}.modal-backdrop{align-items:center;background:#0f172a73;display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:50}.modal-card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 28px 70px #0f172a47;max-height:min(760px,calc(100vh - 36px));max-height:min(760px,calc(100dvh - 36px));max-width:560px;overflow:auto;padding:24px;width:100%}.modal-card:focus-visible{outline:3px solid rgb(59 130 246 / 24%);outline-offset:3px}.modal-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.modal-header h2{margin-bottom:6px}.confirm-modal{max-width:480px}.confirm-modal-actions{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}.confirm-modal-actions .primary-button,.confirm-modal-actions .secondary-button{width:100%}.export-modal{max-width:720px}.export-summary-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.export-summary-strip span{background:var(--surface-soft);border:1px solid var(--line-soft);border-radius:999px;color:var(--text-muted);font-size:.78rem;font-weight:800;padding:6px 10px}.export-filter-grid{align-items:start}.export-fieldset{border:1px solid var(--line);border-radius:8px;display:grid;gap:12px;margin:0;padding:14px}.export-fieldset legend{color:var(--text-strong);font-size:.82rem;font-weight:900;padding:0 6px}.export-check-list{display:grid;gap:8px}.export-status-list,.export-column-list{grid-template-columns:repeat(3,minmax(0,1fr))}.export-checkbox{align-items:center;background:#fff;border:1px solid var(--line-soft);border-radius:8px;display:flex;gap:10px;min-height:44px;padding:8px 10px}.export-checkbox input{appearance:auto;-webkit-appearance:checkbox;accent-color:var(--accent);border:0;box-shadow:none;flex:0 0 18px;height:18px;margin:0;min-height:18px;padding:0;width:18px}.export-checkbox span{color:var(--text-strong);font-size:.88rem;font-weight:800}.coach-type-stack{display:grid;gap:10px;max-width:340px}.coach-lead-summary{align-items:center;background:#f8fafc;border:1px solid var(--line-soft);border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;min-height:48px;padding:8px 10px}.coach-lead-summary.is-active{background:#f2fbf6;border-color:#cbeedd}.coach-lead-summary-copy{display:grid;gap:5px;min-width:0}.coach-lead-summary-label{color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.06em;line-height:1;text-transform:uppercase}.coach-lead-chip-row{display:flex;flex-wrap:wrap;gap:5px;min-width:0}.coach-lead-chip{background:#fff;border:1px solid #cfe7db;border-radius:6px;color:#0d7c59;font-size:.76rem;font-weight:900;line-height:1.15;max-width:120px;overflow:hidden;padding:4px 7px;text-overflow:ellipsis;white-space:nowrap}.coach-lead-chip.muted-chip,.coach-lead-empty{color:var(--muted)}.coach-lead-chip.muted-chip{border-color:var(--line-soft)}.coach-lead-empty{font-size:.82rem;font-weight:800}.coach-lead-edit-button{min-height:34px;padding-inline:12px}.coach-lead-area-controls{border:0;display:grid;gap:8px;margin:10px 0 0;padding:0}.coach-lead-area-controls legend{color:var(--muted);font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.coach-lead-area-list{display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));max-height:280px;max-width:620px;overflow:auto;padding-right:4px}.coach-lead-area-option{min-height:38px;padding:6px 9px}.coach-lead-area-option span{font-size:.82rem}.coach-lead-area-modal{max-width:680px}.coach-lead-area-editor-summary{align-items:center;background:var(--surface-soft);border:1px solid var(--line-soft);border-radius:8px;color:var(--muted);display:flex;flex-wrap:wrap;font-size:.86rem;font-weight:800;gap:10px;justify-content:space-between;padding:10px 12px}.lead-area-editor-fieldset{margin-top:0}.lead-area-editor-grid{max-height:360px}.export-modal-actions{align-items:center;display:flex;gap:10px;justify-content:flex-end}.status-pill{border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:900;padding:5px 10px}.status-select{border-radius:999px;font-size:.82rem;font-weight:900;min-height:38px;min-width:132px;padding:7px 34px 7px 12px;width:auto}.session-student-search-results{border:1px solid var(--line);border-radius:8px;display:grid;gap:10px;margin:0 0 16px;max-height:320px;overflow:auto;padding:12px}.session-student-search-item{align-items:center;border:1px solid var(--line-soft);border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:10px 12px}.session-student-search-item strong{display:block;font-size:.96rem;margin-bottom:2px}.session-status-actions{display:inline-flex;flex-wrap:wrap;gap:8px}.status-button{background:#fff;border:1px solid #c7cedd;border-radius:999px;color:var(--text-strong);font-size:.82rem;font-weight:800;min-height:34px;padding:6px 12px}.status-button.present.active{background:var(--success-soft);border-color:#7dd3b0;color:#065f46}.status-button.absent.active{background:var(--danger-soft);border-color:#f1a9ad;color:#991b1b}.status-button.late.active{background:var(--warning-soft);border-color:#f7c78d;color:#92400e}.status-button:disabled{opacity:.6}.status-present{background:var(--success-soft);color:var(--success)}.status-absent{background:var(--danger-soft);color:var(--danger)}.status-late{background:var(--warning-soft);color:var(--warning)}.no-session-card{margin-top:24px}.auth-page{align-items:center;background:linear-gradient(180deg,#fff,#f4f4f4);display:flex;justify-content:center;min-height:100vh;padding:28px}.auth-card{border-color:var(--line-soft);box-shadow:none;display:grid;gap:22px;max-width:590px;padding:clamp(26px,6vw,48px);width:100%}.auth-logo{align-items:center;color:var(--primary);display:grid;gap:14px;justify-items:center;margin-bottom:20px}.auth-logo strong{font-size:2.2rem;font-weight:500;text-align:center}.brand-mark{align-items:center;background:#111;border-radius:12px;color:#fff;display:inline-flex;font-weight:900;height:92px;justify-content:center;width:92px}.auth-copy{margin-bottom:22px}.auth-copy h1{font-size:1.9rem;font-weight:700}.auth-copy p{font-size:1.2rem}.auth-submit{margin-top:18px;width:100%}.hint{border-top:1px solid var(--line-soft);font-weight:800;margin:26px 0 0;padding-top:18px;text-align:center}.error-banner,.success-banner{background:var(--danger-soft);border:1px solid #f2b7bb;border-radius:var(--radius);color:var(--danger);font-weight:800;margin-bottom:18px;padding:14px}.success-banner{background:var(--success-soft);border-color:#a7f3d0;color:#047857}.password-reset-modal{max-width:520px}.password-reset-error{margin-bottom:0}.loading-banner{align-items:center;background:#f8fafc;border:1px solid var(--line);border-radius:var(--radius);color:var(--text-muted);display:flex;font-size:.9rem;font-weight:800;gap:10px;margin-bottom:18px;min-height:44px;padding:12px 14px}.loading-banner:before{animation:loading-pulse .9s ease-in-out infinite;background:var(--accent);border-radius:999px;content:"";flex:0 0 auto;height:8px;width:8px}@keyframes loading-pulse{0%,to{opacity:.35;transform:scale(.86)}50%{opacity:1;transform:scale(1)}}.admin-shell{background:#f8f9fa;display:grid;grid-template-columns:268px minmax(0,1fr);min-height:100vh}.admin-sidebar{background:#10151f;border-right:1px solid #242424;color:#f8fafc;display:flex;flex-direction:column;gap:26px;height:100dvh;left:0;overflow:hidden;padding:22px 16px;position:fixed;top:0;width:268px;z-index:15}.admin-brand{align-items:center;display:flex;gap:12px;padding:6px 8px 16px}.admin-brand-logo{flex:0 0 auto;height:36px;width:auto}.admin-sidebar-label{color:#74839b;font-size:.72rem;font-weight:900;letter-spacing:0;padding:0 8px;text-transform:uppercase}.admin-brand .brand-symbol{background:#f8fafc;border-radius:8px;color:#111}.admin-brand strong,.admin-account strong{display:block;font-size:.96rem;line-height:1.1}.admin-brand span:last-child,.admin-account span:last-child{color:#9aa8bd;display:block;font-size:.78rem;font-weight:800;margin-top:4px}.admin-sidebar-nav{display:grid;gap:6px}.admin-sidebar-nav button{align-items:center;background:transparent;border:1px solid transparent;border-radius:8px;color:#b7c2d4;display:flex;font-weight:850;gap:10px;min-height:42px;padding:9px 12px;text-align:left}.admin-sidebar-nav button:hover,.admin-sidebar-nav button:focus-visible{background:#1a2230;color:#fff}.admin-sidebar-nav button.active{background:#fff;color:#111}.admin-account{align-items:center;border-top:1px solid #252d3a;display:grid;gap:12px;grid-template-columns:42px minmax(0,1fr) 38px;margin-top:auto;padding-top:18px}.admin-account .student-avatar{background:#f5f5f5;border-radius:999px;color:#111;font-size:.95rem;height:42px;width:42px}.admin-logout-button{background:#1a2230;border-color:#303a4b;color:#f8fafc;grid-column:auto;height:38px;justify-self:end;width:38px}.admin-logout-button:hover,.admin-logout-button:focus-visible{background:#243044;border-color:#46566f;color:#fff}.admin-main{grid-column:2;justify-self:center;max-width:1280px;min-width:0;padding:28px 28px 104px;width:100%}.admin-topbar{align-items:flex-start;background:#fff;border:1px solid var(--line-soft);border-radius:12px;display:grid;gap:14px;margin-bottom:18px;padding:20px 22px}.admin-topbar-main{align-items:center;display:flex;gap:18px;justify-content:space-between;width:100%}.admin-title-block{min-width:0}.admin-heading-row{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.admin-mobile-logout-button{display:none}.admin-topbar h1{font-size:1.85rem;letter-spacing:0;line-height:1.08;margin:4px 0 8px;white-space:nowrap}.admin-topbar p{margin-bottom:0;max-width:62ch}.admin-topbar-meta{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.admin-topbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.records-topbar .admin-topbar-actions,.admin-topbar-actions{align-content:start}.records-topbar .admin-topbar-actions{display:grid;gap:10px;grid-template-columns:repeat(3,max-content);justify-items:end}.records-topbar .admin-date-chip{grid-column:1 / -1}.records-topbar .admin-topbar-actions .primary-button,.records-topbar .admin-topbar-actions .secondary-button{min-height:44px;padding:10px 16px}.admin-context-chip,.admin-date-chip{border-radius:999px;color:var(--text-strong);font-size:.82rem;font-weight:900;padding:10px 12px;text-transform:uppercase;white-space:nowrap}.admin-context-chip{background:#111;border:1px solid #111111;color:#fff}.admin-date-chip{background:#fff;border:1px solid var(--line)}.admin-overview-strip{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));margin-bottom:18px}.admin-kpi{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);min-height:104px;padding:14px 15px 13px}.admin-kpi span{color:var(--text-muted);display:block;font-size:.74rem;font-weight:750;letter-spacing:0;margin-bottom:10px;text-transform:uppercase}.admin-kpi strong{color:var(--ink);display:block;font-size:2rem;font-weight:850;letter-spacing:0;line-height:1;overflow-wrap:anywhere}.admin-kpi small{color:var(--text-muted);display:block;font-size:.82rem;font-weight:600;line-height:1.4;margin-top:10px}.admin-kpi.tone-blue{border-left:4px solid #111111}.admin-kpi.tone-green{border-left:4px solid #10b981}.admin-kpi.tone-amber{border-left:4px solid #f59e0b}.admin-kpi.tone-slate{border-left:4px solid #6b7280}.admin-main .panel{border-color:var(--line);box-shadow:var(--shadow);border-radius:12px}.admin-main>.panel,.admin-main>.student-hero{margin-bottom:18px}.records-topbar .admin-topbar-main{align-items:center}.admin-records-toolbar{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);margin:0 0 18px;padding:14px}.admin-mobile-filter-details summary{display:none}.records-toolbar-grid{gap:12px;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));margin-top:0}.records-toolbar-grid label{color:var(--text-strong);font-size:.76rem;font-weight:900;gap:6px;text-transform:uppercase}.records-toolbar-grid input,.records-toolbar-grid select{border-radius:8px;min-height:42px;padding:10px 12px}.records-toolbar-grid .primary-button,.records-toolbar-grid .secondary-button{align-self:end;min-width:0;min-height:42px;padding:10px 14px;width:100%}.admin-records-workspace{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}.records-session-list,.records-detail-panel{min-width:0}.records-detail-workspace{grid-template-columns:minmax(0,1fr)}.records-session-list .panel-title-row{align-items:flex-start;margin-bottom:16px}.records-count{background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;color:var(--text-strong);display:inline-flex;font-size:.82rem;font-weight:900;padding:7px 11px;white-space:nowrap}.records-session-table{min-width:860px;table-layout:fixed}.records-session-table th,.records-session-table td{padding:13px 14px}.records-session-table th{font-size:.78rem}.records-session-table th:nth-child(1),.records-session-table td:nth-child(1){width:92px}.records-session-table th:nth-child(2),.records-session-table td:nth-child(2){width:64px}.records-session-table th:nth-child(3),.records-session-table td:nth-child(3){width:146px}.records-session-table th:nth-child(4),.records-session-table td:nth-child(4){width:142px}.records-session-table th:nth-child(5),.records-session-table td:nth-child(5){width:132px}.records-session-table th:nth-child(6),.records-session-table td:nth-child(6),.records-session-table th:nth-child(7),.records-session-table td:nth-child(7){text-align:center;width:64px}.records-session-table th:nth-child(8),.records-session-table td:nth-child(8){padding-left:8px;padding-right:8px;width:196px}.records-session-table td:nth-child(3),.records-session-table td:nth-child(4),.records-session-table td:nth-child(5){overflow-wrap:anywhere}.records-empty-state{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:4px 0}.records-empty-state strong{display:block;font-size:1rem;margin-bottom:4px}.records-empty-state p{margin:0;max-width:56ch}.records-detail-stack{display:grid;gap:16px;min-width:0}.records-open-session-panel h2{margin:6px 0 8px}.records-open-session-panel p,.admin-notes-panel.records-detail-panel{margin-bottom:0}.admin-session-note-list{max-height:min(440px,42vh);overflow-y:auto;padding-right:6px}.admin-session-note-list .note-card{min-height:0}.records-student-panel table{min-width:920px;table-layout:fixed}.records-student-panel th:nth-child(1),.records-student-panel td:nth-child(1){width:190px}.records-student-panel th:nth-child(2),.records-student-panel td:nth-child(2){width:90px}.records-student-panel th:nth-child(3),.records-student-panel td:nth-child(3){width:150px}.records-student-panel th:nth-child(4),.records-student-panel td:nth-child(4){width:260px}.records-student-panel th:nth-child(5),.records-student-panel td:nth-child(5){width:150px}.records-student-panel th:nth-child(6),.records-student-panel td:nth-child(6){width:150px}.records-student-header{display:grid;gap:6px}.records-student-header p{margin:0}.records-student-summary{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.records-student-summary .session-chip{padding:7px 10px}.records-student-chip-present{background:#ecfdf3;border-color:#b7ebcd;color:#166534}.records-student-chip-trial{background:#eef4ff;border-color:#c7dcff;color:#064ca3}.records-student-chip-late{background:#fff6e8;border-color:#f5d49a;color:#9a3a00}.records-student-chip-muted{background:#f8fafc;border-color:#d9e2ec;color:var(--text-muted)}.coach-attendance-summary-panel .panel-title-row{margin-bottom:12px}.coach-attendance-summary{display:flex;flex-wrap:wrap;gap:10px}.coach-attendance-modal{max-width:920px}.session-create-modal{max-width:720px}.session-create-grid{gap:18px}.session-create-grid label,.session-create-class-type{align-content:start}.session-create-class-type{display:grid;gap:8px}.session-select-field{display:grid;gap:8px;position:relative}.session-select-label{color:var(--ink);font-size:.82rem;font-weight:900;text-transform:uppercase}.session-select-trigger{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);display:flex;font-weight:700;justify-content:space-between;min-height:50px;padding:12px 14px;text-align:left;width:100%}.session-select-trigger.is-open{border-color:var(--accent);box-shadow:0 0 0 3px #3b82f624}.session-select-caret{color:var(--text-muted);flex:0 0 auto;font-size:.95rem;margin-left:12px}.session-select-menu{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px #0f172a29;display:grid;gap:4px;left:0;margin-top:6px;max-height:280px;overflow:auto;padding:8px;position:absolute;right:0;top:100%;z-index:70}.session-select-menu-portal{margin-top:0;right:auto;position:fixed;z-index:1000}.session-select-search{padding:2px 0 8px;position:sticky;top:0;z-index:2;background:#fff}.session-select-search input{width:100%;min-height:40px;border-radius:8px;border:1px solid var(--line);padding:8px 10px;font-size:.95rem}.session-select-option{background:#fff;border:0;border-radius:8px;color:var(--ink);font-weight:700;min-height:44px;padding:10px 12px;text-align:left;width:100%}.session-select-option:hover,.session-select-option:focus-visible{background:#f5f8ff;outline:2px solid rgb(59 130 246 / 32%);outline-offset:2px}.session-select-option.is-active{background:#eef4ff;color:var(--primary)}.session-select-empty{color:var(--text-muted);font-size:.88rem;padding:8px 4px}.status-select-field{position:relative;width:fit-content}.status-select-trigger{align-items:center;background:#fff;border:1.5px solid #c7cedd;border-radius:999px;color:var(--text-strong);display:inline-flex;font-size:.82rem;font-weight:900;gap:10px;justify-content:space-between;min-height:38px;min-width:132px;padding:7px 12px}.status-select-trigger.is-open{border-color:var(--accent);box-shadow:0 0 0 3px #3b82f624}.status-select-menu{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px #0f172a29;display:grid;gap:4px;left:0;min-width:148px;padding:8px;position:absolute;top:calc(100% + 6px);z-index:80}.status-select-menu-portal{max-height:min(320px,70vh);overflow-y:auto;position:fixed;z-index:1000}.status-select-option{background:#fff;border:0;border-radius:8px;color:var(--ink);font-size:.82rem;font-weight:800;min-height:40px;padding:8px 10px;text-align:left}.status-select-option:hover,.status-select-option:focus-visible,.status-select-option.is-active{background:#eef4ff}.status-select-option:focus-visible{outline:2px solid rgb(59 130 246 / 32%);outline-offset:2px}.student-type-badge{align-items:center;background:#eef4ff;border:1px solid #bfdbfe;border-radius:999px;color:#1d4ed8;display:inline-flex;font-size:.78rem;font-weight:900;min-height:30px;padding:5px 10px;width:fit-content}.student-type-badge[data-training-type=small_group]{background:#f0fdf4;border-color:#bbf7d0;color:#047857}.student-type-badge[data-training-type=intensive]{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.admin-main .metric{background:#fff;border-top:4px solid #111111;min-height:134px}.admin-main .metric:nth-child(2n){border-top-color:#10b981}.admin-main .metric:nth-child(3n){border-top-color:#f59e0b}.admin-main .metric strong{font-size:3rem}.dashboard-command-board{display:block;margin-bottom:18px}.dashboard-sessions-panel,.dashboard-filter-panel,.dashboard-chart-panel,.dashboard-area-rate-panel{min-width:0}.dashboard-filter-panel{margin-bottom:16px;padding:16px 18px}.dashboard-summary-strip{margin-top:14px}.dashboard-summary-chip{align-items:center;background:#f4f6fb;border:1px solid var(--line);border-radius:999px;color:var(--text-strong);display:inline-flex;font-size:.8rem;font-weight:850;padding:7px 11px}.dashboard-summary-chip.tone-green{background:var(--success-soft);border-color:#b7e7d0;color:#0d7c59}.dashboard-summary-chip.tone-amber{background:var(--warning-soft);border-color:#f4d39a;color:#9a3a00}.dashboard-summary-chip.tone-blue{background:#eef4ff;border-color:#c9d7f3;color:#064ca3}.dashboard-empty-state{align-items:center;display:flex;gap:18px;justify-content:space-between;margin-top:14px}.dashboard-empty-state strong{display:block;font-size:1rem;margin-bottom:4px}.dashboard-empty-state p{margin:0;max-width:58ch}.dashboard-class-grid{align-content:start;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(230px,280px));justify-content:start;margin-top:16px;max-height:min(560px,62vh);overflow-y:auto;overscroll-behavior:contain;padding-right:4px}.dashboard-class-card{background:#fff;border:1px solid var(--line);border-radius:10px;display:grid;gap:10px;padding:12px}.dashboard-class-card-main{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.dashboard-class-card-main h3{font-size:1rem;margin:3px 0 2px}.dashboard-class-card-main p{font-size:.86rem;margin:0}.dashboard-class-time{color:var(--text-strong);display:block;font-size:1.45rem;font-weight:850;line-height:1}.dashboard-class-date{color:var(--text-muted);display:block;font-size:.75rem;font-weight:750;margin-top:3px}.dashboard-class-attendance{background:#f8f9fa;border:1px solid var(--line-soft);border-radius:8px;display:grid;gap:1px;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden}.dashboard-class-attendance>div{background:#fff;display:grid;gap:3px;min-width:0;padding:9px 10px}.dashboard-class-attendance span{color:var(--text-muted);font-size:.68rem;font-weight:850}.dashboard-class-attendance strong{color:var(--text-strong);font-size:1.15rem;line-height:1}.dashboard-class-attendance small{color:var(--text-muted);font-size:.72rem}.dashboard-class-attended strong{font-size:1.55rem}.dashboard-class-footer{align-items:center;border-top:1px solid var(--line-soft);color:var(--text-muted);display:flex;font-size:.82rem;gap:12px;justify-content:space-between;padding-top:9px}.dashboard-toolbar-grid{gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:0}.dashboard-toolbar-grid .primary-button,.dashboard-toolbar-grid .secondary-button{align-self:end;min-width:0;width:100%}.dashboard-insight-grid{display:grid;gap:18px;grid-template-columns:1fr;margin-bottom:24px}.dashboard-insight-grid>.dashboard-chart-panel,.dashboard-insight-grid>.dashboard-area-rate-panel{grid-column:1 / -1;width:100%}.line-chart-container{margin-top:18px;overflow:visible;position:relative;width:100%}.line-chart-svg{display:block;height:auto;overflow:visible;width:100%}.line-chart-hover-guide line{stroke:#111827;stroke-dasharray:5 5;stroke-linecap:round;stroke-opacity:.34;stroke-width:2}.line-chart-hover-guide circle{fill:#111827;opacity:.28}.line-chart-hover-zones rect{cursor:crosshair;fill:transparent;pointer-events:all}.line-chart-tooltip{background:#fffffff5;border:1px solid rgba(148,163,184,.35);border-radius:8px;box-shadow:0 18px 48px #0f172a29;left:var(--tooltip-left);max-width:min(540px,calc(100% - 32px));padding:12px;pointer-events:none;position:absolute;top:40px;z-index:4}.line-chart-tooltip.align-right{transform:translate(16px)}.line-chart-tooltip.align-left{transform:translate(calc(-100% - 16px))}.line-chart-tooltip-header{border-bottom:1px solid var(--line-soft);display:grid;gap:3px;margin-bottom:10px;padding-bottom:8px}.line-chart-tooltip-header span{color:var(--text-muted);font-size:.7rem;font-weight:850;text-transform:uppercase}.line-chart-tooltip-header strong{color:var(--text-strong);font-size:.95rem}.line-chart-tooltip-header p{color:var(--text-muted);font-size:.76rem;font-weight:700;margin:0}.line-chart-tooltip-header b{color:var(--text-strong)}.line-chart-tooltip-grid{display:grid;gap:6px 12px;grid-template-columns:repeat(2,minmax(0,1fr))}.line-chart-tooltip-row{align-items:center;display:grid;gap:8px;grid-template-columns:10px minmax(96px,1fr) auto auto;min-width:0}.line-chart-tooltip-dot{background:var(--line-color);border-radius:50%;height:8px;width:8px}.line-chart-tooltip-row span:nth-child(2){color:var(--text-strong);font-size:.76rem;font-weight:750;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-chart-tooltip-row strong{color:var(--text-strong);font-size:.8rem;text-align:right}.line-chart-tooltip-row small{color:var(--text-muted);font-size:.68rem;font-weight:700;text-align:right;white-space:nowrap}.line-chart-legend{display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:flex-start;margin-top:14px;padding-left:clamp(0px,4vw,64px)}.line-chart-legend>span{align-items:center;color:var(--text-muted);display:flex;font-family:var(--font-sans);font-size:.76rem;font-weight:600;gap:8px}.line-chart-legend>span>span{background:var(--line-color);border-radius:2px;display:block;height:4px;width:24px}.line-chart-legend>span>span.dashed{background:repeating-linear-gradient(90deg,var(--line-color) 0 8px,transparent 8px 13px)}.dashboard-chart-panel .line-chart-container{max-width:100%}.dashboard-chart-panel .line-chart-container svg{max-height:440px}.dashboard-trend-summary{align-items:stretch;display:grid;gap:1px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px;overflow:hidden}.dashboard-trend-summary>div{background:#fff;border:1px solid var(--line-soft);display:grid;gap:5px;min-width:0;padding:14px}.dashboard-trend-summary>div:first-child{border-radius:10px 0 0 10px}.dashboard-trend-summary>div:nth-child(2){border-radius:0 10px 10px 0}.dashboard-trend-summary span{color:var(--text-muted);font-size:.75rem;font-weight:850}.dashboard-trend-summary strong{color:var(--text-strong);font-size:1.8rem;line-height:1}.dashboard-trend-summary p{grid-column:1 / -1;margin:10px 0 0}.dashboard-area-rate-content{display:grid;gap:16px}.dashboard-rate-total-card{background:#f8f9fa;border:1px solid var(--line-soft);border-radius:10px;display:grid;gap:0;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden}.dashboard-rate-total-item{background:#fff;border-right:1px solid var(--line-soft);display:grid;gap:5px;min-width:0;padding:13px 14px}.dashboard-rate-total-item:last-child{border-right:0}.dashboard-rate-total-card span{color:var(--text-muted);font-size:.72rem;font-weight:850}.dashboard-rate-total-card strong{color:var(--text-strong);font-size:1.55rem;line-height:1}.dashboard-area-rate-list{display:grid;gap:10px}.dashboard-area-rate-row{align-items:center;background:#fff;border:1px solid var(--line-soft);border-radius:10px;display:grid;gap:16px;grid-template-columns:minmax(180px,1fr) minmax(170px,.7fr);padding:13px 14px}.dashboard-area-rate-name{min-width:0}.dashboard-area-rate-name strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-area-rate-numbers{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-area-rate-numbers span{color:var(--text-muted);display:grid;font-size:.75rem;font-weight:800;gap:2px}.dashboard-area-rate-numbers strong{color:var(--text-strong);font-size:1.1rem;line-height:1}.dashboard-area-rate-row p{margin:3px 0 0}.admin-coach-hero{align-items:center;background:var(--ink);color:#fff;display:flex;justify-content:space-between;padding:32px 40px}.admin-coach-hero h2{color:#fff;font-size:2.5rem;margin:0}.admin-coach-hero p{color:#ffffffb3;font-size:1.1rem;margin:8px 0 0}.admin-coach-hero-stat{text-align:right}.admin-coach-hero-stat span{color:#ffffffb3;display:block;font-size:.875rem;font-weight:900;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.admin-coach-hero-stat strong{font-size:4.5rem;font-weight:950;line-height:1}.admin-table-action-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start}.action-menu-field{display:inline-flex;justify-content:flex-start}.action-menu-trigger{gap:8px;justify-content:space-between;min-width:96px}.action-menu-trigger.is-open{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 0 0 3px #0f172a14}.action-menu-portal{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px #0f172a29;display:grid;gap:4px;padding:6px;position:fixed;z-index:1000}.action-menu-item{background:#fff;border:0;border-radius:8px;color:var(--ink);font-weight:800;min-height:40px;padding:9px 10px;text-align:left;transition:background-color .16s ease,color .16s ease;width:100%}.action-menu-item:hover,.action-menu-item:focus-visible{background:#f5f8ff}.action-menu-item.danger{color:#b42318}.action-menu-item.danger:hover,.action-menu-item.danger:focus-visible{background:#fff5f5;color:#991b1b}.records-session-table .admin-table-action-row{flex-wrap:nowrap;gap:6px}.records-session-table .admin-table-action-row .compact-action{min-height:38px;padding:8px 10px}.records-session-table .admin-table-action-row .primary-button,.records-session-table .admin-table-action-row .secondary-button{min-width:62px}.records-session-table .admin-table-action-row .ghost-button{min-width:52px}.class-times-action-row{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.class-times-action-danger{grid-column:1 / -1}.admin-main .table-wrap{background:#fff}.admin-coach-detail-panel .table-wrap{max-height:min(520px,58vh);overflow:auto;overscroll-behavior:contain}.coach-summary-mobile-list,.coach-session-mobile-list,.coach-summary-mobile-modal{display:none}.coach-summary-mobile-list,.coach-session-mobile-list{gap:10px;max-height:min(420px,48vh);overflow-y:auto;padding-right:2px}.coach-summary-mobile-card{align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;color:var(--text-strong);display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:12px 14px;text-align:left;width:100%}.coach-summary-mobile-card.active{border-color:#111;box-shadow:0 0 0 1px #111}.coach-summary-mobile-main,.coach-summary-mobile-side,.coach-summary-mobile-stats{display:grid;gap:4px}.coach-summary-mobile-main strong,.coach-summary-mobile-side small,.coach-summary-mobile-stats strong{color:var(--text-strong)}.coach-summary-mobile-main span,.coach-summary-mobile-side small,.coach-summary-mobile-detail .muted,.coach-summary-mobile-stats span{color:var(--text-muted)}.coach-summary-mobile-side{justify-items:end}.coach-summary-mobile-detail{background:#f8fafc;border:1px solid var(--line-soft);border-radius:12px;gap:14px;margin-bottom:14px;padding:14px}.coach-summary-mobile-modal{max-width:520px}.coach-session-table-wrap{background:#fff}.coach-summary-mobile-detail-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.coach-summary-mobile-detail-head h3{font-size:1.15rem;margin:4px 0 2px}.coach-summary-mobile-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.coach-summary-mobile-stats span{background:#fff;border:1px solid var(--line-soft);border-radius:10px;display:grid;font-size:.76rem;font-weight:800;gap:4px;min-width:0;padding:10px 12px}.coach-summary-mobile-stats strong{font-size:1rem;line-height:1.2;overflow-wrap:anywhere}.coach-summary-name-button{align-items:flex-start;background:transparent;border:0;color:var(--text-strong);display:grid;gap:4px;padding:0;text-align:left}.coach-summary-name-button span{font-size:1.05rem;font-weight:800;line-height:1.2}.coach-summary-name-button small{color:var(--primary);font-size:.78rem;font-weight:700}.coach-session-detail-modal{max-width:760px}.coach-detail-session-list{display:grid;gap:10px;max-height:min(360px,46vh);overflow-y:auto;padding-right:2px}.coach-detail-session-item{background:#fff;border:1px solid var(--line-soft);border-radius:10px;display:grid;gap:8px;padding:10px 12px}.coach-detail-session-head{align-items:baseline;display:flex;gap:10px;justify-content:space-between}.coach-detail-session-head strong{font-size:.95rem}.coach-detail-session-head span,.coach-detail-session-item p{color:var(--text-muted);font-size:.82rem;margin:0}.coach-detail-session-metrics{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.coach-detail-session-metrics span{background:#f8fafc;border:1px solid var(--line-soft);border-radius:8px;color:var(--text-muted);display:grid;font-size:.74rem;font-weight:800;gap:3px;padding:8px 10px}.coach-detail-session-metrics strong{color:var(--text-strong);font-size:.92rem;line-height:1.1}.admin-coach-detail-panel thead th{position:sticky;top:0;z-index:2}.admin-main th{background:#f8f9fa;color:#374151;font-size:.78rem;letter-spacing:0}.dashboard-charts{display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px}.chart-panel{min-height:360px}.wide-chart{grid-column:1 / -1}.chart-donut-card{align-items:center;display:grid;gap:24px;grid-template-columns:220px minmax(0,1fr);margin-top:28px}.chart-donut{align-items:center;aspect-ratio:1;background:var(--chart-gradient);border-radius:50%;display:flex;justify-content:center;max-width:220px;position:relative;width:100%}.chart-donut:after{background:#fff;border-radius:50%;content:"";inset:28px;position:absolute}.chart-donut>div{display:grid;justify-items:center;position:relative;z-index:1}.chart-donut strong{font-size:2.8rem;font-weight:950;line-height:1}.chart-donut span{color:var(--muted);font-size:.78rem;font-weight:900;margin-top:6px;text-transform:uppercase}.chart-legend{display:grid;gap:12px}.chart-legend span{align-items:center;color:var(--text-muted);display:grid;font-weight:850;gap:10px;grid-template-columns:12px minmax(0,1fr) auto}.chart-legend i{border-radius:3px;display:block;height:12px;width:12px}.chart-legend strong{color:var(--ink)}.bar-chart{display:grid;gap:16px;margin-top:28px}.bar-row{display:grid;gap:8px}.bar-row-label{align-items:center;display:flex;gap:12px;justify-content:space-between}.bar-row-label span{color:var(--text-strong);font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-row-values{align-items:baseline;display:flex;gap:8px}.bar-row-values strong{color:var(--ink);font-weight:950}.bar-row-values small{color:var(--text-muted);font-size:.82rem;font-weight:600}.bar-row-label strong{color:var(--ink);font-weight:950}.bar-track{background:#eef1f5;border-radius:999px;height:10px;overflow:hidden}.bar-fill{border-radius:inherit;display:block;height:100%;transition:width .4s ease}.chart-empty{margin:28px 0 0}.coverage-panel{align-items:center;display:grid;gap:28px;grid-template-columns:180px minmax(0,1fr);margin-top:28px}.coverage-meter{align-items:center;aspect-ratio:1;background:radial-gradient(circle at center,#ffffff 0 56%,transparent 57%),conic-gradient(var(--primary) 0 var(--coverage),#e7ebf2 var(--coverage) 100%);border-radius:50%;display:grid;justify-items:center;padding:34px;text-align:center}.coverage-meter strong{font-size:2.6rem;font-weight:950;line-height:1}.coverage-meter span{color:var(--muted);font-size:.78rem;font-weight:900;margin-top:6px;text-transform:uppercase}.coverage-list{display:grid;gap:10px}.coverage-list span{align-items:center;background:var(--surface-soft);border:1px solid var(--line-soft);border-radius:var(--radius);color:var(--text-strong);display:flex;font-weight:850;gap:12px;justify-content:space-between;padding:12px 14px}.coverage-list strong{color:var(--ink);font-size:1.25rem;font-weight:950}.student-hero{display:grid;gap:24px;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);margin-bottom:24px}.student-hero-main,.student-hero-side{min-height:180px}.student-hero-main span,.student-hero-side span{color:var(--muted);display:block;font-weight:900;margin-bottom:12px;text-transform:uppercase}.student-hero-main strong,.student-hero-side strong{display:block;font-size:5.2rem;font-weight:950;line-height:1}.student-hero-main p{margin:18px 0 0}.student-hero-side{display:grid;gap:18px}.student-hero-side .primary-button{align-self:end}.admin-area-hero-side{align-content:space-between}.admin-area-hero-side p{margin:0}.records-hero{align-items:start}.records-hero h1{margin-bottom:10px}.records-hero .primary-button{justify-self:start}.grid{display:grid;gap:24px}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.metric{min-height:120px}.metric span{color:var(--muted);display:block;font-weight:900;margin-bottom:10px;text-transform:uppercase}.metric strong{font-size:2.6rem;font-weight:950;line-height:1}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;min-width:760px;width:100%}th,td{border-bottom:1px solid var(--line-soft);padding:14px 16px;text-align:left;vertical-align:middle}th{background:#ebeef7;color:#475569;font-size:.78rem;font-weight:750;text-transform:uppercase}tr:last-child td{border-bottom:0}tbody tr{transition:background-color .14s ease}tbody tr.inactive-row{background:#fafafa;color:#64748b}tbody tr.selected-row{background:#f8fafc;box-shadow:inset 3px 0 #111827}@media(hover:hover)and (pointer:fine){tbody tr:hover{background:#f8fbff}}.section-kicker{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.inline-filter{color:var(--muted);display:grid;font-size:.8rem;font-weight:900;gap:6px;min-width:180px;text-transform:uppercase}.checkbox-label{align-items:center;color:var(--ink);display:flex;gap:10px;min-height:48px}.checkbox-label input{appearance:auto;-webkit-appearance:checkbox;accent-color:var(--accent);background:transparent;border:0;border-radius:4px;box-shadow:none;flex:0 0 18px;height:18px;margin:0;min-height:18px;min-width:18px;padding:0;width:18px}.weekday-picker{border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:12px;padding:16px}.weekday-picker legend{color:var(--ink);font-size:.82rem;font-weight:900;padding:0 6px;text-transform:uppercase}.weekday-picker p{margin:0}.weekday-options{display:flex;flex-wrap:wrap;gap:8px}.weekday-option{align-items:center;background:#f8fbff;border:1px solid var(--line);border-radius:999px;color:var(--ink);cursor:pointer;display:inline-flex;gap:8px;min-height:42px;padding:8px 12px}.weekday-option input{appearance:auto;-webkit-appearance:checkbox;accent-color:var(--accent);background:transparent;border:0;box-shadow:none;flex:0 0 18px;height:18px;margin:0;min-height:18px;min-width:18px;padding:0;width:18px}.coach-review-list{display:grid;gap:14px}.coach-review-card{border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:#fff}.coach-review-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.coach-review-header h3{font-size:1.1rem;margin:0 0 4px}.coach-review-header p{margin:0}.coach-review-controls{display:grid;gap:14px;grid-template-columns:minmax(0,240px) minmax(0,1fr);margin-bottom:14px}.coach-review-controls label{color:var(--muted);display:grid;font-size:.8rem;font-weight:900;gap:8px;text-transform:uppercase}.coach-review-count{align-self:end;min-height:52px}.coach-review-footer{color:var(--muted);display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.92rem}.coach-review-empty{align-items:center;background:var(--surface-soft);border:1px solid var(--line-soft);border-radius:var(--radius);display:flex;justify-content:center;min-height:96px;padding:18px}.admin-hero{align-items:center;display:flex;gap:18px;justify-content:space-between;padding:28px 30px}.admin-hero-dark{background:linear-gradient(135deg,#0f172a,#182338 68%,#1e293b);border-color:#0f172a;color:#f8fafc}.admin-hero-dark h2{color:#fff;font-size:2.8rem;margin:0 0 8px}.admin-hero-dark p{color:#ffffffc2;margin:0;max-width:50ch}.admin-hero-stat{text-align:right}.admin-hero-stat span{color:#ffffffad;display:block;font-size:.78rem;font-weight:900;letter-spacing:0;margin-bottom:8px;text-transform:uppercase}.admin-hero-stat strong{color:#fff;display:block;font-size:4.8rem;font-weight:950;letter-spacing:0;line-height:1}.file-drop{align-items:center;background:var(--primary-soft);border:1px dashed #9ebdf4;border-radius:var(--radius);color:var(--primary);display:flex;font-weight:900;justify-content:center;margin-top:16px;min-height:86px;padding:18px;text-transform:none}.file-drop span{display:grid;gap:6px;justify-items:center;text-align:center}.file-drop strong{color:var(--primary);font-size:1rem}.file-drop small{color:var(--text-muted);font-size:.88rem;font-weight:800}.file-drop input{height:1px;opacity:0;position:absolute;width:1px}.import-result{background:var(--surface-soft);border:1px solid var(--line-soft);border-radius:var(--radius);margin-top:16px;padding:14px}.import-result strong{display:block;margin-bottom:8px}.import-result p,.import-result ul{color:var(--muted);margin-bottom:0}.student-chip-list{display:flex;flex-wrap:wrap;gap:8px;min-width:220px}.student-chip{background:var(--surface-soft);border:1px solid var(--line-soft);border-radius:999px;color:var(--text-strong);display:inline-flex;font-size:.82rem;font-weight:800;line-height:1.2;padding:7px 10px}.area-detail-list{display:grid;gap:18px;margin-top:20px}.area-detail-card{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden}.area-detail-card-single,.area-overview-table{margin-top:20px}.area-detail-header{align-items:center;background:#f7f9fd;border-bottom:1px solid var(--line-soft);display:flex;gap:18px;justify-content:space-between;padding:18px}.area-detail-header h3{margin-bottom:4px}.area-detail-header p{margin-bottom:0}.area-code{background:var(--primary-soft);border:1px solid #c7dcff;border-radius:999px;color:var(--primary);display:inline-flex;font-size:.78rem;font-weight:900;margin-bottom:10px;padding:5px 9px}.inline-area-code{margin-bottom:0}.area-student-table{border:0;border-radius:0}.area-student-table table{min-width:0}.student-registry-table-wrap{max-height:min(760px,70vh);overflow:auto;overscroll-behavior:contain}.student-registry-table-wrap thead th{position:sticky;top:0;z-index:2}.student-registry-primary{display:grid;gap:3px}.student-registry-mobile-meta{display:none}.session-chip{background:var(--primary-soft);border:1px solid #c7dcff;border-radius:999px;color:var(--primary);display:inline-flex;font-size:.82rem;font-weight:900;padding:6px 10px}@media(max-width:980px){.modal-open .app-nav{opacity:0;pointer-events:none;visibility:hidden}.app-nav.section-nav{display:none}.coach-hero,.coach-quick-actions,.coach-dashboard-grid{grid-template-columns:1fr}.coach-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-status-banner{width:100%}.page-hero-actions{justify-content:flex-start}.coach-roster-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shell{display:block}.admin-sidebar{display:none}.admin-main{grid-column:auto;padding:24px 20px 104px}.admin-topbar{padding:22px 20px}.admin-topbar-main{display:grid;gap:14px}.admin-topbar-actions{justify-content:flex-start;width:100%}.records-topbar .admin-topbar-actions{grid-template-columns:repeat(3,minmax(0,max-content));justify-content:start;justify-items:start}.records-topbar .admin-date-chip{justify-self:start}.admin-mobile-logout-button{display:inline-flex;flex:0 0 auto}.admin-mobile-nav{grid-auto-columns:minmax(78px,1fr);grid-auto-flow:column;grid-template-columns:none;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.admin-mobile-nav::-webkit-scrollbar{display:none}.records-toolbar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-insight-grid{grid-template-columns:1fr}.dashboard-toolbar-grid,.admin-overview-strip,.dashboard-strip,.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-charts,.student-hero{grid-template-columns:1fr}.chart-donut-card,.coverage-panel{grid-template-columns:180px minmax(0,1fr)}.session-layout,.attendance-layout,.grid.two{grid-template-columns:1fr}}@media(max-width:640px){h1{font-size:1.8rem}.auth-logo{margin-bottom:28px}.auth-logo strong{font-size:2.15rem}.auth-copy h1{font-size:1.65rem}.admin-topbar h1{font-size:1.65rem;line-height:1.1;margin-bottom:0;white-space:normal}.admin-topbar p{display:none}.coach-hero-main,.coach-hero-side,.coach-session-card,.coach-record-panel,.coach-records-panel,.coach-side-panel{border-radius:18px}.coach-hero-main{min-height:auto;padding:24px 20px}.coach-hero-main:after{left:20px;right:20px;top:78px}.coach-hero-main h1{font-size:2.2rem}.coach-status-banner,.coach-preview-card,.coach-focus-list article{grid-template-columns:1fr}.coach-status-banner{align-items:flex-start;display:grid}.coach-stat-grid,.coach-roster-toolbar,.coach-side-kpis{grid-template-columns:1fr}.coach-preview-card,.coach-focus-list article{padding:14px}.coach-session-card:before{left:14px;top:18px;bottom:18px}.coach-session-card .session-meta,.coach-session-card h3,.coach-session-card p,.coach-session-card .recorded-note,.coach-session-card .primary-button,.coach-session-card .secondary-button{margin-left:10px}.topbar-inner{min-height:80px;padding:0 20px}.brand-row strong{font-size:1.35rem}.nav-name{display:none}.container{padding:24px 20px 92px}.home-hero{margin-bottom:28px}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.hero-actions .primary-button,.hero-actions .secondary-button{min-height:58px;padding:12px 10px}.dashboard-strip,.admin-overview-strip,.grid.four{grid-template-columns:1fr}.admin-main{display:grid;gap:0;padding:16px 14px calc(104px + env(safe-area-inset-bottom))}.admin-topbar{border-radius:12px;gap:10px;margin-bottom:16px;padding:16px 14px}.admin-topbar-main{gap:10px}.admin-heading-row{align-items:center}.admin-topbar-meta,.admin-topbar-actions{width:100%}.admin-topbar-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-bottom:2px;width:100%}.records-topbar .admin-topbar-actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:stretch}.records-topbar .admin-date-chip{grid-column:1 / -1}.admin-topbar-actions .primary-button,.admin-topbar-actions .secondary-button,.admin-date-chip{font-size:.78rem;min-height:40px;min-width:0;padding:8px 11px;white-space:nowrap;width:100%}.admin-date-chip{grid-column:auto}.app-nav.admin-mobile-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(180deg,#ffffffb8,#f8fafca3);border:1px solid rgb(199 206 221 / 60%);border-radius:18px;bottom:calc(10px + env(safe-area-inset-bottom));box-shadow:0 14px 34px #0f172a24;display:grid;gap:6px;grid-template-columns:repeat(5,minmax(0,1fr));left:10px;overflow:visible;padding:8px;right:10px}.admin-mobile-nav button{border-radius:12px;color:#64748b;font-size:.66rem;gap:3px;min-height:52px;min-width:0;padding:6px 2px}.admin-mobile-nav button.active{background:#111827;box-shadow:0 8px 18px #11182733;color:#f8fafc}.admin-mobile-nav .icon{height:1.15rem;width:1.15rem}.app-nav-overflow-menu{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(180deg,#ffffffc7,#f8fafcb3);border:1px solid rgb(199 206 221 / 60%);border-radius:14px;bottom:calc(100% + 12px);box-shadow:0 -10px 28px #141c2d1f;display:grid;gap:6px;left:0;padding:8px;position:absolute;right:0}.app-nav-overflow-menu button{background:#fff;border-radius:12px;color:var(--text-strong);grid-template-columns:24px 1fr;justify-items:start;min-height:44px;padding:10px 12px}.admin-records-toolbar{padding:12px}.admin-mobile-filter-details{display:grid;gap:12px}.admin-mobile-filter-details summary{align-items:center;background:#f8f9fa;border:1px solid var(--line);border-radius:8px;color:var(--text-strong);display:flex;font-size:.86rem;font-weight:900;justify-content:space-between;list-style:none;min-height:44px;padding:10px 12px}.admin-mobile-filter-details summary:after{content:"▾";font-size:.8rem}.admin-mobile-filter-details summary::-webkit-details-marker{display:none}.admin-mobile-filter-details:not([open]){gap:0}.admin-coach-filter-panel h2,.admin-area-form-panel h2,.admin-area-form-panel p{display:none}.dashboard-command-board,.admin-records-workspace,.records-detail-stack{gap:12px}.admin-main .panel{border-radius:10px;padding:16px}.panel-title-row{gap:8px}.panel-title-row h2{font-size:1.18rem;line-height:1.18}.records-empty-state{align-items:stretch;display:grid}.dashboard-toolbar-grid{grid-template-columns:1fr}.toolbar{gap:10px;margin-top:14px}.records-toolbar-grid label,.session-select-field,.inline-filter{min-width:0}.records-toolbar-grid .primary-button,.records-toolbar-grid .secondary-button{min-height:44px;padding:10px 12px}.dashboard-empty-state{align-items:stretch;display:grid}.dashboard-summary-chip{max-width:100%}.dashboard-area-rate-row{grid-template-columns:1fr}.records-detail-stack .records-open-session-panel{order:1}.records-detail-stack .admin-notes-panel{order:2}.records-detail-stack .coach-attendance-summary-panel{order:3}.records-detail-stack .records-student-panel{order:4}.records-open-session-panel .panel-title-row,.records-student-panel .panel-title-row,.coach-attendance-summary-panel .panel-title-row{gap:10px}.records-student-summary{justify-content:flex-start}.records-student-panel .student-search,.session-student-search-item{gap:10px}.records-student-filter-row{grid-template-columns:1fr}.admin-coach-hero{align-items:flex-start;display:grid;gap:18px;padding:22px 20px}.admin-coach-hero h2{font-size:2rem}.admin-coach-hero p{font-size:.96rem}.admin-coach-hero-stat{text-align:left}.admin-coach-hero-stat strong{font-size:3.4rem}.admin-coach-create-panel{order:1}.admin-coach-filter-panel{order:2}.admin-coach-summary-panel{order:3}.admin-coach-detail-panel{order:4}.coach-summary-table-wrap,.coach-session-table-wrap{display:none}.coach-summary-mobile-list,.coach-session-mobile-list,.coach-summary-mobile-modal{display:grid}.coach-summary-mobile-stats{grid-template-columns:1fr}.coach-detail-session-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-table-action-row,.action-row{display:grid;grid-template-columns:1fr;width:100%}.records-session-table .admin-table-action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.records-session-table .admin-table-action-row .danger-text{grid-column:1 / -1}.class-times-action-row{grid-template-columns:repeat(2,minmax(0,1fr))}.class-times-action-row>.class-times-action-danger{grid-column:1 / -1}.records-empty-state .primary-button{width:100%}.admin-topbar-meta{justify-content:flex-start}.admin-context-chip,.admin-date-chip{text-align:center}.admin-hero{align-items:flex-start;flex-direction:column;padding:22px 20px}.admin-hero-stat{text-align:left}.chart-donut-card,.coverage-panel{justify-items:center;grid-template-columns:1fr}.coverage-list{width:100%}.summary-card{grid-template-columns:minmax(0,1fr) 146px;min-height:190px}.summary-card strong{margin-top:44px}.admin-student-hero{order:1}.admin-student-registry-panel{order:2;padding-bottom:calc(112px + env(safe-area-inset-bottom))}.student-registry-table-wrap{max-height:none;overflow:visible}.student-registry-table-wrap tr{margin-bottom:8px}.student-registry-table-wrap td{padding:9px 12px}.student-registry-table-wrap td[data-label=Student]{padding:12px}.student-registry-primary>span{font-size:1.08rem;line-height:1.2}.student-registry-mobile-meta{color:var(--text-muted);display:block;font-size:.84rem;font-weight:750;line-height:1.25}.student-registry-id-cell,.student-registry-area-cell,.student-registry-area-code-cell{display:none}.student-registry-table-wrap td[data-label=Type]{align-items:center;grid-template-columns:minmax(76px,28%) max-content}.student-registry-table-wrap td[data-label=Action] .action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.admin-student-import-panel{order:3}.admin-area-form-panel{order:1}.admin-area-overview-panel{order:2}.admin-class-form-panel{order:1}.admin-class-times-panel{order:2}.toolbar,.student-search,.active-session-card,.session-info-grid,.toolbar.records-toolbar-grid,.dashboard-toolbar-grid,.export-status-list,.export-column-list{grid-template-columns:1fr}.export-modal-actions{align-items:stretch;flex-direction:column-reverse}.export-modal-actions .primary-button,.export-modal-actions .secondary-button{justify-content:center;width:100%}.panel-title-row,.area-detail-header{align-items:flex-start;flex-direction:column}.area-detail-header .secondary-button{width:100%}.area-overview-table td[data-label=Code] .status-pill{width:fit-content}.student-hero-main,.student-hero-side,.admin-main .panel{min-height:0}.student-hero-main strong,.student-hero-side strong{font-size:3.3rem}.student-hero-side{gap:12px}.file-drop{margin-top:10px;min-height:72px}.panel-title-row .compact-action{width:100%}.coach-review-header,.coach-review-controls,.coach-review-footer{display:grid;gap:12px}.coach-review-controls{grid-template-columns:1fr}.modal-backdrop{align-items:flex-end;padding:0}.modal-card{border-radius:14px 14px 0 0;max-height:88vh;max-height:88dvh;padding:22px 20px calc(22px + env(safe-area-inset-bottom));width:100%}.modal-header{margin-bottom:14px}.confirm-modal-actions{grid-template-columns:1fr}.form-stack{gap:12px}label{gap:6px}input,select,textarea,.session-select-trigger{font-size:1rem;min-height:46px;padding:10px 12px}.session-select-menu,.status-select-menu{max-height:min(300px,52vh)}.active-session-card span,.active-session-card span:nth-child(2n),.session-info-grid span{border-bottom:1px solid var(--line-soft);border-right:0}.active-session-card span:last-child,.session-info-grid span:last-child{border-bottom:0}.session-card h3{font-size:1.55rem}.student-main{align-items:flex-start}.status-row.segmented{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-page{padding:22px}.table-wrap{border:0;overflow:visible}table,thead,tbody,tr,th,td{display:block;min-width:0;width:100%}thead{display:none}tr{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 24px #0f172a0d;margin-bottom:10px;overflow:hidden}td{align-items:start;display:grid;gap:10px;grid-template-columns:minmax(76px,28%) minmax(0,1fr);overflow-wrap:anywhere;padding:11px 12px}td:first-child{background:#f8fafc;font-weight:850;grid-template-columns:1fr;padding-bottom:13px;padding-top:13px}td:first-child:before{color:var(--text-strong);font-size:.7rem;letter-spacing:.04em}td[data-label=Action],td[data-label=Status],td[data-label=Note]{align-items:stretch}td[data-label=Action] .admin-table-action-row,td[data-label=Action] .action-menu-field,td[data-label=Action] .action-row,td[data-label=Action] .class-times-action-row{gap:8px}td[data-label=Action] .action-menu-field{width:100%}td[data-label=Action] .primary-button,td[data-label=Action] .secondary-button,td[data-label=Action] .ghost-button,td[data-label=Status] .status-select-trigger,td[data-label=Note] .record-note-editor button{min-height:44px;width:100%}td>*{max-width:100%;min-width:0}td:before{color:var(--muted);content:attr(data-label);font-size:.74rem;font-weight:900;text-transform:uppercase}.records-session-table,.records-student-panel table{min-width:0}.records-session-table th,.records-session-table td,.records-student-panel th,.records-student-panel td{padding-left:12px;padding-right:12px;text-align:left;width:100%}.records-session-table th:nth-child(n),.records-session-table td:nth-child(n),.records-student-panel th:nth-child(n),.records-student-panel td:nth-child(n){padding-left:12px;padding-right:12px;text-align:left;width:100%}.records-student-panel td{grid-template-columns:minmax(78px,30%) minmax(0,1fr)}.records-student-panel td,.records-student-panel td>*{min-width:0;overflow-wrap:anywhere}.records-student-panel .session-student-search-results{max-height:none;overflow:visible}.records-student-panel .session-student-search-item{align-items:stretch;grid-template-columns:1fr}.status-select-field,.status-select-trigger{max-width:100%;min-width:0}.records-student-panel .session-student-search-item .status-select-field,.records-student-panel .session-student-search-item .status-select-trigger{width:100%}.records-student-panel .session-student-search-item .status-select-trigger{border-radius:10px;min-height:46px}.records-student-panel .session-student-search-item .status-select-menu{max-height:min(240px,50vh);overflow-y:auto;overscroll-behavior:contain}.student-card h3,.student-main p,.session-card h3,.session-card p,.note-card p{overflow-wrap:anywhere}}@media(min-width:981px){.admin-mobile-nav{display:none}}@media(max-width:420px){.hero-actions{grid-template-columns:1fr}.summary-card{grid-template-columns:1fr 116px}.admin-main{padding-left:10px;padding-right:10px}.admin-topbar h1{font-size:1.58rem}.toolbar.records-toolbar-grid,.dashboard-toolbar-grid{grid-template-columns:1fr}}@media(max-width:380px){.toolbar.records-toolbar-grid,.dashboard-toolbar-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.coach-hero-main,.coach-hero-side,.coach-side-kpis div,.coach-roster-stat,.coach-status-banner,.coach-stat-card,.coach-focus-panel,.coach-session-preview,.coach-session-shell,.coach-record-panel,.coach-records-panel,.coach-side-panel,.coach-focus-list article,.coach-preview-card,.coach-empty-block,.coach-session-card,.coach-student-card,.modal-card,.weekday-option{border-radius:12px;box-shadow:var(--shadow)}.coach-hero-main{background:#111}.coach-hero-main:after,.coach-session-card:before{background:#fff;border-radius:999px}.coach-hero-side,.coach-empty-block,.coach-empty-card,.coach-active-session-card,.coach-session-card.selected{background:#fff}.coach-hero-meta span,.coach-filter-summary span,.search-count,.status-pill,.status-select{border-radius:999px}.coach-hero-side>strong,.coach-side-kpis strong,.coach-roster-stat strong,.coach-status-banner strong,.coach-stat-card strong,.coach-focus-list article span{font-family:var(--font-sans);font-weight:600}input,select,textarea{background:#fff;border:1px solid var(--line);border-radius:8px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #3b82f624}.table-wrap,.weekday-picker{border-color:var(--line);border-radius:12px}th{background:#f8f9fa}@media(hover:hover)and (pointer:fine){tbody tr:hover{background:#f8f9fa}}.coach-workbench{display:grid;gap:12px;max-width:100%;overflow-x:hidden;padding-bottom:calc(122px + env(safe-area-inset-bottom))}.coach-command-header{align-items:flex-start;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;padding-top:10px}.coach-command-header-compact{grid-template-columns:minmax(0,1fr)}.coach-command-header h1{font-size:clamp(1.6rem,4vw,2rem);font-weight:700;line-height:1.08;margin-bottom:6px}.coach-today-flow{display:grid;gap:10px;min-width:0}.coach-quick-filter{background:#fff;border:1px solid #dfe5e1;border-radius:12px;display:grid;gap:10px;min-width:0;padding:12px}.coach-quick-filter-head{align-items:center;border:1px solid #cfd4dc;border-radius:12px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;min-width:0;padding:12px}.coach-quick-filter-head strong{color:var(--ink);font-size:.96rem;font-weight:800;line-height:1.25;min-width:0;overflow-wrap:anywhere}.coach-filter-records-button{align-self:stretch;display:grid;gap:4px;grid-template-columns:minmax(0,1fr);justify-items:center;min-height:56px;min-width:76px;padding:8px 10px}.coach-filter-records-button .icon{height:1.15rem;width:1.15rem}.coach-date-card-row{display:flex;gap:8px;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;padding:1px 1px 4px;scrollbar-width:none}.coach-date-card-row::-webkit-scrollbar{display:none}.coach-date-card{background:#f8faf8;border:1px solid #dfe5e1;border-radius:10px;color:var(--ink);display:grid;flex:0 0 86px;gap:4px;min-height:58px;padding:9px 10px;text-align:left}.coach-date-card span{color:var(--muted);font-size:.66rem;font-weight:900;text-transform:uppercase}.coach-date-card strong{font-size:.92rem;line-height:1}.coach-date-card.active{background:#111;border-color:#111;color:#fff}.coach-date-card.active span{color:#ffffffbd}.coach-choice-row{align-items:center;display:grid;gap:8px;grid-template-columns:42px minmax(0,1fr);min-width:0}.coach-choice-label{color:var(--muted);font-size:.66rem;font-weight:900;text-transform:uppercase}.coach-chip-section{display:flex;flex-wrap:wrap;gap:8px;min-width:0;overflow-x:hidden;padding:1px 1px 4px}.coach-flow-chip{background:#fff;border:1px solid #d5dcd4;border-radius:999px;color:var(--ink);flex:0 0 auto;font-weight:900;min-height:38px;padding:8px 14px;white-space:nowrap}.coach-flow-chip.active{background:#111;border-color:#111;color:#fff}.coach-flow-chip:disabled{opacity:.58}.coach-filter-select{background:#fff;border:1.5px solid #c7cedd;border-radius:12px;display:grid;gap:2px;min-width:0;padding:10px 14px}.coach-filter-select:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px #064ca31f}.coach-filter-select .session-select-label{color:var(--muted);font-size:.74rem;font-weight:800;line-height:1;text-transform:none}.coach-filter-select .session-select-trigger{background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--ink);font-size:1.05rem;font-weight:800;min-height:30px;min-width:0;padding:2px 0 4px}.coach-filter-select .session-select-trigger span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coach-filter-select .session-select-trigger.is-open{box-shadow:none}.coach-filter-select .session-select-caret{color:var(--muted);font-size:1.05rem}.coach-filter-select-menu{border-color:#c7cedd;box-shadow:0 18px 44px #0f172a2e;z-index:1200}.coach-filter-select-menu .session-select-option{font-size:.95rem;min-height:44px}.coach-filter-select-menu .session-select-option.is-active{background:#111;color:#fff}.coach-change-class{background:#fff;border:1px solid #dfe5e1;border-radius:14px;overflow:hidden}.coach-change-class summary{align-items:center;cursor:pointer;display:flex;gap:12px;justify-content:space-between;list-style:none;min-height:70px;padding:0 18px}.coach-change-class summary::-webkit-details-marker{display:none}.coach-change-class[open]{border-color:#dfe5e1;border-style:dashed;box-shadow:0 12px 28px #11182714}.coach-change-class[open] summary{border-bottom:1px solid #edf1ee}.coach-change-class summary span{color:var(--ink);font-weight:900}.coach-change-class summary strong{color:var(--muted);font-size:.86rem;font-weight:800;text-align:right}.coach-change-content{display:grid;gap:18px;padding:18px 18px 20px}.coach-filter-panel,.coach-roster-panel,.coach-session-summary,.coach-session-actions,.coach-records-panel{border-radius:12px;box-shadow:var(--shadow)}.coach-session-filters{align-items:end;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(140px,1fr)) auto}.coach-change-class .coach-session-filters{grid-template-columns:repeat(2,minmax(150px,1fr)) auto;margin-top:0}.coach-session-workspace,.coach-attendance-flow{display:grid;gap:16px;min-width:0}.coach-session-list{display:grid;gap:12px;min-width:0}.coach-session-card{border-left:0;min-width:0;padding:18px}.coach-session-card:before{display:none}.coach-session-card .session-meta,.coach-session-card h3,.coach-session-card p,.coach-session-card .recorded-note,.coach-session-card .primary-button,.coach-session-card .secondary-button{margin-left:0}.coach-session-card h3{font-size:1.25rem;overflow-wrap:anywhere}.coach-session-card .session-meta{align-items:center;min-width:0}.coach-session-card .session-tag,.coach-session-card .time-tag{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coach-primary-session{border:2px solid #162319}.coach-session-topline{align-items:center;display:flex;gap:12px;justify-content:space-between}.coach-session-topline strong{color:var(--ink);font-size:1.65rem;line-height:1}.coach-primary-session h3{font-size:clamp(1.7rem,7vw,2.25rem)}.coach-session-empty{border-style:dashed}.coach-empty-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.coach-empty-actions .compact-action{min-height:40px}.coach-session-summary{align-items:center;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) auto auto;position:sticky;top:8px;z-index:4}.coach-session-summary h2{font-size:1.35rem;margin:8px 0 4px}.coach-summary-metrics{display:grid;min-width:160px}.coach-summary-metrics span{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;color:var(--muted);display:grid;font-size:.8rem;gap:3px;min-height:74px;padding:12px 18px}.coach-summary-metrics strong{color:var(--ink);font-size:1.6rem;line-height:1}.coach-refresh-state{background:#111;border-radius:999px;color:#fff;font-size:.82rem;font-weight:700;padding:8px 12px;white-space:nowrap}.coach-session-top-actions{align-items:end;display:grid;gap:10px;justify-items:end}.coach-action-buttons{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(124px,1fr));width:min(100%,320px)}.coach-action-buttons .primary-button,.coach-action-buttons .secondary-button{justify-content:center;min-height:42px;padding:9px 12px;white-space:nowrap}.coach-roster-heading{align-items:start}.coach-roster-list{display:grid;gap:10px}.coach-student-row{align-items:center;border:1px solid var(--line);display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(190px,.44fr);padding:12px}.coach-student-row.is-marked{background:#fafafa;color:#6b7280}.coach-student-identity{align-items:center;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;min-width:0}.coach-student-identity h3{font-size:.98rem;margin:0 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coach-student-identity p{color:var(--muted);font-size:.78rem;font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-avatar{border-radius:999px;font-size:.85rem;height:36px;width:36px}.coach-status-actions{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.coach-status-actions .status-button{border:1px solid var(--line);border-radius:12px;min-height:58px;padding:14px 10px;width:100%}.coach-marked-actions{display:grid;gap:8px;grid-column:1 / -1;grid-template-columns:minmax(0,1fr) auto}.coach-student-row .locked-note{grid-column:1 / -1;margin:-4px 0 0 46px}.student-note-field{grid-column:1 / -1}.student-note-field textarea,.record-note-editor textarea{min-height:72px;resize:vertical}.record-note-editor{display:grid;gap:8px}.coach-roster-empty{border:1px dashed var(--line);border-radius:12px;padding:18px}.coach-roster-empty strong{display:block;margin-bottom:6px}.coach-session-actions{display:grid;gap:12px}.coach-session-actions>.primary-button{justify-content:center;width:100%}.coach-action-details{border:1px solid var(--line);border-radius:12px;padding:12px}.coach-action-details summary{color:var(--ink);cursor:pointer;font-weight:700}.coach-action-details h2{font-size:1.1rem;margin-top:14px}@media(min-width:981px){.coach-workbench{max-width:1180px}.coach-session-workspace,.coach-attendance-flow{grid-template-columns:minmax(0,1fr)}.coach-session-summary,.coach-roster-panel{grid-column:1}}@media(max-width:980px){.coach-command-header,.coach-session-summary,.coach-session-filters{grid-template-columns:1fr}.coach-summary-metrics{min-width:0;width:100%}.coach-refresh-state{justify-self:start}.coach-session-top-actions{align-items:start;justify-items:start;width:100%}.coach-action-buttons{width:100%}}@media(max-width:640px){.topbar{position:static}.topbar-inner{min-height:68px;padding:0 20px}.brand-logo{height:38px!important;margin-right:8px!important}.brand-full{display:none}.brand-short{display:inline}.records-detail-workspace{padding-bottom:calc(160px + env(safe-area-inset-bottom))}.records-detail-stack{padding-bottom:calc(120px + env(safe-area-inset-bottom))}.coach-attendance-flow{padding-bottom:calc(160px + env(safe-area-inset-bottom))}.coach-roster-list{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.coach-session-list{padding-bottom:calc(128px + env(safe-area-inset-bottom))}.coach-change-content{gap:12px;padding:14px}.coach-session-workspace{gap:10px}.coach-session-card{padding:14px}.coach-session-card .session-meta{gap:8px;margin-bottom:10px}.coach-session-card h3{margin:8px 0 6px}.coach-session-card p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coach-session-card .primary-button,.coach-session-card .secondary-button{margin-top:10px;min-height:44px}.coach-session-card .recorded-note{display:none;margin-top:8px}.coach-workbench{gap:10px;padding-bottom:calc(136px + env(safe-area-inset-bottom));padding-left:14px;padding-right:14px}.coach-command-header{gap:8px;padding-top:4px}.coach-command-header h1{font-size:2.25rem;margin-bottom:4px}.coach-command-header .date-label{margin-bottom:4px}.coach-command-header .muted{font-size:.94rem}.coach-command-header .secondary-button{min-height:44px;width:100%}.coach-filter-panel,.coach-roster-panel,.coach-session-summary,.coach-session-actions,.coach-records-panel{padding:14px}.coach-quick-filter{background:transparent;border:0;gap:16px;padding:0}.coach-quick-filter-head{align-items:center;grid-template-columns:minmax(0,1fr) auto;padding:12px}.coach-quick-filter-head strong{font-size:.98rem;text-align:left}.coach-date-card{flex-basis:88px;min-height:64px;padding:10px 12px}.coach-choice-row{gap:6px;grid-template-columns:40px minmax(0,1fr)}.coach-type-row{align-items:start;grid-template-columns:minmax(0,1fr)}.coach-type-row .coach-choice-label{font-size:.9rem;text-transform:none}.coach-flow-chip{min-height:36px;padding:7px 12px}.coach-filter-select{min-height:72px;padding:12px 14px}.coach-session-summary{position:static;top:auto;z-index:auto}.coach-summary-metrics{width:100%}.coach-summary-metrics span{font-size:.72rem;min-height:64px;padding:8px}.coach-summary-metrics strong{font-size:1.35rem}.coach-action-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-action-buttons .primary-button,.coach-action-buttons .secondary-button{min-height:46px;padding-left:8px;padding-right:8px}.coach-search{grid-template-columns:1fr}.coach-student-row{gap:10px;grid-template-columns:1fr}.coach-student-identity{grid-template-columns:auto minmax(0,1fr) auto}.coach-student-identity h3{overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.coach-status-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-marked-actions{grid-template-columns:1fr}.coach-student-row .locked-note{margin-left:0}}@media(max-width:390px){.coach-action-buttons{grid-template-columns:1fr}.coach-student-identity{grid-template-columns:minmax(0,1fr)}.coach-student-identity .compact-avatar{display:none}.coach-student-identity .status-pill,.coach-student-identity .muted{grid-column:1;justify-self:start}}:where(.auth-card,.panel,.admin-topbar,.admin-sidebar,.modal-card,.coach-command-header,.coach-session-card,.student-card,.session-card,.summary-card){letter-spacing:0}:where(.auth-card h1,.admin-topbar h1,.coach-command-header h1,.page-hero h1,.records-hero h1){font-size:clamp(1.55rem,2.5vw,1.95rem);font-weight:700;letter-spacing:0;line-height:1.06}:where(.panel h2,.modal-card h2,.records-open-session-panel h2,.coach-command-header h2){font-size:clamp(1.18rem,1.45vw,1.42rem);font-weight:600;letter-spacing:0;line-height:1.16}:where(.panel h3,.student-card h3,.session-card h3,.area-detail-header h3){font-size:1rem;font-weight:600;letter-spacing:0;line-height:1.18}:where(.muted,.hint,.panel p,.admin-topbar p,.dashboard-class-card-main p,.dashboard-class-date,.coach-command-header .muted){color:#56657a;font-weight:400;line-height:1.42}:where(label,th,.eyebrow,.date-label,.admin-sidebar-label,.dashboard-summary-chip,.status-pill,.session-chip,.time-tag,.pill){font-weight:600;letter-spacing:0}:where(.primary-button,.secondary-button,.ghost-button,.danger-button,.status-button,.admin-sidebar-nav button,.compact-action){font-weight:600;letter-spacing:0}:where(input,select,textarea,.status-select-trigger){font-size:.93rem;font-weight:500}:where(.admin-main th,.records-session-table th,.table-wrap th){color:#475569;font-size:.75rem;font-weight:600}:where(.dashboard-class-time,.dashboard-class-attendance strong,.dashboard-rate-total-card strong,.dashboard-area-rate-numbers strong,.summary-card strong,.coach-summary-metrics strong,.records-count,.student-hero-main strong,.student-hero-side strong){font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:0}.dashboard-class-time{font-size:1.34rem}.dashboard-class-attendance strong,.dashboard-area-rate-numbers strong{font-size:1.08rem}.dashboard-class-attended strong,.dashboard-rate-total-card strong{font-size:1.38rem}.dashboard-summary-chip{font-size:.76rem}.admin-sidebar-nav button,.app-nav button{font-size:.82rem}.auth-card{max-width:520px}:where(.brand-row strong,.brand-symbol,.nav-name,.summary-card span,.session-info-grid span,.active-session-card span,.page-hero-meta span,.student-hero-main span,.student-hero-side span){font-weight:600;letter-spacing:0}:where(.summary-card strong,.records-count,.student-hero-main strong,.student-hero-side strong,.coach-summary-metrics strong){font-weight:700}.summary-card strong{font-size:clamp(2.8rem,5vw,4.1rem)}:where(.status-pill,.session-chip,.time-tag,.pill,.page-hero-meta span){font-size:.78rem;line-height:1.1}:where(.admin-sidebar-nav button,.app-nav button,.app-nav.section-nav button){font-weight:600}:where(.table-wrap td,.records-session-table td,.admin-main td){font-size:.92rem;line-height:1.35}#root{min-height:100vh}button:disabled{cursor:not-allowed;opacity:.68}.action-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.segmented-control{display:inline-flex;border:1px solid rgba(15,23,42,.12);border-radius:999px;padding:4px;background:#f8fafc}.segmented-control button{border:0;background:transparent;color:#475569;border-radius:999px;padding:8px 14px;font:inherit;font-weight:700}.segmented-control button.active{background:#0f172a;color:#fff}
