:root{--brand:#0f766e;--brand2:#134e4a;--ink:#17211f;--muted:#64748b;--line:#dbe4e7;--bg:#f4f8f7;--white:#fff;--danger:#b91c1c;--amber:#b45309;--green:#047857}*{box-sizing:border-box}html{font-family:Tahoma,Arial,sans-serif;background:var(--bg);color:var(--ink)}body{margin:0;min-height:100vh}a{color:var(--brand);text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1280px,calc(100% - 28px));margin:auto}.topbar{background:linear-gradient(135deg,var(--brand2),var(--brand));color:#fff;box-shadow:0 4px 18px #0f766e25}.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:11px;color:#fff;font-weight:900;font-size:17px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#ffffff1c;border:1px solid #ffffff35;font-size:20px}.nav nav{display:flex;flex-wrap:wrap;gap:8px}.nav nav a{color:#fff;padding:9px 12px;border-radius:9px;font-weight:700;font-size:14px}.nav nav a:hover{background:#ffffff18}.danger-link{background:#7f1d1d55}.main{padding:30px 0 55px;min-height:calc(100vh - 132px)}footer{border-top:1px solid var(--line);padding:20px 0;color:var(--muted);font-size:13px;text-align:center}.card{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 35px #0f172a0a;padding:24px}.auth-card{max-width:520px;margin:35px auto;text-align:center;padding:34px}.auth-card h1{font-size:25px;margin:12px 0 8px}.auth-card>p,.section-head p,.dashboard-head p,.subhead p{color:var(--muted);margin:0}.hero-icon{font-size:42px}.stack{display:grid;text-align:right;gap:10px;margin:27px 0}.stack label,.field label{font-weight:800;font-size:13px}.stack input,.field input,.field select,.field textarea,.filters input,.filters select,td select,.small-input{width:100%;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:11px 12px;outline:none;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #14b8a61a}.auth-links{display:flex;justify-content:center;gap:24px;margin-top:18px;font-weight:800;font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:10px;padding:11px 17px;font-weight:900;cursor:pointer}.primary{background:var(--brand);color:#fff}.primary:hover{background:var(--brand2)}.secondary{background:#e6fffb;color:var(--brand2);border:1px solid #99f6e4}.light{background:#f8fafc;color:#334155;border:1px solid #cbd5e1}.section-head{border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:22px}.section-head h1,.dashboard-head h1{margin:0 0 7px;font-size:25px}.row-head,.dashboard-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.alert{border-radius:12px;padding:13px 16px;margin-bottom:18px;font-weight:800;font-size:14px}.alert.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.alert.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.teacher-form{display:grid;gap:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:grid;gap:7px}.field em{color:#dc2626;font-style:normal}.disabled{background:#f1f5f9!important;color:#475569}.strong{font-weight:900;color:var(--brand2)}.subcard{border:1px solid var(--line);background:#f8fafc;border-radius:14px;padding:18px}.subcard h3{margin:0 0 13px;font-size:16px}.subhead{display:flex;justify-content:space-between;gap:10px;margin-bottom:15px}.grade-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.grade-item{display:grid;gap:6px;background:#fff;border:1px solid var(--line);padding:10px;border-radius:10px;font-weight:800;font-size:13px}.grade-item input{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:9px}.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.check-grid label{background:#fff;border:1px solid var(--line);border-radius:9px;padding:12px;font-weight:800;font-size:13px}.top-space{margin-top:14px}.submit-row{display:flex;justify-content:flex-end}.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.stats div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;text-align:center}.stats b{display:block;font-size:28px;color:var(--brand2)}.stats span{font-size:12px;font-weight:800;color:var(--muted)}.stats .success b{color:var(--green)}.stats .warning b{color:var(--amber)}.filters{display:grid;grid-template-columns:2fr 1fr 1.5fr 1fr auto auto;gap:10px;margin-bottom:18px;padding:16px}.table-card{padding:0;overflow:hidden}.table-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}.table-head h2{margin:0;font-size:18px}.table-head span{font-size:12px;color:var(--muted);font-weight:800}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{background:#f1f5f9;color:#334155;text-align:right;padding:12px 10px;white-space:nowrap}td{padding:11px 10px;border-top:1px solid #edf2f7;vertical-align:middle}tbody tr:hover{background:#f8fffd}.muted-row{opacity:.58}.badge{display:inline-block;border-radius:999px;padding:5px 9px;font-weight:900;font-size:11px}.badge.green{background:#d1fae5;color:#065f46}.badge.amber{background:#fef3c7;color:#92400e}.badge.gray{background:#e2e8f0;color:#475569}.actions{display:flex;gap:5px;align-items:center}.actions form{margin:0}.mini{border:1px solid #99f6e4;background:#f0fdfa;color:#115e59;border-radius:7px;padding:6px 8px;font-weight:900;font-size:11px;cursor:pointer;white-space:nowrap}.mini.danger{border-color:#fecaca;background:#fff1f2;color:#991b1b}.empty{text-align:center!important;padding:35px!important;color:var(--muted)}.small-input{min-width:100px;padding:7px}.table-card select{min-width:120px;padding:7px}@media(max-width:950px){.stats{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:repeat(2,1fr)}.grade-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.container{width:min(100% - 18px,1280px)}.nav{align-items:flex-start;padding:13px 0;flex-direction:column}.brand{font-size:14px}.nav nav{width:100%}.nav nav a{padding:7px 8px;font-size:12px}.main{padding-top:18px}.card{padding:16px;border-radius:14px}.auth-card{margin:15px auto;padding:24px 17px}.form-grid,.check-grid,.filters{grid-template-columns:1fr}.grade-grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.stats div:first-child{grid-column:1/-1}.row-head,.dashboard-head{align-items:flex-start;flex-direction:column}.dashboard-head .btn{width:100%}.submit-row .btn{width:100%}.auth-links{flex-direction:column;gap:12px}}

/* ===== Dashboard V2 ===== */
.dashboard-v2-head{margin-bottom:18px}.eyebrow{font-size:11px;font-weight:900;color:var(--brand);letter-spacing:.2px;margin-bottom:5px}.export-actions{display:flex;gap:8px;flex-wrap:wrap}.excel-btn{background:#0f7a4a;color:#fff}.excel-btn:hover{background:#0a643d}.pdf-btn{background:#9f1239;color:#fff}.pdf-btn:hover{background:#881337}.dashboard-overview{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px;margin-bottom:14px}.progress-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;min-height:210px;background:linear-gradient(135deg,#0f766e 0%,#134e4a 78%);color:#fff;border:0}.progress-hero:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:#ffffff0d;left:-70px;top:-110px}.progress-hero:after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;border:1px solid #ffffff20;right:38%;bottom:-72px}.progress-copy,.progress-ring,.progress-track{position:relative;z-index:1}.progress-kicker{font-size:12px;font-weight:800;color:#ccfbf1}.progress-copy strong{display:block;font-size:52px;line-height:1;margin:9px 0 10px}.progress-copy p{margin:0;color:#dff7f2;font-size:13px;line-height:1.8;max-width:420px}.progress-ring{width:126px;height:126px;border-radius:50%;background:conic-gradient(#fff var(--progress),#ffffff22 0);display:grid;place-items:center;box-shadow:inset 0 0 0 1px #ffffff1c}.progress-ring:before{content:"";position:absolute;width:98px;height:98px;border-radius:50%;background:#145a55}.progress-ring div{position:relative;z-index:1;text-align:center}.progress-ring b{display:block;font-size:25px}.progress-ring span{font-size:10px;color:#ccfbf1}.progress-track{grid-column:1/-1;height:7px;background:#ffffff20;border-radius:999px;overflow:hidden}.progress-track span{display:block;height:100%;background:#fff;border-radius:999px}.quick-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quick-stat{min-height:99px;padding:17px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;color:inherit;transition:.18s ease}.quick-stat:hover{transform:translateY(-2px);box-shadow:0 14px 35px #0f172a12;border-color:#b6cbc7}.quick-stat .stat-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#ecfdf5;font-size:17px;grid-row:1/3}.quick-stat b{font-size:25px;line-height:1;color:var(--brand2)}.quick-stat small{font-size:11px;color:var(--muted);font-weight:800}.quick-stat.success .stat-icon{background:#d1fae5;color:#047857}.quick-stat.warning .stat-icon{background:#fef3c7;color:#b45309}.quick-stat.success b{color:#047857}.quick-stat.warning b{color:#b45309}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.insight-title{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:13px}.insight-title h2{margin:0;font-size:18px}.attention-pulse{width:11px;height:11px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 6px #f59e0b18;margin-top:7px}.attention-list{display:grid;gap:8px}.attention-list>a,.attention-list>div{display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid var(--line);border-radius:11px;padding:11px 13px;color:inherit;background:#fbfdfd}.attention-list span{font-size:12px;font-weight:800}.attention-list b{font-size:18px;color:var(--brand2)}.live-dot{font-size:10px;font-weight:900;color:#047857;background:#d1fae5;border-radius:999px;padding:5px 9px}.recent-list{display:grid;gap:7px}.recent-list>div{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid #edf2f7}.recent-list>div:last-child{border-bottom:0}.avatar-mini{width:32px;height:32px;border-radius:9px;background:#e6fffb;color:var(--brand2);display:grid;place-items:center;font-weight:900}.recent-list p{margin:0;min-width:0}.recent-list p b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-list p small{display:block;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.recent-list time{font-size:10px;color:var(--muted);white-space:nowrap}.school-progress-card{margin-bottom:14px;padding:0;overflow:hidden}.premium-head{align-items:flex-end}.premium-head h2{margin:2px 0 0}.school-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding:5px 20px 18px}.school-progress-item{position:relative;display:grid;grid-template-columns:1fr auto;gap:8px 12px;color:inherit;padding:13px 4px;border-bottom:1px solid #edf2f7}.school-progress-item:hover b{color:var(--brand)}.school-progress-item b{display:block;font-size:12px;line-height:1.5}.school-progress-item small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.school-percent{font-weight:900;font-size:15px}.school-progress-item i{grid-column:1/-1;height:5px;background:#edf2f7;border-radius:999px;overflow:hidden}.school-progress-item i em{display:block;height:100%;border-radius:999px;background:var(--brand)}.school-progress-item.low .school-percent{color:#b45309}.school-progress-item.low i em{background:#f59e0b}.school-progress-item.mid .school-percent{color:#0369a1}.school-progress-item.mid i em{background:#0ea5e9}.school-progress-item.good .school-percent{color:#047857}.school-progress-item.good i em{background:#10b981}.live-filters{position:sticky;top:8px;z-index:8;grid-template-columns:2fr 1fr 1.4fr 1fr auto auto;align-items:center;box-shadow:0 12px 30px #0f172a10}.search-field{position:relative}.search-field>span{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:18px;color:#64748b;pointer-events:none}.search-field input{padding-right:38px!important}.clear-filter-btn{white-space:nowrap}.filter-loading{width:18px;height:18px;border:2px solid #cbd5e1;border-top-color:var(--brand);border-radius:50%;opacity:0;transform:scale(.7)}.filter-loading.show{opacity:1;animation:spin .75s linear infinite}.soft-loading{opacity:.55;pointer-events:none;transition:opacity .15s}.filter-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 10px;padding:0 2px;color:var(--muted);font-size:11px;font-weight:800}.filter-chips{display:flex;gap:6px;flex-wrap:wrap}.filter-chips button{border:1px solid #99f6e4;background:#f0fdfa;color:#115e59;border-radius:999px;padding:5px 9px;font:inherit;font-size:10px;font-weight:900;cursor:pointer}.premium-table{margin-top:0}.premium-table .table-head h2{margin:2px 0 0}.premium-table .table-head span b{color:var(--brand2);font-size:14px}.premium-table thead th{position:sticky;top:0;z-index:2}.school-cell{max-width:290px;min-width:190px}.mono-cell{font-variant-numeric:tabular-nums}.phone-link{color:var(--brand2);font-weight:800}.last-update{font-size:10px;color:#475569;white-space:nowrap}.dash{color:#94a3b8}.empty{display:table-cell!important}.empty .empty-icon{display:block;font-size:28px;margin-bottom:5px}.empty b{display:block;color:#334155}.empty small{display:block;margin-top:5px}.pagination{display:flex;justify-content:center;gap:5px;padding:15px;border-top:1px solid var(--line);flex-wrap:wrap}.pagination a{min-width:34px;height:34px;padding:0 10px;border:1px solid #cbd5e1;border-radius:8px;display:grid;place-items:center;color:#334155;font-weight:900;font-size:11px;background:#fff}.pagination a.active{background:var(--brand);border-color:var(--brand);color:#fff}.mini-empty{padding:20px;text-align:center;color:var(--muted);font-size:12px}.is-loading select,.is-loading input{cursor:progress}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1050px){.dashboard-overview{grid-template-columns:1fr}.quick-stats{grid-template-columns:repeat(4,1fr)}.live-filters{grid-template-columns:2fr 1fr 1.5fr 1fr auto}.filter-loading{display:none}}
@media(max-width:800px){.quick-stats{grid-template-columns:repeat(2,1fr)}.insight-grid{grid-template-columns:1fr}.school-progress-grid{grid-template-columns:1fr}.live-filters{position:static;grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.clear-filter-btn{grid-column:1/-1}.progress-hero{grid-template-columns:1fr auto}.progress-ring{width:108px;height:108px}.progress-ring:before{width:82px;height:82px}}
@media(max-width:560px){.dashboard-v2-head .export-actions{width:100%}.dashboard-v2-head .export-actions .btn{flex:1}.progress-hero{display:block;min-height:auto}.progress-ring{position:absolute;left:16px;top:18px;width:86px;height:86px}.progress-ring:before{width:65px;height:65px}.progress-ring b{font-size:19px}.progress-copy strong{font-size:44px}.progress-copy p{padding-left:85px}.progress-track{margin-top:20px}.quick-stats{grid-template-columns:1fr 1fr}.quick-stat{min-height:86px;padding:12px}.live-filters{grid-template-columns:1fr}.search-field,.clear-filter-btn{grid-column:auto}.filter-summary{align-items:flex-start;flex-direction:column}.recent-list time{display:none}}

/* ================================================================
   V3 — Unified identity & system-wide UX
   ================================================================ */
:root{--brand:#0f766e;--brand-dark:#115e59;--brand-deep:#134e4a;--brand-soft:#ecfdf5;--accent:#c9963c;--accent-soft:#fff8e8;--ink:#152321;--muted:#667a76;--line:#dbe7e4;--bg:#f3f7f6;--surface:#fff;--danger:#b42318;--danger-soft:#fff1f0;--success:#067647;--warning:#b54708;--shadow:0 14px 45px rgba(15,76,70,.08)}
body{background:radial-gradient(circle at 80% -10%,rgba(15,118,110,.08),transparent 34%),var(--bg)}
.app-header{position:sticky;top:0;z-index:50;background:rgba(19,78,74,.96);backdrop-filter:blur(14px);box-shadow:0 8px 28px rgba(19,78,74,.14);color:#fff}
.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:11px;color:#fff}.brand-mark,.auth-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-weight:900;background:linear-gradient(145deg,#ffffff26,#ffffff10);border:1px solid #ffffff35;box-shadow:inset 0 1px 0 #ffffff33}.brand-copy{display:grid;gap:2px}.brand-copy b{font-size:15px}.brand-copy small{font-size:10px;color:#d4ebe7;font-weight:600}.header-side{display:flex;align-items:center;gap:12px}.main-nav{display:flex;align-items:center;gap:5px}.main-nav a{color:#dff3ef;padding:9px 11px;border-radius:10px;font-weight:800;font-size:13px}.main-nav a:hover,.main-nav a.active{background:#ffffff17;color:#fff}.user-chip{display:flex;align-items:center;gap:8px;border-right:1px solid #ffffff1f;padding-right:12px}.user-avatar,.avatar-large,.avatar-mini{display:grid;place-items:center;border-radius:50%;font-weight:900}.user-avatar{width:34px;height:34px;background:#ffffff18;border:1px solid #ffffff25}.user-chip span:nth-child(2){display:grid}.user-chip b{font-size:12px}.user-chip small{font-size:10px;color:#bcdad5}.logout-link{color:#fff;background:#ffffff12;border:1px solid #ffffff1f;padding:8px 10px;border-radius:9px;font-size:12px;font-weight:800}.nav-toggle{display:none;background:#ffffff12;color:#fff;border:1px solid #ffffff25;border-radius:10px;padding:8px 11px;font-size:18px}.main-content{padding:30px 0 56px;min-height:calc(100vh - 135px)}.app-footer{border-top:1px solid var(--line);background:#edf4f2;padding:18px 0;color:var(--muted);font-size:12px}.footer-inner{display:flex;justify-content:space-between;gap:15px}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.page-head h1{font-size:27px;margin:4px 0 7px;color:var(--ink)}.page-head p{margin:0;color:var(--muted);line-height:1.8}.eyebrow{display:inline-block;color:var(--brand);font-size:11px;font-weight:900;letter-spacing:.2px}.light-eyebrow{color:#a7f3d0}.helper-text{font-size:11px;color:var(--muted)}
.auth-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.75fr);max-width:1080px;margin:25px auto;min-height:590px;border-radius:28px;overflow:hidden;box-shadow:0 20px 70px rgba(15,76,70,.12)}.auth-visual{background:linear-gradient(150deg,#0b4f49,#0f766e 70%,#169c8f);color:#fff;padding:62px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.auth-visual:before,.auth-visual:after{content:"";position:absolute;border-radius:50%;border:1px solid #ffffff17}.auth-visual:before{width:380px;height:380px;left:-150px;top:-100px}.auth-visual:after{width:250px;height:250px;right:-100px;bottom:-90px}.auth-visual h1{font-size:35px;line-height:1.45;margin:10px 0 14px;max-width:560px}.auth-visual>p{color:#d9efeb;line-height:2;max-width:550px}.feature-list{display:grid;gap:10px;margin-top:30px;position:relative}.feature-list div{display:flex;align-items:center;gap:12px;background:#ffffff0f;border:1px solid #ffffff17;padding:12px 14px;border-radius:13px}.feature-list b{color:#f7d99c}.auth-shell .auth-card{margin:0;max-width:none;border-radius:0;border:0;box-shadow:none;padding:55px 45px;text-align:right;display:flex;flex-direction:column;justify-content:center}.auth-mark{background:var(--brand-soft);border-color:#b8e3d9;color:var(--brand-deep);margin-bottom:20px}.auth-mark.shield{font-size:20px}.auth-card h2{font-size:27px;margin:5px 0 7px}.auth-card>p{color:var(--muted);margin:0}.auth-card .stack{margin:25px 0 15px}.input-with-icon{position:relative}.input-with-icon>span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:900}.input-with-icon input{padding-right:34px}.wide{width:100%}.password-wrap{position:relative}.password-wrap input{padding-left:65px}.password-toggle{position:absolute;left:7px;top:50%;transform:translateY(-50%);border:0;background:#eef5f3;color:var(--brand);font-size:11px;font-weight:900;padding:6px 8px;border-radius:7px}.auth-links{display:grid;gap:8px;text-align:center;margin-top:10px}.auth-links a{font-size:12px;font-weight:800}
.card{border-color:var(--line);box-shadow:var(--shadow)}.btn{border-radius:11px;transition:.18s ease}.btn:hover{transform:translateY(-1px)}.primary{background:linear-gradient(135deg,var(--brand),#11887e)}.light{background:#fff;border:1px solid var(--line)}.alert.warning{background:var(--accent-soft);border:1px solid #f4d79b;color:#805b18}.status-pill{border-radius:999px;padding:9px 13px;font-size:12px;font-weight:900}.status-pill.success{background:#e8f8f1;color:var(--success)}.status-pill.warning{background:#fff5e7;color:var(--warning)}
.form-card{padding:0;overflow:hidden}.teacher-form{gap:0}.form-section{padding:24px 26px;border-bottom:1px solid var(--line)}.form-section:last-of-type{border-bottom:0}.form-section-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.form-section-head>div{flex:1}.form-section-head h3{margin:0 0 3px;font-size:17px}.form-section-head p{margin:0;color:var(--muted);font-size:12px}.section-number{width:34px;height:34px;border-radius:11px;background:var(--brand-soft);color:var(--brand-deep);display:grid;place-items:center;font-weight:900}.lessons-badge{margin-right:auto!important;flex:0 0 auto!important;background:#f0fdfa;border:1px solid #b6e7df;border-radius:12px;padding:7px 10px;display:flex!important;align-items:center;gap:7px}.lessons-badge span{font-size:10px;color:var(--muted);font-weight:800}.lessons-badge input{border:0!important;background:transparent!important;width:90px!important;padding:0!important;font-weight:900;color:var(--brand-deep);text-align:center}.grade-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.grade-item{transition:.15s}.grade-item:focus-within{border-color:#7fcfc2;box-shadow:0 0 0 3px #0f766e0c}.grade-item small{font-size:9px;color:var(--muted)}.check-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.check-grid label{display:flex;align-items:center;gap:8px}.check-grid input{accent-color:var(--brand)}.sticky-submit{position:sticky;bottom:0;z-index:8;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);padding:15px 24px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.sticky-submit>div{display:grid;gap:2px}.sticky-submit small{color:var(--muted)}
.metric-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px 18px;box-shadow:0 8px 25px rgba(15,76,70,.05)}.metric-card span{display:block;color:var(--muted);font-size:11px;font-weight:800}.metric-card b{display:block;font-size:27px;color:var(--brand-deep);margin-top:4px}.metric-card.success b{color:var(--success)}.metric-card.warning b{color:var(--warning)}.toolbar-card{padding:14px 16px;margin-bottom:17px}.filter-bar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}.filter-bar input,.filter-bar select,.filter-panel input,.filter-panel select{width:100%;border:1px solid #cadbd7;border-radius:10px;background:#fff;padding:10px 11px;color:var(--ink);outline:none}.filter-bar input:focus,.filter-bar select:focus,.filter-panel input:focus,.filter-panel select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0f766e12}.owner-pill{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900;white-space:nowrap}.owner-pill.assigned{background:#eaf8f4;color:#086b58}.owner-pill.unassigned{background:#fff4e6;color:#a15c00}.empty-filter{padding:30px;text-align:center;color:var(--muted)}
.create-card{margin-bottom:18px}.inline-head{display:flex;justify-content:space-between;align-items:center}.compact-form{grid-template-columns:repeat(4,minmax(0,1fr))}.supervisor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.supervisor-card{position:relative;overflow:hidden}.supervisor-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.supervisor-identity{display:flex;align-items:center;gap:10px}.avatar-large{width:44px;height:44px;background:var(--brand-soft);color:var(--brand-deep);border:1px solid #c3e9e1}.supervisor-card h2{font-size:16px;margin:0 0 3px}.supervisor-card p{font-size:11px}.supervisor-meta{display:flex;justify-content:space-between;gap:8px;background:#f7faf9;border-radius:10px;padding:9px 10px;margin:13px 0;font-size:10px;color:var(--muted)}.supervisor-meta b{color:var(--brand-deep)}.assigned-chips,.scope-chip-list{display:flex;flex-wrap:wrap;gap:6px}.assigned-chips span,.scope-chip-list span{background:#eef7f5;color:#315d57;border:1px solid #d9ebe7;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:700}.assigned-chips .more{background:#fff6e7;color:#8a621e}.empty-chip{opacity:.7}.scope-editor{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.scope-editor summary{cursor:pointer;color:var(--brand);font-size:11px;font-weight:900}.scope-editor[open] summary{margin-bottom:10px}.taken-school{opacity:.55}.taken-school small{display:block;color:var(--warning);font-size:9px;margin-right:23px}.supervisor-toggle{margin-top:12px}.allocation-card{margin-top:18px;padding:0;overflow:hidden}.allocation-card .filter-bar{padding:14px 18px;grid-template-columns:2fr 1fr;border-top:1px solid var(--line)}.inline-owner-form select{min-width:175px}
.scope-summary{padding:12px 16px;margin-bottom:16px}.scope-summary summary{cursor:pointer;font-size:12px;font-weight:900;color:var(--brand-deep);display:flex;justify-content:space-between}.scope-summary[open] .scope-chip-list{margin-top:12px}.filter-panel{padding:14px 16px;margin-bottom:18px}.filter-primary{display:grid;grid-template-columns:minmax(260px,2fr) 1fr minmax(220px,1.35fr) 1fr auto auto auto;gap:9px;align-items:center}.search-field{position:relative}.search-field>span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);z-index:1}.search-field input{padding-right:34px!important}.advanced-filter-grid{display:none;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;padding-top:12px;margin-top:12px;border-top:1px dashed var(--line)}.advanced-filter-grid.open{display:grid}.advanced-toggle{white-space:nowrap}.column-tools{display:flex;align-items:center;gap:9px;margin-top:12px;padding-top:11px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.column-picker{position:relative}.column-picker summary{cursor:pointer;background:#f6faf9;border:1px solid var(--line);padding:7px 10px;border-radius:8px;color:var(--brand-deep);font-weight:900}.column-menu{position:absolute;top:38px;right:0;z-index:20;width:210px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 15px 45px rgba(15,76,70,.15);padding:10px;display:grid;gap:5px}.column-menu label{font-size:11px;padding:5px;border-radius:7px}.column-menu label:hover{background:#f4f9f8}.column-menu input{width:auto;accent-color:var(--brand)}.wide-data-table{max-height:70vh}.wide-data-table table{min-width:1900px}.wide-data-table th{position:sticky;top:0;z-index:3}.text-cell{max-width:260px;line-height:1.75;white-space:normal}.notes-cell{max-width:310px}.mobile-school{display:none}.filter-loading{width:18px;height:18px;border:2px solid #cfe3df;border-top-color:var(--brand);border-radius:50%;opacity:0}.filter-loading.active{opacity:1;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.progress-ring{background:conic-gradient(var(--brand) var(--progress),#dbe8e5 0)}.quick-stat{cursor:pointer}.attention-list a{cursor:pointer}.school-progress-item{cursor:pointer}.excel-btn{background:#eaf7ef;color:#17663b;border:1px solid #bce3ca}.pdf-btn{background:#fff1f1;color:#a22a2a;border:1px solid #f3caca}
.admin-school-table select,.admin-school-table input{min-width:120px}.premium-table th{white-space:nowrap}.premium-table td{vertical-align:top}.table-head h2{margin:2px 0 0}.mini{cursor:pointer}.form-button{align-self:end}
@media(max-width:1180px){.supervisor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-primary{grid-template-columns:2fr 1fr 1fr 1fr auto auto}.filter-loading{display:none}.advanced-filter-grid{grid-template-columns:repeat(3,1fr)}.grade-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){.header-side{display:none;position:absolute;top:70px;left:14px;right:14px;background:var(--brand-deep);padding:14px;border-radius:16px;box-shadow:0 18px 50px #063b3766;flex-direction:column;align-items:stretch}.header-side.open{display:flex}.main-nav{flex-direction:column;align-items:stretch}.main-nav a{text-align:center}.user-chip{border:0;border-top:1px solid #ffffff1f;padding:10px 0 0}.logout-link{text-align:center}.nav-toggle{display:block}.brand-copy small{display:none}.auth-shell{grid-template-columns:1fr;max-width:620px}.auth-visual{display:none}.auth-shell .auth-card{padding:40px 28px}.metric-row{grid-template-columns:repeat(2,1fr)}.supervisor-grid{grid-template-columns:1fr}.compact-form{grid-template-columns:repeat(2,1fr)}.filter-primary{grid-template-columns:1fr 1fr}.filter-primary .search-field{grid-column:1/-1}.advanced-filter-grid{grid-template-columns:repeat(2,1fr)}.filter-bar{grid-template-columns:1fr}.allocation-card .filter-bar{grid-template-columns:1fr}.page-head{align-items:flex-start}.check-grid{grid-template-columns:repeat(2,1fr)}.grade-grid{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.container{width:min(100% - 18px,1280px)}.main-content{padding-top:18px}.page-head{display:grid}.page-head h1{font-size:22px}.page-head>.btn{justify-self:start}.footer-inner{display:grid;text-align:center}.auth-shell{margin:0;border-radius:20px;min-height:auto}.auth-shell .auth-card{padding:32px 20px}.metric-row{grid-template-columns:1fr 1fr}.metric-card{padding:14px}.metric-card b{font-size:22px}.compact-form,.form-grid{grid-template-columns:1fr}.teacher-form .form-section{padding:19px 16px}.form-section-head{align-items:flex-start}.lessons-badge{margin-right:0!important}.grade-grid{grid-template-columns:repeat(2,1fr)}.check-grid{grid-template-columns:1fr}.sticky-submit{position:static;display:grid;padding:14px 16px}.filter-primary,.advanced-filter-grid{grid-template-columns:1fr}.filter-primary .search-field{grid-column:auto}.column-tools{align-items:flex-start;flex-wrap:wrap}.column-menu{right:auto;left:0}.dashboard-overview,.insight-grid{grid-template-columns:1fr!important}.quick-stats{grid-template-columns:1fr 1fr!important}.progress-hero{min-height:auto!important}.wide-data-table{max-height:65vh}.mobile-school{display:block;color:var(--muted);font-size:9px;margin-top:3px}.footer-inner{justify-content:center}.brand-copy b{font-size:12px}}

/* School CRUD enhancements */
.school-create-form{grid-template-columns:minmax(150px,1fr) minmax(260px,2fr) minmax(130px,1fr) minmax(120px,1fr) minmax(130px,1fr) auto}.school-create-form .school-name-field{min-width:0}.editable-school-table{min-width:1250px}.editable-school-table input[name="wilayat"]{min-width:145px}.editable-school-table .school-name-input{min-width:300px}.school-row-actions{display:flex;align-items:center;gap:6px}.school-row-actions form{margin:0}.teacher-count-badge{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 7px;border-radius:999px;background:#eef7f5;color:var(--brand-deep);font-weight:900;font-size:11px}.mini:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:1100px){.school-create-form{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.school-create-form{grid-template-columns:1fr}}


/* ===== IT Signature Polish · 2026 ===== */
:root{
  --brand-deep:#0a4f4a;
  --brand-soft:#eaf7f4;
  --success:#087a5b;
  --warning:#ad6a0c;
  --accent:#d9a441;
  --surface:#ffffff;
  --surface-soft:#f7fbfa;
  --shadow-sm:0 8px 24px rgba(8,66,61,.07);
  --shadow-md:0 18px 48px rgba(8,66,61,.11);
}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(circle at 8% 10%,rgba(15,118,110,.065),transparent 28%),
    radial-gradient(circle at 92% 24%,rgba(217,164,65,.055),transparent 22%),
    linear-gradient(180deg,#f8fbfa 0%,#f3f8f6 62%,#eef5f3 100%);
  background-attachment:fixed;
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.28;
  background-image:linear-gradient(rgba(15,118,110,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(15,118,110,.035) 1px,transparent 1px);
  background-size:42px 42px;mask-image:linear-gradient(to bottom,#000 0%,transparent 72%);
}
.app-header{
  position:sticky;top:0;z-index:50;
  background:linear-gradient(118deg,rgba(8,66,61,.98),rgba(15,118,110,.965));
  border-bottom:1px solid rgba(255,255,255,.13);
  box-shadow:0 12px 36px rgba(7,68,62,.16);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
}
.header-inner{min-height:78px}
.brand{gap:12px;transition:transform .18s ease}.brand:hover{transform:translateY(-1px)}
.brand-mark{
  width:48px;height:48px;border-radius:16px;position:relative;overflow:hidden;
  font-size:18px;letter-spacing:-.6px;
  background:linear-gradient(145deg,rgba(255,255,255,.25),rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.33);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 9px 22px rgba(3,45,41,.18);
}
.brand-mark:before{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:rgba(217,164,65,.23);left:-8px;bottom:-7px}
.brand-mark:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#f5c96f;top:8px;right:8px;box-shadow:0 0 0 3px rgba(245,201,111,.12)}
.brand-copy b{font-size:15px;letter-spacing:.05px}.brand-copy small{opacity:.92}
.main-nav{padding:4px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);border-radius:13px}
.main-nav a{position:relative}.main-nav a.active{background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.main-nav a.active:after{content:"";position:absolute;right:11px;left:11px;bottom:4px;height:2px;border-radius:99px;background:#f1c66d}
.user-chip{padding:6px 12px 6px 0;border-radius:12px}.user-avatar{box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.logout-link{transition:.18s ease}.logout-link:hover{background:rgba(255,255,255,.2);transform:translateY(-1px)}
.main-content{padding-top:34px}
.card{
  border-color:rgba(167,193,187,.48);
  box-shadow:var(--shadow-sm);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.page-head{position:relative;padding:4px 0 7px}.page-head:before{content:"";position:absolute;right:-14px;top:8px;width:4px;height:52px;border-radius:99px;background:linear-gradient(180deg,var(--brand),var(--accent))}
.page-head h1{letter-spacing:-.35px;color:#153a37}.page-head p{line-height:1.85}
.eyebrow{display:inline-flex;align-items:center;gap:7px}.eyebrow:before{content:"";width:16px;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--brand))}
.btn{border-radius:12px;min-height:40px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.btn:hover{transform:translateY(-1px)}
.btn.primary,.primary{background:linear-gradient(135deg,#0f766e,#0a5f59);box-shadow:0 8px 20px rgba(15,118,110,.17)}
.btn.primary:hover,.primary:hover{background:linear-gradient(135deg,#0d6c64,#084f4b);box-shadow:0 11px 26px rgba(15,118,110,.21)}
.btn.light,.light{background:rgba(255,255,255,.75);border-color:#cddfdb;backdrop-filter:blur(8px)}

/* Login experience */
.auth-shell{
  position:relative;overflow:hidden;
  box-shadow:0 30px 80px rgba(8,66,61,.13);
  border:1px solid rgba(169,199,191,.55);
}
.auth-shell:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;border:1px solid rgba(255,255,255,.11);right:34%;top:-155px;pointer-events:none}
.auth-visual{position:relative;overflow:hidden}
.auth-visual:before{content:"IT";position:absolute;left:-18px;bottom:-70px;font-size:210px;font-weight:900;line-height:1;color:rgba(255,255,255,.04);letter-spacing:-16px;pointer-events:none}
.auth-visual:after{content:"";position:absolute;width:175px;height:175px;border-radius:50%;background:radial-gradient(circle,rgba(217,164,65,.2),transparent 66%);top:-45px;left:-55px;pointer-events:none}
.auth-card{position:relative}.auth-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,transparent,var(--accent),var(--brand),transparent);opacity:.8}
.auth-mark{
  margin:0 auto 18px;width:58px;height:58px;border-radius:18px;color:#fff;font-size:18px;letter-spacing:-.5px;
  background:linear-gradient(145deg,#0f766e,#0a4f4a);border:1px solid rgba(255,255,255,.22);
  box-shadow:0 13px 30px rgba(15,118,110,.22),inset 0 1px 0 rgba(255,255,255,.25);
}
.auth-mark.shield{background:linear-gradient(145deg,#0b5f59,#083f3b)}
.auth-card h2{font-size:28px;letter-spacing:-.4px;color:#173b38;margin:8px 0}
.auth-card>p{line-height:1.8}.stack{gap:11px}.stack label{color:#284b48}
.stack input,.field input,.field select,.field textarea,.filter-bar input,.filter-bar select,.filter-panel input,.filter-panel select{
  border-color:#cbded9;background:rgba(255,255,255,.95);box-shadow:0 1px 0 rgba(8,66,61,.02);
}
.stack input:hover,.field input:hover,.field select:hover,.field textarea:hover{border-color:#a9cbc3}
.password-toggle{border-radius:9px}
.auth-links a{position:relative}.auth-links a:hover{text-decoration:underline;text-underline-offset:4px}

/* Metrics and dashboard */
.metric-card{position:relative;overflow:hidden;padding:19px 20px;border-color:#d5e5e1;background:linear-gradient(180deg,#fff,#fbfdfc)}
.metric-card:after{content:"";position:absolute;width:56px;height:56px;border-radius:50%;left:-28px;bottom:-30px;background:rgba(15,118,110,.05)}
.metric-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#bfd8d2}
.metric-card b{letter-spacing:-.8px}.metric-card span{letter-spacing:.1px}
.progress-hero{box-shadow:0 18px 48px rgba(8,79,74,.2)!important;background:linear-gradient(132deg,#0f766e 0%,#0b5f59 48%,#083f3b 100%)!important}
.progress-hero:before{background:radial-gradient(circle,rgba(217,164,65,.22),rgba(255,255,255,.035) 55%,transparent 70%)}
.quick-stat{background:linear-gradient(180deg,#fff,#fbfdfc)}
.quick-stat .stat-icon{border:1px solid rgba(15,118,110,.08)}
.insight-grid>.card:hover,.quick-stat:hover{box-shadow:var(--shadow-md)}

/* School management focus */
.create-card{position:relative;overflow:hidden;border-color:#cce0db;background:linear-gradient(135deg,#fff 0%,#fbfdfc 62%,#f2faf7 100%)}
.create-card:before{content:"";position:absolute;left:-58px;top:-58px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(15,118,110,.10),transparent 68%);pointer-events:none}
.create-card .section-head{position:relative}.helper-text{line-height:1.6}
.toolbar-card{background:rgba(255,255,255,.82);backdrop-filter:blur(10px);border-color:#d2e2de}
.premium-table{box-shadow:0 16px 45px rgba(8,66,61,.08)}
.premium-table .table-head{background:linear-gradient(180deg,#fff,#fbfdfc)}
.editable-school-table thead th{position:sticky;top:0;z-index:4;background:#edf5f3;color:#244642;border-bottom:1px solid #ccdfda;padding-top:13px;padding-bottom:13px}
.editable-school-table tbody tr:nth-child(even){background:rgba(247,251,250,.7)}
.editable-school-table tbody tr{transition:background .14s ease,box-shadow .14s ease}.editable-school-table tbody tr:hover{background:#f0faf7;box-shadow:inset -3px 0 0 var(--brand)}
.editable-school-table td{padding-top:10px;padding-bottom:10px}
.editable-school-table input,.editable-school-table select{background:#fff;border-color:#d3e2df;border-radius:9px;transition:.15s ease}
.editable-school-table input:focus,.editable-school-table select:focus{background:#fff;border-color:#65aa9e;box-shadow:0 0 0 3px rgba(15,118,110,.09)}
.teacher-count-badge{background:linear-gradient(135deg,#eef8f5,#e4f3ef);border:1px solid #d0e6e0;box-shadow:inset 0 1px 0 #fff}
.owner-pill.assigned{border:1px solid #cce8e0}.owner-pill.unassigned{border:1px solid #f0dbb9}
.school-row-actions{justify-content:center}.mini{border-radius:9px;padding:7px 10px;transition:.16s ease}.mini:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(15,118,110,.1)}
.mini.danger:hover{box-shadow:0 6px 14px rgba(185,28,28,.09);background:#ffe9ec}
.empty-filter{background:#fbfdfc;border-top:1px dashed #d7e6e2}

/* Forms */
.form-section{border-color:#d6e5e1!important;box-shadow:0 8px 24px rgba(8,66,61,.035)}
.form-section:hover{border-color:#c6ddd7!important}.section-number{box-shadow:0 5px 12px rgba(15,118,110,.11)}
.grade-item,.check-grid label{transition:.16s ease}.grade-item:hover,.check-grid label:hover{border-color:#bcd9d2;transform:translateY(-1px)}
.sticky-submit{box-shadow:0 -10px 30px rgba(8,66,61,.06)}

/* Footer */
.app-footer{background:rgba(237,244,242,.85);backdrop-filter:blur(8px);border-top-color:#d7e5e1}

@media(max-width:900px){
  .app-header{position:sticky}.main-nav{background:transparent;border:0;padding:0}.main-nav a.active:after{display:none}
  .header-side{background:linear-gradient(145deg,#0a4f4a,#083f3b)}
  .auth-shell{box-shadow:0 20px 50px rgba(8,66,61,.1)}
  .page-head:before{right:-8px;height:44px}
}
@media(max-width:620px){
  body:before{display:none}.brand-mark{width:43px;height:43px;border-radius:14px}.header-inner{min-height:68px}
  .main-content{padding-top:22px}.page-head{padding-right:9px}.page-head:before{right:0}
  .metric-card{padding:15px}.auth-mark{width:52px;height:52px;border-radius:16px}
  .school-row-actions{justify-content:flex-start}.mini{min-height:34px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ============================================================
   Wide desktop data view + click-to-focus rows
   2026-09-05
   ============================================================ */

/* Use the available desktop canvas instead of keeping the old 1280px cap. */
@media (min-width: 1400px){
  .container{
    width:min(1500px,calc(100% - 30px));
  }

  /* On large screens the teacher table is designed to fit without a
     horizontal drag. Long textual fields wrap vertically instead. */
  .wide-data-table{
    overflow-x:hidden;
  }
  .wide-data-table table{
    width:100%;
    min-width:0;
    table-layout:fixed;
    font-size:12px;
  }
  .wide-data-table th{
    padding:10px 5px;
    font-size:11.5px;
    line-height:1.35;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .wide-data-table td{
    padding:10px 5px;
    line-height:1.55;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .wide-data-table .text-cell,
  .wide-data-table .notes-cell{
    max-width:none;
  }
  .wide-data-table .school-cell{
    line-height:1.55;
  }
  .wide-data-table .actions{
    gap:4px;
    flex-wrap:wrap;
    align-content:flex-start;
  }
  .wide-data-table .mini{
    padding:5px 7px;
    font-size:10px;
  }
  .wide-data-table .badge{
    padding:5px 7px;
    font-size:10px;
  }

  /* Balanced widths for the 16 dashboard columns. */
  .wide-data-table th:nth-child(1), .wide-data-table td:nth-child(1){width:38px}
  .wide-data-table th:nth-child(2), .wide-data-table td:nth-child(2){width:118px}
  .wide-data-table th:nth-child(3), .wide-data-table td:nth-child(3){width:80px}
  .wide-data-table th:nth-child(4), .wide-data-table td:nth-child(4){width:84px}
  .wide-data-table th:nth-child(5), .wide-data-table td:nth-child(5){width:82px}
  .wide-data-table th:nth-child(6), .wide-data-table td:nth-child(6){width:74px}
  .wide-data-table th:nth-child(7), .wide-data-table td:nth-child(7){width:154px}
  .wide-data-table th:nth-child(8), .wide-data-table td:nth-child(8){width:65px}
  .wide-data-table th:nth-child(9), .wide-data-table td:nth-child(9){width:50px}
  .wide-data-table th:nth-child(10), .wide-data-table td:nth-child(10){width:124px}
  .wide-data-table th:nth-child(11), .wide-data-table td:nth-child(11){width:124px}
  .wide-data-table th:nth-child(12), .wide-data-table td:nth-child(12){width:124px}
  .wide-data-table th:nth-child(13), .wide-data-table td:nth-child(13){width:80px}
  .wide-data-table th:nth-child(14), .wide-data-table td:nth-child(14){width:64px}
  .wide-data-table th:nth-child(15), .wide-data-table td:nth-child(15){width:60px}
  .wide-data-table th:nth-child(16), .wide-data-table td:nth-child(16){width:104px}
}

/* Visual row focus: click once to lock focus, click again to clear it. */
.wide-data-table tbody tr:not(:has(.empty)){
  cursor:pointer;
  transition:background-color .14s ease, box-shadow .14s ease;
}
.wide-data-table tbody tr.row-selected > td{
  background:#dff4ef !important;
  border-top-color:#afdcd2;
  border-bottom:1px solid #afdcd2;
}
.wide-data-table tbody tr.row-selected{
  box-shadow:inset -4px 0 0 var(--brand), inset 4px 0 0 rgba(15,118,110,.22);
}
.wide-data-table tbody tr.row-selected:hover > td{
  background:#d8f0ea !important;
}
.wide-data-table tbody tr.row-selected.muted-row{
  opacity:.82;
}
