:root{
  --bg:#f5f7fb;--bg-soft:#eef3f9;--surface:#ffffff;--surface-2:#f8fafc;--surface-3:#eef2f7;
  --text:#172033;--text-2:#30415b;--muted:#77839a;--line:#e4e9f1;--line-strong:#d7dee9;
  --primary:#3158d4;--primary-2:#5b7cff;--primary-3:#7a8df7;--primary-soft:#edf1ff;
  --nav:#0b1630;--nav-2:#101d3b;--nav-line:rgba(255,255,255,.08);
  --success:#15926f;--success-soft:#eaf8f3;--warning:#d99118;--warning-soft:#fff6e7;--danger:#d94d5c;--danger-soft:#fff0f2;
  --cyan:#2e9bb7;--purple:#7759d6;--shadow:0 8px 24px rgba(27,42,76,.06);--shadow-lg:0 22px 60px rgba(21,32,58,.16);
  --radius:18px;--radius-sm:12px;--sidebar:266px;--content-max:1640px;
}
[data-theme="dark"]{
  --bg:#0b1120;--bg-soft:#0f1728;--surface:#111b2d;--surface-2:#142137;--surface-3:#1a2941;
  --text:#edf3fb;--text-2:#d4deec;--muted:#94a4ba;--line:#24334a;--line-strong:#31445f;
  --primary:#7692ff;--primary-2:#8ca3ff;--primary-soft:#172953;--nav:#071022;--nav-2:#0b1730;
  --success-soft:#12372d;--warning-soft:#3a2a12;--danger-soft:#3b1f28;--shadow:0 8px 24px rgba(0,0,0,.18);--shadow-lg:0 22px 60px rgba(0,0,0,.32)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;min-height:100%;font-family:"Leelawadee UI","Noto Sans Thai","Segoe UI",Tahoma,Arial,sans-serif;color:var(--text);background:var(--bg)}body{font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{color:inherit}a{color:inherit}.ui-icon{width:20px;height:20px;display:block}.app-body{background:radial-gradient(circle at 84% -10%,rgba(91,124,255,.07),transparent 32%),var(--bg)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);transition:grid-template-columns .22s ease}.main{min-width:0}.sidebar{height:100vh;position:sticky;top:0;background:linear-gradient(180deg,var(--nav) 0%,var(--nav-2) 60%,#091326 100%);color:#e9f0ff;padding:18px 14px 14px;display:flex;flex-direction:column;z-index:70;border-right:1px solid rgba(255,255,255,.03);transition:width .22s ease,transform .22s ease;overflow:hidden}
.brand{height:58px;display:flex;align-items:center;gap:11px;padding:2px 5px 13px}.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#5d78ff,#3158d4);box-shadow:0 12px 28px rgba(65,92,221,.35),inset 0 1px 0 rgba(255,255,255,.22);display:grid;place-items:center;flex:none}.brand-mark span{font-size:20px;font-weight:900;color:#fff}.brand-copy{display:grid;min-width:0;line-height:1.1}.brand-copy b{font-size:17px;letter-spacing:.15px}.brand-copy span{font-size:10px;color:#8fa3c7;margin-top:5px;text-transform:uppercase;letter-spacing:1.3px}.icon-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text-2);display:grid;place-items:center;cursor:pointer;transition:.18s ease;box-shadow:0 1px 0 rgba(255,255,255,.5)}.icon-btn:hover{transform:translateY(-1px);border-color:var(--line-strong);box-shadow:0 8px 18px rgba(32,48,80,.08)}.sidebar .icon-btn{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.075);color:#c8d6ee;box-shadow:none}.sidebar-collapse{margin-left:auto;width:32px;height:32px;border-radius:10px}.sidebar-collapse .ui-icon{width:17px;height:17px}
.workspace-card{margin:4px 2px 15px;padding:11px 11px 11px 10px;border:1px solid rgba(255,255,255,.075);background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.035));border-radius:15px;display:flex;align-items:center;gap:9px;position:relative}.workspace-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(91,124,255,.18);color:#a9baff;flex:none}.workspace-icon .ui-icon{width:18px;height:18px}.workspace-copy{display:grid;min-width:0;line-height:1.18}.workspace-copy small{font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:#7f93b6}.workspace-copy strong{font-size:12px;color:#edf3ff;margin:2px 0}.workspace-copy span{font-size:10px;color:#97a9c7}.workspace-status{width:7px;height:7px;border-radius:50%;background:#42d69a;box-shadow:0 0 0 4px rgba(66,214,154,.1);margin-left:auto;flex:none}
.sidebar-nav{display:flex;flex-direction:column;gap:4px;overflow-y:auto;padding:0 2px 12px;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.nav-group{display:grid;gap:3px;margin-bottom:9px}.nav-group-label{font-size:9px;font-weight:800;letter-spacing:1.15px;text-transform:uppercase;color:#63789d;padding:7px 10px 4px}.nav-link{position:relative;display:flex;align-items:center;gap:11px;min-height:43px;padding:9px 11px;border-radius:12px;text-decoration:none;color:#aebdd5;font-size:12px;font-weight:650;transition:.16s ease}.nav-link:hover{background:rgba(255,255,255,.055);color:#edf3ff}.nav-link.active{background:linear-gradient(90deg,rgba(91,124,255,.22),rgba(91,124,255,.09));color:#fff;box-shadow:inset 0 0 0 1px rgba(123,148,255,.15)}.nav-icon{width:22px;display:grid;place-items:center;flex:none}.nav-icon .ui-icon{width:18px;height:18px}.nav-active-dot{width:5px;height:5px;border-radius:50%;background:#8fa4ff;box-shadow:0 0 0 4px rgba(143,164,255,.11);margin-left:auto}.sidebar-foot{margin-top:auto;padding:10px 2px 0;border-top:1px solid rgba(255,255,255,.065)}.user-card{display:flex;align-items:center;gap:10px;padding:8px 7px;border-radius:13px}.avatar,.profile-avatar{display:grid;place-items:center;font-weight:850}.avatar{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,#536fe5,#7a8df7);color:#fff;flex:none;box-shadow:0 7px 18px rgba(53,81,204,.3)}.user-copy{display:grid;min-width:0;line-height:1.2}.user-copy strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-copy small{font-size:9px;color:#7f93b6;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-settings{margin-left:auto;color:#7085a8;text-decoration:none}.user-settings .ui-icon{width:16px;height:16px}.logout-link{margin-top:5px;display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:11px;text-decoration:none;color:#8fa1be;font-size:11px;transition:.15s}.logout-link:hover{background:rgba(229,83,102,.08);color:#ff96a3}.logout-dot{width:7px;height:7px;border-radius:50%;background:#e15b6b;box-shadow:0 0 0 4px rgba(225,91,107,.09)}
.topbar{position:sticky;top:0;z-index:40;min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 28px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);transition:box-shadow .18s,background .18s}.topbar.scrolled{box-shadow:0 10px 28px rgba(27,42,76,.07);background:color-mix(in srgb,var(--surface) 94%,transparent)}.topbar-left{display:flex;align-items:center;gap:14px;min-width:0}.menu-btn{display:none;flex:none}.page-heading{min-width:0}.breadcrumb{display:flex;align-items:center;gap:7px;color:#9aa6b8;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.65px;margin-bottom:3px}.breadcrumb b{font-weight:500;color:#c2cad7}.page-heading h1{font-size:23px;line-height:1.2;margin:0;color:var(--text);letter-spacing:-.45px}.page-heading p{margin:3px 0 0;color:var(--muted);font-size:11px;max-width:650px}.topbar-actions{display:flex;align-items:center;gap:9px;flex:none}.term-pill{height:42px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid var(--line);background:var(--surface);border-radius:13px;box-shadow:0 2px 8px rgba(27,42,76,.025)}.term-dot{width:7px;height:7px;border-radius:50%;background:#37b889;box-shadow:0 0 0 4px rgba(55,184,137,.1)}.term-pill div{display:grid;line-height:1.06}.term-pill small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.term-pill b{font-size:11px;margin-top:4px}.profile-pill{height:42px;min-width:172px;display:flex;align-items:center;gap:9px;padding:4px 8px 4px 5px;border:1px solid var(--line);background:var(--surface);border-radius:13px;text-decoration:none;box-shadow:0 2px 8px rgba(27,42,76,.025);transition:.16s}.profile-pill:hover{border-color:var(--line-strong);box-shadow:0 8px 18px rgba(32,48,80,.07)}.profile-avatar{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#3158d4,#6c83ef);color:#fff;font-size:11px;flex:none}.profile-copy{display:grid;line-height:1.15;min-width:0}.profile-copy b{font-size:10px;max-width:96px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-copy small{font-size:8px;color:var(--muted);margin-top:3px}.profile-chevron{margin-left:auto;color:#9aa5b7}.profile-chevron .ui-icon{width:14px;height:14px}
.content{max-width:var(--content-max);margin:0 auto;padding:26px 28px 42px}.grid{display:grid;gap:16px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.two-col{grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr)}.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.card h2{font-size:15px;margin:0 0 4px;letter-spacing:-.15px}.card h3{font-size:13px;margin:16px 0 8px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-head h2{margin:0}.section-head .muted{font-size:10px}.muted{color:var(--muted)}
.dashboard-hero{position:relative;overflow:hidden;background:linear-gradient(112deg,#173a86 0%,#3158d4 55%,#6480f2 100%);color:#fff;border-radius:23px;padding:23px 25px;margin-bottom:16px;box-shadow:0 18px 40px rgba(49,88,212,.18)}.dashboard-hero:before{content:"";position:absolute;width:330px;height:330px;border-radius:50%;right:-90px;top:-190px;background:rgba(255,255,255,.12)}.dashboard-hero:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:130px;bottom:-180px;border:38px solid rgba(255,255,255,.06)}.hero-content{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:22px}.hero-copy{max-width:690px}.hero-kicker{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.09);font-size:9px;font-weight:750;letter-spacing:.45px;text-transform:uppercase}.hero-kicker .ui-icon{width:14px;height:14px}.hero-copy h2{font-size:25px;line-height:1.28;margin:10px 0 5px;letter-spacing:-.4px}.hero-copy p{margin:0;color:#d7e1ff;font-size:11px}.hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.hero-action{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 11px;border-radius:11px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.17);text-decoration:none;color:#fff;font-size:10px;font-weight:750;backdrop-filter:blur(8px);transition:.15s}.hero-action:hover{background:rgba(255,255,255,.19);transform:translateY(-1px)}.hero-action.primary{background:#fff;color:#27469e;border-color:#fff}.hero-action .ui-icon{width:15px;height:15px}
.metric-card{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;min-height:128px;padding:18px 18px 16px;overflow:hidden}.metric-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px;background:var(--metric,#3158d4)}.metric-card:nth-child(2){--metric:#15926f}.metric-card:nth-child(3){--metric:#7759d6}.metric-card:nth-child(4){--metric:#d99118}.metric-card .metric-label{display:flex;align-items:center;gap:6px;font-size:9px;font-weight:750;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}.metric-card b{display:block;font-size:29px;line-height:1.1;margin:9px 0 5px;letter-spacing:-.7px}.metric-sub{font-size:9px;color:var(--muted)}.metric-icon{width:43px;height:43px;border-radius:13px;background:color-mix(in srgb,var(--metric,#3158d4) 11%,var(--surface));color:var(--metric,#3158d4);display:grid;place-items:center;flex:none}.metric-icon .ui-icon{width:20px;height:20px}.metric-trend{display:inline-flex;align-items:center;gap:4px;margin-top:10px;font-size:9px;color:var(--success);font-weight:750}.metric-trend .ui-icon{width:12px;height:12px}
.module-list{display:grid;gap:9px}.module-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.module-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary)}.module-icon.green{background:var(--success-soft);color:var(--success)}.module-icon.orange{background:var(--warning-soft);color:var(--warning)}.module-icon.purple{background:color-mix(in srgb,#7759d6 12%,var(--surface));color:#7759d6}.module-copy{display:grid;line-height:1.2}.module-copy b{font-size:11px}.module-copy span{font-size:9px;color:var(--muted);margin-top:3px}.mini-stat{font-size:12px;font-weight:850;color:var(--text-2)}
.quick-panel{display:grid;gap:10px}.quick-link{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;text-decoration:none;background:var(--surface-2);transition:.15s}.quick-link:hover{transform:translateY(-1px);border-color:#cfd8e7;background:var(--surface)}.quick-link .qicon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);flex:none}.quick-link .qcopy{display:grid;line-height:1.2}.quick-link .qcopy b{font-size:10px}.quick-link .qcopy span{font-size:9px;color:var(--muted);margin-top:3px}.quick-link>.ui-icon{margin-left:auto;width:14px;height:14px;color:#a3adbc}
.toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:14px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.field{display:grid;gap:6px;min-width:170px}.field label{font-size:9px;color:var(--muted);font-weight:800;letter-spacing:.25px;text-transform:none}.field input,.field select,.field textarea{width:100%;padding:10px 11px;border:1px solid var(--line-strong);border-radius:11px;background:var(--surface);font:inherit;color:var(--text);outline:none;transition:.15s;min-height:40px}.field input::placeholder,.field textarea::placeholder{color:#aab4c2}.field input:focus,.field select:focus,.field textarea:focus{border-color:#8ca2ef;box-shadow:0 0 0 3px rgba(70,96,211,.1)}.field textarea{min-height:110px;resize:vertical}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:11px;padding:10px 14px;min-height:40px;background:linear-gradient(135deg,var(--primary),#4969df);color:#fff;text-decoration:none;font:inherit;font-size:10px;font-weight:800;cursor:pointer;box-shadow:0 8px 18px rgba(49,88,212,.16);transition:.16s}.button:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(49,88,212,.21)}.button.secondary{background:var(--surface);color:var(--text-2);box-shadow:none;border:1px solid var(--line-strong)}.button.secondary:hover{background:var(--surface-2);box-shadow:none}.button.danger{background:linear-gradient(135deg,#cc4052,#e35b6b)}.button.small{padding:7px 10px;min-height:32px;font-size:9px;border-radius:9px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface);scrollbar-width:thin;scrollbar-color:#c7d0de transparent}table{border-collapse:separate;border-spacing:0;width:100%;min-width:760px}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;font-size:11px}th{position:sticky;top:0;background:var(--surface-2);color:#6f7d92;z-index:2;font-size:9px;font-weight:850;letter-spacing:.3px;text-transform:uppercase}tbody tr{transition:.12s}tbody tr:hover{background:color-mix(in srgb,var(--primary-soft) 46%,transparent)}tr:last-child td{border-bottom:0}.table-wrap table b{color:var(--text-2)}.table-wrap code{font-size:9px}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:var(--surface-3);color:var(--muted);font-size:8px;font-weight:850;border:1px solid transparent;white-space:nowrap}.badge.green{background:var(--success-soft);color:#0b7356;border-color:color-mix(in srgb,var(--success) 18%,transparent)}.badge.red{background:var(--danger-soft);color:#b73a4b;border-color:color-mix(in srgb,var(--danger) 18%,transparent)}.badge.orange{background:var(--warning-soft);color:#a86708;border-color:color-mix(in srgb,var(--warning) 20%,transparent)}.badge.blue{background:var(--primary-soft);color:#3158c4;border-color:color-mix(in srgb,var(--primary) 16%,transparent)}[data-theme="dark"] .badge.green{color:#72d9b9}[data-theme="dark"] .badge.orange{color:#f4bf65}[data-theme="dark"] .badge.blue{color:#aabaff}
.flash{display:flex;align-items:flex-start;gap:9px;padding:11px 13px;border-radius:12px;margin-bottom:14px;background:var(--primary-soft);color:#3158c4;border:1px solid color-mix(in srgb,var(--primary) 15%,transparent);font-size:10px}.flash-dot{margin-top:5px;width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.flash.success{background:var(--success-soft);color:#0d7b5d;border-color:color-mix(in srgb,var(--success) 18%,transparent)}.flash.error{background:var(--danger-soft);color:#b63a4b;border-color:color-mix(in srgb,var(--danger) 18%,transparent)}.empty{padding:36px;text-align:center;color:var(--muted);font-size:11px}.score-input{width:76px!important;text-align:center}.timetable{min-width:1050px}.timetable th:first-child,.timetable td:first-child{position:sticky;left:0;z-index:3;background:var(--surface-2)}.timetable td{min-width:155px;height:96px;vertical-align:top}.slot{display:grid;gap:4px;padding:6px;border-radius:10px;background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 11%,transparent)}.slot b{color:#3158c4;font-size:10px}.slot small{color:var(--muted);font-size:9px}.summary-strip{display:flex;gap:8px;flex-wrap:wrap}.scope-card{display:grid;gap:8px}.scope-meta{display:flex;gap:8px;flex-wrap:wrap}.note-box,.warn-box{padding:12px 13px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);font-size:10px}.note-box{border-left:3px solid var(--primary)}.warn-box{border-left:3px solid var(--warning);background:var(--warning-soft)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid .wide{grid-column:1/-1}.pagination{display:flex;gap:6px;margin-top:14px;flex-wrap:wrap}.pagination a{min-width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);border-radius:9px;text-decoration:none;font-size:9px}.pagination a.active{background:var(--primary);color:#fff;border-color:var(--primary)}.right{text-align:right}.nowrap{white-space:nowrap}.mobile-nav{display:none}.sidebar-overlay{display:none}hr{border:0;border-top:1px solid var(--line);margin:18px 0}code{background:var(--surface-3);padding:3px 6px;border-radius:6px;color:var(--text-2)}pre{font-family:Consolas,monospace!important;color:var(--text-2)!important;background:var(--surface-2)!important;border:1px solid var(--line)}
/* Login */
.login-page{min-height:100vh;background:radial-gradient(circle at 10% 6%,rgba(91,124,255,.16),transparent 27%),radial-gradient(circle at 93% 90%,rgba(46,155,183,.13),transparent 28%),#f3f6fb;display:grid;place-items:center;padding:24px}.login-shell{width:min(1080px,100%);min-height:620px;display:grid;grid-template-columns:1.08fr .92fr;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 35px 90px rgba(22,37,70,.18);border:1px solid rgba(255,255,255,.8)}.login-visual{padding:48px;color:#fff;position:relative;overflow:hidden;background:linear-gradient(145deg,#0b1630,#173a86 58%,#3158d4)}.login-visual:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-160px;top:-210px;background:rgba(255,255,255,.08)}.login-visual:after{content:"";position:absolute;width:270px;height:270px;border-radius:50%;left:-170px;bottom:-150px;border:55px solid rgba(255,255,255,.055)}.login-brand{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.login-brand .logo{width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,#7f95ff,#4464e2);display:grid;place-items:center;font-size:20px;font-weight:900;box-shadow:0 12px 26px rgba(18,34,80,.35)}.login-brand strong{display:block;font-size:16px}.login-brand span{display:block;color:#9eb0d0;font-size:9px;margin-top:3px;text-transform:uppercase;letter-spacing:.8px}.login-hero{position:relative;z-index:1;margin-top:82px;max-width:465px}.login-hero .pill{display:inline-flex;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.11);font-size:9px;color:#c9d6ed}.login-hero h1{font-size:36px;line-height:1.25;margin:16px 0 10px;letter-spacing:-1px}.login-hero p{color:#b7c5db;font-size:11px;max-width:430px}.login-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:25px}.login-feature{padding:12px;border-radius:13px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.075);font-size:9px;color:#d1dcf0}.login-panel{background:var(--surface);padding:50px;display:flex;align-items:center}.login-card{width:100%;max-width:370px;margin:auto}.login-card:before{content:"เข้าสู่ระบบ";display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:8px;font-weight:850;letter-spacing:.6px;text-transform:uppercase;margin-bottom:13px}.login-card h2{font-size:27px;margin:0 0 5px;letter-spacing:-.6px}.login-card>p{color:var(--muted);margin:0 0 23px;font-size:10px}.login-card .field{margin:12px 0}.login-card .button{width:100%;margin-top:7px;min-height:42px}.login-help{font-size:9px;color:var(--muted);margin-top:14px!important;text-align:center}.login-meta{display:flex;justify-content:space-between;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:8px;color:var(--muted)}
/* Collapsed sidebar */
.app-shell.sidebar-collapsed{--sidebar:82px}.app-shell.sidebar-collapsed .brand-copy,.app-shell.sidebar-collapsed .workspace-copy,.app-shell.sidebar-collapsed .workspace-status,.app-shell.sidebar-collapsed .nav-group-label,.app-shell.sidebar-collapsed .nav-label,.app-shell.sidebar-collapsed .nav-active-dot,.app-shell.sidebar-collapsed .user-copy,.app-shell.sidebar-collapsed .user-settings,.app-shell.sidebar-collapsed .logout-link span:not(.logout-dot){display:none}.app-shell.sidebar-collapsed .brand{justify-content:center}.app-shell.sidebar-collapsed .sidebar-collapse{display:none}.app-shell.sidebar-collapsed .workspace-card{justify-content:center;padding:10px 7px}.app-shell.sidebar-collapsed .nav-link{justify-content:center;padding:9px}.app-shell.sidebar-collapsed .nav-icon{width:auto}.app-shell.sidebar-collapsed .user-card{justify-content:center}.app-shell.sidebar-collapsed .logout-link{justify-content:center}
@media(max-width:1240px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}.content{padding:22px}.profile-pill{min-width:0}.profile-copy,.profile-chevron{display:none}.term-pill{display:none}.hero-content{align-items:flex-start}.hero-actions{max-width:300px}}
@media(max-width:940px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;width:min(300px,87vw);transform:translateX(-106%);box-shadow:var(--shadow-lg)}.sidebar.open{transform:translateX(0)}.sidebar-overlay{position:fixed;inset:0;background:rgba(8,18,39,.5);backdrop-filter:blur(3px);z-index:60}.app-shell.sidebar-open .sidebar-overlay{display:block}.sidebar-collapse{display:none}.menu-btn{display:grid}.topbar{min-height:76px;padding:11px 15px}.breadcrumb{display:none}.page-heading h1{font-size:19px}.page-heading p{font-size:9px;max-width:58vw}.topbar-actions>.icon-btn{display:none}.profile-pill{display:none}.content{padding:16px 14px 88px}.mobile-nav{position:fixed;z-index:50;left:10px;right:10px;bottom:calc(9px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:17px;box-shadow:0 16px 36px rgba(20,35,68,.18);padding:6px}.mobile-nav a,.mobile-nav button{border:0;background:transparent;color:var(--muted);text-decoration:none;display:grid;place-items:center;gap:2px;padding:5px 2px;border-radius:11px;font-size:8px}.mobile-nav .ui-icon{width:18px;height:18px}.mobile-nav a.active{background:var(--primary-soft);color:var(--primary)}.mobile-nav a:hover,.mobile-nav button:hover{background:var(--surface-2);color:var(--primary)}.login-shell{grid-template-columns:1fr;max-width:520px;min-height:0}.login-visual{display:none}.login-panel{padding:34px 28px;min-height:570px}.dashboard-hero{padding:20px}.hero-content{display:grid}.hero-actions{justify-content:flex-start;max-width:none}.hero-copy h2{font-size:22px}}
@media(max-width:640px){body{font-size:13px}.kpi-grid{grid-template-columns:1fr 1fr;gap:9px}.metric-card{padding:14px;min-height:112px;border-radius:15px}.metric-card b{font-size:25px}.metric-icon{width:38px;height:38px;border-radius:11px}.metric-sub{font-size:8px}.metric-trend{display:none}.content{padding-left:10px;padding-right:10px}.card{padding:14px;border-radius:15px;box-shadow:0 5px 16px rgba(27,42,76,.045)}.toolbar{align-items:stretch;padding:10px}.field{min-width:100%}.button{width:100%}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.page-heading p{display:none}.table-wrap{border-radius:12px;margin-left:-1px;margin-right:-1px}th,td{padding:9px 10px}.section-head{align-items:flex-start}.section-head .muted{font-size:8px}.dashboard-hero{border-radius:17px;padding:17px}.hero-copy h2{font-size:19px}.hero-copy p{font-size:9px}.hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.hero-action{justify-content:center;padding:8px;font-size:9px}.module-row{grid-template-columns:34px minmax(0,1fr) auto}.module-icon{width:34px;height:34px}.login-page{padding:12px}.login-shell{border-radius:22px}.login-panel{padding:28px 20px}.login-card h2{font-size:24px}}
@media(max-width:390px){.kpi-grid{grid-template-columns:1fr}.mobile-nav{left:7px;right:7px}.topbar{padding-left:10px;padding-right:10px}.hero-actions{grid-template-columns:1fr}.metric-card{min-height:104px}}

/* ============================================================
   v0.5 — Kulladis Spatial Intelligence UI
   Spatial / AI / 3D direction, productivity-safe
   ============================================================ */
:root{
  --spatial-blue:#5b7cff;
  --spatial-cyan:#49d7ff;
  --spatial-violet:#8b6cff;
  --spatial-mint:#4ee0b3;
  --spatial-deep:#08142d;
  --spatial-glass:color-mix(in srgb,var(--surface) 78%,transparent);
  --spatial-border:color-mix(in srgb,var(--primary) 18%,var(--line));
  --spatial-shadow:0 24px 70px rgba(30,53,112,.13),0 4px 14px rgba(26,45,86,.06);
}
[data-theme="dark"]{
  --spatial-glass:rgba(15,27,49,.76);
  --spatial-border:rgba(122,152,255,.19);
  --spatial-shadow:0 28px 80px rgba(0,0,0,.34),0 6px 20px rgba(0,0,0,.22);
}
.app-body{position:relative;isolation:isolate;overflow-x:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 92%,#eaf1ff 8%),var(--bg));}
.spatial-ambient{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none;contain:paint}.ambient-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(49,88,212,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(49,88,212,.035) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),transparent 78%);transform:perspective(1000px) rotateX(58deg) scale(1.35) translateY(-24%);transform-origin:50% 0}.ambient-orb{position:absolute;border-radius:50%;filter:blur(12px);opacity:.26;animation:ambientFloat 14s ease-in-out infinite}.ambient-orb-a{width:420px;height:420px;right:-120px;top:4%;background:radial-gradient(circle,rgba(91,124,255,.44),rgba(73,215,255,.08) 56%,transparent 72%)}.ambient-orb-b{width:360px;height:360px;left:19%;bottom:-150px;background:radial-gradient(circle,rgba(139,108,255,.25),rgba(78,224,179,.08) 52%,transparent 70%);animation-delay:-6s}.ambient-beam{position:absolute;width:48vw;height:2px;right:-8vw;top:32%;background:linear-gradient(90deg,transparent,rgba(73,215,255,.26),transparent);filter:blur(.5px);transform:rotate(-16deg)}
@keyframes ambientFloat{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(0,-22px,0) scale(1.035)}}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:120;pointer-events:none;background:transparent}.scroll-progress span{display:block;width:100%;height:100%;transform-origin:0 50%;transform:scaleX(var(--scroll-progress,0));background:linear-gradient(90deg,var(--spatial-blue),var(--spatial-cyan),var(--spatial-violet));box-shadow:0 0 16px rgba(73,215,255,.52)}

/* Shell depth */
.sidebar{background:linear-gradient(180deg,#08142d 0%,#0c1a38 57%,#071127 100%);box-shadow:16px 0 60px rgba(15,31,68,.11);border-right:1px solid rgba(134,160,255,.08)}
.sidebar:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 5%,rgba(91,124,255,.14),transparent 30%),linear-gradient(120deg,transparent 0 45%,rgba(73,215,255,.025) 45% 46%,transparent 46% 100%)}
.brand,.workspace-card,.sidebar-nav,.sidebar-foot{position:relative;z-index:1}.brand-mark{background:linear-gradient(145deg,#78a8ff,#5b7cff 48%,#7555e8);box-shadow:0 14px 34px rgba(80,107,236,.34),inset 0 1px 0 rgba(255,255,255,.34),inset 0 -1px 0 rgba(0,0,0,.18);transform:translateZ(12px)}
.workspace-card{background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(91,124,255,.055));border-color:rgba(139,162,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 12px 24px rgba(0,0,0,.08)}
.nav-link{transform:translateZ(0);will-change:transform}.nav-link:hover{transform:translateX(5px);background:linear-gradient(90deg,rgba(91,124,255,.12),rgba(255,255,255,.03))}.nav-link.active{background:linear-gradient(90deg,rgba(91,124,255,.28),rgba(73,215,255,.07));box-shadow:inset 0 0 0 1px rgba(123,148,255,.17),0 10px 30px rgba(41,67,156,.12)}.nav-link.active:before{content:"";position:absolute;left:-1px;top:10px;bottom:10px;width:2px;border-radius:999px;background:linear-gradient(var(--spatial-cyan),var(--spatial-violet));box-shadow:0 0 14px var(--spatial-cyan)}
.topbar{background:color-mix(in srgb,var(--bg) 74%,transparent);backdrop-filter:blur(24px) saturate(150%);border-bottom-color:color-mix(in srgb,var(--line) 55%,transparent)}.topbar.scrolled{background:color-mix(in srgb,var(--surface) 82%,transparent);box-shadow:0 14px 40px rgba(27,42,76,.08)}
.term-pill,.profile-pill,.system-pulse{background:color-mix(in srgb,var(--surface) 83%,transparent);backdrop-filter:blur(18px);border:1px solid var(--spatial-border);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 8px 22px rgba(31,50,94,.045)}
.system-pulse{height:42px;display:flex;align-items:center;gap:8px;padding:0 11px;border-radius:13px}.system-pulse>span{width:8px;height:8px;border-radius:50%;background:var(--spatial-mint);box-shadow:0 0 0 5px rgba(78,224,179,.1),0 0 16px rgba(78,224,179,.62);animation:systemPulse 2.1s ease-in-out infinite}.system-pulse div{display:grid;line-height:1}.system-pulse small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.65px}.system-pulse b{font-size:10px;margin-top:4px;color:var(--text)}@keyframes systemPulse{50%{box-shadow:0 0 0 8px rgba(78,224,179,0),0 0 22px rgba(78,224,179,.8)}}

/* Global cards and tables stay productivity-first */
.card{position:relative;background:var(--spatial-glass);backdrop-filter:blur(16px) saturate(130%);border-color:var(--spatial-border);box-shadow:var(--spatial-shadow)}
body:not([data-page="dashboard"]) .card{backdrop-filter:blur(10px) saturate(112%);box-shadow:0 10px 32px rgba(31,50,94,.07)}
.table-wrap{background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.48)}
.table-wrap tbody tr{transition:background .16s ease,transform .16s ease}.table-wrap tbody tr:hover{background:color-mix(in srgb,var(--primary-soft) 60%,var(--surface));}
.button{box-shadow:0 9px 20px rgba(49,88,212,.14),inset 0 1px 0 rgba(255,255,255,.2)}.button:hover{transform:translateY(-2px);box-shadow:0 14px 26px rgba(49,88,212,.2)}

/* Spatial Hero */
.spatial-hero{position:relative;min-height:440px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);gap:24px;align-items:center;overflow:hidden;margin-bottom:30px;padding:42px clamp(28px,4vw,58px);border-radius:30px;color:#fff;background:radial-gradient(circle at 78% 18%,rgba(73,215,255,.18),transparent 26%),radial-gradient(circle at 18% 80%,rgba(139,108,255,.18),transparent 30%),linear-gradient(130deg,#07142e 0%,#10265c 44%,#173a86 72%,#3158d4 100%);border:1px solid rgba(150,179,255,.18);box-shadow:0 34px 100px rgba(17,42,105,.28),inset 0 1px 0 rgba(255,255,255,.1);perspective:1200px;transform-style:preserve-3d}
.spatial-hero:before{content:"";position:absolute;inset:-80% -20%;background:conic-gradient(from 120deg,transparent,rgba(73,215,255,.08),transparent 22%,rgba(139,108,255,.08),transparent 48%);animation:heroSweep 16s linear infinite;pointer-events:none}.spatial-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,rgba(0,0,0,.45),transparent 75%);pointer-events:none}@keyframes heroSweep{to{transform:rotate(360deg)}}
.hero-mesh{position:absolute;inset:auto -10% -55% 40%;height:78%;background:repeating-radial-gradient(ellipse at 50% 0,rgba(73,215,255,.11) 0 1px,transparent 1px 22px);transform:perspective(800px) rotateX(68deg);opacity:.35}
.spatial-hero-copy{position:relative;z-index:3;max-width:710px;transform:translateZ(28px)}.spatial-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px);color:#c9d9ff;font-size:9px;font-weight:800;letter-spacing:.72px;text-transform:uppercase}.spatial-chip .ui-icon{width:15px;height:15px;color:#82e6ff}.spatial-hero-copy h2{font-size:clamp(32px,4vw,55px);line-height:1.06;letter-spacing:-1.8px;margin:19px 0 16px;max-width:720px}.spatial-hero-copy h2 em{font-style:normal;color:#a9ebff;text-shadow:0 0 28px rgba(73,215,255,.22)}.spatial-hero-copy p{max-width:650px;color:#b7c8e7;font-size:12px;line-height:1.78;margin:0}.spatial-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.spatial-actions .hero-action{border-radius:13px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:#e8f0ff;backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 rgba(255,255,255,.07);transition:.2s ease}.spatial-actions .hero-action:hover{transform:translateY(-3px);background:rgba(255,255,255,.12);box-shadow:0 16px 30px rgba(0,0,0,.14)}.spatial-actions .hero-action.primary{background:linear-gradient(135deg,#6889ff,#5573ef 55%,#6a56dc);border-color:rgba(255,255,255,.17);box-shadow:0 14px 34px rgba(66,90,217,.32)}.hero-footnote{display:flex;align-items:center;gap:8px;color:#8fa7cc;font-size:9px;margin-top:17px}.live-dot{width:7px;height:7px;border-radius:50%;background:#49e0ae;box-shadow:0 0 0 5px rgba(73,224,174,.08),0 0 15px rgba(73,224,174,.55)}

/* CSS 3D AI Core */
.ai-core-stage{position:relative;z-index:2;height:350px;min-width:420px;transform-style:preserve-3d;perspective:900px;transition:transform .18s ease-out;--tilt-x:0deg;--tilt-y:0deg;transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateZ(18px)}.core-shadow{position:absolute;left:50%;bottom:18px;width:230px;height:52px;transform:translateX(-50%) rotateX(70deg);border-radius:50%;background:rgba(0,0,0,.28);filter:blur(18px)}.ai-core{position:absolute;left:50%;top:50%;width:190px;height:190px;border-radius:50%;transform:translate(-50%,-50%) translateZ(48px);background:radial-gradient(circle at 32% 25%,rgba(255,255,255,.95) 0 2%,rgba(151,230,255,.72) 4%,rgba(75,151,255,.36) 17%,rgba(25,68,151,.84) 48%,rgba(6,24,61,.98) 74%);box-shadow:0 0 0 1px rgba(170,216,255,.22),inset -30px -40px 70px rgba(4,14,44,.72),inset 18px 14px 42px rgba(185,235,255,.22),0 0 54px rgba(73,215,255,.28),0 0 120px rgba(91,124,255,.26)}.core-glow{position:absolute;inset:-30%;border-radius:50%;background:radial-gradient(circle,rgba(73,215,255,.22),transparent 58%);filter:blur(6px);animation:corePulse 4.6s ease-in-out infinite}.core-grid{position:absolute;inset:10%;border-radius:50%;background:repeating-radial-gradient(circle at 50% 50%,transparent 0 12px,rgba(176,229,255,.09) 13px 14px),repeating-linear-gradient(72deg,transparent 0 18px,rgba(255,255,255,.045) 19px 20px);mask-image:radial-gradient(circle,#000 62%,transparent 72%);animation:coreSpin 18s linear infinite}.core-label{position:absolute;inset:0;display:grid;place-content:center;text-align:center;line-height:1.05;text-shadow:0 2px 12px rgba(0,0,0,.34)}.core-label small{font-size:7px;letter-spacing:1.4px;color:#a8dfff}.core-label b{font-size:38px;letter-spacing:-1px;margin:5px 0;color:#fff}.core-label span{justify-self:center;padding:3px 7px;border-radius:999px;background:rgba(68,232,176,.12);border:1px solid rgba(97,242,193,.22);font-size:7px;color:#8ef2ce;letter-spacing:1px}.core-orbit{position:absolute;left:50%;top:50%;border-radius:50%;border:1px solid rgba(133,199,255,.22);transform-style:preserve-3d}.orbit-a{width:310px;height:130px;transform:translate(-50%,-50%) rotateX(72deg) rotateZ(-8deg);animation:orbitA 11s linear infinite}.orbit-b{width:270px;height:270px;transform:translate(-50%,-50%) rotateY(68deg) rotateZ(18deg);border-color:rgba(155,129,255,.19);animation:orbitB 14s linear infinite reverse}.orbit-c{width:235px;height:235px;transform:translate(-50%,-50%) rotateX(24deg) rotateY(60deg);border-style:dashed;border-color:rgba(74,224,179,.15);animation:orbitC 18s linear infinite}.core-orbit i{position:absolute;width:7px;height:7px;border-radius:50%;background:#8cecff;box-shadow:0 0 13px #62dfff}.orbit-a i:nth-child(1){left:8%;top:44%}.orbit-a i:nth-child(2){right:15%;top:10%;background:#9d8cff;box-shadow:0 0 13px #8b6cff}.orbit-a i:nth-child(3){right:5%;bottom:15%;width:5px;height:5px}.orbit-b i:nth-child(1){top:10%;left:48%;background:#5ce5b9;box-shadow:0 0 13px #4ee0b3}.orbit-b i:nth-child(2){bottom:14%;right:12%;width:5px;height:5px}@keyframes corePulse{50%{transform:scale(1.08);opacity:.72}}@keyframes coreSpin{to{transform:rotate(360deg)}}@keyframes orbitA{to{transform:translate(-50%,-50%) rotateX(72deg) rotateZ(352deg)}}@keyframes orbitB{to{transform:translate(-50%,-50%) rotateY(68deg) rotateZ(378deg)}}@keyframes orbitC{to{transform:translate(-50%,-50%) rotateX(24deg) rotateY(420deg)}}
.floating-stat{position:absolute;min-width:112px;padding:10px 12px;border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.045));border:1px solid rgba(178,211,255,.15);backdrop-filter:blur(16px);box-shadow:0 18px 40px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.09);display:grid;line-height:1.05;transform-style:preserve-3d}.floating-stat small{font-size:6px;color:#91acd2;letter-spacing:1.2px}.floating-stat b{font-size:22px;margin:5px 0;color:#fff}.floating-stat span{font-size:7px;color:#80d9ec}.stat-a{left:4%;top:22%;transform:translateZ(80px) rotateY(8deg)}.stat-b{right:1%;top:16%;transform:translateZ(70px) rotateY(-8deg)}.stat-c{left:1%;bottom:18%;transform:translateZ(60px) rotateY(7deg)}.stat-d{right:3%;bottom:17%;transform:translateZ(82px) rotateY(-7deg)}

/* Scroll flow / reveal */
.spatial-flow{position:relative;padding:6px 0 4px;margin-bottom:18px}.flow-heading{max-width:720px;margin:0 0 18px 3px}.eyebrow{display:block;color:var(--primary);font-size:8px;font-weight:900;letter-spacing:1.3px;text-transform:uppercase;margin-bottom:5px}.flow-heading h2{font-size:clamp(21px,2.2vw,31px);line-height:1.14;letter-spacing:-.65px;margin:0 0 7px}.flow-heading h2 em{font-style:normal;color:var(--primary)}.flow-heading p{color:var(--muted);font-size:10px;max-width:670px;margin:0}.spatial-kpi-grid{perspective:1200px}.spatial-card{overflow:hidden;transform-style:preserve-3d;transition:transform .18s ease-out,border-color .18s ease,box-shadow .18s ease;--tilt-x:0deg;--tilt-y:0deg;transform:perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));will-change:transform}.spatial-card:hover{border-color:color-mix(in srgb,var(--primary) 30%,var(--line));box-shadow:0 30px 75px rgba(41,65,132,.14),0 8px 20px rgba(36,53,93,.07)}.spatial-card:before{content:"";position:absolute;width:150px;height:150px;right:-70px;top:-78px;border-radius:50%;background:radial-gradient(circle,rgba(91,124,255,.12),transparent 70%);pointer-events:none}.depth-edge{position:absolute;inset:auto 18px -1px 18px;height:1px;background:linear-gradient(90deg,transparent,rgba(73,215,255,.42),rgba(139,108,255,.28),transparent)}
[data-reveal]{opacity:0;transform:translate3d(0,42px,0) scale(.982);filter:blur(5px);transition:opacity .7s cubic-bezier(.2,.75,.25,1),transform .85s cubic-bezier(.2,.75,.25,1),filter .7s ease}.is-revealed[data-reveal]{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}.spatial-kpi-grid [data-reveal]:nth-child(2){transition-delay:.06s}.spatial-kpi-grid [data-reveal]:nth-child(3){transition-delay:.12s}.spatial-kpi-grid [data-reveal]:nth-child(4){transition-delay:.18s}

/* Intelligent panels */
.spatial-insight-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);gap:16px;margin-bottom:16px}.intelligence-panel,.holo-summary,.command-panel{overflow:hidden}.intelligence-panel:after,.command-panel:after{content:"";position:absolute;inset:auto -10% -70px auto;width:260px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(91,124,255,.08),transparent 68%);pointer-events:none}.spatial-module-list .module-row{position:relative;border-color:color-mix(in srgb,var(--line) 75%,transparent);transition:transform .18s ease,background .18s ease,border-color .18s ease}.spatial-module-list .module-row:hover{transform:translateX(5px);background:color-mix(in srgb,var(--primary-soft) 46%,var(--surface));border-color:color-mix(in srgb,var(--primary) 15%,var(--line))}.spatial-module-list .mini-stat{font-variant-numeric:tabular-nums}
.holo-summary{min-height:100%;display:grid;align-content:start;background:radial-gradient(circle at 50% 38%,rgba(73,215,255,.09),transparent 38%),var(--spatial-glass)}.holo-head{display:grid;line-height:1.2}.holo-head b{font-size:15px}.holo-head small{font-size:9px;color:var(--muted);margin-top:4px}.holo-ring{width:172px;height:172px;margin:24px auto 18px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--spatial-cyan) 0 var(--progress),color-mix(in srgb,var(--line) 72%,transparent) var(--progress) 100%);position:relative;filter:drop-shadow(0 14px 28px rgba(62,144,200,.11))}.holo-ring:before{content:"";position:absolute;inset:10px;border-radius:50%;background:var(--surface);box-shadow:inset 0 0 35px rgba(73,215,255,.05),0 0 0 1px var(--line)}.holo-ring:after{content:"";position:absolute;inset:-10px;border-radius:50%;border:1px dashed rgba(91,124,255,.17);animation:coreSpin 18s linear infinite}.holo-ring div{position:relative;z-index:1;text-align:center;display:grid}.holo-ring b{font-size:33px;letter-spacing:-1px}.holo-ring sup{font-size:12px;color:var(--spatial-cyan)}.holo-ring span{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.9px}.holo-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.holo-metrics div{padding:9px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface-2) 76%,transparent);display:grid;text-align:center}.holo-metrics span{font-size:7px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.holo-metrics b{font-size:15px;margin-top:2px}.holo-summary>p{font-size:8px;color:var(--muted);margin:12px 0 0;line-height:1.55}
.command-panel{margin-top:0}.quick-command-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.command-tile{position:relative;display:grid;grid-template-columns:42px 1fr 18px;gap:10px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:14px;text-decoration:none;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 93%,transparent),color-mix(in srgb,var(--surface-2) 88%,transparent));transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;overflow:hidden}.command-tile:before{content:"";position:absolute;inset:auto auto -55px -35px;width:120px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(91,124,255,.10),transparent 70%)}.command-tile:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--primary) 26%,var(--line));box-shadow:0 18px 38px rgba(31,54,117,.09)}.command-tile .qicon{position:relative;z-index:1}.command-tile .qcopy{display:grid;min-width:0}.command-tile .qcopy b{font-size:10px}.command-tile .qcopy span{font-size:8px;color:var(--muted);margin-top:2px}.command-arrow{color:var(--muted)}.command-arrow .ui-icon{width:15px;height:15px}

/* Page transition feel */
@supports (view-transition-name:root){@view-transition{navigation:auto}::view-transition-old(root){animation:.18s ease both spatialOld}::view-transition-new(root){animation:.3s cubic-bezier(.2,.75,.25,1) both spatialNew}@keyframes spatialOld{to{opacity:.2;transform:scale(.992)}}@keyframes spatialNew{from{opacity:0;transform:translateY(8px) scale(.995)}}}

/* Mobile and tablet strategy: reduce 3D, preserve polish */
@media(max-width:1240px){.spatial-hero{grid-template-columns:minmax(0,1fr) 390px;padding:34px}.ai-core-stage{min-width:390px;transform:scale(.92)}.spatial-insight-grid{grid-template-columns:1fr 330px}.quick-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-pulse{display:none}}
@media(max-width:940px){.spatial-ambient .ambient-grid{opacity:.5}.spatial-hero{min-height:auto;grid-template-columns:1fr;padding:28px 24px;border-radius:24px}.spatial-hero-copy{max-width:none}.ai-core-stage{height:300px;min-width:0;width:100%;max-width:520px;margin:-10px auto 0;transform:scale(.88)!important}.spatial-insight-grid{grid-template-columns:1fr}.holo-summary{min-height:auto}.quick-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{backdrop-filter:blur(18px) saturate(135%)}.mobile-nav{background:color-mix(in srgb,var(--surface) 88%,transparent);border-color:var(--spatial-border);box-shadow:0 18px 45px rgba(17,39,91,.18),inset 0 1px 0 rgba(255,255,255,.55)}}
@media(max-width:640px){.spatial-hero{padding:21px 17px;border-radius:19px;margin-bottom:20px}.spatial-hero-copy h2{font-size:29px;letter-spacing:-1px}.spatial-hero-copy p{font-size:9px;line-height:1.65}.spatial-chip{font-size:7px}.spatial-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:17px}.spatial-actions .hero-action{width:auto}.hero-footnote{font-size:8px}.ai-core-stage{height:245px;transform:scale(.78)!important;margin:-20px auto -22px}.floating-stat{min-width:88px;padding:8px 9px}.floating-stat b{font-size:18px}.stat-a{left:0}.stat-b{right:0}.stat-c{left:0}.stat-d{right:0}.flow-heading{margin-left:1px}.flow-heading h2{font-size:21px}.flow-heading p{font-size:8px}.spatial-kpi-grid{grid-template-columns:1fr 1fr}.spatial-insight-grid{gap:10px}.holo-ring{width:145px;height:145px;margin:18px auto}.quick-command-grid{grid-template-columns:1fr}.command-tile{min-height:64px}.system-pulse{display:none}[data-reveal]{transform:translate3d(0,24px,0) scale(.99);filter:blur(2px)}}
@media(max-width:390px){.spatial-actions{grid-template-columns:1fr}.spatial-kpi-grid{grid-template-columns:1fr}.ai-core-stage{transform:scale(.69)!important;margin-left:-7%;width:114%}.spatial-hero-copy h2{font-size:26px}}

/* Reduced motion and touch safety */
@media(hover:none){[data-tilt]{transform:none!important}.spatial-card:hover,.command-tile:hover,.nav-link:hover{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ambient-orb,.spatial-hero:before,.core-glow,.core-grid,.core-orbit,.holo-ring:after,.system-pulse>span{animation:none!important}.spatial-card,.ai-core-stage{transform:none!important}[data-reveal]{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}.scroll-progress{display:none}.button,.nav-link,.command-tile{transition:none!important}}
.spatial-hero-copy{transform:translate3d(0,var(--hero-copy-y,0px),28px)}
.ai-core-stage{transform:translateY(var(--hero-stage-y,0px)) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateZ(18px)}


/* =========================================================
   v0.6 — Kulladis Brand Intelligence
   Red / White school identity + Spatial AI atmosphere
   ========================================================= */
:root{
  --school-red:#d61f3f;
  --school-red-2:#ef3b58;
  --school-red-dark:#8f112a;
  --school-red-deep:#5f0b1b;
  --school-white:#ffffff;
  --primary:#c81736;
  --primary-2:#e83250;
  --primary-3:#ff6077;
  --primary-soft:#fff0f3;
  --danger:#c81736;
  --danger-soft:#fff0f3;
  --nav:#091226;
  --nav-2:#10182e;
  --spatial-blue:#335dc8;
  --spatial-cyan:#58d7ff;
  --spatial-violet:#b24c7d;
  --spatial-mint:#4edbb4;
  --spatial-border:color-mix(in srgb,var(--school-red) 15%,var(--line));
}
[data-theme="dark"]{
  --primary:#ff6077;
  --primary-2:#ff7d8f;
  --primary-soft:#401726;
  --danger:#ff6077;
  --danger-soft:#401726;
  --spatial-border:rgba(255,96,119,.17);
}
.app-body{
  background:
    radial-gradient(circle at 91% -8%,rgba(216,31,63,.085),transparent 31%),
    radial-gradient(circle at 65% 0%,rgba(65,118,218,.05),transparent 24%),
    var(--bg);
}
.scroll-progress span{
  background:linear-gradient(90deg,var(--school-red-dark),var(--school-red-2),#ffffff,var(--spatial-cyan));
  box-shadow:0 0 18px rgba(216,31,63,.48);
}
.sidebar{
  background:
    radial-gradient(circle at 16% 10%,rgba(216,31,63,.15),transparent 24%),
    linear-gradient(180deg,#081126 0%,#10182e 58%,#090f20 100%);
}
.brand{height:64px}
.school-brand-mark{
  width:46px;height:46px;border-radius:14px;
  padding:4px;background:linear-gradient(145deg,#fff,#f8f8fb);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 12px 30px rgba(0,0,0,.24),0 0 0 1px rgba(216,31,63,.16),0 0 26px rgba(216,31,63,.16);
  overflow:hidden;
}
.school-brand-mark img{width:100%;height:100%;object-fit:contain;display:block}
.brand-copy b{font-size:16px;letter-spacing:.05px}
.brand-copy span{color:#bd9daa;letter-spacing:1.05px}
.workspace-icon{background:rgba(216,31,63,.15);color:#ff91a2}
.nav-link:hover{background:linear-gradient(90deg,rgba(216,31,63,.12),rgba(255,255,255,.025));}
.nav-link.active{
  background:linear-gradient(90deg,rgba(216,31,63,.28),rgba(216,31,63,.075));
  box-shadow:inset 0 0 0 1px rgba(255,91,118,.17),0 12px 32px rgba(98,12,37,.16)
}
.nav-link.active:before{
  background:linear-gradient(#ffffff,var(--school-red-2),var(--school-red-dark));
  box-shadow:0 0 15px rgba(255,76,108,.72)
}
.nav-active-dot{background:#ff7188;box-shadow:0 0 0 4px rgba(255,113,136,.11),0 0 12px rgba(255,113,136,.55)}
.avatar,.profile-avatar{background:linear-gradient(135deg,var(--school-red-dark),var(--school-red-2));box-shadow:0 7px 18px rgba(149,18,49,.27)}
.button{background:linear-gradient(135deg,var(--school-red-dark),var(--school-red-2));box-shadow:0 10px 24px rgba(166,19,50,.16)}
.button:hover{box-shadow:0 15px 30px rgba(166,19,50,.22)}
.button.secondary{color:var(--school-red-dark)}
.metric-icon{color:var(--school-red-dark);background:linear-gradient(145deg,#fff2f4,#fff)}
.metric-trend,.eyebrow{color:var(--school-red)}
.depth-edge{background:linear-gradient(90deg,transparent,rgba(216,31,63,.5),rgba(255,255,255,.45),rgba(88,215,255,.3),transparent)}

.spatial-hero{
  background:
    radial-gradient(circle at 79% 18%,rgba(255,87,115,.23),transparent 27%),
    radial-gradient(circle at 14% 84%,rgba(63,115,218,.18),transparent 29%),
    linear-gradient(128deg,#071126 0%,#112451 42%,#44152c 73%,#9c1532 100%);
  border-color:rgba(255,149,167,.19);
  box-shadow:0 34px 100px rgba(80,12,35,.26),inset 0 1px 0 rgba(255,255,255,.11)
}
.spatial-hero:before{
  background:conic-gradient(from 120deg,transparent,rgba(255,96,119,.09),transparent 23%,rgba(88,215,255,.065),transparent 49%)
}
.spatial-chip{color:#ffd9e0;border-color:rgba(255,187,198,.14)}
.spatial-chip .ui-icon{color:#ff7b91}
.spatial-hero-copy h2 em{color:#ffb1bf;text-shadow:0 0 32px rgba(216,31,63,.28)}
.spatial-hero-copy p{color:#d5c6ce}
.spatial-actions .hero-action.primary{
  background:linear-gradient(135deg,#ad1634,#e62f4d 55%,#ff6077);
  box-shadow:0 14px 34px rgba(161,18,49,.32)
}
.ai-core{
  background:
    radial-gradient(circle at 31% 24%,rgba(255,255,255,.98) 0 2%,rgba(255,188,199,.8) 4%,rgba(234,69,99,.37) 18%,rgba(109,27,59,.88) 49%,rgba(7,20,50,.98) 75%);
  box-shadow:
    0 0 0 1px rgba(255,183,195,.24),
    inset -30px -40px 70px rgba(5,13,38,.76),
    inset 18px 14px 42px rgba(255,201,210,.2),
    0 0 56px rgba(216,31,63,.3),
    0 0 122px rgba(70,108,210,.22)
}
.core-glow{background:radial-gradient(circle,rgba(255,74,105,.25),transparent 58%)}
.core-label small{color:#ffc1cc}
.core-label span{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.18);color:#fff}
.branded-core img{
  width:45px;height:45px;object-fit:contain;justify-self:center;margin-bottom:4px;
  filter:drop-shadow(0 5px 10px rgba(0,0,0,.28))
}
.branded-core b{font-size:31px;margin:3px 0}
.orbit-a{border-color:rgba(255,108,133,.27)}
.orbit-b{border-color:rgba(89,184,255,.2)}
.orbit-c{border-color:rgba(255,255,255,.14)}
.core-orbit i{background:#ff7890;box-shadow:0 0 13px #ff5d79}
.orbit-a i:nth-child(2){background:#66d9ff;box-shadow:0 0 13px #55c9ff}
.orbit-b i:nth-child(1){background:#fff;box-shadow:0 0 13px rgba(255,255,255,.8)}
.floating-stat{border-color:rgba(255,178,191,.16)}
.floating-stat small{color:#dba9b5}
.floating-stat span{color:#ff9eb0}

.login-page{
  background:
    radial-gradient(circle at 7% 8%,rgba(216,31,63,.16),transparent 26%),
    radial-gradient(circle at 93% 91%,rgba(43,106,207,.12),transparent 29%),
    #f5f6fa
}
.login-visual{
  background:
    radial-gradient(circle at 78% 12%,rgba(255,112,137,.16),transparent 28%),
    linear-gradient(145deg,#081126,#17254a 54%,#87142e)
}
.login-brand .school-login-logo{
  width:58px;height:58px;border-radius:17px;padding:5px;background:#fff;
  box-shadow:0 14px 32px rgba(0,0,0,.31),0 0 28px rgba(216,31,63,.18)
}
.school-login-logo img{width:100%;height:100%;object-fit:contain;display:block}
.login-brand span{color:#d6b6c0;text-transform:none;letter-spacing:.25px}
.login-hero .pill{color:#ffdce3;border-color:rgba(255,183,196,.16);background:rgba(216,31,63,.12)}
.login-hero h1 em{font-style:normal;color:#ffb2c0}
.login-feature{border-color:rgba(255,188,198,.09)}
.login-card:before{background:var(--primary-soft);color:var(--primary)}
.login-card .button{background:linear-gradient(135deg,var(--school-red-dark),var(--school-red-2))}

/* Notification center */
.notification-wrap{position:relative}
.notification-btn{position:relative}
.notification-btn .ui-icon{width:18px;height:18px}
.notification-badge{
  position:absolute;right:-4px;top:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;
  display:grid;place-items:center;background:linear-gradient(135deg,var(--school-red),#ff6a80);color:#fff;
  border:2px solid var(--surface);font-size:8px;font-weight:900;box-shadow:0 5px 14px rgba(177,20,51,.28)
}
.notification-popover{
  position:absolute;right:0;top:calc(100% + 12px);width:min(360px,calc(100vw - 28px));
  background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(24px) saturate(145%);
  border:1px solid var(--spatial-border);border-radius:18px;box-shadow:0 28px 80px rgba(20,27,51,.2);
  padding:12px;opacity:0;visibility:hidden;transform:translateY(-7px) scale(.985);transform-origin:90% 0;
  transition:.18s ease;z-index:95
}
.notification-wrap.open .notification-popover{opacity:1;visibility:visible;transform:none}
.notification-head{display:flex;align-items:center;justify-content:space-between;padding:6px 7px 10px;border-bottom:1px solid var(--line)}
.notification-head div{display:grid}.notification-head small{font-size:7px;color:var(--school-red);font-weight:900;letter-spacing:1.1px}.notification-head b{font-size:11px;margin-top:2px}
.notification-list{display:grid;padding:5px 0}
.notification-item{display:grid;grid-template-columns:36px 1fr;gap:9px;align-items:center;padding:9px;border-radius:12px;text-decoration:none;transition:.16s}
.notification-item:hover{background:var(--surface-2);transform:translateX(2px)}
.notification-item>span:nth-child(2){display:grid;line-height:1.25}.notification-item b{font-size:10px}.notification-item small{font-size:8px;color:var(--muted);margin-top:3px}
.notice-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center}.notice-icon .ui-icon{width:17px;height:17px}
.notice-icon.red{background:#fff0f3;color:var(--school-red)}
.notice-icon.blue{background:#edf6ff;color:#2a74c9}
.notice-icon.amber{background:#fff5df;color:#b57913}
.notification-foot{font-size:7px;color:var(--muted);text-align:center;padding:8px 4px 2px;border-top:1px solid var(--line)}

/* Today Focus */
.today-focus-panel{overflow:hidden}
.today-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 13px}
.today-progress>div{padding:10px 11px;border-radius:12px;background:linear-gradient(145deg,var(--surface-2),color-mix(in srgb,var(--primary-soft) 35%,var(--surface)));border:1px solid var(--line);display:grid}
.today-progress span{font-size:7px;color:var(--muted);text-transform:uppercase;letter-spacing:.45px}
.today-progress b{font-size:20px;line-height:1.1;margin-top:3px}
.today-schedule{display:grid;gap:6px}
.today-slot{display:grid;grid-template-columns:35px 1fr 18px;gap:9px;align-items:center;text-decoration:none;padding:8px 9px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:12px;background:color-mix(in srgb,var(--surface) 86%,transparent);transition:.16s}
.today-slot:hover{border-color:color-mix(in srgb,var(--school-red) 24%,var(--line));background:color-mix(in srgb,var(--primary-soft) 40%,var(--surface));transform:translateX(4px)}
.period-orb{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,var(--school-red-dark),var(--school-red-2));color:#fff;font-size:11px;font-weight:900;box-shadow:0 7px 18px rgba(159,18,47,.18)}
.today-slot-copy{display:grid;line-height:1.2}.today-slot-copy b{font-size:10px}.today-slot-copy small{font-size:8px;color:var(--muted);margin-top:3px}
.today-arrow{color:var(--muted)}.today-arrow .ui-icon{width:14px;height:14px}
.empty.compact{padding:17px;font-size:9px}
.brand-holo{background:radial-gradient(circle at 50% 38%,rgba(216,31,63,.10),transparent 40%),var(--spatial-glass)}
.brand-holo .holo-ring{background:conic-gradient(var(--school-red-2) 0 var(--progress),color-mix(in srgb,var(--line) 72%,transparent) var(--progress) 100%);filter:drop-shadow(0 15px 30px rgba(186,31,64,.12))}
.brand-holo .holo-ring:before{box-shadow:inset 0 0 38px rgba(216,31,63,.055),0 0 0 1px var(--line)}
.brand-holo .holo-ring:after{border-color:rgba(216,31,63,.18)}
.brand-holo .holo-ring sup{color:var(--school-red)}

/* Recent activity + data intelligence */
.operations-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(350px,.85fr);gap:16px;margin-bottom:16px}
.activity-live{display:inline-flex;align-items:center;gap:5px;font-size:7px;font-weight:900;color:var(--school-red);letter-spacing:.8px}
.activity-live i{width:6px;height:6px;border-radius:50%;background:var(--school-red-2);box-shadow:0 0 0 4px rgba(216,31,63,.08),0 0 12px rgba(216,31,63,.35)}
.activity-feed{display:grid}
.activity-item{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:9px;align-items:start;padding:10px 2px;border-bottom:1px solid var(--line)}
.activity-item:last-child{border-bottom:0}.activity-node{width:8px;height:8px;border-radius:50%;background:#fff;border:2px solid var(--school-red);box-shadow:0 0 0 4px rgba(216,31,63,.06);margin-top:4px}
.activity-item>div{display:grid;line-height:1.25}.activity-item b{font-size:10px}.activity-item small{font-size:8px;color:var(--muted);margin-top:3px}.activity-item time{font-size:7px;color:var(--muted);white-space:nowrap;margin-top:2px}
.insight-stack{display:grid;gap:9px}
.insight-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(145deg,var(--surface),var(--surface-2))}
.insight-symbol{width:36px;height:36px;border-radius:11px;display:grid;place-items:center}.insight-symbol .ui-icon{width:18px;height:18px}.insight-symbol.login{background:#fff0f3;color:var(--school-red)}.insight-symbol.teaching{background:#edf6ff;color:#2674c8}.insight-symbol.kq{background:#fff6df;color:#b47910}
.insight-item>div{display:grid;line-height:1.22}.insight-item b{font-size:9px}.insight-item span{font-size:8px;color:var(--muted);margin-top:3px}.insight-item>strong{font-size:15px;color:var(--text)}
.insight-bar{height:4px!important;border-radius:999px;background:var(--surface-3);overflow:hidden;margin-top:7px!important}.insight-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--school-red-dark),var(--school-red-2))}
.smart-insight-panel:after{content:"";position:absolute;width:190px;height:190px;right:-90px;bottom:-110px;border-radius:50%;background:radial-gradient(circle,rgba(216,31,63,.08),transparent 68%);pointer-events:none}

.command-tile:before{background:radial-gradient(circle,rgba(216,31,63,.09),transparent 70%)}
.command-tile:hover{border-color:color-mix(in srgb,var(--school-red) 25%,var(--line));box-shadow:0 18px 38px rgba(105,20,42,.09)}

/* Tables/forms remain productivity-first, but branded */
th{background:color-mix(in srgb,var(--surface-2) 94%,var(--primary-soft));}
tbody tr:hover{background:color-mix(in srgb,var(--primary-soft) 42%,transparent)}
input:focus,select:focus,textarea:focus{border-color:color-mix(in srgb,var(--school-red) 58%,var(--line));box-shadow:0 0 0 3px rgba(216,31,63,.08)}
.mobile-nav a.active{background:var(--primary-soft);color:var(--school-red-dark)}

@media(max-width:1240px){
  .operations-grid{grid-template-columns:1fr 360px}
}
@media(max-width:940px){
  .operations-grid{grid-template-columns:1fr}
  .notification-popover{position:fixed;right:12px;top:74px}
}
@media(max-width:640px){
  .school-brand-mark{width:44px;height:44px}
  .notification-btn{display:grid!important}
  .notification-popover{left:10px;right:10px;width:auto;top:70px}
  .today-progress{grid-template-columns:repeat(3,1fr);gap:5px}
  .today-progress>div{padding:8px}.today-progress span{font-size:6px}.today-progress b{font-size:17px}
  .activity-item{grid-template-columns:12px minmax(0,1fr)}.activity-item time{grid-column:2;margin-top:-2px}
  .insight-item{grid-template-columns:34px minmax(0,1fr) auto;padding:9px}
  .spatial-hero{background:radial-gradient(circle at 80% 14%,rgba(255,87,115,.18),transparent 27%),linear-gradient(145deg,#081226,#16234a 58%,#6f1129)}
}
[data-theme="dark"] .notice-icon.red,[data-theme="dark"] .insight-symbol.login{background:#421525}
[data-theme="dark"] .notice-icon.blue,[data-theme="dark"] .insight-symbol.teaching{background:#142b47}
[data-theme="dark"] .notice-icon.amber,[data-theme="dark"] .insight-symbol.kq{background:#382b14}

.login-seal-watermark{
  position:absolute;right:-42px;bottom:-40px;width:330px;height:330px;object-fit:contain;
  opacity:.07;filter:grayscale(.08) brightness(1.3);transform:rotate(-3deg);pointer-events:none
}
@media(max-width:940px){.login-seal-watermark{display:none}}

/* ==========================================================
   v0.7 FULL BRAND SHELL — Executive Midnight Academic UI
   Design target: premium school command center / responsive app
   ========================================================== */
:root{
  --bg:#06142a;--bg-soft:#071a35;--surface:#0a1f40;--surface-2:#0d2850;--surface-3:#11315e;
  --text:#f5f8ff;--text-2:#d8e4f5;--muted:#8ea6c8;--line:#173a68;--line-strong:#24518a;
  --primary:#5d78ff;--primary-2:#3e64ef;--primary-3:#8a72ff;--primary-soft:#132d61;
  --nav:#061631;--nav-2:#071c3c;--success:#24c895;--success-soft:#0f3a35;--warning:#f0ad3f;--warning-soft:#3b2c15;--danger:#ff6072;--danger-soft:#431827;
  --cyan:#39d2e8;--purple:#896cff;--shadow:0 16px 42px rgba(0,6,20,.24);--shadow-lg:0 30px 90px rgba(0,5,18,.42);
  --radius:18px;--sidebar:290px;--content-max:1700px;
  --v7-glass:rgba(9,31,64,.78);--v7-glass-2:rgba(10,38,77,.88);--v7-border:rgba(104,157,224,.18);
  --v7-blue:#5d78ff;--v7-cyan:#32d2e8;--v7-purple:#8c6cff;--v7-royal:#3d67f2;--v7-green:#37d39b;
}
[data-theme="light"]{
  --bg:#edf3fb;--bg-soft:#e8f0fa;--surface:#ffffff;--surface-2:#f6f9fd;--surface-3:#edf3fb;
  --text:#122542;--text-2:#304a6d;--muted:#7287a3;--line:#d9e5f2;--line-strong:#bfd2e8;
  --primary:#315bd4;--primary-2:#4770e9;--primary-soft:#eaf0ff;--nav:#071a38;--nav-2:#09224a;
  --v7-glass:rgba(255,255,255,.92);--v7-glass-2:rgba(248,251,255,.96);--v7-border:rgba(35,82,137,.12);
  --shadow:0 12px 32px rgba(27,55,95,.08);--shadow-lg:0 24px 70px rgba(26,53,92,.13)
}
html,body{background:var(--bg);color:var(--text)}
body.app-body{
  background:
    radial-gradient(circle at 82% 6%,rgba(63,104,235,.13),transparent 25%),
    radial-gradient(circle at 38% 105%,rgba(42,209,233,.06),transparent 32%),
    linear-gradient(145deg,#06142a 0%,#071a35 56%,#06142a 100%);
}
[data-theme="light"] body.app-body{background:linear-gradient(145deg,#edf3fb,#f6f9fd 50%,#edf3fb)}
.app-shell{grid-template-columns:var(--sidebar) minmax(0,1fr)}
.sidebar{
  padding:22px 18px 16px;background:
    radial-gradient(circle at 0 0,rgba(53,101,221,.20),transparent 33%),
    linear-gradient(180deg,#071a38 0%,#061631 58%,#06132b 100%);
  border-right:1px solid rgba(88,142,208,.16);box-shadow:14px 0 44px rgba(0,4,18,.14)
}
.brand{height:72px;padding:0 7px 18px;gap:14px}.school-brand-mark{
  width:58px;height:58px;border-radius:50%;padding:4px;position:relative;background:linear-gradient(145deg,#0d2d60,#071a37);
  border:1px solid rgba(103,165,238,.58);box-shadow:0 0 0 4px rgba(70,132,231,.06),0 0 26px rgba(64,142,255,.36),inset 0 0 22px rgba(78,143,255,.16)
}
.school-brand-mark img{width:100%;height:100%;object-fit:contain;display:block;border-radius:50%;position:relative;z-index:2}.crest-glow{position:absolute;inset:-7px;border-radius:50%;border:1px solid rgba(66,197,255,.20);box-shadow:0 0 30px rgba(63,156,255,.18);animation:v7crest 5s ease-in-out infinite}.brand-copy b{font-size:20px}.brand-copy span{font-size:11px;color:#8ba8d1;letter-spacing:1.5px}.sidebar-collapse{border-radius:11px}.workspace-card{display:none}
.nav-group{margin-bottom:14px}.nav-group-label{font-size:10px;letter-spacing:.5px;text-transform:none;color:#607fa9;padding:7px 11px 6px;font-weight:650}.nav-link{min-height:49px;padding:11px 13px;border-radius:13px;color:#b4c6df;font-size:13px;font-weight:650}.nav-link:hover{background:rgba(70,120,198,.10);color:#f6f9ff;transform:translateX(2px)}.nav-link.active{background:linear-gradient(100deg,rgba(58,112,226,.50),rgba(28,71,146,.42));box-shadow:inset 0 0 0 1px rgba(98,166,255,.26),0 10px 26px rgba(0,35,94,.17);color:#fff}.nav-link.active:before{content:"";position:absolute;left:-3px;width:3px;height:26px;border-radius:6px;background:#66b8ff;box-shadow:0 0 16px #58a9ff}.nav-icon{width:25px}.nav-icon .ui-icon{width:20px;height:20px}.nav-chevron{margin-left:auto;color:#6e8daf;opacity:.7}.nav-chevron .ui-icon{width:14px;height:14px}.nav-link.active .nav-chevron{color:#bcd9ff;opacity:1}.nav-active-dot{display:none}
.sidebar-foot{display:grid;gap:6px;border-top:1px solid rgba(87,133,190,.12);padding-top:14px}.sidebar-theme,.sidebar-hide{height:42px;border:0;background:transparent;color:#9cb2cf;border-radius:12px;display:flex;align-items:center;gap:12px;padding:0 12px;cursor:pointer;text-align:left}.sidebar-theme:hover,.sidebar-hide:hover{background:rgba(80,131,201,.09);color:#fff}.sidebar-theme .ui-icon,.sidebar-hide .ui-icon{width:19px;height:19px}.sidebar-theme i{margin-left:auto;width:32px;height:17px;border-radius:20px;background:#18335b;border:1px solid #31537c;position:relative}.sidebar-theme i:before{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:#dce9fb;transition:.2s}.sidebar-theme.on i:before{transform:translateX(15px);background:#66d5f2}
.topbar{min-height:76px;padding:12px 26px;background:rgba(7,23,48,.86);border-bottom:1px solid rgba(94,146,209,.16);backdrop-filter:blur(24px) saturate(140%);box-shadow:0 12px 40px rgba(0,4,17,.08)}[data-theme="light"] .topbar{background:rgba(248,251,255,.88)}.topbar-primary{display:flex;align-items:center;gap:14px;min-width:0;flex:1}.topbar-left{display:none}.menu-btn{display:none!important}.global-search{height:48px;width:min(560px,52vw);border-radius:15px;border:1px solid rgba(105,158,222,.16);background:rgba(10,34,70,.62);color:#8ca5c8;display:flex;align-items:center;gap:11px;padding:0 15px;cursor:pointer;text-align:left;box-shadow:inset 0 1px 0 rgba(255,255,255,.035);transition:.18s}.global-search:hover{border-color:rgba(99,168,247,.34);background:rgba(11,40,82,.78);color:#c9d9ee}.global-search .ui-icon{width:20px;height:20px;flex:none}.global-search span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.global-search kbd{border:1px solid rgba(122,166,219,.15);background:rgba(121,163,216,.09);border-radius:7px;padding:3px 7px;color:#7f98bb;font-size:10px}[data-theme="light"] .global-search{background:#fff;color:#7388a4;border-color:#d9e5f2}.topbar-actions{gap:10px}.calendar-mini{height:46px;display:flex;align-items:center;gap:6px;color:#a8bdd9;padding:0 7px}.calendar-mini .ui-icon{width:21px}.calendar-mini span{display:grid;line-height:1}.calendar-mini small{font-size:8px;color:#7993b5}.calendar-mini b{font-size:12px;margin-top:2px}.topbar .icon-btn{width:45px;height:45px;border-radius:13px;background:rgba(11,37,75,.72);border-color:rgba(100,154,220,.15);color:#c8d9ef;box-shadow:none}.topbar .icon-btn:hover{background:#0d2c58;color:#fff;border-color:rgba(105,173,255,.30);box-shadow:0 10px 30px rgba(0,0,0,.16)}[data-theme="light"] .topbar .icon-btn{background:#fff;color:#385171;border-color:#dbe6f2}.profile-wrap{position:relative}.profile-pill{height:51px;min-width:205px;border-radius:15px;background:rgba(11,36,73,.74);border:1px solid rgba(106,159,225,.17);padding:5px 10px 5px 6px;color:#eef5ff;box-shadow:none;cursor:pointer}.profile-pill:hover{background:#0c2a55;border-color:rgba(110,174,249,.34);box-shadow:0 14px 35px rgba(0,4,16,.20)}[data-theme="light"] .profile-pill{background:#fff;color:#163251;border-color:#d9e6f3}.profile-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,#6d78ff,#4164e8);position:relative;font-size:13px;box-shadow:0 8px 22px rgba(50,83,218,.32)}.profile-avatar i{position:absolute;right:-1px;bottom:0;width:9px;height:9px;border-radius:50%;background:#29d5a0;border:2px solid #0b2348}.profile-avatar.large{width:48px;height:48px;font-size:16px}.profile-copy b{font-size:11px}.profile-copy small{font-size:9px;color:#8ba3c5}.profile-chevron{color:#7994b9}.profile-popover{position:absolute;right:0;top:calc(100% + 12px);width:280px;background:rgba(7,28,58,.97);border:1px solid rgba(101,158,226,.20);border-radius:18px;padding:10px;box-shadow:0 28px 80px rgba(0,4,18,.48);backdrop-filter:blur(28px);opacity:0;visibility:hidden;transform:translateY(-7px) scale(.985);transform-origin:90% 0;transition:.18s;z-index:100}.profile-wrap.open .profile-popover{opacity:1;visibility:visible;transform:none}[data-theme="light"] .profile-popover{background:rgba(255,255,255,.98);border-color:#dce6f1;box-shadow:0 28px 70px rgba(25,53,91,.18)}.profile-pop-head{display:flex;align-items:center;gap:11px;padding:7px 8px 12px;border-bottom:1px solid var(--line)}.profile-pop-head>div{display:grid}.profile-pop-head b{font-size:12px}.profile-pop-head small{color:var(--muted);font-size:9px;margin-top:2px}.profile-popover>a,.profile-popover>button{width:100%;border:0;background:transparent;text-decoration:none;color:var(--text-2);display:flex;align-items:center;gap:11px;padding:11px 10px;border-radius:11px;cursor:pointer;font-size:11px}.profile-popover>a:hover,.profile-popover>button:hover{background:rgba(69,118,188,.11);color:#fff}[data-theme="light"] .profile-popover>a:hover,[data-theme="light"] .profile-popover>button:hover{color:#173456;background:#eef4fb}.profile-popover>a .ui-icon,.profile-popover>button .ui-icon{width:18px;height:18px}.profile-popover hr{height:1px;border:0;background:var(--line);margin:6px}.profile-popover .danger-link{color:#ff7384}.theme-switch{margin-left:auto;width:31px;height:17px;border-radius:20px;background:#1c3b66;position:relative}.theme-switch:before{content:"";position:absolute;width:11px;height:11px;left:3px;top:3px;border-radius:50%;background:#6cd9f3}.profile-popover button.light .theme-switch:before{transform:translateX(14px)}
.notification-popover{background:rgba(7,29,59,.98);border-color:rgba(102,160,229,.20);color:var(--text);width:340px}.notification-head{display:none}.popover-title{display:flex;align-items:center;justify-content:space-between;padding:7px 8px 12px;border-bottom:1px solid var(--line)}.popover-title>div{display:grid}.popover-title b{font-size:12px}.popover-title small{font-size:8px;color:var(--muted);margin-top:2px}[data-theme="light"] .notification-popover{background:rgba(255,255,255,.98);border-color:#dce7f2}.notice-icon.blue{background:rgba(75,119,255,.13);color:#82a2ff}.notice-icon.cyan{background:rgba(42,211,232,.11);color:#54d8e9}.notice-icon.amber{background:rgba(239,169,53,.11);color:#f1b54d}.notification-item:hover{background:rgba(70,120,191,.10)}
.content{max-width:var(--content-max);padding:24px 26px 56px}.page-intro{min-height:94px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:2px 4px 18px;margin-bottom:4px;border-bottom:1px solid rgba(83,134,197,.10)}.page-intro h1{margin:1px 0 0;font-size:28px;letter-spacing:-.5px}.page-intro p{margin:3px 0 0;color:var(--muted);font-size:11px}.eyebrow{font-size:8px;letter-spacing:1.4px;color:#5ecfea;font-weight:900}.page-term{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:13px;background:rgba(10,37,75,.54);border:1px solid rgba(90,145,211,.13)}.page-term>div{display:grid}.page-term small{font-size:7px;color:var(--muted)}.page-term b{font-size:10px;margin-top:2px}.card{background:linear-gradient(145deg,rgba(9,31,64,.88),rgba(8,26,54,.92));border:1px solid var(--v7-border);box-shadow:0 16px 42px rgba(0,4,17,.16);color:var(--text);backdrop-filter:blur(16px)}[data-theme="light"] .card{background:#fff}.card h2,.card h3{color:var(--text)}.section-head .muted,.muted{color:var(--muted)}
/* Productivity surfaces */
.table-wrap{border:1px solid rgba(95,146,207,.14);border-radius:15px;background:rgba(6,24,50,.46);overflow:auto}[data-theme="light"] .table-wrap{background:#fff;border-color:#dce7f2}table{color:var(--text)}th{background:#0b2851!important;color:#92abcc;border-bottom:1px solid rgba(102,155,219,.14);font-size:10px;position:sticky;top:0;z-index:2}[data-theme="light"] th{background:#f4f8fc!important;color:#5e7593}td{border-bottom:1px solid rgba(77,127,185,.11)}tbody tr:hover{background:rgba(48,94,162,.12)!important}[data-theme="light"] tbody tr:hover{background:#f7faff!important}.slot{background:linear-gradient(145deg,rgba(67,111,229,.13),rgba(38,93,158,.13));border:1px solid rgba(89,151,225,.15)}.field label{color:#9db2cf}.field input,.field select,.field textarea,input,select,textarea{background:#081f41;color:#eaf3ff;border-color:#1b4474}[data-theme="light"] .field input,[data-theme="light"] .field select,[data-theme="light"] .field textarea,[data-theme="light"] input,[data-theme="light"] select,[data-theme="light"] textarea{background:#fff;color:#19324f;border-color:#d8e5f2}.field input::placeholder,input::placeholder,textarea::placeholder{color:#617d9f}.field input:focus,.field select:focus,.field textarea:focus,input:focus,select:focus,textarea:focus{border-color:#537dff;box-shadow:0 0 0 3px rgba(83,125,255,.14)}.button{background:linear-gradient(135deg,#4f72f2,#5e62e9);box-shadow:0 10px 24px rgba(44,74,193,.25);border:1px solid rgba(144,171,255,.22)}.button:hover{filter:brightness(1.08);transform:translateY(-1px)}.button.secondary{background:#102e59;color:#cfe1f8;border-color:#234c7c;box-shadow:none}[data-theme="light"] .button.secondary{background:#edf3fb;color:#315071}.note-box{background:rgba(49,104,184,.10);border-color:rgba(93,150,218,.16);color:#b9cde6}.warn-box{background:rgba(237,172,58,.10);border-color:rgba(237,172,58,.22);color:#f0c878}.flash{background:#0d2a53;border-color:#255282;color:#e5effc}.badge{border-color:rgba(111,154,209,.18)}
/* Dashboard hero */
.executive-hero{position:relative;min-height:240px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(430px,.85fr);overflow:hidden;border-radius:24px;margin-bottom:14px;border:1px solid rgba(93,149,221,.22);background:linear-gradient(112deg,#0a234e 0%,#103c83 50%,#2659bd 100%);box-shadow:0 28px 70px rgba(0,12,44,.28)}.executive-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,13,33,.56),transparent 58%);pointer-events:none}.executive-hero-bg{position:absolute;inset:0;overflow:hidden}.executive-hero-bg i:nth-child(1){position:absolute;width:420px;height:420px;border-radius:50%;right:20%;top:-300px;border:1px solid rgba(121,190,255,.17);box-shadow:0 0 0 45px rgba(83,147,238,.025),0 0 0 95px rgba(83,147,238,.018)}.executive-hero-bg i:nth-child(2){position:absolute;width:270px;height:270px;right:-80px;bottom:-150px;border-radius:50%;background:radial-gradient(circle,rgba(57,211,235,.14),transparent 68%)}.executive-hero-bg i:nth-child(3){position:absolute;left:0;right:0;bottom:0;height:60%;opacity:.16;background-image:linear-gradient(rgba(139,188,246,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(139,188,246,.12) 1px,transparent 1px);background-size:44px 44px;transform:perspective(500px) rotateX(66deg) scale(1.3);transform-origin:bottom}.executive-welcome{position:relative;z-index:2;padding:34px 34px;align-self:center}.welcome-label{font-size:12px;color:#d5e6ff}.executive-welcome h2{margin:5px 0 2px;font-size:38px;letter-spacing:-1.3px;line-height:1.12;color:#fff}.school-name{margin:4px 0 18px;color:#d7e7ff;font-size:14px}.verified{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#4979e7;color:#fff;font-size:10px;margin-left:4px}.hero-update{display:inline-flex;align-items:center;gap:7px;color:#91add0;font-size:9px}.hero-update .ui-icon{width:14px;height:14px}.executive-visual{position:relative;z-index:1;min-height:240px;transform-style:preserve-3d;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .12s ease-out}.campus-sky{position:absolute;inset:0;background:radial-gradient(circle at 55% 42%,rgba(92,182,255,.30),transparent 24%),linear-gradient(180deg,rgba(20,76,151,.08),rgba(5,26,61,.72))}.campus-building{position:absolute;right:5%;bottom:0;width:82%;height:70%;filter:drop-shadow(0 20px 30px rgba(0,8,27,.32));transform:translateZ(20px)}.campus-building:before{content:"";position:absolute;inset:18% 5% 0;background:linear-gradient(180deg,#1c4b87,#102b54);clip-path:polygon(10% 12%,85% 0,98% 20%,98% 100%,0 100%,0 33%);border-top:1px solid rgba(163,210,255,.25)}.campus-building:after{content:"";position:absolute;left:13%;right:10%;top:34%;bottom:12%;background:repeating-linear-gradient(90deg,rgba(112,177,241,.42) 0 2px,transparent 2px 55px),repeating-linear-gradient(0deg,rgba(116,176,236,.22) 0 2px,transparent 2px 40px);opacity:.65}.campus-building span{position:absolute;z-index:3;background:#244f82;border:1px solid rgba(124,180,238,.23)}.campus-building span:nth-child(1){width:10%;height:53%;left:8%;bottom:0}.campus-building span:nth-child(2){width:10%;height:64%;right:4%;bottom:0}.campus-building span:nth-child(3){width:46%;height:8%;left:25%;bottom:8%;background:#0b2142}.campus-building span:nth-child(4){width:5%;height:82%;right:22%;bottom:0;background:rgba(40,91,145,.55)}.campus-building span:nth-child(5){width:16%;height:14%;left:48%;top:8%;border-radius:3px;background:linear-gradient(145deg,#d7b54f,#8f701b);opacity:.75}.campus-crest{position:absolute;right:43%;top:36%;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#071c3a;border:1px solid rgba(115,195,255,.35);box-shadow:0 0 22px rgba(72,175,255,.24);transform:translateZ(60px)}.campus-crest img{width:42px;height:42px;object-fit:contain}.campus-crest i{position:absolute;inset:-9px;border:1px solid rgba(90,181,255,.20);border-radius:50%;animation:v7orbit 7s linear infinite}.term-float{position:absolute;right:24px;bottom:20px;padding:10px 13px;border-radius:14px;background:rgba(5,25,57,.62);border:1px solid rgba(104,168,238,.22);backdrop-filter:blur(14px);display:grid;min-width:135px;transform:translateZ(70px);box-shadow:0 16px 34px rgba(0,7,24,.22)}.term-float small{font-size:7px;color:#75a2cf;letter-spacing:1px}.term-float b{font-size:17px;margin:1px 0 2px}.term-float span{font-size:7px;color:#66dfc3;display:flex;align-items:center;gap:5px}.term-float span i{width:5px;height:5px;border-radius:50%;background:#39d7a8;box-shadow:0 0 9px #39d7a8}
.executive-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.executive-kpi{min-height:112px;border-radius:18px;text-decoration:none;position:relative;overflow:hidden;padding:16px;display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:start;color:#fff;border:1px solid rgba(110,164,232,.17);background:linear-gradient(145deg,rgba(15,45,91,.94),rgba(9,31,65,.96));box-shadow:0 16px 36px rgba(0,7,25,.18);transform-style:preserve-3d;transform:perspective(800px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .13s,border .18s,box-shadow .18s}.executive-kpi:hover{border-color:rgba(130,187,255,.34);box-shadow:0 20px 46px rgba(0,8,30,.28)}.executive-kpi:after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;right:-55px;top:-70px;opacity:.22}.executive-kpi.violet:after{background:#8d6aff}.executive-kpi.blue:after{background:#4389ff}.executive-kpi.cyan:after{background:#30d4df}.executive-kpi.royal:after{background:#4e6eff}.kpi-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);transform:translateZ(18px)}.violet .kpi-icon{color:#c5b5ff;background:rgba(130,94,255,.18)}.blue .kpi-icon{color:#9dcbff;background:rgba(59,132,255,.16)}.cyan .kpi-icon{color:#94f4ff;background:rgba(46,207,227,.14)}.royal .kpi-icon{color:#b0c2ff;background:rgba(74,105,248,.18)}.kpi-copy{display:grid;line-height:1.1;transform:translateZ(12px)}.kpi-copy small{font-size:9px;color:#a9bedb}.kpi-copy b{font-size:29px;margin:4px 0 6px;letter-spacing:-.7px}.kpi-copy em{font-style:normal;font-size:8px;color:#6fd7d1}.kpi-spark{position:absolute;left:16px;right:16px;bottom:8px;height:22px;opacity:.42}.kpi-spark:before,.kpi-spark:after,.kpi-spark i{content:"";position:absolute;height:2px;border-radius:4px;background:linear-gradient(90deg,transparent,#6caeff,transparent);transform-origin:left}.kpi-spark:before{left:0;bottom:2px;width:32%;transform:rotate(-14deg)}.kpi-spark i{left:27%;bottom:7px;width:27%;transform:rotate(10deg)}.kpi-spark:after{left:50%;bottom:5px;width:43%;transform:rotate(-8deg)}
.executive-grid{display:grid;grid-template-columns:minmax(285px,.92fr) minmax(420px,1.18fr) minmax(300px,.9fr);gap:14px;align-items:start}.executive-center-stack,.executive-right-stack{display:grid;gap:14px}.glass-panel{background:linear-gradient(145deg,rgba(9,31,65,.92),rgba(8,27,57,.96));border:1px solid rgba(99,153,220,.17);border-radius:18px;box-shadow:0 16px 40px rgba(0,6,21,.18);backdrop-filter:blur(18px);padding:16px;color:#f2f7ff}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.panel-head h3{font-size:13px;margin:1px 0 0}.panel-count{font-size:8px;color:#90acd0;background:rgba(81,128,191,.12);padding:5px 8px;border-radius:9px}.mission-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:10px}.mission-summary>div{padding:9px;border-radius:11px;background:rgba(48,93,156,.10);border:1px solid rgba(86,137,202,.12);display:grid}.mission-summary small{font-size:7px;color:#7f9cbe}.mission-summary b{font-size:17px;margin-top:2px}.mission-list{display:grid}.mission-item{display:grid;grid-template-columns:42px 9px minmax(0,1fr) 15px;gap:8px;align-items:center;padding:10px 2px;text-decoration:none;border-bottom:1px solid rgba(75,125,183,.10)}.mission-item:hover .mission-copy b{color:#7bdcf0}.mission-time{font-size:8px;color:#93adcb}.mission-dot{width:7px;height:7px;border-radius:50%;border:1.5px solid #55a6ff;box-shadow:0 0 0 4px rgba(75,151,240,.06)}.mission-copy{display:grid;line-height:1.22}.mission-copy b{font-size:9px}.mission-copy small{font-size:7px;color:#7894b7;margin-top:3px}.mission-go{color:#637f9f}.mission-go .ui-icon{width:13px}.panel-button{height:35px;margin-top:12px;border-radius:10px;border:1px solid rgba(93,148,214,.13);background:rgba(45,88,147,.11);color:#93b3d9;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:7px;font-size:8px}.panel-button:hover{background:rgba(60,111,180,.17);color:#fff}.panel-button .ui-icon{width:13px}.quick-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.quick-grid a{text-decoration:none;min-height:78px;border-radius:12px;border:1px solid rgba(98,151,214,.14);background:linear-gradient(145deg,rgba(33,75,136,.17),rgba(24,58,111,.10));display:grid;place-items:center;align-content:center;gap:6px;text-align:center;transition:.17s}.quick-grid a:hover{transform:translateY(-3px);border-color:rgba(111,181,255,.32);box-shadow:0 14px 28px rgba(0,7,23,.18)}.quick-grid a span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#335fac,#244784);color:#ddecff}.quick-grid a .ui-icon{width:18px}.quick-grid a b{font-size:8px;color:#afc4df}.executive-activity{display:grid}.executive-activity-item{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 2px;border-bottom:1px solid rgba(77,126,183,.10)}.executive-activity-item:last-child{border-bottom:0}.activity-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#345eaa,#6f6ee4);font-size:9px;font-weight:800;box-shadow:0 6px 16px rgba(23,58,139,.24)}.activity-copy{display:grid;line-height:1.2}.activity-copy b{font-size:9px}.activity-copy small{font-size:7px;color:#7e99ba;margin-top:2px}.executive-activity-item time{font-size:7px;color:#728dab}.activity-live{display:flex;align-items:center;gap:5px;font-size:7px;color:#62d7c0;font-weight:800}.activity-live i{width:5px;height:5px;border-radius:50%;background:#3bd4a9;box-shadow:0 0 9px #3bd4a9}.intel-ring-row{display:grid;grid-template-columns:118px 1fr;gap:15px;align-items:center;padding:6px 0 10px}.intel-ring{--p:80;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#35d1d9 calc(var(--p)*1%),rgba(61,102,160,.18) 0);position:relative;filter:drop-shadow(0 10px 20px rgba(25,179,200,.14))}.intel-ring:before{content:"";position:absolute;inset:9px;border-radius:50%;background:#081c3a;border:1px solid rgba(90,147,210,.13);box-shadow:inset 0 0 28px rgba(37,106,175,.14)}.intel-ring span{position:relative;display:grid;text-align:center;z-index:2}.intel-ring b{font-size:24px}.intel-ring small{font-size:7px;color:#7391b7}.intel-legend{display:grid;gap:7px}.intel-legend p{margin:0;display:grid;grid-template-columns:7px 1fr auto;gap:7px;align-items:center}.intel-legend i{width:6px;height:6px;border-radius:2px}.intel-legend i.green{background:#30d2a3}.intel-legend i.blue{background:#4b93ff}.intel-legend i.purple{background:#956eff}.intel-legend span{font-size:7px;color:#819dbd}.intel-legend b{font-size:8px}.intel-line-card{border-top:1px solid rgba(83,132,191,.11);padding-top:10px;display:grid;grid-template-columns:110px 1fr;align-items:end;gap:10px}.intel-line-card>div{display:grid}.intel-line-card small{font-size:7px;color:#7895b8}.intel-line-card b{font-size:25px;margin-top:2px}.intel-line-card svg{width:100%;height:64px}.system-card{display:grid;grid-template-columns:68px 1fr;gap:13px;align-items:center}.system-core-mini{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 40% 35%,#194e91,#071c3a 72%);border:1px solid rgba(82,177,246,.25);box-shadow:0 0 28px rgba(57,153,236,.16);position:relative}.system-core-mini img{width:42px;height:42px;object-fit:contain;z-index:2}.system-core-mini span{position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(81,159,230,.14);animation:v7orbit 7s linear infinite}.system-card h3{margin:1px 0 3px;font-size:11px}.system-card p{margin:0;color:#7e99ba;font-size:7px;line-height:1.5}.empty-dark{padding:18px 8px;color:#708cab;text-align:center;font-size:8px}
/* Command palette */
.command-backdrop{position:fixed;inset:0;background:rgba(0,6,18,.62);backdrop-filter:blur(10px);display:grid;place-items:start center;padding-top:min(16vh,150px);z-index:200;opacity:0;visibility:hidden;transition:.16s}.command-backdrop.open{opacity:1;visibility:visible}.command-palette{width:min(680px,calc(100vw - 28px));background:#071d3c;border:1px solid rgba(110,170,238,.22);border-radius:20px;box-shadow:0 35px 100px rgba(0,4,18,.58);overflow:hidden;transform:translateY(-8px) scale(.985);transition:.18s}.command-backdrop.open .command-palette{transform:none}[data-theme="light"] .command-palette{background:#fff;border-color:#d8e6f4}.command-input-wrap{display:grid;grid-template-columns:22px 1fr 34px;gap:9px;align-items:center;padding:15px;border-bottom:1px solid var(--line)}.command-input-wrap input{border:0!important;box-shadow:none!important;background:transparent!important;font-size:14px;padding:0;color:var(--text)}.command-input-wrap button{border:0;background:transparent;color:#7f99ba;display:grid;place-items:center;cursor:pointer}.command-list{max-height:430px;overflow:auto;padding:8px}.command-list a{display:grid;grid-template-columns:40px 1fr 28px;gap:10px;align-items:center;padding:10px;border-radius:12px;text-decoration:none;color:var(--text-2)}.command-list a:hover,.command-list a.selected{background:rgba(61,110,177,.14);color:#fff}[data-theme="light"] .command-list a:hover,[data-theme="light"] .command-list a.selected{color:#163350;background:#eff5fb}.command-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#0d315f;color:#9fc8fb}.command-icon .ui-icon{width:18px}.command-list a>span:nth-child(2){display:grid}.command-list b{font-size:10px}.command-list small{font-size:7px;color:var(--muted);margin-top:2px}.command-list kbd,.command-hint kbd{font-size:7px;border:1px solid var(--line);border-radius:5px;padding:2px 4px;color:#7690b1}.command-hint{display:flex;gap:14px;padding:9px 15px;border-top:1px solid var(--line);font-size:7px;color:#718cab}.command-hint span{display:flex;align-items:center;gap:4px}
/* Login shell v0.7 */
.login-page{background:#06142a!important;color:#eff6ff}.login-shell{background:linear-gradient(145deg,#06142a,#071b38)}.login-visual{background:radial-gradient(circle at 75% 18%,rgba(72,133,235,.25),transparent 28%),linear-gradient(145deg,#071a39,#0a2b59 58%,#0a2147)!important}.login-brand .school-login-logo{border-radius:50%!important;background:#071a36!important;border:1px solid rgba(104,174,245,.35);box-shadow:0 0 28px rgba(58,155,255,.30)!important}.login-brand span{color:#8da8ca!important}.login-hero .pill{color:#7fe2ee!important;border-color:rgba(80,208,233,.18)!important;background:rgba(41,199,225,.08)!important}.login-hero h1 em{color:#79ddeb!important}.login-feature{background:rgba(29,72,133,.14)!important;border-color:rgba(93,149,219,.14)!important}.login-panel{background:rgba(5,17,37,.58)!important}.login-card{background:rgba(9,31,64,.94)!important;border:1px solid rgba(102,159,225,.17)!important;color:#f3f8ff;box-shadow:0 30px 90px rgba(0,5,19,.42)!important}.login-card:before{background:#0d315f!important;color:#8bc9ff!important}.login-card .button{background:linear-gradient(135deg,#476df1,#6d68ec)!important}.login-card input{background:#071d3c!important;color:#fff!important;border-color:#1c4677!important}.login-meta{border-color:rgba(89,142,205,.14)!important}
/* animations */
@keyframes v7crest{50%{transform:scale(1.06);opacity:.55}}
@keyframes v7orbit{to{transform:rotate(360deg)}}
@media(max-width:1380px){.executive-grid{grid-template-columns:minmax(280px,.85fr) minmax(390px,1.15fr)}.executive-right-stack{grid-column:1/-1;grid-template-columns:1.2fr .8fr}.quick-grid{grid-template-columns:repeat(5,1fr)}}
@media(max-width:1120px){:root{--sidebar:255px}.executive-hero{grid-template-columns:1fr 420px}.executive-kpis{grid-template-columns:repeat(2,1fr)}.executive-grid{grid-template-columns:1fr 1fr}.executive-right-stack{grid-column:1/-1}.global-search{width:min(430px,42vw)}.profile-pill{min-width:170px}}
@media(max-width:940px){
  .app-shell{display:block}.sidebar{position:fixed;left:0;top:0;width:min(300px,86vw);transform:translateX(-105%);z-index:110}.sidebar.open{transform:none}.sidebar-overlay{z-index:105}.topbar{min-height:68px;padding:10px 13px}.menu-btn{display:grid!important}.global-search{width:auto;flex:1;max-width:none}.global-search span{display:none}.global-search kbd{display:none}.profile-copy,.profile-chevron,.calendar-mini{display:none}.profile-pill{min-width:0;width:46px;padding:4px;border:0;background:transparent}.content{padding:16px 13px 90px}.page-intro{min-height:76px;padding-bottom:13px}.page-intro h1{font-size:23px}.page-term{display:none}.executive-hero{grid-template-columns:1fr;min-height:350px}.executive-welcome{padding:26px 24px 14px}.executive-welcome h2{font-size:32px}.executive-visual{min-height:170px}.campus-building{width:75%;right:8%;height:95%}.term-float{right:15px;bottom:14px}.executive-grid{grid-template-columns:1fr}.executive-right-stack{grid-template-columns:1fr}.mobile-nav{display:grid}.notification-popover,.profile-popover{position:fixed;right:10px;top:72px}.profile-popover{width:min(300px,calc(100vw - 20px))}
}
@media(max-width:640px){
  .brand-copy b{font-size:18px}.school-brand-mark{width:52px;height:52px}.executive-welcome h2{font-size:28px}.school-name{font-size:11px}.executive-kpis{grid-template-columns:repeat(2,1fr);gap:8px}.executive-kpi{min-height:104px;padding:12px;grid-template-columns:40px 1fr;gap:8px}.kpi-icon{width:39px;height:39px;border-radius:12px}.kpi-copy b{font-size:23px}.kpi-copy small{font-size:8px}.kpi-copy em{font-size:7px}.quick-grid{grid-template-columns:repeat(3,1fr)}.quick-grid a{min-height:72px}.intel-ring-row{grid-template-columns:104px 1fr}.intel-ring{width:100px;height:100px}.executive-hero{border-radius:20px}.campus-crest{width:45px;height:45px}.campus-crest img{width:36px;height:36px}.term-float{min-width:120px}.mission-summary{gap:5px}.glass-panel{padding:13px}.profile-popover,.notification-popover{left:10px;right:10px;width:auto}.command-backdrop{padding-top:74px}.command-palette{width:calc(100vw - 20px)}
}
@media(prefers-reduced-motion:reduce){.crest-glow,.campus-crest i,.system-core-mini span{animation:none!important}.executive-kpi,.executive-visual{transform:none!important}}

/* ==========================================================
   v0.7.1 HERO MEDIA + BRAND REFINEMENT
   Approved reference polish: round white crest, editable hero,
   refined popup/topbar, real mini charts and work-page surfaces.
   ========================================================== */
:root{
  --v71-blue:#4b74ff;--v71-blue-2:#2f62d9;--v71-cyan:#49d6e8;--v71-violet:#8b72ff;
  --v71-panel:#0a2145;--v71-panel-2:#0b2851;--v71-edge:rgba(111,169,235,.19);
}
/* Crest: preserve the original artwork and give it the white circular field seen in the approved reference. */
.school-brand-mark{
  background:#fff!important;padding:5px!important;border:2px solid rgba(132,188,255,.78)!important;
  box-shadow:0 0 0 4px rgba(52,114,221,.13),0 0 30px rgba(54,142,255,.38),0 13px 30px rgba(0,7,30,.30)!important;
}
.school-brand-mark img{border-radius:0!important;object-fit:contain!important}.crest-glow{inset:-9px!important;border-color:rgba(88,184,255,.28)!important}
.login-brand .school-login-logo{background:#fff!important;padding:6px!important;border:2px solid rgba(111,179,244,.55)!important}.school-login-logo img{border-radius:0!important}
.system-core-mini{background:#fff!important;border:2px solid rgba(99,173,240,.34)!important}.system-core-mini img{width:50px!important;height:50px!important}.system-core-mini span{border-color:rgba(94,181,255,.23)!important}

/* Frame / top bar */
.sidebar{border-right-color:rgba(89,144,211,.20)!important}.main{background:linear-gradient(180deg,rgba(7,23,48,.20),transparent 240px)}
.topbar{
  min-height:74px!important;padding:11px 28px!important;background:rgba(5,21,45,.90)!important;
  border-bottom:1px solid rgba(99,153,218,.18)!important;box-shadow:0 10px 34px rgba(0,7,26,.10)!important
}
.topbar.scrolled{background:rgba(5,20,43,.97)!important;box-shadow:0 16px 42px rgba(0,5,22,.25)!important}
.global-search{height:46px!important;border-radius:14px!important;background:linear-gradient(180deg,rgba(12,39,78,.76),rgba(8,31,64,.75))!important;border-color:rgba(106,164,232,.19)!important}
.global-search:hover{border-color:rgba(103,178,255,.42)!important;box-shadow:0 10px 28px rgba(0,11,43,.22),inset 0 1px 0 rgba(255,255,255,.04)}
.topbar .icon-btn{background:linear-gradient(180deg,rgba(13,42,83,.9),rgba(8,31,64,.9))!important;border-color:rgba(111,169,235,.18)!important}
.profile-pill{background:linear-gradient(180deg,rgba(13,42,83,.92),rgba(8,31,64,.92))!important;border-color:rgba(111,169,235,.20)!important}
.profile-avatar{box-shadow:0 0 0 1px rgba(139,178,255,.28),0 9px 24px rgba(53,90,224,.32)!important}

/* Calendar dropdown */
.calendar-wrap{position:relative}.calendar-mini{border:0;background:transparent;cursor:pointer}.calendar-popover{
  position:absolute;right:0;top:calc(100% + 13px);width:322px;padding:14px;background:rgba(6,26,55,.98);border:1px solid rgba(108,167,234,.22);
  border-radius:19px;box-shadow:0 30px 84px rgba(0,4,18,.50);backdrop-filter:blur(28px);z-index:102;
  opacity:0;visibility:hidden;transform:translateY(-7px) scale(.985);transform-origin:88% 0;transition:.18s ease
}
.calendar-wrap.open .calendar-popover{opacity:1;visibility:visible;transform:none}.calendar-pop-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:2px 3px 12px}.calendar-pop-head>div{display:grid}.calendar-pop-head b{font-size:13px}.calendar-today{font-size:8px;padding:5px 8px;border-radius:8px;background:rgba(71,118,255,.15);color:#a9c0ff;border:1px solid rgba(112,155,255,.15)}
.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.calendar-week{padding:8px 0;color:#738eaf;font-size:8px;border-top:1px solid rgba(88,139,198,.12)}.calendar-grid{gap:3px}.calendar-grid span{height:32px;display:grid;place-items:center;border-radius:9px;font-size:9px;color:#c9d8ec}.calendar-grid span.outside{color:#486684}.calendar-grid span.today{background:linear-gradient(145deg,#416ff2,#6189ff);color:#fff;font-weight:800;box-shadow:0 8px 20px rgba(50,94,229,.32)}.calendar-pop-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 2px 0;margin-top:8px;border-top:1px solid rgba(87,139,200,.12);font-size:8px;color:#718dab}.calendar-pop-foot>span{display:flex;align-items:center;gap:6px}.calendar-pop-foot>span i{width:6px;height:6px;border-radius:50%;background:#31d3a0;box-shadow:0 0 10px #31d3a0}.calendar-pop-foot a{display:flex;align-items:center;gap:5px;text-decoration:none;color:#8fc5ff}.calendar-pop-foot .ui-icon{width:12px}
[data-theme="light"] .calendar-popover{background:rgba(255,255,255,.98);border-color:#dce8f5;box-shadow:0 28px 70px rgba(27,52,87,.18)}[data-theme="light"] .calendar-grid span{color:#34506f}[data-theme="light"] .calendar-grid span.outside{color:#a4b3c5}

/* Profile/notification popup refinement */
.profile-popover,.notification-popover{border-radius:20px!important;border-color:rgba(114,174,242,.23)!important;box-shadow:0 32px 92px rgba(0,4,19,.54)!important;overflow:hidden}
.profile-pop-head,.popover-title{padding:10px 10px 14px!important}.profile-popover>a,.profile-popover>button{min-height:43px!important;border-radius:12px!important}.notification-item{border-radius:13px!important;margin:3px 0!important;padding:10px!important}.notification-item:hover{background:rgba(57,107,177,.14)!important}.notice-icon{box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}

/* Hero: image can be replaced by ADMIN without editing code. */
.executive-hero{min-height:254px!important;grid-template-columns:minmax(0,.95fr) minmax(510px,1.05fr)!important;background:linear-gradient(108deg,#081d42 0%,#0d397b 53%,#2556b8 100%)!important;border-color:rgba(116,177,245,.28)!important;box-shadow:0 30px 78px rgba(0,8,35,.34)!important}
.executive-hero:after{background:linear-gradient(90deg,rgba(3,13,33,.76) 0%,rgba(4,18,43,.42) 43%,rgba(3,13,33,.05) 70%)!important}.executive-welcome{padding:38px 35px!important}.executive-welcome h2{font-size:40px!important}.executive-visual{overflow:hidden;isolation:isolate}.hero-media-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;filter:saturate(.92) contrast(1.03)}.hero-media-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,23,50,.13),rgba(7,26,57,.08) 38%,rgba(6,24,53,.35) 100%),linear-gradient(0deg,rgba(4,18,40,.50),transparent 60%)}.has-hero-media .campus-sky,.has-hero-media .campus-building{display:none}.has-hero-media .hero-media-scrim{background:linear-gradient(90deg,rgba(4,16,38,.08),rgba(4,19,44,.03) 38%,rgba(4,17,39,.46) 100%),linear-gradient(0deg,rgba(4,17,39,.54),transparent 60%)}
.campus-crest{right:42%!important;top:29%!important;width:62px!important;height:62px!important;background:transparent!important;border:0!important;box-shadow:none!important}.campus-crest .white-disc{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid rgba(126,192,252,.70);box-shadow:0 0 0 5px rgba(73,151,237,.12),0 0 25px rgba(69,170,255,.34)}.campus-crest img{width:48px!important;height:48px!important;object-fit:contain!important}.campus-crest i{inset:-8px!important}
.term-float{right:20px!important;bottom:18px!important;border-radius:15px!important;background:rgba(5,24,53,.74)!important;border-color:rgba(125,187,249,.27)!important;box-shadow:0 17px 38px rgba(0,6,24,.30)!important}.term-float b{font-size:19px!important}
.hero-media-tools{position:absolute;right:18px;top:16px;z-index:8;display:flex;gap:7px;opacity:.24;transition:.18s}.executive-visual:hover .hero-media-tools,.hero-media-tools:focus-within{opacity:1}.hero-media-upload-form,.hero-media-reset-form{margin:0}.hero-media-btn{height:34px;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid rgba(144,196,250,.26);border-radius:10px;background:rgba(5,25,57,.72);backdrop-filter:blur(14px);color:#d9eaff;font-size:8px;font-weight:750;cursor:pointer;box-shadow:0 10px 26px rgba(0,6,24,.18);transition:.16s}.hero-media-btn:hover{background:rgba(13,48,93,.9);border-color:rgba(140,202,255,.48);transform:translateY(-1px)}.hero-media-btn .ui-icon{width:14px;height:14px}.hero-media-btn input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.hero-media-btn.subtle{color:#94abc8}.hero-media-btn.loading{pointer-events:none;opacity:.75}.hero-media-placeholder{position:absolute;left:20%;right:12%;top:25%;bottom:25%;display:grid;place-items:center;align-content:center;text-align:center;color:#7aa0cc;z-index:0;pointer-events:none}.hero-media-placeholder>span{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:rgba(38,85,147,.16);border:1px solid rgba(95,154,220,.15);margin-bottom:7px}.hero-media-placeholder .ui-icon{width:23px;height:23px}.hero-media-placeholder b{font-size:9px}.hero-media-placeholder small{font-size:7px;margin-top:3px;max-width:240px;color:#5f82aa}.campus-building{opacity:.76}

/* KPI charts and cards */
.executive-kpis{gap:13px!important}.executive-kpi{min-height:119px!important;padding:16px 16px 23px!important;border-radius:19px!important;background:linear-gradient(145deg,rgba(15,48,98,.97),rgba(8,29,62,.98))!important;border-color:rgba(112,171,238,.20)!important}.executive-kpi:hover{transform:perspective(800px) translateY(-2px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))!important}.kpi-icon{border-radius:15px!important}.kpi-copy b{font-size:31px!important}.kpi-copy em{color:#73ddcf!important}.kpi-sparkline{position:absolute;left:18px;right:18px;bottom:7px;width:calc(100% - 36px);height:27px;overflow:visible;opacity:.76}.kpi-line{fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round}.kpi-area{fill:currentColor;opacity:.07}.executive-kpi.violet .kpi-sparkline{color:#8f78ff}.executive-kpi.blue .kpi-sparkline{color:#4da2ff}.executive-kpi.cyan .kpi-sparkline{color:#39d7df}.executive-kpi.royal .kpi-sparkline{color:#6b86ff}

/* Panels closer to the approved dense reference but still usable. */
.executive-grid{gap:13px!important}.glass-panel{border-color:rgba(105,165,232,.19)!important;background:linear-gradient(150deg,rgba(10,35,73,.96),rgba(6,27,58,.97))!important;box-shadow:0 18px 44px rgba(0,5,23,.22),inset 0 1px 0 rgba(255,255,255,.018)!important}.panel-head h3{font-size:14px!important}.eyebrow{color:#58d2e5!important}.quick-grid a{background:linear-gradient(145deg,rgba(29,75,143,.26),rgba(19,52,103,.16))!important;border-color:rgba(106,169,240,.18)!important}.quick-grid a span{background:linear-gradient(145deg,#3e72c7,#27549d)!important;box-shadow:0 9px 22px rgba(26,69,157,.28)}.quick-grid a:hover{border-color:rgba(113,192,255,.43)!important;background:linear-gradient(145deg,rgba(35,91,169,.36),rgba(22,62,121,.24))!important}.intel-ring{background:conic-gradient(#3dd7d9 calc(var(--p)*1%),rgba(61,102,160,.18) 0)!important}.intel-line-card{background:rgba(20,58,112,.08);border:1px solid rgba(81,137,202,.11)!important;border-radius:12px;padding:10px!important;margin-top:4px}

/* Work pages: cleaner, stronger hierarchy, less prototype-like. */
.page-intro{border-bottom-color:rgba(99,153,218,.11)!important}.card{border-color:rgba(104,161,226,.17)!important;background:linear-gradient(150deg,rgba(10,34,70,.96),rgba(7,27,57,.98))!important;box-shadow:0 17px 42px rgba(0,5,23,.18)!important}.card h2{color:#f4f8ff!important}.toolbar{background:rgba(13,45,88,.28)!important;border-color:rgba(99,156,221,.13)!important}.field input,.field select,.field textarea,input,select,textarea{background:rgba(5,25,54,.72)!important;border-color:rgba(90,147,213,.21)!important;color:#edf5ff!important}.field input:focus,.field select:focus,.field textarea:focus,input:focus,select:focus,textarea:focus{border-color:#568cff!important;box-shadow:0 0 0 3px rgba(82,132,255,.12)!important}.button{border-radius:11px!important;background:linear-gradient(145deg,#3f6ff0,#5c72ec)!important;box-shadow:0 9px 23px rgba(46,78,204,.22)}.button.secondary{background:rgba(29,66,121,.42)!important;border-color:rgba(97,153,221,.23)!important;color:#cee1fa!important}.table-wrap{border-color:rgba(91,148,213,.14)!important;background:rgba(5,24,52,.34)!important}thead th{background:rgba(16,51,96,.88)!important;color:#9eb8d9!important;border-color:rgba(92,148,213,.13)!important}tbody td{border-color:rgba(78,130,190,.10)!important}tbody tr:hover{background:rgba(42,84,144,.12)!important}

/* Mobile */
@media(max-width:1120px){.executive-hero{grid-template-columns:1fr 430px!important}}
@media(max-width:940px){
  .topbar{padding:10px 12px!important}.calendar-wrap{display:none}.executive-hero{grid-template-columns:1fr!important;min-height:390px!important}.executive-welcome{padding:26px 24px 10px!important}.executive-welcome h2{font-size:31px!important}.executive-visual{min-height:190px!important}.hero-media-tools{opacity:1;top:10px;right:10px}.hero-media-btn{height:32px;padding:0 9px}.hero-media-placeholder{left:8%;right:8%;top:20%;bottom:20%}.campus-crest{right:auto!important;left:18px!important;top:18px!important}.term-float{right:12px!important;bottom:12px!important}.profile-pill{display:flex!important}.executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.notification-popover,.profile-popover,.calendar-popover{position:fixed!important;top:72px!important;right:10px!important;left:10px!important;width:auto!important}.content{padding-top:14px!important}
}
@media(max-width:640px){
  .school-brand-mark{width:54px!important;height:54px!important}.executive-hero{min-height:410px!important}.executive-welcome{padding:22px 19px 9px!important}.executive-welcome h2{font-size:28px!important}.school-name{max-width:90%;line-height:1.45}.executive-visual{min-height:198px!important}.hero-media-btn span{display:none}.hero-media-btn{width:34px;padding:0;justify-content:center}.executive-kpis{gap:8px!important}.executive-kpi{min-height:109px!important;padding:12px 11px 21px!important}.kpi-copy b{font-size:24px!important}.glass-panel{border-radius:16px!important}.quick-grid{grid-template-columns:repeat(3,1fr)!important}.mobile-nav{background:rgba(7,29,59,.94)!important;border-color:rgba(101,158,226,.21)!important;box-shadow:0 18px 48px rgba(0,5,22,.38)!important}
}
[data-theme="light"] .card,[data-theme="light"] .glass-panel{background:rgba(255,255,255,.95)!important;color:#173353!important}[data-theme="light"] .card h2,[data-theme="light"] .glass-panel h3{color:#173353!important}[data-theme="light"] .field input,[data-theme="light"] .field select,[data-theme="light"] .field textarea,[data-theme="light"] input,[data-theme="light"] select,[data-theme="light"] textarea{background:#fff!important;color:#183451!important;border-color:#d5e3f1!important}[data-theme="light"] thead th{background:#f0f5fb!important;color:#5c7491!important}[data-theme="light"] tbody td{border-color:#e5edf5!important}[data-theme="light"] .mobile-nav{background:rgba(255,255,255,.95)!important;border-color:#dce8f4!important}


/* ==========================================================
   v0.7.2 ICON SYSTEM + VISUAL CLEANUP
   Icon-first polish: remove decorative KPI lines/blobs and make
   all action/navigation icons share one premium visual language.
   ========================================================== */
.ui-icon{display:block;shape-rendering:geometricPrecision}

/* Sidebar icon language: quiet by default, crisp when active. */
.nav-link{gap:12px!important}
.nav-icon{
  width:34px!important;height:34px;flex:0 0 34px;border-radius:11px;
  display:grid!important;place-items:center!important;
  color:#9fb8d8;background:rgba(86,137,202,.055);
  border:1px solid rgba(104,160,226,.07);
  transition:background .16s,border-color .16s,color .16s,transform .16s,box-shadow .16s
}
.nav-icon .ui-icon{width:18px!important;height:18px!important}
.nav-link:hover .nav-icon{color:#dbeaff;background:rgba(74,132,211,.12);border-color:rgba(108,171,242,.16);transform:translateY(-1px)}
.nav-link.active .nav-icon{
  color:#fff;background:linear-gradient(145deg,#4278de,#2c5baa);
  border-color:rgba(147,201,255,.32);
  box-shadow:0 8px 20px rgba(25,75,163,.28),inset 0 1px 0 rgba(255,255,255,.20)
}
.nav-link.active:before{height:22px!important;box-shadow:0 0 11px rgba(88,169,255,.62)!important}

/* Topbar / popup icons use the same shell. */
.topbar .icon-btn,.notification-btn{
  border-radius:14px!important;background:linear-gradient(180deg,rgba(15,48,94,.92),rgba(8,31,64,.94))!important;
  border:1px solid rgba(114,173,240,.17)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important
}
.topbar .icon-btn .ui-icon,.notification-btn .ui-icon{width:19px;height:19px}
.profile-popover>a .ui-icon,.profile-popover>button .ui-icon,.notification-item .ui-icon{stroke-width:1.9}

/* KPI cards: icon + information only. No fake graph lines and no decorative blobs. */
.executive-kpis{gap:12px!important}
.executive-kpi{
  min-height:108px!important;padding:16px 17px!important;grid-template-columns:52px minmax(0,1fr)!important;
  align-items:center!important;gap:13px!important;border-radius:18px!important;
  background:linear-gradient(145deg,rgba(14,46,93,.97),rgba(8,29,62,.98))!important;
  border:1px solid rgba(111,171,238,.18)!important;box-shadow:0 14px 34px rgba(0,7,27,.16)!important
}
.executive-kpi:after,.kpi-spark,.kpi-sparkline{display:none!important}
.executive-kpi:hover{border-color:rgba(126,190,255,.30)!important;box-shadow:0 18px 42px rgba(0,8,30,.23)!important}
.kpi-icon{
  position:relative;width:52px!important;height:52px!important;border-radius:16px!important;
  color:#eef7ff!important;border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 11px 25px rgba(0,9,31,.24),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -10px 20px rgba(0,0,0,.10)!important;
  overflow:hidden
}
.kpi-icon:before{content:"";position:absolute;inset:1px 1px 54% 1px;border-radius:15px 15px 9px 9px;background:linear-gradient(180deg,rgba(255,255,255,.18),transparent);pointer-events:none}
.kpi-icon .ui-icon{position:relative;z-index:2;width:24px!important;height:24px!important;filter:drop-shadow(0 4px 7px rgba(0,0,0,.18))}
.executive-kpi.violet .kpi-icon{background:linear-gradient(145deg,#7059db,#5144bb)!important}
.executive-kpi.blue .kpi-icon{background:linear-gradient(145deg,#367dd5,#285dac)!important}
.executive-kpi.cyan .kpi-icon{background:linear-gradient(145deg,#1787a3,#12677f)!important}
.executive-kpi.royal .kpi-icon{background:linear-gradient(145deg,#496bdc,#344fab)!important}
.kpi-copy{align-self:center!important;line-height:1!important}
.kpi-copy small{font-size:9px!important;color:#a9bed9!important;font-weight:650}
.kpi-copy b{font-size:31px!important;margin:5px 0 7px!important;letter-spacing:-.65px}
.kpi-copy em{
  width:max-content;max-width:100%;display:inline-flex!important;align-items:center;gap:5px;
  font-style:normal;font-size:7.5px!important;color:#82d9ca!important;
  padding:3px 7px;border-radius:999px;background:rgba(42,190,157,.075);border:1px solid rgba(77,214,185,.08)
}
.kpi-copy em i{width:5px;height:5px;border-radius:50%;background:#37d39b;box-shadow:0 0 9px rgba(55,211,155,.45);flex:none}

/* Quick actions: same icon family, no unnecessary graphics. */
.quick-grid{gap:9px!important}
.quick-grid a{min-height:84px!important;border-radius:14px!important;background:rgba(18,54,105,.28)!important}
.quick-grid a span{
  position:relative;width:42px!important;height:42px!important;border-radius:13px!important;
  color:#edf6ff!important;border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 9px 20px rgba(0,8,28,.22),inset 0 1px 0 rgba(255,255,255,.16)!important
}
.quick-grid a:nth-child(1) span{background:linear-gradient(145deg,#367cd8,#285fae)!important}
.quick-grid a:nth-child(2) span{background:linear-gradient(145deg,#655bd9,#4941b1)!important}
.quick-grid a:nth-child(3) span{background:linear-gradient(145deg,#d29838,#a66d1d)!important}
.quick-grid a:nth-child(4) span{background:linear-gradient(145deg,#238da5,#186c80)!important}
.quick-grid a:nth-child(5) span{background:linear-gradient(145deg,#2b9b78,#20765d)!important}
.quick-grid a span:before{content:"";position:absolute;inset:1px 1px 55% 1px;border-radius:12px 12px 7px 7px;background:linear-gradient(180deg,rgba(255,255,255,.15),transparent)}
.quick-grid a .ui-icon{position:relative;z-index:2;width:20px!important;height:20px!important}
.quick-grid a b{font-size:8.5px!important;color:#c6d7ed!important}

/* Clean small system icons. */
.notice-icon,.insight-symbol,.command-icon{border-radius:12px!important;border:1px solid rgba(255,255,255,.06)}
.notice-icon .ui-icon,.insight-symbol .ui-icon,.command-icon .ui-icon{stroke-width:1.9}

/* Remove visual noise that competes with information. */
.executive-kpi .kpi-area,.executive-kpi .kpi-line{display:none!important}
.intel-line-card{border-top:0!important}

@media(max-width:640px){
  .nav-icon{width:32px!important;height:32px;flex-basis:32px}
  .executive-kpi{min-height:102px!important;padding:12px!important;grid-template-columns:43px minmax(0,1fr)!important;gap:9px!important}
  .kpi-icon{width:43px!important;height:43px!important;border-radius:14px!important}
  .kpi-icon .ui-icon{width:20px!important;height:20px!important}
  .kpi-copy b{font-size:24px!important}.kpi-copy em{font-size:6.7px!important;padding:3px 6px}
}
[data-theme="light"] .nav-icon{color:#5e7592;background:#f4f8fc;border-color:#e5edf6}
[data-theme="light"] .nav-link.active .nav-icon{color:#fff;background:linear-gradient(145deg,#4a74d4,#3459ae);border-color:#8db3ec}
[data-theme="light"] .executive-kpi{background:linear-gradient(145deg,#fff,#f5f9fd)!important;border-color:#d8e5f2!important;box-shadow:0 12px 30px rgba(31,62,101,.07)!important;color:#173456!important}
[data-theme="light"] .kpi-copy small{color:#7187a3!important}[data-theme="light"] .kpi-copy b{color:#173456!important}

/* ==========================================================
   v0.7.3 KPI CARDS + QUICK ACTIONS REFINEMENT
   Cleaner information hierarchy, calmer depth, balanced rhythm.
   ========================================================== */

/* Dashboard spacing rhythm */
.executive-kpis{
  gap:14px!important;
  margin:0 0 18px!important;
}
.executive-grid{gap:15px!important}

/* KPI cards — content first, decoration second */
.executive-kpi{
  min-height:116px!important;
  padding:17px 18px!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  gap:14px!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,rgba(12,40,82,.98),rgba(7,26,57,.99))!important;
  border:1px solid rgba(115,172,236,.17)!important;
  box-shadow:0 12px 30px rgba(0,7,27,.14),inset 0 1px 0 rgba(255,255,255,.018)!important;
  text-decoration:none;
  transform:none!important;
}
.executive-kpi:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(128,191,255,.28)!important;
  background:linear-gradient(145deg,rgba(14,46,93,.99),rgba(8,31,66,.99))!important;
  box-shadow:0 18px 38px rgba(0,8,30,.20),inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.executive-kpi:before{display:none!important}
.executive-kpi:after,.kpi-spark,.kpi-sparkline,.kpi-area,.kpi-line{display:none!important}

.kpi-icon{
  width:48px!important;height:48px!important;border-radius:15px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  box-shadow:0 8px 18px rgba(0,8,28,.18),inset 0 1px 0 rgba(255,255,255,.14)!important;
  overflow:hidden;
}
.kpi-icon:before{
  content:"";position:absolute;inset:1px;border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.09),transparent 48%);
  pointer-events:none
}
.kpi-icon .ui-icon{
  width:22px!important;height:22px!important;
  filter:none!important;
}
.executive-kpi.violet .kpi-icon{background:linear-gradient(145deg,#6557ca,#4b42aa)!important}
.executive-kpi.blue .kpi-icon{background:linear-gradient(145deg,#2f73c7,#25599d)!important}
.executive-kpi.cyan .kpi-icon{background:linear-gradient(145deg,#177f98,#126678)!important}
.executive-kpi.royal .kpi-icon{background:linear-gradient(145deg,#4567c7,#344f9e)!important}

.kpi-copy{display:grid!important;align-content:center!important;line-height:1.08!important;min-width:0}
.kpi-copy small{
  font-size:9px!important;font-weight:650!important;letter-spacing:.02em!important;
  color:#9eb4d1!important;text-transform:none!important;
}
.kpi-copy b{
  font-size:30px!important;line-height:1!important;margin:6px 0 7px!important;
  letter-spacing:-.65px!important;color:#f6f9ff!important;
}
.kpi-copy em{
  padding:0!important;border:0!important;background:none!important;
  color:#76cdbf!important;font-size:7.5px!important;font-weight:650!important;
  width:auto!important;max-width:100%!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.kpi-copy em i{
  width:5px;height:5px;border-radius:50%;background:#34c99a;
  box-shadow:0 0 8px rgba(52,201,154,.38);flex:none
}

/* Quick action panel — equal targets, one icon language */
.quick-panel{gap:0!important}
.quick-panel .panel-head{margin-bottom:13px!important}
.quick-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
}
.quick-grid a{
  min-height:88px!important;
  padding:12px 8px 11px!important;
  border-radius:14px!important;
  border:1px solid rgba(105,164,231,.14)!important;
  background:rgba(15,48,95,.23)!important;
  box-shadow:none!important;
  display:grid!important;place-items:center!important;align-content:center!important;
  gap:8px!important;text-align:center!important;
  color:#dce9fa!important;
  transition:transform .16s,border-color .16s,background .16s,box-shadow .16s!important;
}
.quick-grid a:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(118,184,255,.30)!important;
  background:rgba(21,62,117,.35)!important;
  box-shadow:0 12px 24px rgba(0,7,25,.14)!important;
}
.quick-grid a span{
  position:relative!important;
  width:43px!important;height:43px!important;border-radius:13px!important;
  display:grid!important;place-items:center!important;
  color:#f2f7ff!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 7px 16px rgba(0,8,27,.17),inset 0 1px 0 rgba(255,255,255,.11)!important;
  overflow:hidden;
}
.quick-grid a span:before{
  content:"";position:absolute;inset:1px;border-radius:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 48%);
  pointer-events:none
}
.quick-grid a:nth-child(1) span{background:linear-gradient(145deg,#2f73c7,#25599d)!important}
.quick-grid a:nth-child(2) span{background:linear-gradient(145deg,#5e56c6,#4942a6)!important}
.quick-grid a:nth-child(3) span{background:linear-gradient(145deg,#b8802b,#8c621f)!important}
.quick-grid a:nth-child(4) span{background:linear-gradient(145deg,#1d8399,#166779)!important}
.quick-grid a:nth-child(5) span{background:linear-gradient(145deg,#258d70,#1d705a)!important}
.quick-grid a .ui-icon{position:relative;z-index:2;width:20px!important;height:20px!important;filter:none!important}
.quick-grid a b{
  font-size:8.5px!important;line-height:1.25!important;font-weight:700!important;
  color:#c4d5eb!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%
}

/* Keep the two upper dashboard systems visually aligned. */
.today-mission,.quick-panel{min-height:100%}
.mission-summary{margin-top:2px}
.panel-head{min-height:34px}

/* Responsive card rhythm */
@media(max-width:1260px){
  .executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .quick-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .executive-kpi{min-height:104px!important;padding:13px!important;grid-template-columns:42px minmax(0,1fr)!important;gap:10px!important}
  .kpi-icon{width:42px!important;height:42px!important;border-radius:13px!important}
  .kpi-icon .ui-icon{width:19px!important;height:19px!important}
  .kpi-copy small{font-size:7.8px!important}.kpi-copy b{font-size:24px!important;margin:5px 0 6px!important}.kpi-copy em{font-size:6.6px!important}
  .quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  .quick-grid a{min-height:78px!important;padding:10px 6px!important}.quick-grid a span{width:39px!important;height:39px!important}.quick-grid a b{font-size:7.6px!important}
}
@media(max-width:430px){
  .executive-kpis{grid-template-columns:1fr 1fr!important}
  .executive-kpi{min-height:100px!important;padding:12px 10px!important;grid-template-columns:38px minmax(0,1fr)!important;gap:8px!important}
  .kpi-icon{width:38px!important;height:38px!important;border-radius:12px!important}.kpi-icon .ui-icon{width:18px!important;height:18px!important}
  .kpi-copy b{font-size:22px!important}.kpi-copy em{font-size:6.2px!important}
  .quick-grid{grid-template-columns:repeat(3,1fr)!important}.quick-grid a:nth-child(4),.quick-grid a:nth-child(5){min-height:76px!important}
}

[data-theme="light"] .executive-kpi{
  background:linear-gradient(145deg,#fff,#f6f9fd)!important;
  border-color:#d8e4f0!important;
  box-shadow:0 10px 24px rgba(30,60,99,.055)!important;
}
[data-theme="light"] .executive-kpi:hover{background:#fff!important;border-color:#c6d9ec!important;box-shadow:0 15px 30px rgba(31,65,107,.09)!important}
[data-theme="light"] .kpi-copy small{color:#6f86a1!important}[data-theme="light"] .kpi-copy b{color:#173456!important}[data-theme="light"] .kpi-copy em{color:#328f77!important}
[data-theme="light"] .quick-grid a{background:#f6f9fd!important;border-color:#dfe8f2!important;color:#274665!important}
[data-theme="light"] .quick-grid a:hover{background:#fff!important;border-color:#c8dced!important;box-shadow:0 10px 22px rgba(35,69,111,.07)!important}
[data-theme="light"] .quick-grid a b{color:#47627f!important}

/* ==========================================================
   v0.7.4 CONTENT PANELS REFINEMENT
   Today Focus + Recent Activity + Smart Insights
   ========================================================== */

/* Shared panel surface: quieter and more product-like. */
.executive-grid{gap:16px!important;align-items:stretch!important}
.executive-center-stack,.executive-right-stack{gap:16px!important}
.glass-panel{
  border-radius:20px!important;
  padding:17px!important;
  background:linear-gradient(150deg,rgba(10,34,70,.985),rgba(6,25,54,.99))!important;
  border:1px solid rgba(111,169,235,.16)!important;
  box-shadow:0 14px 34px rgba(0,6,23,.15),inset 0 1px 0 rgba(255,255,255,.018)!important;
}
.panel-head{min-height:36px!important;margin-bottom:14px!important;align-items:flex-start!important}
.panel-head>div{display:grid;gap:2px}
.panel-head h3{font-size:13.5px!important;line-height:1.25!important;letter-spacing:-.08px!important;color:#f2f7ff!important}
.eyebrow{font-size:6.8px!important;letter-spacing:1.15px!important;color:#67cfe0!important;font-weight:800!important}
.panel-count{padding:5px 8px!important;border-radius:999px!important;background:rgba(71,113,174,.12)!important;border:1px solid rgba(105,162,228,.13)!important;color:#93afd0!important;font-size:7px!important;font-weight:700!important}

/* Today Focus: no decorative timeline line, just clean information. */
.today-mission{display:flex!important;flex-direction:column!important;min-height:100%!important}
.mission-summary{gap:8px!important;margin:1px 0 12px!important}
.mission-summary>div{
  min-height:58px!important;padding:9px 10px!important;border-radius:13px!important;
  background:rgba(21,58,109,.24)!important;border:1px solid rgba(100,158,224,.12)!important;
  align-content:center!important;
}
.mission-summary small{font-size:7px!important;color:#829fbe!important;font-weight:650!important}
.mission-summary b{font-size:19px!important;line-height:1!important;margin-top:5px!important;color:#f3f8ff!important}
.mission-list{display:grid!important;gap:5px!important;flex:1}
.mission-item{
  grid-template-columns:48px minmax(0,1fr) 18px!important;gap:9px!important;
  min-height:51px!important;padding:8px 9px!important;border:1px solid transparent!important;border-radius:12px!important;
  background:transparent!important;transition:background .15s,border-color .15s,transform .15s!important;
}
.mission-item:hover{background:rgba(27,67,122,.20)!important;border-color:rgba(105,163,230,.11)!important;transform:translateX(2px)!important}
.mission-time{
  width:44px!important;height:27px!important;border-radius:8px!important;display:grid!important;place-items:center!important;
  font-size:7.5px!important;font-weight:750!important;color:#9eb9d8!important;background:rgba(46,91,151,.18)!important;
  border:1px solid rgba(100,158,223,.12)!important;
}
.mission-dot{display:none!important}
.mission-copy b{font-size:8.8px!important;color:#dce9f8!important;font-weight:720!important}
.mission-copy small{font-size:7px!important;color:#7692b4!important;margin-top:3px!important}
.mission-go{width:18px;height:18px;border-radius:7px;display:grid;place-items:center;color:#617e9f!important;background:rgba(52,91,141,.10)}
.mission-go .ui-icon{width:11px!important;height:11px!important}
.panel-button{
  height:36px!important;margin-top:12px!important;border-radius:11px!important;
  border:1px solid rgba(97,153,219,.13)!important;background:rgba(37,78,135,.13)!important;
  color:#91add0!important;font-weight:700!important;
}
.panel-button:hover{background:rgba(47,94,158,.21)!important;border-color:rgba(110,173,241,.20)!important;color:#e7f2ff!important}

/* Recent Activity: use a real icon language instead of random avatar initials. */
.activity-panel{min-height:100%!important}
.activity-live{padding:4px 7px;border-radius:999px;background:rgba(40,169,137,.08);border:1px solid rgba(61,199,166,.10)!important}
.executive-activity{display:grid!important;gap:4px!important}
.executive-activity-item{
  grid-template-columns:36px minmax(0,1fr) auto!important;gap:10px!important;
  min-height:50px!important;padding:7px 8px!important;border:1px solid transparent!important;border-radius:12px!important;
  transition:background .15s,border-color .15s!important;
}
.executive-activity-item:hover{background:rgba(26,65,119,.18)!important;border-color:rgba(102,160,225,.10)!important}
.executive-activity-item:not(:last-child){border-bottom-color:transparent!important}
.activity-avatar{display:none!important}
.activity-icon{
  width:34px;height:34px;border-radius:11px;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.08);box-shadow:0 6px 14px rgba(0,7,24,.14),inset 0 1px 0 rgba(255,255,255,.08);
}
.activity-icon .ui-icon{width:16px;height:16px;stroke-width:1.9}
.activity-icon.blue{background:linear-gradient(145deg,#316fbe,#28599a);color:#e8f4ff}
.activity-icon.cyan{background:linear-gradient(145deg,#187d96,#126578);color:#e5fbff}
.activity-icon.violet{background:linear-gradient(145deg,#6257bf,#4b43a0);color:#f0edff}
.activity-icon.amber{background:linear-gradient(145deg,#a9742a,#80581f);color:#fff4de}
.activity-icon.green{background:linear-gradient(145deg,#277f68,#1f6654);color:#e5fff6}
.activity-icon.slate{background:linear-gradient(145deg,#52647e,#3d4d66);color:#eef3fa}
.activity-copy b{font-size:8.8px!important;color:#dce9f8!important;font-weight:720!important}
.activity-copy small{font-size:6.8px!important;color:#7894b4!important;margin-top:3px!important}
.executive-activity-item time{font-size:6.8px!important;color:#6f8aa9!important;white-space:nowrap!important}

/* Smart Insights: keep the useful ring, replace decorative line chart with a direct progress metric. */
.intelligence-panel{overflow:hidden!important}
.intelligence-panel .panel-head>.ui-icon{width:17px;height:17px;color:#70d3e2;opacity:.75}
.intel-ring-row{grid-template-columns:112px minmax(0,1fr)!important;gap:14px!important;padding:4px 0 13px!important}
.intel-ring{width:106px!important;height:106px!important;filter:none!important;background:conic-gradient(#35c8d0 calc(var(--p)*1%),rgba(61,102,160,.15) 0)!important}
.intel-ring:before{inset:8px!important;background:#081c3a!important;box-shadow:none!important}
.intel-ring b{font-size:22px!important}.intel-ring small{font-size:6.7px!important;color:#7e99ba!important}
.intel-legend{gap:8px!important}
.intel-legend p{grid-template-columns:6px minmax(0,1fr) auto!important;gap:7px!important;padding:2px 0!important}
.intel-legend i{width:6px!important;height:6px!important;border-radius:2px!important;box-shadow:none!important}
.intel-legend span{font-size:6.8px!important;color:#7f9cbd!important}.intel-legend b{font-size:8px!important;color:#dce9f8!important}
.intel-line-card{display:none!important}
.intel-progress-card{
  margin-top:2px;padding:11px 12px;border-radius:13px;
  background:rgba(20,58,112,.12);border:1px solid rgba(88,145,211,.11);
  display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:12px;align-items:center;
}
.intel-progress-copy{display:grid;min-width:0}.intel-progress-copy small{font-size:6.8px;color:#7e9abb;font-weight:700}.intel-progress-copy b{font-size:21px;line-height:1;margin-top:3px;color:#f2f7ff}.intel-progress-copy span{font-size:6.3px;color:#6987aa;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.intel-progress-track{height:7px;border-radius:999px;background:rgba(91,132,185,.16);overflow:hidden;border:1px solid rgba(112,161,219,.08)}
.intel-progress-track i{display:block;height:100%;width:calc(var(--p)*1%);border-radius:inherit;background:linear-gradient(90deg,#31c6ca,#5f7de7);box-shadow:none}

/* System status card: quieter, with the school mark on a white circular disc. */
.system-card{grid-template-columns:58px minmax(0,1fr)!important;gap:12px!important;min-height:88px!important}
.system-core-mini{
  width:54px!important;height:54px!important;background:#fff!important;border:4px solid rgba(255,255,255,.96)!important;
  box-shadow:0 8px 22px rgba(0,7,25,.19),0 0 0 1px rgba(110,170,235,.15)!important;
}
.system-core-mini img{width:45px!important;height:45px!important;object-fit:contain!important}
.system-core-mini span,.system-core-mini i{display:none!important}
.system-card h3{font-size:10.5px!important;color:#eaf3ff!important;margin:2px 0 4px!important}.system-card p{font-size:6.8px!important;color:#7894b4!important;line-height:1.55!important}

/* Desktop balance. */
@media(min-width:1381px){
  .executive-grid{grid-template-columns:minmax(285px,.92fr) minmax(410px,1.16fr) minmax(295px,.92fr)!important}
}
@media(max-width:1380px){
  .executive-right-stack{align-items:stretch!important}
  .system-card{min-height:100%!important}
}
@media(max-width:760px){
  .glass-panel{padding:14px!important;border-radius:16px!important}
  .mission-summary{gap:6px!important}.mission-summary>div{min-height:53px!important;padding:8px!important}.mission-summary b{font-size:17px!important}
  .mission-item{grid-template-columns:46px minmax(0,1fr) 16px!important;padding:7px 5px!important}.mission-time{width:42px!important}
  .executive-activity-item{grid-template-columns:34px minmax(0,1fr) auto!important;padding:6px 4px!important}.activity-icon{width:32px;height:32px;border-radius:10px}.activity-icon .ui-icon{width:15px;height:15px}
  .intel-ring-row{grid-template-columns:98px minmax(0,1fr)!important}.intel-ring{width:94px!important;height:94px!important}.intel-ring b{font-size:20px!important}
  .intel-progress-card{grid-template-columns:1fr!important;gap:9px!important}.intel-progress-track{width:100%!important}
  .system-card{grid-template-columns:52px minmax(0,1fr)!important}.system-core-mini{width:48px!important;height:48px!important}.system-core-mini img{width:40px!important;height:40px!important}
}

[data-theme="light"] .glass-panel{background:linear-gradient(150deg,#fff,#f7fafe)!important;border-color:#dbe6f1!important;box-shadow:0 10px 26px rgba(30,61,100,.055)!important}
[data-theme="light"] .panel-head h3,[data-theme="light"] .mission-summary b,[data-theme="light"] .mission-copy b,[data-theme="light"] .activity-copy b,[data-theme="light"] .intel-legend b,[data-theme="light"] .intel-progress-copy b,[data-theme="light"] .system-card h3{color:#173657!important}
[data-theme="light"] .mission-summary>div,[data-theme="light"] .intel-progress-card{background:#f4f8fc!important;border-color:#e1eaf3!important}
[data-theme="light"] .mission-time{background:#eef4fa!important;border-color:#e0e9f2!important;color:#627d99!important}
[data-theme="light"] .mission-item:hover,[data-theme="light"] .executive-activity-item:hover{background:#f5f9fd!important;border-color:#e4edf5!important}
[data-theme="light"] .intel-ring:before{background:#fff!important;border-color:#e0eaf3!important}
[data-theme="light"] .intel-progress-track{background:#e4edf6!important;border-color:#dde8f2!important}
[data-theme="light"] .system-card p,[data-theme="light"] .activity-copy small,[data-theme="light"] .mission-copy small,[data-theme="light"] .intel-progress-copy span{color:#7288a2!important}

/* === v0.7.5 School Calendar ================================================= */
.dashboard-calendar{display:flex;flex-direction:column;min-height:100%}.calendar-manage-link{display:flex;align-items:center;gap:6px;color:#8fc8ff;text-decoration:none;font-size:8px;font-weight:700}.calendar-manage-link .ui-icon{width:12px}.dashboard-calendar-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:1px 0 11px}.dashboard-calendar-head>div{display:grid}.dashboard-calendar-head b{font-size:13px;color:#f3f8ff}.dashboard-calendar-head small{font-size:7px;color:#7795b8;margin-top:3px;line-height:1.4}.calendar-live-pill{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:10px;background:rgba(45,105,170,.12);border:1px solid rgba(101,166,231,.12);font-size:7px;color:#8cacca}.calendar-live-pill i{width:5px;height:5px;border-radius:50%;background:#42d4ae;box-shadow:0 0 8px rgba(66,212,174,.7)}
.dashboard-calendar-week,.dashboard-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.dashboard-calendar-week{padding:6px 0;color:#6885a8;font-size:7px;text-align:center;border-top:1px solid rgba(86,138,199,.10)}.dashboard-calendar-grid{padding-bottom:11px;border-bottom:1px solid rgba(86,138,199,.10)}.dashboard-calendar-grid .calendar-day{position:relative;min-height:34px;border-radius:10px;display:grid;place-items:center;align-content:center;gap:3px;text-decoration:none;color:#c9d9ec;border:1px solid transparent;background:rgba(22,55,103,.08);transition:.16s}.dashboard-calendar-grid .calendar-day.empty{background:transparent;pointer-events:none}.dashboard-calendar-grid .calendar-day:hover{background:rgba(39,83,143,.18);border-color:rgba(106,166,232,.13)}.dashboard-calendar-grid .calendar-day b{font-size:8px}.dashboard-calendar-grid .calendar-day.today{background:linear-gradient(145deg,rgba(67,111,244,.82),rgba(67,139,220,.66));color:white;box-shadow:0 8px 18px rgba(31,88,196,.20)}.dashboard-calendar-grid .calendar-day.has-event:not(.today){background:rgba(30,72,130,.16)}.event-dots{display:flex;gap:2px;min-height:3px}.event-dots i,.calendar-legend i,.calendar-grid span.has-school-event>i{width:4px;height:4px;border-radius:50%;display:block}.event-dots i.cyan,.calendar-legend i.cyan{background:#40d7d5}.event-dots i.rose,.calendar-legend i.rose{background:#ff6b88}.event-dots i.amber,.calendar-legend i.amber{background:#f0bd58}.event-dots i.violet,.calendar-legend i.violet{background:#9a7dff}.event-dots i.blue,.calendar-legend i.blue{background:#5d96ff}.event-dots i.slate,.calendar-legend i.slate{background:#7892af}.dashboard-upcoming{padding-top:11px;display:grid;gap:5px}.upcoming-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.upcoming-title b{font-size:9px}.upcoming-title span{font-size:7px;color:#6e8aaa}.upcoming-event{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px;border-radius:10px;text-decoration:none;border:1px solid transparent;transition:.16s}.upcoming-event:hover{background:rgba(26,69,122,.18);border-color:rgba(104,165,231,.10)}.upcoming-event>span:nth-child(2){display:grid}.upcoming-event b{font-size:8px;color:#deebf9}.upcoming-event small{font-size:6.7px;color:#738eaf;margin-top:2px}.upcoming-event em{font-style:normal;font-size:6.5px;color:#7895b7}.upcoming-icon{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;color:white}.upcoming-icon .ui-icon{width:14px}.upcoming-icon.cyan{background:linear-gradient(145deg,#2a8e9e,#1d677e)}.upcoming-icon.rose{background:linear-gradient(145deg,#b8506e,#813950)}.upcoming-icon.amber{background:linear-gradient(145deg,#a5782c,#76581f)}.upcoming-icon.violet{background:linear-gradient(145deg,#6856b9,#493d85)}.upcoming-icon.blue{background:linear-gradient(145deg,#376dc1,#29508f)}.upcoming-icon.slate{background:linear-gradient(145deg,#506b88,#384c64)}

.calendar-page-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.72fr);gap:16px;align-items:start}.school-calendar-card{padding:18px!important}.school-calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}.school-calendar-toolbar h2{margin:2px 0 3px}.school-calendar-toolbar p{margin:0;color:var(--muted);font-size:12px}.calendar-nav{display:flex;align-items:center;gap:6px}.calendar-nav a{height:34px;min-width:34px;padding:0 10px;border-radius:10px;border:1px solid rgba(113,160,216,.17);background:rgba(35,79,134,.12);color:#c5d8ec;text-decoration:none;display:grid;place-items:center;font-size:17px}.calendar-nav a.today-btn{font-size:10px}.school-calendar-week,.school-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.school-calendar-week{border:1px solid rgba(103,153,211,.12);border-bottom:0;border-radius:12px 12px 0 0;overflow:hidden}.school-calendar-week span{padding:9px 4px;text-align:center;font-size:8px;color:#7f9aba;background:rgba(24,61,113,.12)}.school-calendar-grid{border-left:1px solid rgba(103,153,211,.12);border-top:1px solid rgba(103,153,211,.12)}.school-calendar-day{min-height:118px;padding:8px;border-right:1px solid rgba(103,153,211,.12);border-bottom:1px solid rgba(103,153,211,.12);background:rgba(10,34,71,.20);transition:.15s}.school-calendar-day.outside{background:rgba(8,27,58,.08)}.school-calendar-day.today{box-shadow:inset 0 0 0 1px rgba(91,151,255,.55);background:rgba(35,82,148,.20)}.school-calendar-day.selected{background:rgba(42,96,163,.26)}.day-number{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.day-number>span{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;font-size:9px;color:#d8e6f5}.school-calendar-day.today .day-number>span{background:linear-gradient(145deg,#446eef,#5d8df4);color:white;font-weight:800}.day-number b{font-size:6px;padding:3px 5px;border-radius:6px;background:rgba(73,126,190,.16);color:#82a7cc}.day-events{display:grid;gap:4px}.calendar-event-chip{display:flex;align-items:center;gap:5px;padding:5px 6px;border-radius:7px;text-decoration:none;font-size:7px;min-width:0;border:1px solid transparent}.calendar-event-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-chip i{width:5px;height:5px;border-radius:50%;flex:0 0 auto}.calendar-event-chip.cyan{background:rgba(49,196,202,.10);color:#8be4e5;border-color:rgba(65,211,216,.12)}.calendar-event-chip.cyan i{background:#3ed1d6}.calendar-event-chip.rose{background:rgba(218,75,111,.10);color:#ff9eb3;border-color:rgba(234,93,126,.12)}.calendar-event-chip.rose i{background:#f26484}.calendar-event-chip.amber{background:rgba(212,157,60,.10);color:#efce8b;border-color:rgba(225,172,74,.12)}.calendar-event-chip.amber i{background:#e7b659}.calendar-event-chip.violet{background:rgba(126,97,223,.10);color:#b9a8ff;border-color:rgba(143,113,236,.12)}.calendar-event-chip.violet i{background:#9278ef}.calendar-event-chip.blue{background:rgba(62,116,217,.11);color:#a8c5ff;border-color:rgba(77,134,232,.13)}.calendar-event-chip.blue i{background:#588ef2}.calendar-event-chip.slate{background:rgba(111,137,163,.09);color:#a8bacb;border-color:rgba(121,148,175,.11)}.calendar-event-chip.slate i{background:#8097ad}.day-events>small{font-size:6.5px;color:#6884a3;padding-left:5px}.calendar-legend{display:flex;flex-wrap:wrap;gap:12px;padding-top:12px;color:#7894b3;font-size:8px}.calendar-legend span{display:flex;align-items:center;gap:5px}
.calendar-side-stack{display:grid;gap:16px}.calendar-admin-card,.calendar-upcoming-card{padding:16px!important}.calendar-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.calendar-form .field{margin:0}.calendar-form .wide{grid-column:1/-1}.calendar-all-day{grid-column:1/-1;display:flex;align-items:center;gap:7px;font-size:9px;color:#9bb0c9;padding:3px 0}.calendar-form textarea{min-height:82px}.calendar-form-actions{grid-column:1/-1}.calendar-form-actions .button{width:100%}.calendar-delete-form{margin-top:8px}.calendar-delete-form .button{width:100%}.calendar-upcoming-list{display:grid;gap:4px}.calendar-upcoming-list>a{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:center;text-decoration:none;padding:8px 4px;border-bottom:1px solid rgba(87,138,198,.10)}.calendar-upcoming-list>a:last-child{border-bottom:0}.calendar-upcoming-list>a>span:nth-child(2){display:grid}.calendar-upcoming-list b{font-size:8px;color:#dce9f7}.calendar-upcoming-list small{font-size:6.6px;color:#728dac;margin-top:3px}.calendar-upcoming-list em{font-style:normal;font-size:6.5px;color:#7894b2}.calendar-grid span.has-school-event{position:relative}.calendar-grid span.has-school-event>i{position:absolute;bottom:3px;background:#43d2d4}.calendar-grid span.today.has-school-event>i{background:white}

[data-theme="light"] .dashboard-calendar-head b,[data-theme="light"] .upcoming-event b,[data-theme="light"] .calendar-upcoming-list b{color:#183b5d}. [data-theme="light"] .dashboard-calendar-grid .calendar-day{color:#365775;background:#f7fafd}. [data-theme="light"] .dashboard-calendar-grid .calendar-day.has-event:not(.today){background:#eef5fc}. [data-theme="light"] .school-calendar-day{background:#fff}. [data-theme="light"] .school-calendar-day.outside{background:#f7f9fb}. [data-theme="light"] .school-calendar-day.today{background:#eef5ff}. [data-theme="light"] .school-calendar-week span{background:#f4f8fc;color:#657e98}. [data-theme="light"] .calendar-nav a{background:#f5f8fb;color:#42617d;border-color:#dce6ef}. [data-theme="light"] .school-calendar-toolbar p{color:#748aa1}

@media(max-width:1240px){.calendar-page-grid{grid-template-columns:1fr}.calendar-side-stack{grid-template-columns:1fr 1fr}.school-calendar-day{min-height:105px}}
@media(max-width:760px){.school-calendar-toolbar{align-items:flex-start;flex-direction:column}.school-calendar-week{display:none}.school-calendar-grid{grid-template-columns:1fr;border:0;gap:7px}.school-calendar-day,.school-calendar-day.outside{min-height:0;border:1px solid rgba(103,153,211,.12)!important;border-radius:12px;padding:10px}.school-calendar-day.outside{display:none}.school-calendar-day:not(.today):not(:has(.calendar-event-chip)){display:none}.day-number{margin-bottom:4px}.calendar-side-stack{grid-template-columns:1fr}.calendar-form{grid-template-columns:1fr}.calendar-form .wide,.calendar-all-day,.calendar-form-actions{grid-column:1}.dashboard-calendar-week,.dashboard-calendar-grid{gap:3px}.dashboard-calendar-grid .calendar-day{min-height:32px}.dashboard-upcoming{gap:3px}.upcoming-event{padding:6px 2px}.calendar-page-grid{gap:12px}}

/* ==========================================================
   v0.7.6 TOPBAR + POPOVERS + GLOBAL LIVE SEARCH
   Product-shell polish and fast access to real school data.
   ========================================================== */

/* Topbar hierarchy */
.topbar{
  min-height:80px!important;
  padding:13px 24px!important;
  gap:16px!important;
  background:linear-gradient(180deg,rgba(5,20,44,.94),rgba(5,19,41,.88))!important;
  border-bottom:1px solid rgba(117,174,238,.12)!important;
  box-shadow:0 10px 34px rgba(0,7,25,.10)!important;
}
.topbar.scrolled{
  background:rgba(5,19,41,.975)!important;
  box-shadow:0 18px 46px rgba(0,7,25,.23)!important;
}
.topbar-primary{max-width:760px}
.global-search{
  height:50px!important;
  width:min(620px,54vw)!important;
  border-radius:16px!important;
  padding:0 14px!important;
  background:linear-gradient(180deg,rgba(15,45,87,.78),rgba(9,34,69,.82))!important;
  border:1px solid rgba(118,174,238,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 8px 26px rgba(0,7,27,.08)!important;
}
.global-search:hover{transform:translateY(-1px);background:linear-gradient(180deg,rgba(18,52,98,.92),rgba(10,39,78,.92))!important}
.global-search>span{display:grid!important;line-height:1.08;white-space:normal!important;overflow:hidden;gap:3px}
.global-search>span b{font-size:11px;color:#d9e8fb;font-weight:720;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.global-search>span small{font-size:8px;color:#718fb4;letter-spacing:.1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.global-search kbd{margin-left:auto;flex:none;padding:4px 8px!important;border-radius:8px!important;background:rgba(130,174,225,.08)!important;color:#829bbb!important}
[data-theme="light"] .topbar{background:rgba(248,251,255,.94)!important;border-bottom-color:#dce7f2!important}
[data-theme="light"] .global-search{background:#fff!important;border-color:#d9e6f2!important;box-shadow:0 7px 20px rgba(37,71,108,.04)!important}
[data-theme="light"] .global-search>span b{color:#23415f}[data-theme="light"] .global-search>span small{color:#8294a9}

/* Topbar actions feel like one control family */
.topbar-actions{gap:8px!important}
.topbar .icon-btn,.calendar-mini,.profile-pill{transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease!important}
.topbar .icon-btn:hover,.calendar-mini:hover,.profile-pill:hover{transform:translateY(-1px)}
.notification-wrap.open .notification-btn,.calendar-wrap.open .calendar-mini,.profile-wrap.open .profile-pill{
  background:linear-gradient(180deg,rgba(28,74,137,.94),rgba(15,51,101,.94))!important;
  border-color:rgba(121,190,255,.38)!important;
  box-shadow:0 12px 32px rgba(0,13,49,.25),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.calendar-mini{height:47px!important;padding:0 10px!important;border-radius:14px!important;border:1px solid transparent!important}
.profile-pill{height:50px!important;border-radius:15px!important}
.notification-badge{box-shadow:0 0 0 3px #071c3b,0 5px 14px rgba(255,65,91,.30)}

/* Premium popovers */
.profile-popover,.notification-popover,.calendar-popover{
  border-radius:20px!important;
  background:linear-gradient(180deg,rgba(8,31,64,.985),rgba(6,25,53,.985))!important;
  border:1px solid rgba(117,177,241,.19)!important;
  box-shadow:0 34px 90px rgba(0,5,22,.52),inset 0 1px 0 rgba(255,255,255,.035)!important;
  backdrop-filter:blur(26px) saturate(145%)!important;
}
.profile-popover{width:305px!important;padding:10px!important}
.notification-popover{width:370px!important;padding:10px!important}
.profile-pop-head{padding:10px 10px 15px!important;align-items:flex-start!important}
.profile-pop-head .eyebrow,.popover-title .eyebrow{font-size:7px;letter-spacing:1.1px;color:#6f91bb;margin-bottom:4px}
.profile-pop-head b{font-size:13px!important;color:#f5f9ff}.profile-pop-head small{font-size:9px!important;color:#8ba4c5!important}
.profile-pop-head em{font-size:8px;color:#6ed9b4;font-style:normal;display:flex;align-items:center;gap:5px;margin-top:6px}
.profile-pop-head em i{width:6px;height:6px;border-radius:50%;background:#2ad39c;box-shadow:0 0 10px rgba(42,211,156,.65)}
.profile-popover>a,.profile-popover>button{min-height:45px!important;padding:10px 11px!important;font-size:11px!important}
.profile-popover>a:hover,.profile-popover>button:hover{background:linear-gradient(90deg,rgba(51,103,174,.17),rgba(51,103,174,.08))!important}
.popover-title{padding:9px 10px 14px!important;align-items:flex-start!important}
.popover-title b{font-size:13px!important}.popover-title small{font-size:8px!important;color:#829dbf!important}
.popover-head-link{font-size:8px;color:#8fc6ff;text-decoration:none;padding:6px 8px;border:1px solid rgba(108,172,242,.16);border-radius:8px;background:rgba(67,126,199,.08)}
.popover-head-link:hover{background:rgba(72,137,217,.16);color:#d7ebff}
.notification-list{display:grid;gap:3px;padding:4px 0}
.notification-item{min-height:61px!important;display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;gap:10px!important;align-items:center!important}
.notification-item span:nth-child(2){display:grid;min-width:0}.notification-item b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-item small{font-size:8px!important;color:#7f99b9!important;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.notice-icon{width:40px!important;height:40px!important;border-radius:12px!important}
.notification-foot{display:flex!important;justify-content:space-between;align-items:center;gap:10px;padding:11px 9px 4px!important;border-top:1px solid rgba(104,158,219,.10);color:#7591b4!important;font-size:8px!important}
.notification-foot>span{display:flex;align-items:center;gap:6px}.notification-foot .live-dot{width:6px;height:6px;box-shadow:0 0 10px rgba(47,213,158,.6)}
.notification-foot small{font-size:8px;color:#617f9f}
[data-theme="light"] .profile-popover,[data-theme="light"] .notification-popover,[data-theme="light"] .calendar-popover{background:rgba(255,255,255,.985)!important;border-color:#d9e6f2!important;box-shadow:0 30px 70px rgba(29,58,94,.18)!important}
[data-theme="light"] .profile-pop-head b{color:#183755}[data-theme="light"] .popover-head-link{color:#356ba8;background:#eef5fc}

/* Global search palette */
.command-backdrop{padding-top:min(11vh,105px)!important;background:rgba(0,7,21,.69)!important;backdrop-filter:blur(13px)!important}
.command-palette{
  width:min(820px,calc(100vw - 30px))!important;
  max-height:min(78vh,720px);
  display:flex;flex-direction:column;
  border-radius:24px!important;
  background:linear-gradient(180deg,#082044 0%,#061a38 100%)!important;
  border:1px solid rgba(116,176,241,.23)!important;
  box-shadow:0 40px 120px rgba(0,4,18,.64),inset 0 1px 0 rgba(255,255,255,.035)!important;
}
.command-input-wrap{grid-template-columns:24px minmax(0,1fr) 36px!important;padding:18px 20px!important;gap:12px!important;background:rgba(8,31,64,.62)}
.command-input-wrap>.ui-icon{width:21px;height:21px;color:#8dbdf0}
.command-input-wrap input{font-size:14px!important;font-weight:580;color:#f2f7ff!important}
.command-input-wrap input::placeholder{color:#6886aa}
.command-input-wrap button{width:34px;height:34px;border-radius:10px!important;background:rgba(82,133,196,.08)!important}
.command-body{display:grid;grid-template-columns:minmax(250px,.82fr) minmax(320px,1.18fr);min-height:390px;overflow:hidden}
.command-section{min-width:0;padding:12px 10px 14px}.command-section+.command-section{border-left:1px solid rgba(100,154,217,.10)}
.command-section-head{height:34px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 9px;color:#829dbc}.command-section-head span{font-size:9px;font-weight:730;text-transform:uppercase;letter-spacing:.7px}.command-section-head small{font-size:7px;color:#5f7d9f}
.command-list{max-height:390px!important;padding:0!important;display:grid;align-content:start;gap:3px;overflow:auto}
.command-list a,.command-live-list a{min-height:58px;display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;gap:10px!important;align-items:center;padding:8px 9px!important;border-radius:13px!important;text-decoration:none;color:#c6d7eb;transition:.13s}
.command-list a:hover,.command-list a.selected,.command-live-list a:hover,.command-live-list a.selected{background:linear-gradient(90deg,rgba(56,113,190,.21),rgba(45,93,164,.10))!important;box-shadow:inset 0 0 0 1px rgba(105,170,240,.10);color:#fff!important}
.command-icon{width:40px!important;height:40px!important;border-radius:12px!important;background:linear-gradient(145deg,#103968,#0b2c55)!important;color:#9dc9f8!important;border:1px solid rgba(110,170,235,.13)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.command-icon .ui-icon{width:18px!important;height:18px!important}.command-list a>span:nth-child(2),.command-live-list a>span:nth-child(2){display:grid;min-width:0}.command-list b,.command-live-list b{font-size:10px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-list small,.command-live-list small{font-size:8px!important;color:#7894b6!important;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-list kbd{font-size:7px!important;color:#6d89aa!important}
.command-live-section{background:rgba(6,25,53,.40)}.command-live-list{max-height:390px;overflow:auto;display:grid;align-content:start;gap:3px}
.command-live-list a em{font-size:7px;font-style:normal;color:#6f8cac;padding:4px 6px;border-radius:7px;background:rgba(102,151,207,.07);white-space:nowrap}
.live-result.student .command-icon{color:#a9a6ff;background:linear-gradient(145deg,rgba(90,87,203,.24),rgba(56,55,144,.16))!important}.live-result.teacher .command-icon{color:#8fc4ff}.live-result.class .command-icon{color:#62dfdb;background:linear-gradient(145deg,rgba(25,132,143,.23),rgba(20,82,103,.18))!important}.live-result.calendar .command-icon{color:#f4bf70;background:linear-gradient(145deg,rgba(166,112,32,.20),rgba(99,67,20,.15))!important}
.command-empty-state{min-height:220px;display:flex;align-items:center;justify-content:center;gap:12px;text-align:left;color:#708aa9;padding:24px}.command-empty-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:#89b8e9;background:rgba(63,121,190,.10);border:1px solid rgba(104,165,231,.10);flex:none}.command-empty-icon .ui-icon{width:20px;height:20px}.command-empty-state div{display:grid}.command-empty-state b{font-size:10px;color:#9bb4d1}.command-empty-state small{font-size:8px;color:#617f9f;margin-top:4px}
.command-hint{min-height:38px!important;padding:9px 18px!important;align-items:center;border-top-color:rgba(100,154,217,.11)!important}.command-hint em{margin-left:auto;font-style:normal;font-size:7px;color:#587697}
[data-theme="light"] .command-palette{background:#fff!important;border-color:#d7e5f2!important}[data-theme="light"] .command-input-wrap{background:#f9fbfe}[data-theme="light"] .command-input-wrap input{color:#173a5c!important}[data-theme="light"] .command-live-section{background:#f8fbfe}[data-theme="light"] .command-section+.command-section{border-left-color:#e5edf5}[data-theme="light"] .command-list a,[data-theme="light"] .command-live-list a{color:#34516f}[data-theme="light"] .command-icon{background:#eef5fb!important;color:#4f78a4!important;border-color:#ddeaf5!important}

/* Compact search used by work pages */
.compact-search-form{display:flex;align-items:center;gap:8px}.compact-search-form input{height:38px;min-width:220px;border-radius:10px}

@media(max-width:940px){
  .topbar{min-height:69px!important;padding:9px 12px!important}.topbar-primary{max-width:none}.global-search{width:auto!important;height:47px!important;flex:1!important}.global-search>span,.global-search kbd{display:none!important}.global-search{justify-content:center;max-width:50px!important;padding:0!important}.topbar-actions{gap:5px!important}.notification-btn{display:grid!important}.calendar-wrap{display:none!important}.profile-pill{display:flex!important;width:46px!important;height:46px!important}.profile-avatar{width:37px!important;height:37px!important}.profile-popover,.notification-popover{top:70px!important;left:9px!important;right:9px!important;width:auto!important;max-height:calc(100vh - 88px);overflow:auto}.command-backdrop{padding-top:70px!important}.command-palette{width:calc(100vw - 18px)!important;max-height:calc(100vh - 82px)!important;border-radius:19px!important}.command-input-wrap{padding:13px 14px!important}.command-body{grid-template-columns:1fr;overflow:auto}.command-section+.command-section{border-left:0;border-top:1px solid rgba(100,154,217,.10)}.command-list,.command-live-list{max-height:none!important}.command-empty-state{min-height:120px}.command-hint em{display:none}.compact-search-form{width:100%;margin-top:8px}.compact-search-form input{min-width:0;flex:1}
}
@media(max-width:520px){
  .notification-popover,.profile-popover{border-radius:17px!important}.command-list a,.command-live-list a{min-height:55px}.command-section{padding:9px 8px}.topbar .notification-btn{width:43px;height:43px}.global-search{max-width:45px!important;height:43px!important}.profile-pill{width:43px!important;height:43px!important}.profile-avatar{width:35px!important;height:35px!important}
}

/* ==========================================================
   v0.7.7 LIGHT PRIMARY + SIDEBAR STATE POLISH
   Light workspace is the primary product theme.
   Navigation remains midnight blue in both themes.
   ========================================================== */

/* Light workspace: quieter white surfaces with soft blue-gray page chrome. */
[data-theme="light"]{
  --bg:#eef3f8;
  --bg-soft:#f3f6fa;
  --surface:#ffffff;
  --surface-2:#f8fafc;
  --surface-3:#f0f4f8;
  --text:#17324f;
  --text-2:#334e68;
  --muted:#74879b;
  --line:#dfe7ef;
  --line-strong:#cad7e4;
  --shadow:0 10px 28px rgba(30,57,89,.055);
  --shadow-lg:0 24px 64px rgba(28,54,87,.13);
}
[data-theme="light"] body.app-body{
  background:
    radial-gradient(circle at 83% 4%,rgba(63,111,191,.055),transparent 24%),
    linear-gradient(145deg,#edf2f7 0%,#f7f9fc 52%,#eef3f8 100%)!important;
}
[data-theme="light"] .main{background:transparent}
[data-theme="light"] .content{background:transparent}
[data-theme="light"] .topbar{
  background:rgba(255,255,255,.93)!important;
  border-bottom-color:#e1e8f0!important;
  box-shadow:0 5px 20px rgba(36,65,98,.035)!important;
}
[data-theme="light"] .topbar.scrolled{
  background:rgba(255,255,255,.975)!important;
  box-shadow:0 10px 26px rgba(36,65,98,.065)!important;
}
[data-theme="light"] .global-search{
  background:#fbfcfe!important;
  border-color:#dce5ee!important;
  box-shadow:inset 0 1px 0 #fff,0 4px 14px rgba(37,68,103,.025)!important;
}
[data-theme="light"] .global-search:hover{background:#fff!important;border-color:#cbd9e7!important}
[data-theme="light"] .topbar .icon-btn,
[data-theme="light"] .profile-pill{
  background:#fff!important;
  border-color:#dce5ee!important;
  box-shadow:0 4px 14px rgba(34,64,98,.035)!important;
}
[data-theme="light"] .topbar .icon-btn:hover,
[data-theme="light"] .profile-pill:hover{
  border-color:#c8d7e6!important;
  box-shadow:0 9px 22px rgba(34,64,98,.075)!important;
}

/* White cards: no blue cast, consistent restrained depth. */
[data-theme="light"] .card,
[data-theme="light"] .glass-panel,
[data-theme="light"] .executive-kpi{
  background:#fff!important;
  border-color:#dde6ef!important;
  box-shadow:0 9px 24px rgba(33,62,96,.05)!important;
}
[data-theme="light"] .glass-panel:hover,
[data-theme="light"] .executive-kpi:hover{
  border-color:#ccd9e6!important;
  box-shadow:0 13px 28px rgba(33,62,96,.075)!important;
}
[data-theme="light"] .quick-grid a{
  background:#f8fafc!important;
  border-color:#e1e8f0!important;
  box-shadow:none!important;
}
[data-theme="light"] .quick-grid a:hover{
  background:#fff!important;
  border-color:#ccd9e6!important;
  box-shadow:0 8px 20px rgba(33,62,96,.06)!important;
}

/* Sidebar is brand navigation and is deliberately theme-independent. */
.sidebar,
[data-theme="light"] .sidebar{
  background:
    radial-gradient(circle at 0 0,rgba(53,101,221,.20),transparent 33%),
    linear-gradient(180deg,#071a38 0%,#061631 58%,#06132b 100%)!important;
  color:#e9f2ff!important;
  border-right-color:rgba(88,142,208,.16)!important;
  box-shadow:14px 0 44px rgba(0,4,18,.14)!important;
}
[data-theme="light"] .brand-copy b{color:#f4f8ff!important}
[data-theme="light"] .brand-copy span{color:#8ba8d1!important}
[data-theme="light"] .nav-group-label{color:#607fa9!important}
[data-theme="light"] .nav-link{color:#b4c6df!important}
[data-theme="light"] .nav-link:hover{background:rgba(70,120,198,.10)!important;color:#f6f9ff!important}
[data-theme="light"] .nav-link.active{
  color:#fff!important;
  background:linear-gradient(100deg,rgba(58,112,226,.50),rgba(28,71,146,.42))!important;
  box-shadow:inset 0 0 0 1px rgba(98,166,255,.26),0 10px 26px rgba(0,35,94,.17)!important;
}
[data-theme="light"] .nav-icon{
  color:#9fb8d8!important;
  background:rgba(86,137,202,.055)!important;
  border-color:rgba(104,160,226,.07)!important;
}
[data-theme="light"] .nav-link:hover .nav-icon{
  color:#dbeaff!important;
  background:rgba(74,132,211,.12)!important;
  border-color:rgba(108,171,242,.16)!important;
}
[data-theme="light"] .nav-link.active .nav-icon{
  color:#fff!important;
  background:linear-gradient(145deg,#4278de,#2c5baa)!important;
  border-color:rgba(147,201,255,.32)!important;
  box-shadow:0 8px 20px rgba(25,75,163,.28),inset 0 1px 0 rgba(255,255,255,.20)!important;
}
[data-theme="light"] .nav-chevron{color:#6e8daf!important}
[data-theme="light"] .nav-link.active .nav-chevron{color:#bcd9ff!important}
[data-theme="light"] .sidebar-theme,
[data-theme="light"] .sidebar-hide{color:#9cb2cf!important}
[data-theme="light"] .sidebar-theme:hover,
[data-theme="light"] .sidebar-hide:hover{background:rgba(80,131,201,.09)!important;color:#fff!important}

/* True compact-navigation state instead of simply squeezing the expanded menu. */
.app-shell.sidebar-collapsed{--sidebar:86px}
.app-shell.sidebar-collapsed .sidebar{padding-left:11px;padding-right:11px}
.app-shell.sidebar-collapsed .brand{
  height:72px;padding:0 0 16px;justify-content:center;overflow:visible;
}
.app-shell.sidebar-collapsed .school-brand-mark{width:52px;height:52px;padding:4px;flex:none}
.app-shell.sidebar-collapsed .brand-copy,
.app-shell.sidebar-collapsed .sidebar-collapse,
.app-shell.sidebar-collapsed .nav-group-label,
.app-shell.sidebar-collapsed .nav-label,
.app-shell.sidebar-collapsed .nav-chevron,
.app-shell.sidebar-collapsed .sidebar-theme span,
.app-shell.sidebar-collapsed .sidebar-theme i,
.app-shell.sidebar-collapsed .sidebar-hide span{display:none!important}
.app-shell.sidebar-collapsed .sidebar-nav{padding:3px 0 12px;overflow:visible}
.app-shell.sidebar-collapsed .nav-group{gap:7px;margin-bottom:10px}
.app-shell.sidebar-collapsed .nav-link{
  width:54px;height:50px;min-height:50px;padding:0!important;margin:0 auto;
  justify-content:center!important;gap:0!important;border-radius:15px;
  overflow:visible;transform:none!important;background:transparent;
}
.app-shell.sidebar-collapsed .nav-link:hover{background:rgba(70,120,198,.10)!important}
.app-shell.sidebar-collapsed .nav-link.active{
  background:linear-gradient(145deg,rgba(63,116,222,.52),rgba(27,69,145,.55))!important;
  box-shadow:inset 0 0 0 1px rgba(105,171,247,.28),0 8px 22px rgba(0,32,91,.22)!important;
}
.app-shell.sidebar-collapsed .nav-link.active:before{display:none!important}
.app-shell.sidebar-collapsed .nav-icon,
[data-theme="light"] .app-shell.sidebar-collapsed .nav-icon{
  width:38px!important;height:38px!important;flex:0 0 38px!important;
  border-radius:12px!important;background:transparent!important;border-color:transparent!important;
  color:#adc1dd!important;box-shadow:none!important;transform:none!important;
}
.app-shell.sidebar-collapsed .nav-link:hover .nav-icon,
[data-theme="light"] .app-shell.sidebar-collapsed .nav-link:hover .nav-icon{
  background:rgba(92,146,215,.10)!important;border-color:rgba(106,169,239,.10)!important;color:#f1f7ff!important;
}
.app-shell.sidebar-collapsed .nav-link.active .nav-icon,
[data-theme="light"] .app-shell.sidebar-collapsed .nav-link.active .nav-icon{
  background:transparent!important;border-color:transparent!important;color:#fff!important;box-shadow:none!important;
}
.app-shell.sidebar-collapsed .nav-icon .ui-icon{width:21px!important;height:21px!important}

/* Native lightweight tooltip for compact sidebar. */
.app-shell.sidebar-collapsed .nav-link:after{
  content:attr(title);position:absolute;left:calc(100% + 13px);top:50%;transform:translate(5px,-50%);
  min-width:max-content;max-width:220px;padding:7px 10px;border-radius:9px;
  background:#10284d;color:#f5f9ff;border:1px solid rgba(121,169,224,.18);
  box-shadow:0 12px 30px rgba(0,7,24,.28);font-size:11px;font-weight:650;letter-spacing:0;
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s,transform .14s;z-index:150;
}
.app-shell.sidebar-collapsed .nav-link:hover:after{opacity:1;visibility:visible;transform:translate(0,-50%)}

/* Compact footer: icon controls with the same dark navigation language. */
.app-shell.sidebar-collapsed .sidebar-foot{display:flex;flex-direction:column;align-items:center;gap:7px;padding:13px 0 0}
.app-shell.sidebar-collapsed .sidebar-theme,
.app-shell.sidebar-collapsed .sidebar-hide{
  width:48px;height:44px;padding:0!important;display:grid!important;place-items:center!important;
  border-radius:13px;background:transparent!important;color:#9fb6d4!important;
}
.app-shell.sidebar-collapsed .sidebar-theme:hover,
.app-shell.sidebar-collapsed .sidebar-hide:hover{background:rgba(74,128,199,.10)!important;color:#fff!important}
.app-shell.sidebar-collapsed .sidebar-theme .ui-icon,
.app-shell.sidebar-collapsed .sidebar-hide .ui-icon{width:20px!important;height:20px!important}

/* Animation is subtle: geometry moves, content does not flash. */
.app-shell,.sidebar,.nav-link,.nav-icon,.content,.topbar,.card,.glass-panel,.executive-kpi{
  transition-property:grid-template-columns,width,padding,background-color,border-color,box-shadow,color,transform;
  transition-duration:.22s;transition-timing-function:cubic-bezier(.2,.75,.25,1);
}
@media(prefers-reduced-motion:reduce){.app-shell,.sidebar,.nav-link,.nav-icon,.content,.topbar,.card,.glass-panel,.executive-kpi{transition:none!important}}

/* Mobile stays full-width drawer; compact desktop rules must not leak into it. */
@media(max-width:940px){
  .app-shell.sidebar-collapsed{--sidebar:290px}
  .app-shell.sidebar-collapsed .sidebar{padding:22px 18px 16px}
  .app-shell.sidebar-collapsed .brand{justify-content:flex-start;padding:0 7px 18px}
  .app-shell.sidebar-collapsed .school-brand-mark{width:58px;height:58px}
  .app-shell.sidebar-collapsed .brand-copy,.app-shell.sidebar-collapsed .nav-group-label,.app-shell.sidebar-collapsed .nav-label,.app-shell.sidebar-collapsed .nav-chevron,.app-shell.sidebar-collapsed .sidebar-theme span,.app-shell.sidebar-collapsed .sidebar-theme i,.app-shell.sidebar-collapsed .sidebar-hide span{display:initial!important}
  .app-shell.sidebar-collapsed .brand-copy{display:grid!important}
  .app-shell.sidebar-collapsed .nav-group-label{display:block!important}
  .app-shell.sidebar-collapsed .nav-link{width:auto;height:auto;min-height:49px;padding:11px 13px!important;margin:0;justify-content:flex-start!important;gap:12px!important}
  .app-shell.sidebar-collapsed .nav-link:after{display:none!important}
  .app-shell.sidebar-collapsed .nav-icon,[data-theme="light"] .app-shell.sidebar-collapsed .nav-icon{width:34px!important;height:34px!important;flex:0 0 34px!important}
  .app-shell.sidebar-collapsed .sidebar-foot{display:grid;align-items:stretch;padding-top:14px}
  .app-shell.sidebar-collapsed .sidebar-theme,.app-shell.sidebar-collapsed .sidebar-hide{width:100%;height:42px;display:flex!important;padding:0 12px!important;gap:12px}
}

/* ============================================================
   v0.7.8 — Adaptive Navigation System
   Expanded / Compact / Launcher / Auto + Favorites
   ============================================================ */
.sidebar{overflow:visible}.sidebar-nav{overflow-y:auto;overflow-x:visible}
.topbar-primary{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.top-apps-btn{flex:none}.top-apps-btn .ui-icon{width:19px;height:19px}
.sidebar-launcher-trigger{display:none;border:0;color:#dceaff;background:linear-gradient(145deg,rgba(65,119,224,.34),rgba(22,57,116,.28));border:1px solid rgba(112,173,242,.20);box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 12px 30px rgba(0,26,74,.20);border-radius:16px;cursor:pointer;align-items:center;justify-content:center;gap:8px;transition:.18s ease}.sidebar-launcher-trigger:hover{transform:translateY(-1px);background:linear-gradient(145deg,rgba(74,132,235,.43),rgba(28,70,139,.36));border-color:rgba(128,190,255,.32)}.launcher-trigger-icon{display:grid;place-items:center}.launcher-trigger-icon .ui-icon{width:22px;height:22px}.launcher-trigger-label{font-size:11px;font-weight:700}
.sidebar-nav-mode{height:42px;border:0;background:transparent;color:#9cb2cf;border-radius:12px;display:flex;align-items:center;gap:12px;padding:0 12px;cursor:pointer;text-align:left}.sidebar-nav-mode:hover{background:rgba(80,131,201,.09);color:#fff}.sidebar-nav-mode .ui-icon{width:19px;height:19px}.sidebar-nav-mode em{margin-left:auto;font-style:normal;font-size:9px;color:#6f8daf;background:rgba(78,127,195,.10);padding:3px 7px;border-radius:999px}
.profile-popover .profile-mode-value{margin-left:auto;font-style:normal;font-size:9px;color:var(--muted);padding-left:12px}

/* Compact mode: keep an obvious expand control instead of hiding it. */
.app-shell.sidebar-collapsed .sidebar-collapse{display:grid!important;position:absolute;right:-15px;top:73px;z-index:9;width:31px;height:31px;border-radius:50%;background:#0d2a55!important;border:1px solid rgba(121,177,239,.28)!important;color:#dcecff!important;box-shadow:0 8px 24px rgba(0,20,61,.30)!important}
.app-shell.sidebar-collapsed .sidebar-collapse .ui-icon{transform:rotate(180deg)}
.app-shell.sidebar-collapsed .sidebar-collapse:hover{background:#153a70!important;transform:translateX(2px)}
.app-shell.sidebar-collapsed .sidebar-nav-mode{width:48px;height:44px;padding:0;display:grid;place-items:center;margin:0 auto}.app-shell.sidebar-collapsed .sidebar-nav-mode span,.app-shell.sidebar-collapsed .sidebar-nav-mode em{display:none}

/* Launcher rail: one central apps button + brand + utility controls. */
.app-shell.sidebar-launcher{--sidebar:78px}
.app-shell.sidebar-launcher .sidebar{padding:14px 10px;align-items:center}
.app-shell.sidebar-launcher .brand{width:100%;height:70px;justify-content:center;padding:0 0 14px;position:relative}
.app-shell.sidebar-launcher .school-brand-mark{width:50px;height:50px;padding:4px}
.app-shell.sidebar-launcher .brand-copy,.app-shell.sidebar-launcher .sidebar-nav,.app-shell.sidebar-launcher .nav-group-label{display:none!important}
.app-shell.sidebar-launcher .sidebar-collapse{display:grid!important;position:absolute;right:-15px;top:73px;z-index:9;width:31px;height:31px;border-radius:50%;background:#0d2a55!important;border:1px solid rgba(121,177,239,.28)!important;color:#dcecff!important;box-shadow:0 8px 24px rgba(0,20,61,.30)!important}
.app-shell.sidebar-launcher .sidebar-collapse .ui-icon{transform:rotate(180deg)}
.app-shell.sidebar-launcher .sidebar-launcher-trigger{display:grid;width:52px;height:52px;margin-top:16px;border-radius:17px}
.app-shell.sidebar-launcher .launcher-trigger-label{display:none}
.app-shell.sidebar-launcher .sidebar-foot{width:100%;margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:7px;padding:13px 0 0}
.app-shell.sidebar-launcher .sidebar-theme,.app-shell.sidebar-launcher .sidebar-nav-mode,.app-shell.sidebar-launcher .sidebar-hide{width:48px;height:44px;padding:0!important;display:grid!important;place-items:center!important;border-radius:13px;background:transparent!important;color:#9fb6d4!important}
.app-shell.sidebar-launcher .sidebar-theme span,.app-shell.sidebar-launcher .sidebar-theme i,.app-shell.sidebar-launcher .sidebar-nav-mode span,.app-shell.sidebar-launcher .sidebar-nav-mode em,.app-shell.sidebar-launcher .sidebar-hide span{display:none!important}
.app-shell.sidebar-launcher .sidebar-theme:hover,.app-shell.sidebar-launcher .sidebar-nav-mode:hover,.app-shell.sidebar-launcher .sidebar-hide:hover{background:rgba(74,128,199,.10)!important;color:#fff!important}

/* App launcher overlay */
.app-launcher-backdrop{position:fixed;inset:0;z-index:180;background:rgba(5,15,34,.44);backdrop-filter:blur(9px);display:flex;align-items:flex-start;justify-content:center;padding:6vh 20px 24px;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}.app-launcher-backdrop.open{opacity:1;visibility:visible}
.app-launcher-panel{width:min(980px,96vw);max-height:88vh;overflow:auto;background:color-mix(in srgb,var(--surface) 97%,transparent);border:1px solid color-mix(in srgb,var(--line-strong) 86%,transparent);border-radius:26px;box-shadow:0 34px 100px rgba(6,24,57,.28),inset 0 1px 0 rgba(255,255,255,.72);transform:translateY(12px) scale(.985);transition:transform .2s cubic-bezier(.2,.8,.2,1);padding:22px}.app-launcher-backdrop.open .app-launcher-panel{transform:none}
.app-launcher-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:2px 2px 18px}.app-launcher-head h2{margin:3px 0 2px;font-size:23px;letter-spacing:-.45px}.app-launcher-head p{margin:0;color:var(--muted);font-size:11px}.app-launcher-head .icon-btn{flex:none}
.nav-mode-card{display:flex;align-items:center;gap:18px;padding:15px 16px;background:var(--surface-2);border:1px solid var(--line);border-radius:18px;margin-bottom:15px}.nav-mode-copy{min-width:185px;display:grid}.nav-mode-copy b{font-size:12px}.nav-mode-copy small{font-size:9px;color:var(--muted);margin-top:3px}.nav-mode-options{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:8px;flex:1}.nav-mode-options button{min-height:68px;border:1px solid var(--line);background:var(--surface);border-radius:14px;display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center;text-align:left;padding:9px 10px;cursor:pointer;color:var(--text-2);transition:.16s ease}.nav-mode-options button>span{grid-row:1/3;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary)}.nav-mode-options button .ui-icon{width:16px;height:16px}.nav-mode-options button b{font-size:10px;align-self:end}.nav-mode-options button small{font-size:8px;color:var(--muted);align-self:start}.nav-mode-options button:hover{border-color:color-mix(in srgb,var(--primary) 28%,var(--line));transform:translateY(-1px)}.nav-mode-options button.active{background:color-mix(in srgb,var(--primary-soft) 64%,var(--surface));border-color:color-mix(in srgb,var(--primary) 42%,var(--line));box-shadow:0 8px 20px rgba(49,88,212,.08)}
.launcher-toolbar{display:flex;align-items:center;gap:7px;border-bottom:1px solid var(--line);padding:0 2px 12px;margin-bottom:13px}.launcher-tab{border:0;background:transparent;color:var(--muted);font-size:10px;font-weight:700;padding:7px 10px;border-radius:10px;cursor:pointer}.launcher-tab:hover{background:var(--surface-2);color:var(--text)}.launcher-tab.active{background:var(--primary-soft);color:var(--primary)}.launcher-tab span{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;margin-left:4px;border-radius:999px;background:color-mix(in srgb,var(--primary) 12%,transparent);font-size:8px}
.launcher-section{padding:8px 2px 13px}.launcher-section-title{display:flex;align-items:baseline;gap:8px;margin-bottom:9px}.launcher-section-title b{font-size:11px}.launcher-section-title small{font-size:8px;color:var(--muted)}.launcher-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.launcher-item{position:relative;min-width:0}.launcher-item>a{height:118px;text-decoration:none;border:1px solid var(--line);border-radius:17px;background:var(--surface);display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:11px;align-content:center;padding:15px 35px 15px 14px;transition:.16s ease;box-shadow:0 5px 16px rgba(37,62,95,.025)}.launcher-item>a:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 25%,var(--line));box-shadow:0 12px 27px rgba(37,62,95,.075)}.launcher-item.active>a{background:linear-gradient(145deg,color-mix(in srgb,var(--primary-soft) 70%,var(--surface)),var(--surface));border-color:color-mix(in srgb,var(--primary) 28%,var(--line))}.launcher-app-icon{grid-row:1/3;width:40px;height:40px;border-radius:13px;background:linear-gradient(145deg,#3d78da,#3158d4);color:#fff;display:grid;place-items:center;box-shadow:0 8px 18px rgba(49,88,212,.18)}.launcher-app-icon .ui-icon{width:20px;height:20px}.launcher-item>a b{font-size:11px;align-self:end;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.launcher-item>a small{font-size:8px;color:var(--muted);line-height:1.35;align-self:start;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.launcher-pin{position:absolute;right:8px;top:8px;width:28px;height:28px;border:0;border-radius:9px;background:transparent;color:#a0adbf;display:grid;place-items:center;cursor:pointer;transition:.14s ease}.launcher-pin .ui-icon{width:14px;height:14px}.launcher-pin:hover{background:var(--surface-2);color:#d39b20}.launcher-pin.pinned{background:#fff7df;color:#c88813}.launcher-empty{min-height:160px;border:1px dashed var(--line-strong);border-radius:17px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted);padding:24px}.launcher-empty .ui-icon{width:25px;height:25px;color:var(--primary);margin-bottom:8px}.launcher-empty b{color:var(--text);font-size:11px}.launcher-empty small{font-size:9px;margin-top:3px}.app-launcher-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:14px 2px 0;margin-top:4px;color:var(--muted);font-size:9px}.app-launcher-foot button{border:0;background:transparent;color:var(--primary);font-weight:700;cursor:pointer}.app-launcher-foot kbd{font-size:8px;padding:2px 5px;border:1px solid var(--line);background:var(--surface-2);border-radius:5px;color:var(--muted)}

/* Dark launcher surface */
[data-theme="dark"] .app-launcher-panel{background:rgba(16,28,48,.98);border-color:#2b3e59;box-shadow:0 36px 100px rgba(0,0,0,.48)}[data-theme="dark"] .nav-mode-options button,[data-theme="dark"] .launcher-item>a{background:#13213a}[data-theme="dark"] .launcher-pin.pinned{background:#3a311d;color:#ffd77c}

@media(max-width:1240px){.nav-mode-card{align-items:stretch;flex-direction:column}.nav-mode-options{grid-template-columns:repeat(4,1fr)}.launcher-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:940px){
  .top-apps-btn{display:grid!important}.app-launcher-backdrop{padding:4vh 10px calc(88px + env(safe-area-inset-bottom))}.app-launcher-panel{width:100%;max-height:88vh;border-radius:23px;padding:16px}
  .nav-mode-card{display:none}.launcher-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.launcher-item>a{height:104px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px 8px;gap:6px}.launcher-app-icon{width:38px;height:38px;flex:none}.launcher-item>a small{display:none}.launcher-item>a b{font-size:9px;width:100%;white-space:normal;line-height:1.2}.launcher-pin{right:5px;top:5px;width:25px;height:25px}
  .app-shell.sidebar-launcher{--sidebar:290px}.app-shell.sidebar-launcher .sidebar{padding:22px 18px 16px;align-items:stretch}.app-shell.sidebar-launcher .brand{justify-content:flex-start;padding:0 7px 18px;height:auto}.app-shell.sidebar-launcher .school-brand-mark{width:58px;height:58px}.app-shell.sidebar-launcher .brand-copy{display:grid!important}.app-shell.sidebar-launcher .sidebar-collapse{display:none!important}.app-shell.sidebar-launcher .sidebar-launcher-trigger{display:none!important}.app-shell.sidebar-launcher .sidebar-nav{display:flex!important}.app-shell.sidebar-launcher .sidebar-foot{display:grid;align-items:stretch;padding-top:14px}.app-shell.sidebar-launcher .sidebar-theme,.app-shell.sidebar-launcher .sidebar-nav-mode,.app-shell.sidebar-launcher .sidebar-hide{width:100%;height:42px;display:flex!important;padding:0 12px!important;gap:12px}.app-shell.sidebar-launcher .sidebar-theme span,.app-shell.sidebar-launcher .sidebar-nav-mode span,.app-shell.sidebar-launcher .sidebar-hide span{display:initial!important}.app-shell.sidebar-launcher .sidebar-nav-mode em{display:initial!important}
}
@media(max-width:620px){.app-launcher-head h2{font-size:20px}.launcher-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.launcher-toolbar{overflow-x:auto}.app-launcher-foot{align-items:flex-start;flex-direction:column}}
@media(max-width:390px){.launcher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.app-launcher-backdrop,.app-launcher-panel,.launcher-item>a,.nav-mode-options button{transition:none!important}}


/* ============================================================
   v0.7.9 — Menu Mode Selector + Color Icon Refresh
   One-click mode cycling + colorful app-style navigation icons
   ============================================================ */
:root{
  --icon-blue-1:#3f83f8;--icon-blue-2:#3155d6;
  --icon-cyan-1:#22c8e6;--icon-cyan-2:#1686cf;
  --icon-violet-1:#9a6cf4;--icon-violet-2:#6551d8;
  --icon-indigo-1:#5d71f2;--icon-indigo-2:#3346bf;
  --icon-amber-1:#f4b83f;--icon-amber-2:#dc7d22;
  --icon-teal-1:#27c9ae;--icon-teal-2:#168d84;
  --icon-green-1:#52c77a;--icon-green-2:#24965c;
  --icon-purple-1:#b06bea;--icon-purple-2:#7543c0;
  --icon-coral-1:#f47c6c;--icon-coral-2:#d84962;
  --icon-rose-1:#f06b91;--icon-rose-2:#cc466f;
  --icon-slate-1:#7d95bb;--icon-slate-2:#546a91;
}
.icon-tone-blue{--icon-1:var(--icon-blue-1);--icon-2:var(--icon-blue-2);--icon-glow:rgba(57,105,236,.30)}
.icon-tone-cyan{--icon-1:var(--icon-cyan-1);--icon-2:var(--icon-cyan-2);--icon-glow:rgba(28,173,220,.28)}
.icon-tone-violet{--icon-1:var(--icon-violet-1);--icon-2:var(--icon-violet-2);--icon-glow:rgba(126,84,224,.27)}
.icon-tone-indigo{--icon-1:var(--icon-indigo-1);--icon-2:var(--icon-indigo-2);--icon-glow:rgba(74,86,211,.27)}
.icon-tone-amber{--icon-1:var(--icon-amber-1);--icon-2:var(--icon-amber-2);--icon-glow:rgba(226,141,36,.28)}
.icon-tone-teal{--icon-1:var(--icon-teal-1);--icon-2:var(--icon-teal-2);--icon-glow:rgba(24,160,143,.25)}
.icon-tone-green{--icon-1:var(--icon-green-1);--icon-2:var(--icon-green-2);--icon-glow:rgba(46,154,94,.25)}
.icon-tone-purple{--icon-1:var(--icon-purple-1);--icon-2:var(--icon-purple-2);--icon-glow:rgba(123,72,196,.25)}
.icon-tone-coral{--icon-1:var(--icon-coral-1);--icon-2:var(--icon-coral-2);--icon-glow:rgba(216,74,92,.25)}
.icon-tone-rose{--icon-1:var(--icon-rose-1);--icon-2:var(--icon-rose-2);--icon-glow:rgba(210,67,109,.25)}
.icon-tone-slate{--icon-1:var(--icon-slate-1);--icon-2:var(--icon-slate-2);--icon-glow:rgba(88,111,153,.22)}

/* Sidebar icons now share the same app-icon language as mobile. */
.nav-icon{
  width:34px!important;height:34px!important;flex:0 0 34px!important;border-radius:11px!important;
  color:#fff!important;background:linear-gradient(145deg,var(--icon-1,#4c80df),var(--icon-2,#3157b5))!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 7px 16px var(--icon-glow,rgba(49,88,212,.23)),inset 0 1px 0 rgba(255,255,255,.20)!important;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease!important;
}
.nav-link:hover .nav-icon{transform:translateY(-1px) scale(1.035)!important;filter:saturate(1.08);box-shadow:0 10px 20px var(--icon-glow,rgba(49,88,212,.29)),inset 0 1px 0 rgba(255,255,255,.22)!important}
.nav-link.active .nav-icon,[data-theme="light"] .nav-link.active .nav-icon{background:linear-gradient(145deg,var(--icon-1,#4c80df),var(--icon-2,#3157b5))!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important;box-shadow:0 10px 22px var(--icon-glow,rgba(49,88,212,.32)),inset 0 1px 0 rgba(255,255,255,.24)!important}
[data-theme="light"] .nav-link .nav-icon{background:linear-gradient(145deg,var(--icon-1,#4c80df),var(--icon-2,#3157b5))!important;color:#fff!important;border-color:rgba(255,255,255,.12)!important}

/* Compact rail keeps colorful icon tiles instead of reverting to plain line icons. */
.app-shell.sidebar-collapsed .nav-icon,[data-theme="light"] .app-shell.sidebar-collapsed .nav-icon{
  width:38px!important;height:38px!important;flex:0 0 38px!important;border-radius:12px!important;
  color:#fff!important;background:linear-gradient(145deg,var(--icon-1,#4c80df),var(--icon-2,#3157b5))!important;
  border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 7px 16px var(--icon-glow,rgba(49,88,212,.24))!important;
}
.app-shell.sidebar-collapsed .nav-link:hover .nav-icon,[data-theme="light"] .app-shell.sidebar-collapsed .nav-link:hover .nav-icon,
.app-shell.sidebar-collapsed .nav-link.active .nav-icon,[data-theme="light"] .app-shell.sidebar-collapsed .nav-link.active .nav-icon{
  background:linear-gradient(145deg,var(--icon-1,#4c80df),var(--icon-2,#3157b5))!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important;
  box-shadow:0 10px 22px var(--icon-glow,rgba(49,88,212,.31))!important;
}
.app-shell.sidebar-collapsed .nav-link.active{background:rgba(94,139,214,.09)!important;box-shadow:inset 0 0 0 1px rgba(121,174,238,.10)!important}

/* Launcher icons use individual colors instead of one blue tile. */
.launcher-app-icon{
  background:linear-gradient(145deg,var(--icon-1,#4c80df),var(--icon-2,#3157b5))!important;
  border:1px solid rgba(255,255,255,.18);box-shadow:0 9px 20px var(--icon-glow,rgba(49,88,212,.22))!important;color:#fff!important;
}
.launcher-item>a:hover .launcher-app-icon{transform:translateY(-2px) scale(1.045);box-shadow:0 12px 25px var(--icon-glow,rgba(49,88,212,.30))!important}
.launcher-item>a{overflow:hidden}.launcher-app-icon{transition:transform .16s ease,box-shadow .16s ease}

/* Mobile navigation carries the same color identity. */
.mobile-nav a .ui-icon{width:29px!important;height:29px!important;padding:5px;border-radius:10px;color:#fff!important;background:linear-gradient(145deg,var(--icon-1,#4c80df),var(--icon-2,#3157b5));box-shadow:0 5px 13px var(--icon-glow,rgba(49,88,212,.20))}
.mobile-nav a:not(.active) .ui-icon{opacity:.82;filter:saturate(.82)}.mobile-nav a.active .ui-icon{opacity:1;filter:none;transform:translateY(-1px)}

/* Menu mode behaves like the theme control: one click = next mode. */
.sidebar-nav-mode,.profile-popover [data-nav-mode-cycle]{position:relative}
.sidebar-nav-mode{cursor:pointer}.sidebar-nav-mode em{min-width:58px;text-align:center;transition:.16s ease}
.sidebar-nav-mode:hover em{color:#b9d7fa;background:rgba(86,143,216,.16)}
.sidebar-nav-mode.mode-changed,.profile-popover [data-nav-mode-cycle].mode-changed{animation:navModeTap .25s ease}
@keyframes navModeTap{0%{transform:scale(1)}45%{transform:scale(.975)}100%{transform:scale(1)}}
.profile-popover [data-nav-mode-cycle] .profile-mode-value:after{content:'  ›';color:var(--primary);font-weight:800}

/* Mode cards remain available inside Launcher for direct four-way choice. */
.nav-mode-options button>span{background:linear-gradient(145deg,#e8f2ff,#eef1ff);box-shadow:inset 0 0 0 1px rgba(67,112,205,.07)}
.nav-mode-options button:nth-child(1)>span{color:#3978dc}.nav-mode-options button:nth-child(2)>span{color:#7b63dc}.nav-mode-options button:nth-child(3)>span{color:#1aa9c5}.nav-mode-options button:nth-child(4)>span{color:#d6952f}

@media(max-width:940px){
  .nav-link .nav-icon,[data-theme="light"] .nav-link .nav-icon{width:36px!important;height:36px!important;flex:0 0 36px!important}
}
@media(prefers-reduced-motion:reduce){.nav-icon,.launcher-app-icon,.sidebar-nav-mode,.profile-popover [data-nav-mode-cycle]{transition:none!important;animation:none!important}}

/* ============================================================
   v0.7.10 — Visible App Drawer + Direct Menu Mode Selector
   ============================================================ */
/* Make the App Drawer entry impossible to miss. */
.sidebar-launcher-trigger{
  display:flex!important;width:100%;min-height:54px;margin:0 0 12px;padding:8px 11px!important;
  justify-content:flex-start!important;border-radius:15px!important;
  background:linear-gradient(135deg,rgba(61,114,223,.36),rgba(38,198,216,.16))!important;
  border:1px solid rgba(115,179,247,.22)!important;
}
.launcher-trigger-icon{width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:linear-gradient(145deg,#5977f5,#2ab5d3);color:#fff;box-shadow:0 8px 18px rgba(43,114,215,.26);display:grid;place-items:center!important}
.launcher-trigger-icon .ui-icon{width:20px!important;height:20px!important}.launcher-trigger-label{display:grid!important;line-height:1.1;text-align:left}.launcher-trigger-label b{font-size:10px;color:#f4f8ff}.launcher-trigger-label small{font-size:7px;color:#88a7ce;margin-top:3px}

.top-apps-launcher{height:48px;min-width:104px;padding:5px 10px 5px 6px;border:1px solid var(--line);background:var(--surface);border-radius:15px;display:flex;align-items:center;gap:8px;color:var(--text-2);cursor:pointer;box-shadow:0 5px 17px rgba(43,67,104,.05);transition:.16s ease}
.top-apps-launcher:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 30%,var(--line));box-shadow:0 10px 24px rgba(43,67,104,.09)}
.top-apps-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#5976f0,#24b9d1);box-shadow:0 7px 16px rgba(55,104,221,.23)}
.top-apps-icon .ui-icon{width:18px;height:18px}.top-apps-copy{display:grid;text-align:left;line-height:1.05}.top-apps-copy b{font-size:9px}.top-apps-copy small{font-size:7px;color:var(--muted);margin-top:3px}

/* Sidebar menu-mode entry now opens the explicit selector instead of silently cycling. */
.sidebar-nav-mode{min-height:46px!important}.sidebar-nav-mode>svg:last-child{width:13px!important;height:13px!important;margin-left:2px;color:#6d8caf}.sidebar-nav-mode em{margin-left:auto!important}.profile-popover [data-launcher-focus-modes] em{margin-left:auto;font-style:normal;font-size:9px;color:var(--primary);background:var(--primary-soft);padding:3px 7px;border-radius:999px}.profile-popover [data-launcher-focus-modes]>svg:last-child{width:12px;height:12px;color:var(--muted)}

/* Desktop App Drawer: visual language closer to a mobile app drawer. */
.app-launcher-backdrop{align-items:flex-start;justify-content:center;padding-top:82px;background:rgba(10,22,42,.30);backdrop-filter:blur(9px)}
.app-launcher-panel{width:min(760px,calc(100vw - 36px));max-height:calc(100vh - 106px);padding:19px 20px 16px;border-radius:25px;background:rgba(249,252,255,.985);box-shadow:0 35px 110px rgba(12,30,61,.24),0 0 0 1px rgba(255,255,255,.65) inset;outline:none}
[data-theme="dark"] .app-launcher-panel{background:rgba(13,27,50,.985)}
.app-launcher-head{padding-bottom:12px}.app-launcher-head h2{font-size:21px}.app-launcher-head p{font-size:9px}.app-launcher-head .icon-btn{background:var(--surface-2);border:1px solid var(--line)}
.nav-mode-card{display:block;padding:13px 14px 14px;border-radius:17px;margin-bottom:13px;background:linear-gradient(145deg,var(--surface-2),var(--surface));transition:.2s ease}.nav-mode-copy{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.nav-mode-copy b{font-size:11px}.nav-mode-copy small{font-size:8px}.nav-mode-options{grid-template-columns:repeat(4,1fr);gap:7px}.nav-mode-options button{min-height:62px;grid-template-columns:29px 1fr;padding:8px 9px;border-radius:13px}.nav-mode-options button>span{width:29px;height:29px}.nav-mode-options button b{font-size:9px}.nav-mode-options button small{font-size:7px}.nav-mode-options button.active{box-shadow:0 8px 20px rgba(48,86,205,.12),inset 0 0 0 1px color-mix(in srgb,var(--primary) 20%,transparent)}
.nav-mode-card.mode-focus{box-shadow:0 0 0 3px rgba(61,103,232,.13),0 16px 35px rgba(45,79,151,.10)}.nav-mode-card.mode-confirmed{animation:modeConfirmed .42s ease}@keyframes modeConfirmed{45%{transform:scale(.992);box-shadow:0 0 0 3px rgba(46,193,158,.16)}100%{transform:none}}
.launcher-toolbar{padding-bottom:9px;margin-bottom:8px}.launcher-tab{font-size:9px}
.launcher-section{padding:7px 0 10px}.launcher-section-title{margin:0 0 7px 2px}.launcher-section-title b{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.launcher-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.launcher-item>a{height:105px;border:0!important;background:transparent!important;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px 6px;gap:7px;box-shadow:none!important}
.launcher-item>a:hover{background:var(--surface-2)!important;transform:translateY(-2px)}.launcher-item.active>a{background:color-mix(in srgb,var(--primary-soft) 55%,transparent)!important}
.launcher-app-icon{width:54px;height:54px;flex:0 0 54px;border-radius:17px}.launcher-app-icon .ui-icon{width:25px;height:25px}.launcher-item>a b{font-size:9px;line-height:1.15;white-space:normal;max-width:100%}.launcher-item>a small{display:none!important}
.launcher-pin{right:8px;top:7px;width:24px;height:24px;border-radius:8px;background:color-mix(in srgb,var(--surface) 74%,transparent);opacity:.38}.launcher-item:hover .launcher-pin,.launcher-pin.pinned{opacity:1}.launcher-pin .ui-icon{width:12px;height:12px}
.app-launcher-foot{padding-top:10px;font-size:8px}

/* Compact rail still has a one-tap App Drawer button. */
.app-shell.sidebar-collapsed .sidebar-launcher-trigger{display:grid!important;width:48px!important;height:48px!important;min-height:48px!important;padding:0!important;margin:7px auto 10px!important;border-radius:14px!important}.app-shell.sidebar-collapsed .launcher-trigger-icon{width:38px;height:38px}.app-shell.sidebar-collapsed .launcher-trigger-label{display:none!important}
.app-shell.sidebar-launcher .sidebar-launcher-trigger{display:grid!important;width:52px!important;height:52px!important;min-height:52px!important;padding:0!important;margin:16px auto 10px!important}.app-shell.sidebar-launcher .launcher-trigger-icon{width:42px;height:42px}.app-shell.sidebar-launcher .launcher-trigger-label{display:none!important}

@media(max-width:1120px){.top-apps-launcher{min-width:48px;width:48px;padding:5px}.top-apps-copy{display:none}.top-apps-icon{width:36px;height:36px}.app-launcher-panel{width:min(700px,calc(100vw - 24px))}}
@media(max-width:940px){.sidebar-launcher-trigger{display:none!important}.app-launcher-backdrop{padding:16px 10px calc(88px + env(safe-area-inset-bottom));align-items:flex-end}.app-launcher-panel{width:100%;max-height:86vh;border-radius:24px;padding:16px}.nav-mode-card{display:none!important}.launcher-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.launcher-item>a{height:94px}.launcher-app-icon{width:48px;height:48px;flex-basis:48px}.launcher-item>a b{font-size:8px}}
@media(max-width:560px){.launcher-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.app-launcher-panel{border-radius:24px 24px 20px 20px}.app-launcher-head h2{font-size:19px}}
@media(max-width:390px){.launcher-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.launcher-item>a{height:90px}.launcher-app-icon{width:45px;height:45px;flex-basis:45px}}


/* ============================================================
   v0.7.11 — Floating Launcher Grid Navigation
   Icons fan/slide out from the apps button like a mobile app screen.
   ============================================================ */
@media(min-width:941px){
  .topbar .menu-btn{display:none!important}
  .floating-launcher-primary{min-width:48px!important;width:48px!important;padding:5px!important;border-radius:15px!important}
  .floating-launcher-primary .top-apps-copy{display:none!important}
  .floating-launcher-primary .top-apps-icon{width:36px;height:36px}
}
.floating-launcher-backdrop{
  position:fixed!important;inset:0!important;z-index:210!important;display:block!important;
  padding:0!important;background:rgba(5,16,34,.10)!important;backdrop-filter:blur(2px)!important;
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease!important;
}
.floating-launcher-backdrop.open{opacity:1;visibility:visible;pointer-events:auto}
.floating-launcher-stage{
  position:fixed!important;left:var(--launcher-x,88px)!important;top:var(--launcher-y,76px)!important;
  width:min(510px,calc(100vw - 32px))!important;max-height:calc(100vh - var(--launcher-y,76px) - 18px)!important;
  overflow:auto!important;padding:10px 8px 12px!important;margin:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;outline:none!important;
  transform-origin:24px 0;scrollbar-width:none;
}
.floating-launcher-stage::-webkit-scrollbar{display:none}
.floating-launcher-grid{display:grid!important;grid-template-columns:repeat(4,86px)!important;gap:15px 17px!important;align-items:start!important;justify-content:start!important}
.floating-launcher-app{
  width:86px;min-height:92px;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;
  gap:7px!important;padding:4px 2px!important;text-decoration:none!important;color:#173052!important;text-align:center!important;
  opacity:0;transform:translate(-24px,7px) scale(.74);filter:blur(2px);
  transition:transform .30s cubic-bezier(.2,.85,.26,1.18),opacity .22s ease,filter .22s ease!important;
  transition-delay:calc(var(--app-i,0) * 24ms)!important;
}
.floating-launcher-backdrop.open .floating-launcher-app{opacity:1;transform:translate(0,0) scale(1);filter:none}
[data-theme="dark"] .floating-launcher-app{color:#eef5ff!important}
.floating-launcher-icon{
  width:58px;height:58px;display:grid!important;place-items:center!important;border-radius:18px!important;color:#fff!important;
  background:linear-gradient(145deg,var(--icon-1,#4c80df),var(--icon-2,#3157b5))!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 12px 26px var(--icon-glow,rgba(49,88,212,.26)),inset 0 1px 0 rgba(255,255,255,.28)!important;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease!important;
}
.floating-launcher-icon .ui-icon{width:28px!important;height:28px!important;stroke-width:1.75!important}
.floating-launcher-app b{display:block!important;max-width:86px;font-size:10px!important;line-height:1.18!important;font-weight:750!important;white-space:normal!important;text-wrap:balance}
.floating-launcher-app:hover .floating-launcher-icon,.floating-launcher-app:focus-visible .floating-launcher-icon{transform:translateY(-4px) scale(1.055);filter:saturate(1.08);box-shadow:0 17px 32px var(--icon-glow,rgba(49,88,212,.34)),inset 0 1px 0 rgba(255,255,255,.3)!important}
.floating-launcher-app:hover b,.floating-launcher-app.active b{color:var(--primary)!important}
.floating-launcher-app.active .floating-launcher-icon{outline:3px solid color-mix(in srgb,var(--primary) 16%,transparent);outline-offset:3px}
.floating-launcher-modebar{
  margin-top:13px;display:flex;align-items:center;gap:6px;width:max-content;max-width:100%;padding:6px 7px;border-radius:16px;
  background:rgba(250,252,255,.86);border:1px solid rgba(191,207,230,.72);box-shadow:0 12px 30px rgba(12,35,71,.10);backdrop-filter:blur(14px);
  opacity:0;transform:translateX(-14px);transition:.22s ease .15s;
}
.floating-launcher-backdrop.open .floating-launcher-modebar{opacity:1;transform:none}
[data-theme="dark"] .floating-launcher-modebar{background:rgba(12,28,52,.88);border-color:rgba(124,157,205,.18)}
.floating-launcher-modebar>span{font-size:8px;font-weight:800;color:var(--muted);padding:0 4px}
.floating-launcher-modebar button{width:49px;height:42px;border:0;border-radius:11px;background:transparent;color:var(--text-2);display:grid;grid-template-columns:16px 1fr;align-items:center;gap:3px;padding:5px;cursor:pointer}
.floating-launcher-modebar button:hover,.floating-launcher-modebar button.active{background:var(--primary-soft);color:var(--primary)}
.floating-launcher-modebar button .ui-icon{width:14px;height:14px}.floating-launcher-modebar button small{font-size:7px}
/* Sidebar launcher button is now an app icon trigger, not a second drawer card. */
.sidebar-launcher-trigger{width:48px!important;height:48px!important;min-height:48px!important;margin:2px auto 12px!important;padding:0!important;border-radius:15px!important;display:grid!important;place-items:center!important;background:transparent!important;border:0!important}
.sidebar-launcher-trigger .launcher-trigger-icon{width:44px;height:44px;border-radius:14px}.sidebar-launcher-trigger .launcher-trigger-label{display:none!important}
/* Online learning gets its own warm app color. */
.icon-tone-online,.icon-tone-amber{--icon-1:#f5ae3d;--icon-2:#d88018;--icon-glow:rgba(224,139,31,.30)}
@media(max-width:940px){
  .floating-launcher-backdrop{background:rgba(5,16,34,.17)!important;backdrop-filter:blur(3px)!important}
  .floating-launcher-stage{left:14px!important;right:14px!important;top:72px!important;width:auto!important;max-height:calc(100vh - 154px)!important;padding:10px 6px 18px!important}
  .floating-launcher-grid{grid-template-columns:repeat(4,minmax(62px,1fr))!important;gap:16px 8px!important;justify-content:stretch!important}
  .floating-launcher-app{width:auto!important;min-width:0!important;min-height:86px!important}
  .floating-launcher-icon{width:55px;height:55px;border-radius:17px}.floating-launcher-app b{font-size:9px!important;max-width:76px!important}
  .floating-launcher-modebar{display:none!important}
}
@media(max-width:520px){
  .floating-launcher-grid{grid-template-columns:repeat(3,minmax(72px,1fr))!important;gap:17px 10px!important}
  .floating-launcher-icon{width:58px;height:58px}.floating-launcher-app b{font-size:9px!important}
}
@media(prefers-reduced-motion:reduce){.floating-launcher-app,.floating-launcher-modebar{transition:none!important;transform:none!important;filter:none!important}}

/* =============================================================
   v0.7.12 — Launcher Label Visibility Polish
   Colored half-capsule labels below floating app icons.
   ============================================================= */
.floating-launcher-app{
  gap:0!important;
  min-height:104px!important;
  padding:4px 2px 6px!important;
  overflow:visible!important;
}
.floating-launcher-icon{
  position:relative;
  z-index:2;
  margin-bottom:-7px!important;
}
.floating-launcher-app b{
  position:relative;
  z-index:1;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:82px!important;
  max-width:82px!important;
  min-height:35px!important;
  padding:9px 7px 5px!important;
  margin:0!important;
  border-radius:11px 11px 19px 19px!important;
  border:1px solid color-mix(in srgb,var(--icon-1,#4c80df) 24%,rgba(157,183,216,.42))!important;
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--icon-1,#4c80df) 17%,rgba(255,255,255,.98)),
    color-mix(in srgb,var(--icon-2,#3157b5) 9%,rgba(247,251,255,.98)))!important;
  color:#16385f!important;
  box-shadow:0 7px 18px rgba(38,69,111,.09),inset 0 1px 0 rgba(255,255,255,.78)!important;
  font-size:9.5px!important;
  line-height:1.15!important;
  font-weight:800!important;
  letter-spacing:-.05px!important;
  text-align:center!important;
  white-space:normal!important;
  text-wrap:balance!important;
  overflow-wrap:anywhere!important;
  transition:transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease!important;
}
.floating-launcher-app b::before{
  content:"";
  position:absolute;
  left:50%;top:-1px;
  width:38px;height:7px;
  transform:translate(-50%,-45%);
  border-radius:0 0 999px 999px;
  background:color-mix(in srgb,var(--icon-2,#3157b5) 17%,rgba(255,255,255,.95));
  opacity:.9;
  pointer-events:none;
}
.floating-launcher-app:hover b,.floating-launcher-app:focus-visible b{
  color:#0e3159!important;
  transform:translateY(1px);
  border-color:color-mix(in srgb,var(--icon-1,#4c80df) 42%,rgba(157,183,216,.46))!important;
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--icon-1,#4c80df) 22%,#fff),
    color-mix(in srgb,var(--icon-2,#3157b5) 12%,#f5f9ff))!important;
  box-shadow:0 9px 22px var(--icon-glow,rgba(49,88,212,.14)),inset 0 1px 0 rgba(255,255,255,.86)!important;
}
.floating-launcher-app.active b{
  color:#0f3562!important;
  border-color:color-mix(in srgb,var(--icon-1,#4c80df) 48%,rgba(157,183,216,.45))!important;
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--icon-1,#4c80df) 25%,#fff),
    color-mix(in srgb,var(--icon-2,#3157b5) 14%,#f5f9ff))!important;
}
[data-theme="dark"] .floating-launcher-app b{
  color:#f4f8ff!important;
  border-color:color-mix(in srgb,var(--icon-1,#4c80df) 32%,rgba(123,157,205,.24))!important;
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--icon-1,#4c80df) 18%,rgba(19,43,78,.94)),
    color-mix(in srgb,var(--icon-2,#3157b5) 10%,rgba(9,28,56,.96)))!important;
  box-shadow:0 8px 20px rgba(0,16,40,.26),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
[data-theme="dark"] .floating-launcher-app b::before{
  background:color-mix(in srgb,var(--icon-1,#4c80df) 24%,rgba(20,46,82,.96));
}
[data-theme="dark"] .floating-launcher-app:hover b,
[data-theme="dark"] .floating-launcher-app:focus-visible b,
[data-theme="dark"] .floating-launcher-app.active b{
  color:#fff!important;
  border-color:color-mix(in srgb,var(--icon-1,#4c80df) 48%,rgba(123,157,205,.30))!important;
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--icon-1,#4c80df) 25%,rgba(21,49,88,.97)),
    color-mix(in srgb,var(--icon-2,#3157b5) 15%,rgba(10,31,62,.98)))!important;
}
/* Give the menu a touch more contrast so labels stay readable over the page. */
.floating-launcher-backdrop{
  background:rgba(5,16,34,.14)!important;
  backdrop-filter:blur(3.5px)!important;
}
@media(max-width:940px){
  .floating-launcher-app{min-height:101px!important}
  .floating-launcher-app b{width:78px!important;max-width:78px!important;min-height:34px!important;font-size:9px!important;padding:9px 5px 5px!important}
}
@media(max-width:520px){
  .floating-launcher-app{min-height:104px!important}
  .floating-launcher-app b{width:82px!important;max-width:82px!important;font-size:9px!important}
}

/* ========================================================================== */
/* Online Learning Studio v0.8.0                                               */
/* ========================================================================== */
.lms-admin-hero,.lms-student-head,.lms-builder-top,.lms-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;overflow:hidden;position:relative}
.lms-admin-hero:after,.lms-student-head:after{content:"";position:absolute;right:-80px;top:-120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(58,135,255,.18),rgba(67,204,255,.07) 42%,transparent 70%);pointer-events:none}
.lms-admin-hero h2,.lms-student-head h2,.lms-builder-top h2,.lms-preview-head h2{margin:4px 0 8px;font-size:clamp(24px,2.2vw,34px);letter-spacing:-.02em}
.lms-admin-hero p,.lms-student-head p,.lms-builder-top p,.lms-preview-head p{margin:0;max-width:820px;color:var(--muted)}
.lms-admin-actions,.lms-builder-top-actions,.lms-preview-head>div:last-child,.lms-final-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;position:relative;z-index:1}
.lms-rule-strip{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.lms-rule-strip span,.lms-rule-pill,.lms-preview-rule span{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:rgba(44,115,230,.08);border:1px solid rgba(44,115,230,.12);font-size:12px;font-weight:700;color:var(--text)}
.lms-rule-strip svg,.lms-rule-pill svg,.lms-preview-rule svg{width:16px;height:16px;color:#2b79dc}
.lms-stats{margin-top:16px}.lms-stats .stat{min-height:100px}.lms-card-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;flex:0 0 auto;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 8px 18px rgba(18,45,82,.08)}
.lms-card-icon svg{width:23px;height:23px}
.lms-library{margin-top:16px}.lms-course-filter select{min-width:250px}.lms-lesson-list{display:grid;gap:10px;margin-top:14px}
.lms-lesson-row{display:flex;align-items:center;gap:16px;padding:15px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(247,250,255,.68));transition:.2s ease}
.lms-lesson-row:hover{border-color:rgba(60,126,220,.25);box-shadow:0 12px 28px rgba(30,69,116,.07);transform:translateY(-1px)}
.lms-lesson-main{min-width:0;flex:1}.lms-title-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.lms-title-line h3{margin:0;font-size:16px}.lms-lesson-main>p{margin:4px 0 0;color:var(--muted);font-size:13px}
.lms-meta-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:9px;color:var(--muted);font-size:12px}.lms-meta-row span{display:inline-flex;align-items:center;gap:5px}.lms-meta-row svg{width:14px;height:14px}
.lms-row-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.lms-row-actions form{margin:0}
.lms-student-card{display:flex;align-items:center;gap:15px}.lms-student-card .lms-card-copy{flex:1;min-width:0}.lms-student-card h3{margin:2px 0 5px}.lms-student-card p{margin:0;color:var(--muted)}.lms-course-name{font-size:11px;font-weight:800;letter-spacing:.05em;color:#3876c4;text-transform:uppercase}.lms-student-status{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.lms-course-grid{display:grid;gap:12px;margin-top:16px}.lms-phase-note{margin-top:14px}

.lms-builder{display:grid;gap:14px}.lms-builder-top{position:sticky;top:76px;z-index:18;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.lms-stepper{display:grid;grid-template-columns:repeat(4,1fr);padding:10px;gap:8px;position:sticky;top:181px;z-index:17}
.lms-step{appearance:none;border:0;background:transparent;border-radius:15px;padding:12px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font:inherit;cursor:pointer;transition:.18s ease}.lms-step>span{display:grid;place-items:center;width:24px;height:24px;border-radius:9px;background:rgba(114,137,167,.1);font-size:11px;font-weight:900}.lms-step svg{width:18px}.lms-step b{font-size:13px}.lms-step.active{background:linear-gradient(135deg,rgba(47,112,221,.12),rgba(71,183,237,.1));color:#226cc9;box-shadow:inset 0 0 0 1px rgba(48,116,217,.15)}.lms-step.active>span{background:#2776dc;color:#fff}
.lms-step-panel{display:none}.lms-step-panel.active{display:block;animation:lmsPanelIn .25s ease both}@keyframes lmsPanelIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.lms-panel-nav{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.lms-video-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.88fr);gap:20px}.lms-url-input{display:flex;gap:8px}.lms-url-input input{flex:1}.lms-percent-input{display:flex;align-items:center;max-width:190px}.lms-percent-input input{border-radius:12px 0 0 12px}.lms-percent-input span{height:43px;display:grid;place-items:center;padding:0 15px;border:1px solid var(--line);border-left:0;border-radius:0 12px 12px 0;background:rgba(107,133,166,.07);font-weight:800;color:var(--muted)}
.lms-rule-card{padding:15px 16px;border:1px solid rgba(38,121,215,.15);border-radius:16px;background:linear-gradient(135deg,rgba(45,127,223,.07),rgba(64,196,225,.05))}.lms-rule-card b{display:flex;align-items:center;gap:8px}.lms-rule-card b svg{width:18px;color:#2776dc}.lms-rule-card ul{margin:10px 0 0;padding-left:20px;color:var(--muted);line-height:1.8;font-size:13px}
.lms-video-preview{min-height:300px;border-radius:20px;overflow:hidden;background:linear-gradient(145deg,#081d39,#0e315b);box-shadow:0 20px 40px rgba(12,39,76,.16);display:grid;place-items:center}.lms-video-preview iframe{width:100%;height:100%;min-height:300px;border:0}.lms-video-preview.large{min-height:430px}.lms-video-preview.large iframe{min-height:430px}.lms-video-empty{color:#dcecff;display:grid;place-items:center;gap:8px;text-align:center}.lms-video-empty svg{width:45px;height:45px;color:#72c7ff}.lms-video-empty span{font-size:12px;opacity:.7}

.lms-question-list{display:grid;gap:16px;margin-top:10px}.lms-question-card{border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.65);overflow:hidden;box-shadow:0 8px 25px rgba(36,69,109,.04)}.lms-question-card>header{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;background:linear-gradient(90deg,rgba(47,115,218,.07),rgba(85,188,230,.035));border-bottom:1px solid var(--line)}.lms-question-card>header>div{display:flex;align-items:center;gap:9px}.question-index{padding:5px 8px;border-radius:9px;background:#2b77d5;color:white;font-size:11px;font-weight:900}.lms-question-card>header b{font-size:13px}.lms-question-body{padding:16px;display:grid;gap:14px}.lms-image-field{display:grid;gap:8px}.lms-image-field>label,.lms-time-setting>label{font-size:12px;font-weight:800;color:var(--text)}.lms-image-preview{min-height:92px;display:grid;place-items:center;border:1px dashed rgba(79,116,161,.25);border-radius:14px;background:rgba(108,139,176,.035);overflow:hidden;color:var(--muted);font-size:12px}.lms-image-preview span{display:flex;align-items:center;gap:7px}.lms-image-preview svg{width:18px}.lms-image-preview.has-image{min-height:160px}.lms-image-preview img{display:block;max-width:100%;max-height:300px;object-fit:contain}
.lms-time-setting{padding:13px;border-radius:15px;background:rgba(61,120,196,.045);border:1px solid rgba(70,125,191,.09)}.lms-time-options{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:9px}.lms-time-options>label{display:flex;align-items:center;gap:6px;font-size:13px}.lms-time-value{display:flex;align-items:center;transition:.18s ease}.lms-time-value input{width:100px;border-radius:10px 0 0 10px}.lms-time-value span{height:41px;display:grid;place-items:center;padding:0 11px;border:1px solid var(--line);border-left:0;border-radius:0 10px 10px 0;font-size:12px;color:var(--muted)}.lms-time-value.is-disabled{opacity:.4;pointer-events:none}
.lms-choice-list{display:grid;gap:8px}.lms-choice-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto 34px;align-items:center;gap:9px;padding:8px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.62)}.choice-letter{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:rgba(54,119,208,.09);color:#2b70c5;font-weight:900}.choice-fields{display:flex;align-items:center;gap:7px;min-width:0}.choice-fields>input:not([type="hidden"]){min-width:0;flex:1}.choice-image-btn{display:inline-flex;align-items:center;gap:5px;height:39px;padding:0 10px;border-radius:10px;border:1px solid var(--line);font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;background:rgba(81,119,164,.04)}.choice-image-btn svg{width:15px}.choice-image-btn input{display:none}.choice-thumb{width:52px;height:38px;border-radius:8px;object-fit:cover;border:1px solid var(--line)}.choice-correct{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px;font-weight:700;color:var(--muted)}.choice-correct:has(input:checked){color:#15854c}.choice-correct input{accent-color:#1c9b5e}
.icon-btn.danger-soft{color:#bd5260;background:rgba(220,80,99,.07);border-color:rgba(220,80,99,.12)}

.lms-final-grid{display:grid;gap:18px}.lms-cycle-diagram{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:10px;padding:18px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(135deg,rgba(45,115,215,.04),rgba(80,196,217,.035))}.lms-cycle-diagram>div{min-height:100px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.72);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px}.lms-cycle-diagram>div>span{width:27px;height:27px;border-radius:9px;background:#2776dc;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:900;margin-bottom:7px}.lms-cycle-diagram b{font-size:13px}.lms-cycle-diagram small{margin-top:4px;color:var(--muted)}.lms-cycle-diagram>.rewatch{border-color:rgba(222,150,41,.25);background:rgba(255,191,69,.075)}.lms-cycle-diagram>.rewatch>span{background:#e49a26}.lms-cycle-diagram>i{color:#7592b2}.lms-cycle-diagram>i svg{width:19px}

.lms-preview-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:15px}.lms-preview-rule{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.lms-preview-question{margin-top:12px;padding:13px;border:1px solid var(--line);border-radius:16px}.preview-q-head{display:flex;justify-content:space-between;align-items:center}.preview-q-head span{font-size:11px;color:var(--muted);padding:5px 8px;border-radius:999px;background:rgba(80,116,160,.07)}.lms-preview-question>p{line-height:1.6}.lms-preview-question>img{display:block;max-width:100%;max-height:240px;margin:9px auto;border-radius:12px}.preview-choices{display:grid;gap:7px}.preview-choice{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;padding:8px;border-radius:12px;background:rgba(91,124,163,.05);border:1px solid transparent}.preview-choice>span{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:rgba(66,120,192,.1);font-weight:900}.preview-choice.correct{border-color:rgba(30,153,91,.25);background:rgba(30,153,91,.06)}.preview-choice.correct>span{background:#20955e;color:#fff}.preview-choice em{font-style:normal;color:#178653;font-size:11px;font-weight:800}.preview-choice img{display:block;max-width:100%;max-height:130px;border-radius:9px;margin-top:5px}

.lms-permission-layout{align-items:start}.permission-grid{display:grid;gap:8px;margin:12px 0 16px}.permission-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.54)}.permission-row>div{display:grid;gap:2px}.permission-row small{color:var(--muted);font-size:10px}.permission-row select{width:150px}

html[data-theme="dark"] .lms-lesson-row,html[data-theme="dark"] .lms-question-card,html[data-theme="dark"] .lms-choice-row,html[data-theme="dark"] .lms-cycle-diagram>div,html[data-theme="dark"] .permission-row{background:rgba(12,31,55,.72)}
html[data-theme="dark"] .lms-step.active{background:linear-gradient(135deg,rgba(56,132,231,.18),rgba(54,201,230,.08))}
html[data-theme="dark"] .lms-rule-strip span,html[data-theme="dark"] .lms-rule-pill{background:rgba(59,139,236,.11);border-color:rgba(80,162,255,.14)}

@media (max-width:1100px){.lms-video-grid,.lms-preview-layout{grid-template-columns:1fr}.lms-builder-top{position:relative;top:auto}.lms-stepper{top:74px}.lms-cycle-diagram{grid-template-columns:1fr 1fr}.lms-cycle-diagram>i{display:none}}
@media (max-width:760px){.lms-admin-hero,.lms-student-head,.lms-builder-top,.lms-preview-head{flex-direction:column}.lms-admin-actions,.lms-builder-top-actions,.lms-preview-head>div:last-child{width:100%}.lms-admin-actions .button,.lms-builder-top-actions .button{flex:1;justify-content:center}.lms-stepper{grid-template-columns:repeat(4,1fr);padding:6px;gap:4px;top:65px}.lms-step{padding:8px 4px;display:grid;gap:4px;justify-items:center}.lms-step svg{display:none}.lms-step b{font-size:10px}.lms-step>span{width:21px;height:21px}.lms-lesson-row,.lms-student-card{align-items:flex-start}.lms-row-actions{width:100%;grid-column:1/-1;justify-content:flex-start}.lms-lesson-row{display:grid;grid-template-columns:48px 1fr}.lms-course-filter select{min-width:0;width:100%}.lms-choice-row{grid-template-columns:32px 1fr 32px}.choice-correct{grid-column:2/3}.choice-fields{flex-wrap:wrap}.choice-image-btn{height:36px}.lms-cycle-diagram{grid-template-columns:1fr}.lms-panel-nav{gap:8px}.lms-final-actions{justify-content:flex-end}.permission-row{align-items:flex-start;flex-direction:column}.permission-row select{width:100%}.lms-video-preview.large,.lms-video-preview.large iframe{min-height:260px}}

/* ===== Student Portal + Online Learning Phase 2A v0.8.1 ===== */
.login-role-icon{width:58px;height:58px;border-radius:19px;display:grid;place-items:center;margin-bottom:14px;background:linear-gradient(145deg,#eaf5ff,#dbeaff);color:#246fc9;box-shadow:inset 0 1px 0 #fff,0 10px 24px rgba(34,86,145,.12)}.login-role-icon svg{width:27px;height:27px}.login-role-switch{margin-top:12px;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 13px;border-radius:13px;border:1px solid var(--line);background:rgba(67,117,180,.045);color:var(--text);font-size:12px;font-weight:800;text-decoration:none}.login-role-switch svg{width:17px;color:#447ab8}.student-login-page .login-visual{background:radial-gradient(circle at 72% 24%,rgba(66,192,238,.2),transparent 34%),linear-gradient(145deg,#071c38,#0b315a 62%,#10446f)}.student-login-page .pill{background:rgba(107,209,255,.12);border-color:rgba(128,218,255,.18);color:#bfeeff}.student-login-page .login-main-btn{background:linear-gradient(135deg,#2079dc,#2fa4e4);box-shadow:0 12px 24px rgba(37,119,204,.23)}

.student-portal-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:hidden;position:relative;background:linear-gradient(135deg,#fafdff 0%,#f2f8ff 58%,#eef7ff 100%)}.student-portal-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-95px;top:-100px;background:radial-gradient(circle,rgba(72,154,229,.13),transparent 68%)}.student-portal-hero h2{font-size:30px;margin:4px 0 8px}.student-portal-hero p{color:var(--muted);margin:0}.student-portal-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.student-portal-orb{position:relative;z-index:1;width:150px;height:150px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at 35% 30%,#fff,#e9f4ff 58%,#d7ebff);border:1px solid rgba(62,131,204,.15);box-shadow:inset 0 0 35px rgba(67,147,222,.12),0 20px 40px rgba(42,91,145,.1)}.student-portal-orb b{font-size:36px;color:#1e6ec8}.student-portal-orb span{font-weight:900;color:#6e89a7}.student-portal-orb small{display:block;margin-top:3px;color:var(--muted)}.student-portal-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.student-portal-stats>.card{display:flex;align-items:center;gap:13px;min-height:88px}.student-portal-stats small{display:block;color:var(--muted)}.student-portal-stats b{font-size:24px}.student-score-overview{margin-top:14px}.student-course-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.student-course-score-grid article{border:1px solid var(--line);border-radius:18px;padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(247,251,255,.78))}.student-course-score-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:11px}.student-course-score-head span{font-size:11px;color:var(--muted)}.student-score-pills{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.student-score-pills>span{padding:9px;border-radius:12px;background:rgba(75,123,178,.055);display:grid;gap:2px}.student-score-pills small{font-size:10px;color:var(--muted)}.student-score-pills b{font-size:13px}.student-score-pills .total{background:linear-gradient(135deg,rgba(37,118,214,.12),rgba(51,173,221,.08));color:#1968bd}

.student-learning-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#fbfdff,#f1f7ff)}.student-learning-hero h2{font-size:29px;margin:3px 0 7px}.student-learning-hero p{margin:0;color:var(--muted);max-width:740px}.student-learning-summary{display:flex;gap:8px}.student-learning-summary>div{min-width:82px;padding:10px 12px;border-radius:15px;text-align:center;background:#fff;border:1px solid var(--line);box-shadow:0 8px 20px rgba(38,76,120,.05)}.student-learning-summary b{display:block;font-size:20px;color:#226dc7}.student-learning-summary span{font-size:10px;color:var(--muted)}.student-learning-rulebar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.student-learning-rulebar span{display:inline-flex;gap:6px;align-items:center;padding:8px 10px;border:1px solid rgba(50,120,198,.13);border-radius:999px;background:rgba(65,134,210,.055);font-size:11px;font-weight:800;color:#41698f}.student-learning-rulebar svg{width:15px;color:#2477d3}.student-lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.student-lesson-card{position:relative;display:flex;flex-direction:column;min-height:330px;overflow:hidden;transition:.2s ease}.student-lesson-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(31,72,120,.1)}.student-lesson-card:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-70px;bottom:-70px;background:radial-gradient(circle,rgba(54,151,222,.08),transparent 70%)}.student-lesson-card.is-passed{border-color:rgba(32,159,94,.2)}.student-lesson-card.needs-review{border-color:rgba(226,155,40,.24)}.student-lesson-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.student-course-badge{font-size:10px;font-weight:900;letter-spacing:.05em;color:#3974b5;text-transform:uppercase}.student-lesson-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;margin:18px 0 12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 10px 22px rgba(35,87,145,.09)}.student-lesson-icon svg{width:26px;height:26px}.student-lesson-card h3{font-size:18px;margin:0 0 6px}.student-lesson-card>p{color:var(--muted);font-size:12px;line-height:1.6;margin:0}.student-lesson-progress{margin-top:auto;padding-top:18px}.student-lesson-progress>div:first-child{display:flex;justify-content:space-between;font-size:11px}.student-lesson-progress>div:first-child span{color:var(--muted)}.student-progress-track{height:7px;border-radius:999px;background:rgba(76,116,164,.09);overflow:hidden;margin:7px 0}.student-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2c7bd8,#43b4dd)}.student-lesson-progress small{color:var(--muted);font-size:10px}.student-lesson-button{margin-top:13px;justify-content:center;position:relative;z-index:1}.student-empty-learning{grid-column:1/-1;text-align:center;min-height:260px;display:grid;place-content:center;justify-items:center}

.student-lesson-breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:10px}.student-lesson-breadcrumb a{color:#2c73c6;text-decoration:none;font-weight:800}.student-video-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px;align-items:start}.student-video-card{padding:18px}.student-video-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.student-video-heading h2{font-size:26px;margin:3px 0 7px}.student-video-heading p{margin:0;color:var(--muted)}.video-rule-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:8px 10px;background:rgba(42,119,208,.07);border:1px solid rgba(42,119,208,.13);font-size:11px;font-weight:900;color:#2f6fae;white-space:nowrap}.video-rule-badge svg{width:16px}.secure-youtube-player{position:relative;margin-top:15px;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#071a31;box-shadow:0 20px 40px rgba(14,43,77,.16)}.secure-youtube-player>div:first-child,.secure-youtube-player iframe{width:100%;height:100%}.video-lock-overlay{position:absolute;left:50%;bottom:18px;transform:translate(-50%,12px);opacity:0;display:flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;background:rgba(5,18,35,.9);color:#fff;font-size:11px;font-weight:800;box-shadow:0 10px 26px rgba(0,0,0,.28);transition:.18s ease}.video-lock-overlay.show{opacity:1;transform:translate(-50%,0)}.video-lock-overlay svg{width:16px;color:#7dc8ff}.video-learning-progress{margin-top:14px}.video-progress-copy{display:flex;justify-content:space-between;align-items:end}.video-progress-copy small{display:block;color:var(--muted)}.video-progress-copy b{font-size:24px;color:#216fc5}.video-progress-copy>span{font-size:11px;color:#5c7a99}.video-progress-track{position:relative;height:9px;border-radius:999px;background:rgba(74,114,161,.1);margin:8px 0}.video-progress-track i{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#297ad9,#42b2df)}.video-progress-track em{position:absolute;top:-4px;width:2px;height:17px;background:#e0a02a;border-radius:2px}.video-learning-progress p{margin:0;color:var(--muted);font-size:11px}.student-lesson-side{display:grid;gap:12px}.lesson-quiz-card{text-align:center}.lesson-side-icon{width:58px;height:58px;border-radius:19px;display:grid;place-items:center;margin:0 auto 10px}.lesson-side-icon svg{width:28px}.lesson-quiz-card h3{margin:0 0 12px}.quiz-side-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.quiz-side-stats>div{padding:10px 6px;border-radius:12px;background:rgba(79,117,162,.055)}.quiz-side-stats b{display:block;font-size:17px}.quiz-side-stats span{font-size:9px;color:var(--muted)}.quiz-lock-message{display:flex;gap:9px;text-align:left;padding:11px;margin:12px 0;border-radius:14px;background:rgba(75,115,163,.055);border:1px solid var(--line)}.quiz-lock-message svg{width:20px;flex:0 0 auto;color:#6e8eaf}.quiz-lock-message b,.quiz-lock-message small{display:block}.quiz-lock-message small{color:var(--muted);font-size:10px;margin-top:2px;line-height:1.5}.quiz-lock-message.ready{background:rgba(35,157,95,.06);border-color:rgba(35,157,95,.18)}.quiz-lock-message.ready svg{color:#22915b}.quiz-lock-message.orange{background:rgba(226,155,40,.07);border-color:rgba(226,155,40,.2)}.quiz-lock-message.orange svg{color:#c98216}.start-quiz-btn{width:100%;justify-content:center}.start-quiz-btn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.attempt-history-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:11px}.attempt-history-row:last-child{border-bottom:0}

.exam-mode-page{margin:0;background:linear-gradient(180deg,#f2f7fd,#f8fbff);color:#17324e;font-family:var(--font,system-ui,sans-serif);min-height:100vh}.exam-shell{min-height:100vh}.exam-topbar{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:minmax(240px,1fr) minmax(220px,420px) minmax(220px,1fr);align-items:center;gap:16px;padding:12px 22px;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(69,111,157,.12);box-shadow:0 8px 30px rgba(39,75,115,.06)}.exam-brand{display:flex;align-items:center;gap:10px}.exam-brand img{width:44px;height:44px;border-radius:50%;object-fit:contain;background:#fff;border:1px solid rgba(44,85,131,.14)}.exam-brand b,.exam-brand small{display:block}.exam-brand small{font-size:10px;color:#68839f}.exam-progress-copy{text-align:center}.exam-progress-copy>span{font-size:11px;font-weight:900;color:#4d7298}.exam-progress-track{height:6px;border-radius:999px;background:#e9f0f7;margin-top:6px;overflow:hidden}.exam-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2b77d4,#54bde0)}.exam-lock-pill{justify-self:end;display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:#eef6ff;border:1px solid #dbeafa;font-size:10px;font-weight:900;color:#3b6f9e}.exam-lock-pill svg{width:15px}.exam-stage{max-width:980px;margin:0 auto;padding:38px 22px 70px}.exam-question-card{background:#fff;border:1px solid #e0e9f2;border-radius:26px;padding:24px;box-shadow:0 24px 60px rgba(34,72,116,.1)}.exam-question-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.exam-question-number{padding:7px 10px;border-radius:10px;background:#eaf4ff;color:#266dc1;font-size:11px;font-weight:900}.exam-no-timer{display:inline-flex;align-items:center;gap:6px;color:#66829e;font-size:11px}.exam-no-timer svg{width:16px}.exam-timer{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:12px;background:#edf6ff;border:1px solid #d8eaff}.exam-timer small{font-size:9px;color:#68829e}.exam-timer b{font-size:17px;color:#216bc3}.exam-timer.warning{background:#fff8e9;border-color:#f7e0ae}.exam-timer.warning b{color:#c58518}.exam-timer.danger{background:#fff0f1;border-color:#f5c7cc;animation:timerPulse .8s infinite alternate}.exam-timer.danger b{color:#cb3e50}@keyframes timerPulse{to{transform:scale(1.03)}}.exam-question-text{font-size:22px;line-height:1.65;font-weight:750;margin:22px 0 16px}.exam-image-button{display:grid;gap:6px;border:0;background:transparent;padding:0;margin:0 auto 18px;cursor:zoom-in}.exam-image-button img{max-width:100%;max-height:420px;border-radius:16px;border:1px solid #dce7f1;box-shadow:0 12px 30px rgba(32,70,112,.08)}.exam-image-button span{font-size:10px;color:#68829e}.exam-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.exam-choice{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 28px;align-items:center;gap:11px;min-height:74px;padding:12px;border:1.5px solid #dce7f1;border-radius:18px;background:#fbfdff;cursor:pointer;transition:.16s ease}.exam-choice:hover{border-color:#bcd7f2;background:#f6fbff;transform:translateY(-1px)}.exam-choice.selected,.exam-choice:has(input:checked){border-color:#4a98e2;background:#f0f8ff;box-shadow:0 10px 25px rgba(44,126,207,.1)}.exam-choice input{position:absolute;opacity:0;pointer-events:none}.exam-choice-letter{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#edf4fb;color:#3972ab;font-weight:900}.exam-choice.selected .exam-choice-letter,.exam-choice:has(input:checked) .exam-choice-letter{background:#2f7bd3;color:#fff}.exam-choice-content{min-width:0;display:grid;gap:7px}.exam-choice-content>b{font-size:14px;line-height:1.5}.choice-image-zoom{border:0;background:transparent;padding:0;justify-self:start;cursor:zoom-in}.choice-image-zoom img{display:block;max-width:100%;max-height:190px;border-radius:12px;border:1px solid #dce7f1}.exam-choice-check{opacity:0;color:#1f9a5d;font-weight:900}.exam-choice.selected .exam-choice-check,.exam-choice:has(input:checked) .exam-choice-check{opacity:1}.exam-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:20px;padding-top:16px;border-top:1px solid #e4ecf3}.exam-actions small{color:#71889e}.exam-next-btn{min-width:150px;justify-content:center}.exam-image-modal{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:30px;background:rgba(4,14,27,.84);backdrop-filter:blur(8px)}.exam-image-modal.open{display:grid}.exam-image-modal img{max-width:min(1100px,92vw);max-height:88vh;border-radius:18px;background:#fff}.exam-image-modal>button{position:absolute;right:22px;top:18px;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:25px;cursor:pointer}

.online-result-wrap{max-width:760px;margin:20px auto}.online-result-card{text-align:center;padding:36px}.result-symbol{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;margin:0 auto 15px;font-size:40px;font-weight:900;background:#eef5fb;color:#6687a7}.online-result-card.pass .result-symbol{background:#e8f8ef;color:#1c9558}.online-result-card.fail .result-symbol{background:#fff4e5;color:#c98118}.online-result-card h2{font-size:30px;margin:4px 0}.result-score{display:grid;gap:3px;margin:18px 0}.result-score b{font-size:48px;color:#236fc8}.result-score span{color:var(--muted)}.online-result-card>p{max-width:580px;margin:0 auto 20px;color:var(--muted);line-height:1.8}.result-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.result-actions form{margin:0}

html[data-theme="dark"] .student-portal-hero,html[data-theme="dark"] .student-learning-hero{background:linear-gradient(135deg,#0b203b,#0e294a)}html[data-theme="dark"] .student-course-score-grid article,html[data-theme="dark"] .student-learning-summary>div{background:rgba(9,29,52,.72)}html[data-theme="dark"] .student-lesson-card{background:rgba(9,29,52,.72)}
@media (max-width:1120px){.student-lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-video-layout{grid-template-columns:1fr}.student-course-score-grid{grid-template-columns:1fr}}
@media (max-width:760px){.student-portal-hero,.student-learning-hero,.student-video-heading{flex-direction:column;align-items:flex-start}.student-portal-orb{width:120px;height:120px;align-self:center}.student-portal-stats{grid-template-columns:1fr 1fr}.student-portal-stats>.card:last-child{grid-column:1/-1}.student-score-pills{grid-template-columns:1fr 1fr}.student-learning-summary{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.student-learning-summary>div{min-width:0}.student-lesson-grid{grid-template-columns:1fr}.student-video-card{padding:13px}.student-video-heading h2{font-size:22px}.video-rule-badge{white-space:normal}.exam-topbar{grid-template-columns:1fr auto;padding:9px 12px}.exam-progress-copy{grid-column:1/-1;grid-row:2}.exam-lock-pill{display:none}.exam-brand img{width:38px;height:38px}.exam-stage{padding:18px 10px 50px}.exam-question-card{padding:15px;border-radius:20px}.exam-question-text{font-size:18px}.exam-choice-grid{grid-template-columns:1fr}.exam-choice{min-height:66px}.exam-actions{align-items:stretch;flex-direction:column}.exam-next-btn{width:100%}.result-score b{font-size:40px}.online-result-card{padding:24px 16px}}

/* ===== v0.8.2 Student Access Center ===== */
.student-login-page{background:#f4f8fc!important;color:#102a43!important}
.student-login-page .login-shell{background:#fff!important;border:1px solid #dce8f3!important;box-shadow:0 28px 80px rgba(38,72,112,.14)!important}
.student-login-page .login-visual{display:flex;flex-direction:column;background:radial-gradient(circle at 86% 15%,rgba(73,143,224,.16),transparent 31%),radial-gradient(circle at 8% 92%,rgba(65,193,202,.10),transparent 28%),linear-gradient(145deg,#fafdff,#edf6ff 62%,#e8f3ff)!important;color:#102a43!important}
.student-login-page .login-visual:before{background:rgba(59,126,212,.07)!important}.student-login-page .login-visual:after{border-color:rgba(44,116,203,.06)!important}
.student-login-page .login-seal-watermark{opacity:.055!important;filter:none!important;mix-blend-mode:multiply}
.student-login-page .login-brand .school-login-logo{background:#fff!important;border:1px solid #d4e3f1!important;box-shadow:0 10px 26px rgba(42,91,145,.12)!important}
.student-login-page .login-brand strong{color:#102a43!important}.student-login-page .login-brand span{color:#71869b!important}
.student-login-page .login-hero{margin-top:70px}.student-login-page .login-hero .pill{background:#e9f6ff!important;border-color:#cce9fb!important;color:#1973b9!important;font-weight:900}
.student-login-page .login-hero h1{color:#102a43!important}.student-login-page .login-hero h1 em{color:#2c8fc5!important;font-style:normal}.student-login-page .login-hero p{color:#657b91!important}
.student-login-page .login-feature{background:rgba(255,255,255,.82)!important;border-color:#dbe8f3!important;color:#37546f!important;box-shadow:0 8px 24px rgba(45,83,122,.05)}
.student-login-page .login-panel{background:#fff!important}.student-login-page .login-card{background:#fff!important;border:0!important;color:#102a43!important;box-shadow:none!important}
.student-login-page .login-card:before{background:#eef6ff!important;color:#2579bc!important}.student-login-page .login-card h2{color:#102a43!important}
.student-login-page .login-role-icon{background:linear-gradient(145deg,#edf7ff,#ddecff)!important;color:#246fc9!important;border:1px solid #d5e7f5!important;box-shadow:inset 0 1px 0 #fff,0 12px 28px rgba(42,91,145,.09)!important}
.student-login-page .login-card input{background:#f8fbfe!important;color:#102a43!important;border:1px solid #d6e3ef!important;box-shadow:inset 0 1px 2px rgba(34,69,105,.03)!important}.student-login-page .login-card input:focus{border-color:#6aafe1!important;box-shadow:0 0 0 4px rgba(67,153,214,.11)!important}
.student-login-page .login-main-btn{background:linear-gradient(135deg,#287fc4,#36a3d4)!important;box-shadow:0 12px 28px rgba(45,137,193,.22)!important}
.student-login-page .login-role-switch{background:#f8fbfe!important;border-color:#dbe7f1!important;color:#23445f!important}.student-login-page .login-role-switch:hover{background:#f0f7fd!important;border-color:#bdd9eb!important}
.student-login-page .login-help,.student-login-page .login-meta{color:#7a8da0!important}.student-login-page .login-meta{border-color:#e4edf5!important}

.student-admin-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:hidden;position:relative;background:linear-gradient(135deg,#fff,#f5faff 58%,#eef7ff);border-color:#dce8f3;box-shadow:0 16px 40px rgba(39,75,111,.08)}
.student-admin-hero:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;right:-120px;top:-150px;background:radial-gradient(circle,rgba(62,139,222,.14),transparent 66%)}
.student-admin-hero-copy{max-width:720px;position:relative;z-index:1}.student-admin-hero h2{font-size:31px;margin:5px 0 7px}.student-admin-hero p{color:var(--muted);max-width:680px}.student-admin-hero-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}.student-admin-hero-actions .button{display:inline-flex;align-items:center;gap:7px}.student-admin-hero-actions .ui-icon{width:17px}
.student-admin-shield{position:relative;z-index:1;min-width:180px;padding:18px;border-radius:22px;background:rgba(255,255,255,.72);border:1px solid #dce8f3;box-shadow:0 14px 35px rgba(41,83,125,.08);display:grid;place-items:center;text-align:center;gap:5px}.student-admin-shield .school-white-seal{width:76px;height:76px;border-radius:50%;background:#fff;display:grid;place-items:center;border:1px solid #d8e5ef;box-shadow:0 9px 22px rgba(45,85,124,.12)}.student-admin-shield img{width:65px;height:65px;object-fit:contain}.student-admin-shield b{font-size:13px;color:#1c6db1}.student-admin-shield small{color:var(--muted);font-size:10px}
.student-admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.student-admin-stats>.card{display:flex;align-items:center;gap:13px;min-height:94px}.student-admin-stats small{display:block;color:var(--muted)}.student-admin-stats b{display:block;font-size:27px;line-height:1.1;margin:3px 0}.student-admin-stats span{font-size:10px;color:#5f7890}
.student-account-manager{margin-top:12px}.student-account-filter{display:grid;grid-template-columns:minmax(280px,1fr) 190px auto auto;gap:9px;align-items:center;margin:15px 0}.student-search-field{min-height:42px;border:1px solid var(--line);background:var(--surface-2);border-radius:13px;display:flex;align-items:center;gap:8px;padding:0 12px}.student-search-field .ui-icon{width:17px;color:#6f89a0}.student-search-field input{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;min-width:0;width:100%}.student-account-filter select{min-height:42px}
.student-account-list{display:grid;gap:8px}.student-account-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 13px;border:1px solid #e0e9f1;border-radius:16px;background:linear-gradient(180deg,#fff,#fbfdff);transition:.18s ease}.student-account-row:hover{transform:translateY(-1px);border-color:#c5dced;box-shadow:0 10px 24px rgba(38,77,114,.07)}.student-account-avatar{width:45px;height:45px;border-radius:15px;display:grid;place-items:center;font-weight:950;font-size:17px;color:#fff;background:linear-gradient(145deg,#3d8dd1,#51b7cf);box-shadow:0 8px 18px rgba(48,132,181,.18)}.student-account-main{min-width:0}.student-account-main b{display:block;font-size:13px}.student-account-main span,.student-account-main small{display:block;color:var(--muted);margin-top:2px}.student-account-main small{font-size:9px}.student-account-status{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.student-account-actions .button{white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.student-account-actions .ui-icon{width:15px}.student-test-button{background:linear-gradient(135deg,#277bc0,#37a5cf)!important;border-color:transparent!important;color:#fff!important}
.student-test-banner{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;margin:0 0 14px;padding:11px 13px;border:1px solid #b9dbef;border-radius:15px;background:linear-gradient(135deg,#eff9ff,#e8f5ff);box-shadow:0 8px 24px rgba(39,102,148,.08)}.student-test-banner-icon{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:#fff;color:#277abd;border:1px solid #d6eaf5}.student-test-banner-icon .ui-icon{width:20px}.student-test-banner b{display:block;color:#175f9c}.student-test-banner span{display:block;color:#57758d;font-size:10px;margin-top:2px}.student-test-banner form{margin:0}.student-test-banner .button{width:auto}
html[data-theme="dark"] .student-admin-hero{background:linear-gradient(135deg,#0c233f,#0d2c4e)}html[data-theme="dark"] .student-admin-shield,html[data-theme="dark"] .student-account-row{background:rgba(10,31,55,.82);border-color:rgba(107,155,203,.16)}html[data-theme="dark"] .student-test-banner{background:linear-gradient(135deg,#0d3154,#104065);border-color:rgba(102,185,233,.25)}html[data-theme="dark"] .student-test-banner-icon{background:#0a2746;border-color:rgba(104,178,225,.22)}
@media(max-width:900px){.student-admin-hero{align-items:flex-start}.student-admin-shield{min-width:150px}.student-account-filter{grid-template-columns:1fr 160px}.student-account-filter .button{width:100%}.student-account-row{grid-template-columns:45px minmax(0,1fr) auto}.student-account-status{grid-column:2/3;justify-content:flex-start}.student-account-actions{grid-column:3;grid-row:1/3}}
@media(max-width:680px){.student-login-page .login-visual{display:none!important}.student-login-page .login-panel{min-height:100vh;padding:28px 20px;background:linear-gradient(180deg,#f8fbff,#fff)!important}.student-login-page .login-shell{box-shadow:none!important;border:0!important;border-radius:0!important;min-height:100vh}.student-login-page .login-card{max-width:430px}.student-admin-hero{flex-direction:column}.student-admin-shield{width:100%;display:flex;justify-content:flex-start;text-align:left}.student-admin-shield .school-white-seal{width:58px;height:58px}.student-admin-shield img{width:49px;height:49px}.student-admin-stats{grid-template-columns:1fr}.student-account-filter{grid-template-columns:1fr}.student-account-row{grid-template-columns:44px minmax(0,1fr)}.student-account-status,.student-account-actions{grid-column:2}.student-account-actions .button{width:100%;justify-content:center}.student-test-banner{grid-template-columns:38px minmax(0,1fr)}.student-test-banner form{grid-column:1/-1}.student-test-banner .button{width:100%}}
@media(max-width:940px){.student-login-page .login-visual{display:none!important}.student-login-page .login-panel{min-height:100vh;padding:34px 28px;background:linear-gradient(180deg,#f7fbff,#fff)!important}.student-login-page .login-shell{max-width:560px;min-height:0}}

/* v0.11.7.14 — compact mobile application bar */
@media(max-width:640px){
  .topbar{min-height:calc(56px + env(safe-area-inset-top))!important;padding:calc(6px + env(safe-area-inset-top)) 9px 6px!important;gap:7px!important}
  .topbar-primary{gap:7px!important}
  .topbar-actions{gap:4px!important}
  .topbar .menu-btn,.topbar .notification-btn{width:40px!important;height:40px!important;border-radius:12px!important}
  .top-apps-launcher,.floating-launcher-primary{min-width:40px!important;width:40px!important;height:40px!important;padding:4px!important;border-radius:12px!important}
  .top-apps-icon,.floating-launcher-primary .top-apps-icon{width:32px!important;height:32px!important;border-radius:10px!important}
  .global-search{width:40px!important;max-width:40px!important;height:40px!important;border-radius:12px!important}
  .profile-pill{width:40px!important;height:40px!important;padding:3px!important}
  .profile-avatar{width:34px!important;height:34px!important}
  .notification-badge{right:-4px!important;top:-5px!important}
  .notification-popover,.profile-popover{top:calc(60px + env(safe-area-inset-top))!important}
  .content{padding-top:6px!important}
}

/* ===== v0.8.3 Centered Login + Student Account Flow ===== */
.login-center-page{min-height:100vh!important;background:
  radial-gradient(circle at 18% 12%,rgba(76,142,232,.10),transparent 28%),
  radial-gradient(circle at 84% 86%,rgba(59,198,194,.08),transparent 26%),
  linear-gradient(180deg,#f9fbfe 0%,#f3f7fb 100%)!important;color:#10263d!important;padding:0!important;display:block!important}
.login-center-wrap{min-height:100vh;display:grid;place-items:center;padding:28px 18px;position:relative;overflow:hidden}
.login-center-wrap:before,.login-center-wrap:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.login-center-wrap:before{width:460px;height:460px;left:-210px;top:-235px;border:70px solid rgba(67,123,206,.035)}
.login-center-wrap:after{width:380px;height:380px;right:-175px;bottom:-210px;background:rgba(50,173,196,.035)}
.login-center-card{width:min(460px,100%);position:relative;z-index:1;background:rgba(255,255,255,.96);border:1px solid #dfe9f3;border-radius:28px;padding:34px 34px 28px;box-shadow:0 26px 80px rgba(33,66,103,.13),0 2px 8px rgba(33,66,103,.04)}
.login-center-brand{display:flex;align-items:center;gap:13px;margin-bottom:22px}.login-center-brand .login-center-seal{width:58px;height:58px;flex:0 0 58px;box-shadow:0 10px 26px rgba(38,82,128,.12),inset 0 0 0 1px #dce8f2}.login-center-brand .login-center-seal img{width:48px;height:48px}.login-center-brand b{display:block;font-size:16px;color:#112b44}.login-center-brand small{display:block;margin-top:3px;font-size:9px;color:#7890a6}
.login-role-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:5px;background:#f1f6fb;border:1px solid #e1eaf3;border-radius:15px;margin-bottom:24px}.login-role-tabs a{min-height:42px;display:flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;color:#657e95;font-size:11px;font-weight:850;border-radius:11px;transition:.18s ease}.login-role-tabs a .ui-icon{width:17px}.login-role-tabs a:hover{background:#fff;color:#265f96}.login-role-tabs a.active{background:#fff;color:#245f9a;box-shadow:0 7px 18px rgba(40,83,128,.09),inset 0 0 0 1px #d8e5f0}
.login-center-heading{text-align:center;margin-bottom:20px}.login-center-heading .eyebrow{color:#4693c8;font-size:8px;font-weight:900;letter-spacing:1px}.login-center-heading h1{margin:7px 0 5px;font-size:28px;letter-spacing:-.7px;color:#102a43}.login-center-heading p{margin:0;color:#72879a;font-size:10px}
.login-center-form .field{margin:13px 0}.login-center-form label{display:block;margin-bottom:6px;color:#34516b;font-size:10px;font-weight:800}.login-input-wrap{min-height:48px;display:flex;align-items:center;gap:10px;padding:0 13px;border-radius:14px;border:1px solid #d7e3ee;background:#f9fbfd;transition:.18s ease}.login-input-wrap:focus-within{background:#fff;border-color:#86b6dc;box-shadow:0 0 0 4px rgba(69,143,199,.10)}.login-input-wrap .ui-icon{width:18px;color:#6b8aa5;flex:0 0 auto}.login-input-wrap input{width:100%;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:#17334d!important;padding:0!important;min-height:46px;font-size:12px}.login-input-wrap input::placeholder{color:#9bafc1}
.login-center-submit{width:100%;min-height:48px;margin-top:7px;border-radius:14px!important;background:linear-gradient(135deg,#3c7fd0,#4b6fe0)!important;border:0!important;color:#fff!important;font-size:11px!important;font-weight:900!important;box-shadow:0 12px 26px rgba(61,109,190,.22)!important}.login-center-submit:hover{transform:translateY(-1px);box-shadow:0 15px 30px rgba(61,109,190,.28)!important}
.student-login-page .login-center-submit{background:linear-gradient(135deg,#2c8fc7,#2fa7c9)!important;box-shadow:0 12px 26px rgba(47,151,191,.20)!important}
.login-center-help{margin-top:16px;padding:12px 13px;border-radius:13px;background:#f6f9fc;border:1px solid #e4ecf4;text-align:center}.login-center-help b{display:block;color:#2b526f;font-size:9px}.login-center-help span{display:block;margin-top:3px;color:#7d91a4;font-size:8px;line-height:1.5}.login-center-footer{margin-top:17px;padding-top:14px;border-top:1px solid #e9eff5;display:flex;align-items:center;justify-content:center;gap:9px;color:#8aa0b4;font-size:8px}.login-center-footer i{width:3px;height:3px;border-radius:50%;background:#aec0d0}
.login-center-card .flash{margin:0 0 13px}

.student-access-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px;padding:20px 22px}.student-access-head h2{margin:4px 0 3px;font-size:23px}.student-access-head p{margin:0;color:var(--muted);font-size:10px}.student-access-head-actions{display:flex;gap:8px;flex-wrap:wrap}.student-access-head-actions .button{white-space:nowrap}
.student-access-stats{margin-bottom:12px}.student-class-picker{margin-bottom:12px}.student-class-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px}.student-class-card{position:relative;min-height:118px;padding:15px 12px 13px;border-radius:18px;border:1px solid #e0e9f1;background:linear-gradient(180deg,#fff,#f9fcff);text-decoration:none;color:#18344e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;box-shadow:0 7px 20px rgba(38,77,114,.045);transition:.18s ease}.student-class-card:hover{transform:translateY(-2px);border-color:#bad5ea;box-shadow:0 12px 26px rgba(38,77,114,.08)}.student-class-card.active{border-color:#82bce5;background:linear-gradient(180deg,#f8fcff,#eef7ff);box-shadow:0 12px 28px rgba(48,118,176,.12),inset 0 0 0 1px rgba(91,165,219,.12)}.student-class-icon{width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#2e88c8,#3ca8bf);color:#fff;display:grid;place-items:center;box-shadow:0 9px 18px rgba(50,133,179,.18)}.student-class-icon .ui-icon{width:21px}.student-class-card b{font-size:13px}.student-class-card small{color:#7b90a3;font-size:9px}.student-class-card em{position:absolute;right:9px;top:9px;padding:3px 6px;border-radius:999px;background:#dff2ff;color:#2674aa;font-size:7px;font-style:normal;font-weight:900}
.student-account-manager-v083{margin-top:0}.student-account-search-v083{display:grid;grid-template-columns:minmax(300px,1fr) auto auto;gap:8px;align-items:center;margin:14px 0}.student-account-list-v083{display:grid;gap:8px}.student-account-row-v083{grid-template-columns:48px minmax(0,1fr) auto auto!important}.student-account-row-v083 .student-account-main span{font-size:10px}.student-account-row-v083 .student-account-main small{font-size:8.5px}.student-account-row-v083 .student-test-button{min-width:156px;justify-content:center}.student-account-empty{padding:32px!important}
.student-access-empty{min-height:170px;display:flex;align-items:center;justify-content:center;gap:16px;text-align:left}.student-access-empty-icon{width:56px;height:56px;border-radius:18px;background:linear-gradient(145deg,#e7f4ff,#dceeff);color:#367db6;display:grid;place-items:center}.student-access-empty-icon .ui-icon{width:27px}.student-access-empty b{display:block;font-size:15px}.student-access-empty p{margin:4px 0 0;color:var(--muted);font-size:10px}

html[data-theme="dark"] .login-center-page{background:linear-gradient(180deg,#f8fbff,#f2f6fb)!important;color:#10263d!important}html[data-theme="dark"] .login-center-card{background:#fff!important;color:#10263d!important}
html[data-theme="dark"] .student-class-card{background:linear-gradient(180deg,#fff,#f9fcff);color:#18344e;border-color:#dce7f1}html[data-theme="dark"] .student-class-card small{color:#7b90a3}

@media(max-width:1100px){.student-class-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.student-account-row-v083{grid-template-columns:46px minmax(0,1fr) auto!important}.student-account-status{grid-column:2/3;justify-content:flex-start}.student-account-actions{grid-column:3;grid-row:1/3}}
@media(max-width:760px){.login-center-card{padding:28px 20px 24px;border-radius:23px}.login-center-brand{justify-content:center;text-align:left}.login-center-heading h1{font-size:24px}.student-access-head{align-items:flex-start;flex-direction:column}.student-access-head-actions{width:100%}.student-access-head-actions .button{flex:1}.student-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-account-search-v083{grid-template-columns:1fr}.student-account-search-v083 .button{width:100%}.student-account-row-v083{grid-template-columns:44px minmax(0,1fr)!important}.student-account-status,.student-account-actions{grid-column:2!important}.student-account-actions .button{width:100%;min-width:0}.student-access-empty{text-align:center;flex-direction:column}.student-access-stats{grid-template-columns:1fr}}
@media(max-width:460px){.login-center-wrap{padding:12px}.login-center-card{border-radius:20px;padding:24px 17px 21px}.login-role-tabs a{font-size:10px}.student-class-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-class-card{min-height:105px}.student-access-head-actions{display:grid}.student-access-head-actions .button{width:100%}}


/* ===== v0.8.4 Login + Learning Player Polish ===== */
.login-center-page{background:radial-gradient(circle at 12% 8%,rgba(71,137,218,.10),transparent 31%),radial-gradient(circle at 90% 88%,rgba(65,190,201,.08),transparent 28%),linear-gradient(180deg,#f8fbff 0%,#f1f6fb 100%)!important}
.login-center-wrap{padding:42px 22px!important}
.login-center-card-v084{width:min(610px,100%)!important;border-radius:32px!important;padding:38px 46px 32px!important;box-shadow:0 30px 90px rgba(38,70,108,.13),0 1px 0 rgba(255,255,255,.95) inset!important}
.login-center-card-v084 .login-center-brand{justify-content:center;text-align:left;margin-bottom:25px}.login-center-card-v084 .login-center-seal{width:72px;height:72px;flex-basis:72px;border-radius:50%;background:#fff}.login-center-card-v084 .login-center-seal img{width:61px;height:61px}.login-center-card-v084 .login-center-brand b{font-size:20px}.login-center-card-v084 .login-center-brand small{font-size:10px;margin-top:4px}
.login-access-pill{width:max-content;margin:0 auto 13px;display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#eef7ff;border:1px solid #d9eafa;color:#347db5;font-size:8px;font-weight:900;letter-spacing:.7px}.login-access-pill .ui-icon{width:14px}
.login-center-card-v084 .login-role-tabs{max-width:390px;margin:0 auto 28px;padding:6px;border-radius:17px}.login-center-card-v084 .login-role-tabs a{min-height:47px;font-size:12px;border-radius:12px}
.login-center-card-v084 .login-center-heading{margin-bottom:26px}.login-center-card-v084 .login-center-heading h1{font-size:34px;margin:8px 0 7px;letter-spacing:-1px}.login-center-card-v084 .login-center-heading p{font-size:12px;line-height:1.65}
.login-center-card-v084 .login-center-form{max-width:480px;margin:0 auto}.login-center-card-v084 .login-center-form .field{margin:16px 0}.login-center-card-v084 .login-center-form label{font-size:11px;margin-bottom:7px}.login-center-card-v084 .login-input-wrap{min-height:56px;border-radius:16px;padding:0 16px}.login-center-card-v084 .login-input-wrap input{min-height:54px;font-size:13px}.login-center-card-v084 .login-center-submit{min-height:56px;border-radius:16px!important;font-size:12px!important;margin-top:10px}.login-center-card-v084 .login-center-help{max-width:480px;margin:20px auto 0;padding:14px 16px;border-radius:15px}.login-center-card-v084 .login-center-help b{font-size:10px}.login-center-card-v084 .login-center-help span{font-size:9px}.login-center-card-v084 .login-center-footer{max-width:480px;margin:19px auto 0;font-size:9px}

.learning-player-v084{max-width:1500px;margin:0 auto}.learning-player-v084 .student-lesson-breadcrumb{margin:2px 0 12px}.learning-player-v084 .student-lesson-breadcrumb a{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:10px;background:#fff;border:1px solid #dfe9f3;box-shadow:0 4px 12px rgba(34,72,109,.04)}.learning-player-v084 .student-lesson-breadcrumb a .ui-icon{width:14px;transform:rotate(180deg)}
.learning-player-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;margin-bottom:12px;background:linear-gradient(135deg,#fff 0%,#f6faff 58%,#edf6ff 100%);border:1px solid #dce8f4;box-shadow:0 10px 26px rgba(36,76,116,.05)}.learning-player-title{display:flex;align-items:center;gap:15px;min-width:0}.learning-player-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;flex:0 0 auto}.learning-player-icon .ui-icon{width:27px}.learning-player-title h2{margin:4px 0 4px;font-size:25px;letter-spacing:-.4px}.learning-player-title p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.learning-player-badges{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.learning-player-badges span{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:#f3f8fd;border:1px solid #dce8f3;color:#4a6b88;font-size:9px;font-weight:850}.learning-player-badges .ui-icon{width:14px;color:#2e7ac0}
.learning-player-layout{grid-template-columns:minmax(0,1fr) 340px;gap:14px}.learning-player-main{padding:16px!important;border-radius:24px!important;overflow:hidden}.learning-player-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:1px 3px 12px}.learning-player-toolbar b,.learning-player-toolbar small{display:block}.learning-player-toolbar b{font-size:13px}.learning-player-toolbar small{margin-top:2px;color:var(--muted);font-size:9px}.learning-live{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;background:#effaf6;border:1px solid #d8efe6;color:#29815d;font-size:8px;font-weight:900}.learning-live i{width:7px;height:7px;border-radius:50%;background:#2cc788;box-shadow:0 0 0 4px rgba(44,199,136,.10)}
.learning-player-main .secure-youtube-player{margin-top:0;border-radius:22px;border:1px solid rgba(13,43,79,.15);box-shadow:0 22px 52px rgba(8,31,61,.18);background:#06172d}.learning-progress-v084{margin:16px 2px 2px;padding:15px 16px;border-radius:18px;background:linear-gradient(180deg,#f8fbff,#f3f8fd);border:1px solid #e0e9f2}.learning-progress-v084 .video-progress-copy b{font-size:30px;color:#276fb6}.learning-progress-v084 .video-progress-track{height:11px;margin:10px 0 11px;background:#dfeaf5}.learning-progress-v084 .video-progress-track i{background:linear-gradient(90deg,#3c7fd2,#37b4c9)}.learning-progress-note{display:flex;gap:8px;flex-wrap:wrap}.learning-progress-note span{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:10px;background:#fff;color:#627c94;border:1px solid #e3ebf3;font-size:9px;font-weight:750}.learning-progress-note .ui-icon{width:14px;color:#3c84bf}
.learning-player-side{position:sticky;top:92px}.learning-quiz-card,.learning-history-card{border-radius:22px!important;box-shadow:0 10px 28px rgba(37,74,110,.055)}.learning-quiz-card{text-align:left!important;padding:17px!important}.learning-quiz-head{display:flex;align-items:center;gap:11px;margin-bottom:13px}.learning-quiz-head .lesson-side-icon{margin:0;width:48px;height:48px;border-radius:16px}.learning-quiz-head .lesson-side-icon .ui-icon{width:23px}.learning-quiz-head small{display:block;color:#8b77cc;font-size:8px;font-weight:900;letter-spacing:.8px}.learning-quiz-head h3{margin:2px 0 0!important;font-size:17px}.learning-quiz-card .quiz-side-stats{gap:7px}.learning-quiz-card .quiz-side-stats>div{background:#f7f9fc;border:1px solid #e7edf4;padding:11px 6px}.learning-quiz-card .start-quiz-btn{min-height:48px;border-radius:14px!important}.exam-mode-note{display:flex;gap:8px;margin-top:10px;padding:10px;border-radius:13px;background:#f5f8fc;border:1px solid #e3eaf2;color:#5d748c}.exam-mode-note>.ui-icon{width:18px;flex:0 0 auto;color:#4b7fb0}.exam-mode-note span b,.exam-mode-note span small{display:block}.exam-mode-note span b{font-size:9px}.exam-mode-note span small{font-size:8px;line-height:1.5;margin-top:2px}.learning-history-card{padding:16px!important}.learning-side-title{display:flex;align-items:center;gap:8px;margin-bottom:8px}.learning-side-title>span{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:#edf5fc;color:#477caf}.learning-side-title .ui-icon{width:16px}.learning-side-title h3{font-size:14px;margin:0}
html[data-theme="dark"] .learning-player-head,html[data-theme="dark"] .learning-progress-v084,html[data-theme="dark"] .learning-quiz-card .quiz-side-stats>div,html[data-theme="dark"] .learning-progress-note span,html[data-theme="dark"] .exam-mode-note{background:var(--surface);border-color:var(--line)}
@media(max-width:980px){.learning-player-layout{grid-template-columns:1fr}.learning-player-side{position:static;grid-template-columns:1fr 1fr}.learning-player-head{align-items:flex-start;flex-direction:column}.learning-player-badges{justify-content:flex-start}}
@media(max-width:700px){.login-center-wrap{padding:18px 12px!important;align-items:center}.login-center-card-v084{width:min(100%,540px)!important;padding:28px 20px 24px!important;border-radius:25px!important}.login-center-card-v084 .login-center-seal{width:64px;height:64px;flex-basis:64px}.login-center-card-v084 .login-center-seal img{width:54px;height:54px}.login-center-card-v084 .login-center-brand b{font-size:18px}.login-center-card-v084 .login-center-heading h1{font-size:28px}.login-center-card-v084 .login-center-heading p{font-size:10px}.learning-player-head{padding:16px}.learning-player-title{align-items:flex-start}.learning-player-title h2{font-size:21px}.learning-player-icon{width:46px;height:46px;border-radius:15px}.learning-player-side{display:grid;grid-template-columns:1fr}.learning-player-main{padding:10px!important}.learning-player-toolbar{padding:5px 3px 10px}.learning-progress-v084{padding:13px}.learning-progress-note{display:grid;grid-template-columns:1fr}.learning-player-main .secure-youtube-player{border-radius:16px}}


/* ===== v0.8.5 Video Thumbnail Cards + Multi-Class Lesson Targets ===== */
.lms-lesson-row-video{display:grid;grid-template-columns:190px minmax(0,1fr) auto;align-items:center;gap:18px;padding:12px}
.lms-admin-video-thumb{position:relative;width:190px;aspect-ratio:16/9;border-radius:15px;overflow:hidden;background:linear-gradient(135deg,#102c53,#1b5f9f);box-shadow:0 10px 24px rgba(31,72,120,.13)}
.lms-admin-video-thumb img{width:100%;height:100%;display:block;object-fit:cover}
.video-thumb-fallback{width:100%;height:100%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#173e70,#257cc5)}
.video-thumb-fallback svg{width:35px;height:35px}
.lms-thumb-play,.student-play-orb{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;color:#fff;background:rgba(11,32,59,.78);border:1px solid rgba(255,255,255,.55);box-shadow:0 10px 30px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.25);backdrop-filter:blur(8px)}
.lms-thumb-play{width:42px;height:42px}.lms-thumb-play svg{width:21px;height:21px}
.lms-multiclass-count{display:inline-flex;padding:3px 8px;border-radius:999px;background:#eef6ff;color:#236fbf;font-weight:800;font-size:10px}
html[data-theme="dark"] .lms-multiclass-count{background:rgba(56,131,219,.14);color:#8ec7ff}

.student-lesson-card{padding:0;min-height:390px}
.student-lesson-card:after{display:none}
.student-lesson-cover{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#0e2a50,#246ba8)}
.student-lesson-cover>img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}
.student-lesson-card:hover .student-lesson-cover>img{transform:scale(1.025)}
.student-cover-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,18,36,.08),rgba(4,18,36,.12) 48%,rgba(4,18,36,.68))}
.student-play-orb{width:50px;height:50px}.student-play-orb svg{width:24px;height:24px}
.student-cover-badges{position:absolute;left:12px;right:12px;top:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;z-index:2}
.student-cover-badges .student-course-badge{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.9);color:#245d99;box-shadow:0 5px 14px rgba(3,25,49,.12);backdrop-filter:blur(8px)}
.student-lesson-content{display:flex;flex:1;flex-direction:column;padding:16px}
.student-lesson-content h3{font-size:18px;margin:0 0 6px}.student-lesson-content>p{color:var(--muted);font-size:12px;line-height:1.6;margin:0}
.student-lesson-content .student-lesson-progress{margin-top:auto}
.student-lesson-icon{display:none}

.field-help{margin:0 0 10px;color:var(--muted);font-size:11px;line-height:1.55}
.lms-target-selector{display:grid;gap:12px}
.lms-target-subject{border:1px solid var(--line);border-radius:17px;background:linear-gradient(180deg,rgba(249,252,255,.94),rgba(244,249,255,.84));padding:12px}
.lms-target-subject-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.lms-target-subject-head b{font-size:13px;color:#173e69}.lms-target-subject-head span{font-size:10px;color:var(--muted)}
.lms-target-class-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.lms-target-class{position:relative;display:flex;align-items:center;gap:9px;min-height:58px;padding:9px 10px;border:1px solid rgba(53,111,180,.12);border-radius:14px;background:#fff;cursor:pointer;transition:.18s ease;box-shadow:0 5px 14px rgba(35,75,120,.03)}
.lms-target-class:hover{border-color:rgba(43,125,216,.3);transform:translateY(-1px)}
.lms-target-class:has(input:checked),.lms-target-class.selected{border-color:#2d80d5;background:linear-gradient(145deg,#eef7ff,#f8fbff);box-shadow:0 8px 22px rgba(42,115,198,.1)}
.lms-target-class input{position:absolute;right:8px;top:8px;accent-color:#287bd0}
.lms-target-class>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#eaf5ff,#dff1ff);color:#2377ca}
.lms-target-class>span svg{width:18px;height:18px}
.lms-target-class div{min-width:0}.lms-target-class b{display:block;font-size:12px;color:#153b64}.lms-target-class small{display:block;color:var(--muted);font-size:9px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-theme="dark"] .lms-target-subject{background:rgba(8,28,51,.7)}
html[data-theme="dark"] .lms-target-class{background:rgba(10,34,61,.86)}
html[data-theme="dark"] .lms-target-class:has(input:checked),html[data-theme="dark"] .lms-target-class.selected{background:rgba(28,79,129,.58)}
html[data-theme="dark"] .lms-target-class b,html[data-theme="dark"] .lms-target-subject-head b{color:#eaf4ff}

@media(max-width:1100px){
  .lms-target-class-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lms-lesson-row-video{grid-template-columns:160px minmax(0,1fr)}.lms-admin-video-thumb{width:160px}.lms-lesson-row-video .lms-row-actions{grid-column:1/-1;justify-content:flex-end}
}
@media(max-width:760px){
  .lms-target-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lms-target-subject-head{align-items:flex-start;flex-direction:column}
  .lms-lesson-row-video{grid-template-columns:1fr;padding:11px}.lms-admin-video-thumb{width:100%}.lms-lesson-row-video .lms-row-actions{justify-content:flex-start}
  .student-lesson-card{min-height:0}
}
.lms-target-class.is-disabled{opacity:.38;filter:saturate(.55);cursor:not-allowed;transform:none!important}
.lms-target-class.is-disabled input{cursor:not-allowed}

/* ===== v0.8.6 Classroom-first lesson targeting + LMS stats layout ===== */
.lms-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0 20px!important}
.lms-stats .stat{display:flex!important;align-items:center;gap:14px;min-width:0;min-height:104px;padding:18px 20px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 12px 30px rgba(33,66,105,.07)}
.lms-stats .stat>div{display:grid;gap:2px;min-width:0}.lms-stats .stat small{font-size:11px;color:var(--muted);font-weight:700}.lms-stats .stat b{font-size:28px;line-height:1;color:var(--text);font-weight:900}

.lms-target-workflow{display:grid;gap:18px}
.lms-target-stage{padding:18px;border:1px solid color-mix(in srgb,var(--line) 90%,transparent);border-radius:22px;background:linear-gradient(180deg,#fbfdff,#f5f9fe);box-shadow:0 10px 28px rgba(39,79,123,.045)}
.lms-target-stage-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:14px}
.lms-target-stage-head label{display:block;font-size:15px;font-weight:900;color:#143b65;margin:0}.lms-target-stage-head p{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.55}
.lms-target-stepno{width:36px;height:36px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#2588df,#496cf5);color:white;font-size:14px;font-weight:900;box-shadow:0 8px 20px rgba(40,117,214,.23)}
.lms-target-selected-count{padding:7px 11px;border:1px solid #d7e6f5;border-radius:999px;background:#fff;color:#2d659d;font-size:10px;font-weight:800;white-space:nowrap}

.lms-class-pick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.lms-class-pick,.lms-subject-pick{position:relative;display:flex;align-items:center;gap:11px;min-width:0;cursor:pointer;border:1px solid #dce8f4;background:#fff;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease}
.lms-class-pick{min-height:72px;padding:11px 13px;border-radius:17px}
.lms-class-pick:hover,.lms-subject-pick:hover{transform:translateY(-1px);border-color:#9dc8ef;box-shadow:0 10px 22px rgba(35,93,150,.08)}
.lms-class-pick input,.lms-subject-pick input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.lms-check-ui{position:absolute;right:9px;top:9px;width:25px;height:25px;border-radius:9px;border:2px solid #c6d8e9;background:#f8fbff;color:transparent;display:grid;place-items:center;font-size:13px;font-weight:1000;transition:.16s ease}
.lms-class-icon,.lms-subject-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto;color:#237dcc;background:linear-gradient(145deg,#edf7ff,#dff0ff)}
.lms-class-icon svg,.lms-subject-icon svg{width:21px;height:21px}.lms-class-copy,.lms-subject-copy{display:block;min-width:0;padding-right:24px}.lms-class-copy b,.lms-subject-copy b{display:block;color:#163e69;font-size:13px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lms-class-copy small,.lms-subject-copy small{display:block;margin-top:3px;color:#70869d;font-size:9px;line-height:1.35}
.lms-class-pick.selected,.lms-subject-pick.selected{border-color:#3689da;background:linear-gradient(145deg,#eef7ff,#fff);box-shadow:0 10px 25px rgba(39,121,205,.11)}
.lms-class-pick.selected .lms-check-ui,.lms-subject-pick.selected .lms-check-ui{border-color:#267ed4;background:linear-gradient(145deg,#2588df,#496cf5);color:#fff;box-shadow:0 5px 13px rgba(41,113,202,.23)}

.lms-subject-stage{background:linear-gradient(180deg,#fff,#f7faff)}
.lms-subject-pick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.lms-subject-pick{min-height:68px;padding:11px 13px;border-radius:17px}
.lms-subject-icon{color:#694fd5;background:linear-gradient(145deg,#f4f0ff,#e8e2ff)}
.lms-subject-pick.is-disabled{opacity:.36;filter:grayscale(.35);cursor:not-allowed;background:#f3f6f9;border-color:#e4e9ef;box-shadow:none;transform:none!important}
.lms-subject-pick.is-disabled .lms-check-ui{background:#edf1f5;border-color:#d9e0e7}.lms-subject-pick.is-disabled .lms-subject-icon{filter:grayscale(.8)}
.lms-target-summary{margin-top:13px;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:#eff8ff;border:1px solid #d6eafa;color:#24649d}.lms-target-summary>svg{width:20px;height:20px;flex:0 0 auto}.lms-target-summary span{display:grid;gap:1px}.lms-target-summary b{font-size:10px}.lms-target-summary small{font-size:9px;line-height:1.5;color:#5c7893}

html[data-theme="dark"] .lms-target-stage{background:linear-gradient(180deg,rgba(9,31,57,.9),rgba(7,25,47,.86));border-color:rgba(132,181,232,.14)}
html[data-theme="dark"] .lms-target-stage-head label,html[data-theme="dark"] .lms-class-copy b,html[data-theme="dark"] .lms-subject-copy b{color:#e9f4ff}
html[data-theme="dark"] .lms-target-selected-count{background:rgba(15,44,75,.85);border-color:rgba(139,187,234,.18);color:#a9d4ff}
html[data-theme="dark"] .lms-class-pick,html[data-theme="dark"] .lms-subject-pick{background:rgba(10,34,61,.82);border-color:rgba(143,188,232,.15)}
html[data-theme="dark"] .lms-class-pick.selected,html[data-theme="dark"] .lms-subject-pick.selected{background:rgba(29,78,127,.58);border-color:#438fd4}
html[data-theme="dark"] .lms-check-ui{background:rgba(8,29,53,.9);border-color:rgba(166,201,234,.27)}
html[data-theme="dark"] .lms-target-summary{background:rgba(22,72,112,.25);border-color:rgba(107,176,230,.2);color:#acd8ff}html[data-theme="dark"] .lms-target-summary small{color:#8eb1d0}

@media(max-width:1050px){.lms-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.lms-class-pick-grid,.lms-subject-pick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.lms-stats{grid-template-columns:1fr 1fr;gap:9px}.lms-stats .stat{min-height:88px;padding:13px}.lms-stats .stat b{font-size:23px}.lms-target-stage{padding:13px;border-radius:18px}.lms-target-stage-head{grid-template-columns:auto 1fr;align-items:start}.lms-target-selected-count{grid-column:2}.lms-class-pick-grid,.lms-subject-pick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lms-class-pick,.lms-subject-pick{min-height:68px;padding:9px}.lms-class-icon,.lms-subject-icon{width:37px;height:37px}.lms-class-copy b,.lms-subject-copy b{font-size:11px}}
@media(max-width:430px){.lms-stats{grid-template-columns:1fr}.lms-class-pick-grid,.lms-subject-pick-grid{grid-template-columns:1fr 1fr}.lms-target-stage-head p{font-size:9px}.lms-target-selected-count{font-size:9px}}


/* ===== v0.8.7 Resume Video Progress ===== */
.learning-toolbar-status{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.learning-resume-pill{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:6px 10px;border-radius:999px;background:linear-gradient(135deg,#e8f7ff,#eef3ff);border:1px solid #bcdff6;color:#176895;font-size:10px;font-weight:800;box-shadow:0 7px 18px rgba(37,136,190,.08);transition:opacity .28s ease,transform .28s ease}.learning-resume-pill svg{width:14px;height:14px}.learning-resume-pill.fade{opacity:.42;transform:translateY(-1px)}
body.theme-dark .learning-resume-pill{background:rgba(45,143,204,.14);border-color:rgba(112,202,255,.2);color:#9ee4ff}.learning-progress-note{flex-wrap:wrap}.learning-progress-note span:last-child{color:#51829d}
@media(max-width:760px){.learning-player-toolbar{align-items:flex-start}.learning-toolbar-status{justify-content:flex-start}.learning-resume-pill{font-size:9px}.learning-progress-note{display:grid;grid-template-columns:1fr}}

/* v0.8.8 Test Students + Score Summary */
.online-result-hero{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:28px;align-items:center;padding:30px;border:1px solid #dbe7f3;border-radius:26px;background:linear-gradient(135deg,#fff 0%,#f7fbff 58%,#eef6ff 100%);box-shadow:0 20px 55px rgba(35,76,120,.10);margin-bottom:16px}.online-result-copy h2{font-size:clamp(28px,3vw,42px);margin:8px 0;color:#132e4f}.online-result-copy p{color:#6c7f94}.result-status-icon{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;margin:14px 0;background:#eaf8f1;color:#1e9a67;box-shadow:inset 0 0 0 1px rgba(30,154,103,.14)}.result-status-icon .ui-icon{width:30px;height:30px}.result-rewatch .result-status-icon{background:#fff3df;color:#d78714}.result-retry .result-status-icon{background:#eef4ff;color:#556ee6}.result-score-ring{--result-pct:0;width:180px;aspect-ratio:1;border-radius:50%;padding:15px;background:conic-gradient(#31b77b calc(var(--result-pct)*1%),#e7eef6 0);box-shadow:0 18px 42px rgba(40,84,128,.12);justify-self:end}.result-rewatch .result-score-ring{background:conic-gradient(#eca12d calc(var(--result-pct)*1%),#e7eef6 0)}.result-retry .result-score-ring{background:conic-gradient(#5978ee calc(var(--result-pct)*1%),#e7eef6 0)}.result-score-ring>div{height:100%;border-radius:50%;background:white;display:grid;place-content:center;text-align:center;box-shadow:inset 0 0 0 1px #edf2f7}.result-score-ring b{font-size:38px;color:#163b62;line-height:1}.result-score-ring b small{font-size:17px}.result-score-ring span{margin-top:7px;color:#71849a;font-size:12px}.result-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.result-stat-grid article{padding:20px 22px}.result-stat-grid small{display:block;color:#7b8da1}.result-stat-grid b{display:block;font-size:28px;color:#173858;margin:5px 0}.result-stat-grid span{font-size:12px;color:#8293a5}.result-next-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px}.result-next-card h3{margin:0 0 5px;color:#173858}.result-actions{display:flex;gap:10px;flex-wrap:wrap}.score-summary-hero{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:26px 28px;margin-bottom:16px;background:linear-gradient(125deg,#fff,#f6fbff)}.score-summary-hero h2{margin:6px 0;font-size:30px;color:#153554}.score-summary-hero p{color:#6b7f94}.score-summary-kpis{display:grid;grid-template-columns:repeat(4,minmax(105px,1fr));gap:10px;min-width:min(610px,58vw)}.score-summary-kpis span{background:#f5f9fd;border:1px solid #dfeaf4;border-radius:18px;padding:14px 15px;text-align:center}.score-summary-kpis span.primary{background:linear-gradient(135deg,#245fce,#5d69eb);border-color:transparent;color:#fff;box-shadow:0 12px 28px rgba(64,94,207,.22)}.score-summary-kpis small{display:block;font-size:11px;color:#7990a8}.score-summary-kpis .primary small{color:#dce8ff}.score-summary-kpis b{font-size:24px;color:#173b62}.score-summary-kpis .primary b{color:#fff}.score-summary-kpis i{font-style:normal;font-size:12px;margin-left:2px;opacity:.75}.score-subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.score-subject-card{padding:21px 22px}.score-subject-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.score-subject-head>div{display:flex;align-items:center;gap:12px}.score-subject-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#eaf3ff,#f7fbff);color:#3269c9}.score-subject-icon .ui-icon{width:23px;height:23px}.score-subject-head h3{margin:0;color:#173858}.score-subject-head small{color:#7a8da0}.score-total{font-size:27px;color:#173858;white-space:nowrap}.score-total small{font-size:12px;color:#8295a8}.score-progress{height:7px;border-radius:999px;background:#edf3f8;overflow:hidden;margin:16px 0}.score-progress i{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#24b6c5,#4f70ed)}.score-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.score-breakdown span{border-radius:14px;border:1px solid #e3ecf4;background:#fbfdff;padding:11px 12px}.score-breakdown small{display:block;color:#8091a4;font-size:10px}.score-breakdown b{display:block;color:#193b5e;font-size:17px;margin-top:3px}.score-breakdown em{display:block;font-style:normal;color:#93a2b2;font-size:9px;margin-top:3px}.score-breakdown .online{background:#f0f7ff;border-color:#d6e8fb}.score-attempts-card{padding:22px 24px}
@media(max-width:980px){.online-result-hero{grid-template-columns:1fr}.result-score-ring{justify-self:start}.score-summary-hero{display:block}.score-summary-kpis{min-width:0;margin-top:18px}.score-subject-grid{grid-template-columns:1fr}}
@media(max-width:700px){.result-stat-grid{grid-template-columns:1fr}.result-next-card{display:block}.result-actions{margin-top:14px}.score-summary-kpis{grid-template-columns:repeat(2,1fr)}.score-breakdown{grid-template-columns:1fr}.online-result-hero{padding:22px}.result-score-ring{width:150px}}

/* ===== v0.8.8.1 Login Viewport Fit ===== */
/* Keep staff + student login visually balanced and fully visible on common laptop screens. */
.login-center-page{
  height:100vh!important;
  height:100dvh!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  overflow:hidden!important;
}
.login-center-wrap{
  width:100%;
  height:100vh;
  height:100dvh;
  min-height:0!important;
  padding:clamp(10px,2vh,20px) 18px!important;
  overflow:hidden;
}
.login-center-card-v084{
  width:min(570px,calc(100vw - 36px))!important;
  max-height:calc(100dvh - 20px);
  padding:clamp(20px,2.7vh,28px) 38px clamp(18px,2.4vh,25px)!important;
  border-radius:27px!important;
  display:flex;
  flex-direction:column;
  justify-content:center;
  box-sizing:border-box;
}
.login-center-card-v084 .login-center-brand{
  margin-bottom:clamp(10px,1.7vh,17px)!important;
}
.login-center-card-v084 .login-center-seal{
  width:clamp(54px,7.3vh,64px)!important;
  height:clamp(54px,7.3vh,64px)!important;
  flex-basis:clamp(54px,7.3vh,64px)!important;
}
.login-center-card-v084 .login-center-seal img{
  width:clamp(46px,6.2vh,54px)!important;
  height:clamp(46px,6.2vh,54px)!important;
}
.login-center-card-v084 .login-center-brand b{font-size:clamp(17px,2.2vh,19px)!important}
.login-center-card-v084 .login-center-brand small{font-size:9px!important;margin-top:2px!important}
.login-center-card-v084 .login-role-tabs{
  width:min(390px,100%);
  margin:0 auto clamp(10px,1.8vh,16px)!important;
  padding:5px!important;
  border-radius:15px!important;
}
.login-center-card-v084 .login-role-tabs a{
  min-height:clamp(39px,5.5vh,44px)!important;
  font-size:11px!important;
}
.login-center-card-v084 .login-access-pill{
  margin:0 auto clamp(6px,1vh,9px)!important;
  padding:5px 9px!important;
  font-size:7px!important;
}
.login-center-card-v084 .login-center-heading{
  margin-bottom:clamp(10px,1.7vh,16px)!important;
}
.login-center-card-v084 .login-center-heading .eyebrow{font-size:7px!important}
.login-center-card-v084 .login-center-heading h1{
  margin:5px 0 3px!important;
  font-size:clamp(26px,3.6vh,31px)!important;
  line-height:1.08!important;
}
.login-center-card-v084 .login-center-heading p{
  font-size:10px!important;
  line-height:1.45!important;
}
.login-center-card-v084 .login-center-form{max-width:470px!important;width:100%}
.login-center-card-v084 .login-center-form .field{margin:clamp(7px,1.15vh,10px) 0!important}
.login-center-card-v084 .login-center-form label{margin-bottom:5px!important;font-size:10px!important}
.login-center-card-v084 .login-input-wrap{
  min-height:clamp(45px,6.1vh,50px)!important;
  border-radius:14px!important;
  padding:0 14px!important;
}
.login-center-card-v084 .login-input-wrap input{
  min-height:clamp(43px,5.9vh,48px)!important;
  font-size:12px!important;
}
.login-center-card-v084 .login-center-submit{
  min-height:clamp(45px,6.1vh,50px)!important;
  margin-top:clamp(5px,.9vh,8px)!important;
  border-radius:14px!important;
}
.login-center-card-v084 .login-center-help{
  max-width:470px!important;
  margin:clamp(9px,1.4vh,13px) auto 0!important;
  padding:9px 13px!important;
  border-radius:13px!important;
}
.login-center-card-v084 .login-center-help b{font-size:9px!important}
.login-center-card-v084 .login-center-help span{font-size:8px!important;line-height:1.35!important}
.login-center-card-v084 .login-center-footer{
  max-width:470px!important;
  margin:clamp(8px,1.3vh,12px) auto 0!important;
  padding-top:clamp(7px,1vh,10px)!important;
  font-size:8px!important;
}
.login-center-card-v084 .flash{margin:0 auto 8px!important;max-width:470px;width:100%}

/* Low-height laptop/browser windows: remove non-essential vertical chrome first. */
@media (min-width:701px) and (max-height:720px){
  .login-center-card-v084{width:min(600px,calc(100vw - 32px))!important;padding:16px 38px 15px!important}
  .login-center-card-v084 .login-center-brand{margin-bottom:8px!important}
  .login-center-card-v084 .login-center-seal{width:52px!important;height:52px!important;flex-basis:52px!important}
  .login-center-card-v084 .login-center-seal img{width:44px!important;height:44px!important}
  .login-center-card-v084 .login-role-tabs{margin-bottom:8px!important}
  .login-center-card-v084 .login-role-tabs a{min-height:38px!important}
  .login-center-card-v084 .login-access-pill{display:none!important}
  .login-center-card-v084 .login-center-heading{margin-bottom:7px!important}
  .login-center-card-v084 .login-center-heading h1{font-size:25px!important;margin:3px 0 2px!important}
  .login-center-card-v084 .login-center-heading p{font-size:9px!important}
  .login-center-card-v084 .login-center-form .field{margin:6px 0!important}
  .login-center-card-v084 .login-input-wrap{min-height:43px!important}
  .login-center-card-v084 .login-input-wrap input{min-height:41px!important}
  .login-center-card-v084 .login-center-submit{min-height:44px!important;margin-top:5px!important}
  .login-center-card-v084 .login-center-help{margin-top:8px!important;padding:7px 12px!important}
  .login-center-card-v084 .login-center-footer{margin-top:7px!important;padding-top:6px!important}
}

/* Mobile stays centered; allow emergency scroll only when the on-screen keyboard reduces viewport height. */
@media (max-width:700px){
  .login-center-page{overflow:auto!important}
  .login-center-wrap{min-height:100dvh!important;height:auto!important;overflow:visible!important;padding:12px!important}
  .login-center-card-v084{width:min(100%,520px)!important;max-height:none;padding:22px 19px 19px!important;border-radius:22px!important}
  .login-center-card-v084 .login-center-brand{margin-bottom:12px!important}
  .login-center-card-v084 .login-role-tabs{margin-bottom:13px!important}
  .login-center-card-v084 .login-center-heading{margin-bottom:13px!important}
  .login-center-card-v084 .login-center-heading h1{font-size:25px!important}
  .login-center-card-v084 .login-center-form .field{margin:9px 0!important}
  .login-center-card-v084 .login-center-help{margin-top:11px!important}
  .login-center-card-v084 .login-center-footer{margin-top:10px!important}
}

/* ===== v0.8.9 Online Gradebook ===== */
.online-score-count-toggle{display:flex;align-items:center;gap:14px;padding:16px 18px;margin-top:14px;border:1px solid #cfe1f5;border-radius:18px;background:linear-gradient(135deg,#f7fbff,#eef7ff);cursor:pointer;transition:.2s ease}.online-score-count-toggle:hover{border-color:#83b5ef;box-shadow:0 10px 28px rgba(36,99,168,.08)}.online-score-count-toggle input{width:20px;height:20px;accent-color:#2563eb;flex:0 0 auto}.online-score-count-toggle>span:last-child{display:flex;flex-direction:column;gap:3px}.online-score-count-toggle b{color:#12335c;font-size:15px}.online-score-count-toggle small{color:#6b7f98;line-height:1.5}.online-score-toggle-icon{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#2f80ed,#5b5bea);color:#fff;display:grid;place-items:center;box-shadow:0 8px 18px rgba(47,128,237,.2)}
.score-counted{color:#0e8a66!important;font-weight:700}.score-not-counted{color:#8795a9!important}
.online-gradebook-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 26px;background:linear-gradient(135deg,#fff 0%,#f6fbff 55%,#edf5ff 100%)}.online-gradebook-hero h2{margin:5px 0 6px;font-size:28px;color:#12345c}.online-gradebook-hero p{max-width:760px;color:#6d8099;line-height:1.7;margin:0}.online-gradebook-state{min-width:250px;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;border:1px solid #cfe0f2;background:#fff}.online-gradebook-state>span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center}.online-gradebook-state.open>span{background:#edf6ff;color:#2574d8}.online-gradebook-state.finalized>span{background:#e8fbf4;color:#0b9b6b}.online-gradebook-state div{display:flex;flex-direction:column;gap:2px}.online-gradebook-state small{color:#8190a4}.online-gradebook-state b{font-size:17px;color:#15375f}.online-gradebook-state em{font-size:11px;font-style:normal;color:#8290a4}
.online-gradebook-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:16px 18px}.online-gradebook-toolbar form:first-child{min-width:min(520px,100%)}.online-gradebook-actions{display:flex;gap:10px;flex-wrap:wrap}.online-gradebook-actions form{margin:0}
.online-gradebook-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:14px 0}.online-gradebook-kpis article{padding:18px 20px;display:flex;flex-direction:column;gap:4px;min-height:116px;justify-content:center}.online-gradebook-kpis small{color:#7a8aa0;font-weight:700}.online-gradebook-kpis b{font-size:30px;color:#17385f}.online-gradebook-kpis span{font-size:12px;color:#8291a5}.online-gradebook-kpis article.primary{background:linear-gradient(145deg,#2268dc,#5d63e7);border-color:transparent}.online-gradebook-kpis article.primary small,.online-gradebook-kpis article.primary b,.online-gradebook-kpis article.primary span{color:#fff}.online-gradebook-kpis article.primary i{font-size:14px;font-style:normal;opacity:.8;margin-left:3px}
.online-gradebook-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr);gap:16px;align-items:start}.online-gradebook-table-card{padding:18px}.online-gradebook-table td>b+small,.online-gradebook-table td small{display:block;color:#8090a4;font-size:11px;margin-top:3px}.gradebook-warning{display:inline-block;margin-top:4px;padding:3px 7px;border-radius:999px;background:#fff1df;color:#b66500;font-style:normal;font-size:10px;font-weight:700}.gradebook-effective{color:#1f67d8}.online-gradebook-lessons{padding:18px;position:sticky;top:88px}.gradebook-lesson-list{display:flex;flex-direction:column;gap:10px}.gradebook-lesson-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border:1px solid #dfe8f2;border-radius:15px;background:#fbfdff}.gradebook-lesson-list article.counted{border-color:#b9dece;background:#f4fcf8}.gradebook-lesson-list article>div{display:flex;align-items:center;gap:10px;min-width:0}.gradebook-lesson-list article>div>span:last-child{display:flex;flex-direction:column;min-width:0}.gradebook-lesson-list b{font-size:13px;color:#17385f}.gradebook-lesson-list small{font-size:11px;color:#7e8ca0;margin-top:3px}.gradebook-lesson-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#edf5ff;color:#2269d5;flex:0 0 auto}.gradebook-toggle{border:0;background:transparent;display:flex;align-items:center;gap:6px;color:#8997a8;font-size:11px;cursor:pointer}.gradebook-toggle i{width:34px;height:20px;border-radius:999px;background:#cfd8e3;position:relative;transition:.2s}.gradebook-toggle i:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;left:3px;top:3px;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.2s}.gradebook-toggle.on{color:#118a63}.gradebook-toggle.on i{background:#24b982}.gradebook-toggle.on i:after{left:17px}.gradebook-formula{margin-top:14px;padding:14px;border-radius:15px;background:#f4f7fb;border:1px solid #e1e8f0}.gradebook-formula b{display:block;color:#18385f;margin-bottom:7px}.gradebook-formula code{display:block;padding:9px 10px;border-radius:10px;background:#fff;color:#215eac;border:1px solid #dce8f6;font-family:inherit;font-weight:700}.gradebook-formula p{font-size:11px;line-height:1.5;color:#7c8da3;margin:8px 0 0}
@media(max-width:1050px){.online-gradebook-kpis{grid-template-columns:repeat(2,1fr)}.online-gradebook-layout{grid-template-columns:1fr}.online-gradebook-lessons{position:static}}
@media(max-width:720px){.online-gradebook-hero{align-items:flex-start;flex-direction:column}.online-gradebook-state{width:100%;min-width:0}.online-gradebook-toolbar{align-items:stretch;flex-direction:column}.online-gradebook-actions{width:100%}.online-gradebook-actions form,.online-gradebook-actions .button{flex:1}.online-gradebook-kpis{grid-template-columns:1fr 1fr}.online-gradebook-kpis article{min-height:100px;padding:14px}.online-gradebook-kpis b{font-size:24px}.online-gradebook-table{min-width:760px}}

/* v0.8.10 — ADMIN Online Subject Enable Control */
.online-enable-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 30px;background:linear-gradient(135deg,#fff 0%,#f6fbff 55%,#edf7ff 100%);overflow:hidden;position:relative}.online-enable-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-100px;top:-120px;background:radial-gradient(circle,rgba(56,189,248,.14),transparent 70%);pointer-events:none}.online-enable-hero h2{font-size:30px;margin:6px 0 7px;color:#173a5e}.online-enable-hero p{max-width:840px;margin:0;color:#667d95;line-height:1.75}.online-enable-hero-mark{min-width:225px;display:flex;align-items:center;gap:13px;padding:15px 17px;border:1px solid #d8e7f4;background:rgba(255,255,255,.88);border-radius:20px;box-shadow:0 12px 30px rgba(37,89,138,.08);position:relative;z-index:1}.online-enable-hero-mark>.ui-icon{width:34px;height:34px;color:#1478d4}.online-enable-hero-mark span{display:flex;flex-direction:column}.online-enable-hero-mark small{font-size:10px;color:#8797aa;font-weight:700;letter-spacing:.08em}.online-enable-hero-mark b{font-size:14px;color:#173a5e;margin-top:2px}.online-enable-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:14px 0}.online-enable-kpis article{display:flex;align-items:center;gap:13px;padding:17px 19px;min-height:92px}.online-enable-kpis article>div{display:flex;flex-direction:column;gap:2px}.online-enable-kpis small{font-size:11px;color:#7d8fa3}.online-enable-kpis b{font-size:26px;line-height:1.1;color:#183a5f}.online-enable-layout{display:grid;grid-template-columns:minmax(255px,.62fr) minmax(0,1.6fr);gap:0;padding:0;overflow:hidden}.online-enable-class-panel{padding:22px;border-right:1px solid #e1eaf2;background:linear-gradient(180deg,#fbfdff,#f5f9fd)}.online-enable-class-grid{display:flex;flex-direction:column;gap:8px}.online-enable-class{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:11px 12px;border-radius:15px;border:1px solid transparent;text-decoration:none;color:#294765;transition:.18s ease}.online-enable-class:hover{background:#fff;border-color:#d8e7f4;transform:translateX(2px)}.online-enable-class.active{background:#fff;border-color:#badcf5;box-shadow:0 9px 25px rgba(38,110,174,.09)}.online-enable-class-icon{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#e9f5ff,#f5fbff);color:#2378cf}.online-enable-class-icon .ui-icon{width:21px;height:21px}.online-enable-class>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.online-enable-class b{font-size:13px;color:#17395b}.online-enable-class small{font-size:10px;color:#8192a4;margin-top:2px}.online-enable-class>.ui-icon{width:15px;height:15px;color:#9baaba}.online-enable-subject-panel{padding:24px 25px}.online-enable-count{padding:7px 10px;border-radius:999px;background:#e9f9f2;color:#13835f;font-size:11px;font-weight:800}.online-enable-subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.online-enable-subject{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) 66px;align-items:center;gap:12px;padding:15px 15px;border:1px solid #dfe9f2;border-radius:18px;background:#fbfdff;cursor:pointer;transition:.18s ease;overflow:hidden}.online-enable-subject:hover{border-color:#b9d8ef;box-shadow:0 9px 24px rgba(34,93,148,.07)}.online-enable-subject.is-enabled,.online-enable-subject:has(input:checked){border-color:#9edcc5;background:linear-gradient(145deg,#f4fcf8,#fbfffd);box-shadow:0 9px 24px rgba(16,143,99,.07)}.online-enable-subject>input{position:absolute;opacity:0;pointer-events:none}.online-enable-check{position:absolute;right:9px;top:8px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#e8eef5;color:transparent;transition:.18s}.online-enable-subject:has(input:checked) .online-enable-check{background:#21ad7b;color:#fff}.online-enable-check .ui-icon{width:12px;height:12px}.online-enable-subject-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center}.online-enable-subject-icon .ui-icon{width:23px;height:23px}.online-enable-subject-copy{display:flex;flex-direction:column;min-width:0}.online-enable-subject-copy b{font-size:14px;color:#17385b}.online-enable-subject-copy small{font-size:10px;color:#7d8fa3;margin-top:3px}.online-enable-subject-copy em{font-size:10px;font-style:normal;color:#93a2b1;margin-top:3px}.online-enable-switch{justify-self:end;width:58px;display:flex;flex-direction:column;align-items:center;gap:4px}.online-enable-switch i{width:38px;height:22px;border-radius:999px;background:#cfd9e4;position:relative;transition:.18s}.online-enable-switch i:after{content:"";width:16px;height:16px;border-radius:50%;background:#fff;position:absolute;left:3px;top:3px;box-shadow:0 1px 5px rgba(0,0,0,.15);transition:.18s}.online-enable-subject:has(input:checked) .online-enable-switch i{background:#23b47f}.online-enable-subject:has(input:checked) .online-enable-switch i:after{left:19px}.online-enable-switch small{font-size:9px;color:#8b9aaa;font-weight:800}.online-enable-subject:has(input:checked) .online-enable-switch small{color:#16845f}.online-enable-savebar{margin-top:18px;padding:15px 16px;border-radius:17px;border:1px solid #dce8f2;background:#f7fafc;display:flex;align-items:center;justify-content:space-between;gap:18px}.online-enable-savebar>div{display:flex;align-items:center;gap:11px;min-width:0}.online-enable-savebar>div>.ui-icon{width:28px;height:28px;color:#277bc9;flex:0 0 auto}.online-enable-savebar span{display:flex;flex-direction:column}.online-enable-savebar b{font-size:12px;color:#17395c}.online-enable-savebar small{font-size:10px;color:#75879a;line-height:1.5;margin-top:2px}.online-enable-savebar .button{white-space:nowrap}.online-enable-future{margin-top:14px;padding:18px 21px;display:flex;align-items:flex-start;gap:13px;background:linear-gradient(135deg,#f8f7ff,#f6fbff)}.online-enable-future-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#7c5ce8,#4f77e8);color:#fff;flex:0 0 auto}.online-enable-future-icon .ui-icon{width:22px;height:22px}.online-enable-future b{color:#17385d}.online-enable-future p{margin:4px 0 0;color:#74879c;line-height:1.65;font-size:12px}
@media(max-width:1050px){.online-enable-kpis{grid-template-columns:repeat(2,1fr)}.online-enable-layout{grid-template-columns:1fr}.online-enable-class-panel{border-right:0;border-bottom:1px solid #e1eaf2}.online-enable-class-grid{display:grid;grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.online-enable-hero{align-items:flex-start;flex-direction:column;padding:22px}.online-enable-hero-mark{min-width:0;width:100%}.online-enable-kpis{grid-template-columns:1fr 1fr}.online-enable-class-grid{grid-template-columns:1fr 1fr}.online-enable-subject-grid{grid-template-columns:1fr}.online-enable-savebar{align-items:stretch;flex-direction:column}.online-enable-savebar .button{width:100%}}
@media(max-width:480px){.online-enable-kpis{grid-template-columns:1fr}.online-enable-class-grid{grid-template-columns:1fr}.online-enable-subject-panel,.online-enable-class-panel{padding:18px}.online-enable-hero h2{font-size:25px}}

/* ===== v0.9.0 Open Learning Catalog & Multi-Clip Units ===== */
.catalog-hero,.catalog-admin-hero,.catalog-search-hero,.learning-unit-head,.gradebook-v2-hero,.catalog-result-hero,.unit-builder-head{border:1px solid #d8e6f5;background:linear-gradient(135deg,#fff 0%,#f6fbff 62%,#eef7ff 100%);border-radius:24px;padding:24px 26px;margin-bottom:18px;box-shadow:0 18px 46px rgba(25,67,120,.08)}
.catalog-hero,.catalog-admin-hero,.learning-unit-head,.gradebook-v2-hero,.catalog-result-hero,.unit-builder-head{display:flex;align-items:center;justify-content:space-between;gap:24px}.catalog-hero h2,.catalog-admin-hero h2,.catalog-search-hero h2,.learning-unit-head h2,.gradebook-v2-hero h2,.unit-builder-head h2{font-size:clamp(26px,3vw,38px);margin:5px 0 7px;color:#102d52}.catalog-hero p,.catalog-admin-hero p,.catalog-search-hero p,.learning-unit-head p,.gradebook-v2-hero p,.unit-builder-head p{margin:0;color:#6e829b;max-width:760px}.catalog-hero-actions,.catalog-admin-actions,.catalog-card-actions,.clip-admin-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.catalog-score-orb{min-width:178px;min-height:150px;border-radius:28px;background:linear-gradient(145deg,#0f3f83,#1f73d8);color:#fff;display:grid;place-items:center;text-align:center;padding:16px;box-shadow:0 18px 40px rgba(28,97,185,.22)}.catalog-score-orb b{font-size:40px;line-height:1}.catalog-score-orb span{font-size:19px;font-weight:800}.catalog-score-orb small,.catalog-score-orb em{display:block;font-style:normal;opacity:.82;font-size:12px}.catalog-section-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin:24px 2px 12px}.catalog-section-head h2{margin:0;color:#17365d}.catalog-section-head p{margin:4px 0 0;color:#7c8da1}.catalog-section-head a{font-weight:800;color:#2472c8}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.catalog-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-grid.admin{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-unit-card{overflow:hidden;border:1px solid #d9e7f4;background:#fff;border-radius:22px;box-shadow:0 12px 30px rgba(38,74,120,.07);transition:.2s transform,.2s box-shadow}.catalog-unit-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(38,74,120,.12)}.catalog-cover{height:174px;background:linear-gradient(135deg,#0e315f,#1a64ba);position:relative;overflow:hidden}.catalog-cover img{width:100%;height:100%;object-fit:cover;display:block}.catalog-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(3,22,51,.48))}.catalog-play{position:absolute;left:16px;bottom:14px;width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.92);color:#216ec3;z-index:2;box-shadow:0 8px 20px rgba(0,0,0,.16)}.catalog-play .ui-icon{width:23px;height:23px}.catalog-cover em{position:absolute;right:12px;bottom:14px;z-index:2;background:rgba(7,29,60,.72);color:#fff;padding:6px 9px;border-radius:999px;font-size:11px;font-style:normal}.catalog-unit-body{padding:16px}.catalog-unit-body h3{font-size:18px;margin:7px 0 6px;color:#17365d}.catalog-unit-body p{height:42px;overflow:hidden;color:#76899f;font-size:13px;margin:0 0 10px}.catalog-tags{display:flex;gap:6px;flex-wrap:wrap}.catalog-tags span{font-size:10px;font-weight:800;padding:5px 8px;background:#e9f4ff;color:#1969b8;border-radius:999px}.catalog-tags .soft{background:#f2f4f8;color:#6d7890}.catalog-progress-line{height:7px;background:#edf2f7;border-radius:99px;margin:10px 0 6px;overflow:hidden}.catalog-progress-line i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#28a8ea,#4367f5)}.catalog-unit-body>small{color:#7a8da5}.catalog-card-actions{margin-top:12px}.catalog-card-actions form{margin:0}.catalog-empty{grid-column:1/-1;border:1px dashed #cbdcec;border-radius:22px;background:#fbfdff;padding:34px;text-align:center;color:#708399}.catalog-empty b{display:block;color:#18385f;font-size:18px;margin-bottom:6px}.catalog-empty .button{margin-top:12px}
.catalog-admin-stats,.gradebook-v2-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.catalog-admin-stats article,.gradebook-v2-stats article{background:#fff;border:1px solid #dce8f4;border-radius:18px;padding:16px 18px}.catalog-admin-stats small,.gradebook-v2-stats small{display:block;color:#7e8fa5;margin-bottom:5px}.catalog-admin-stats b,.gradebook-v2-stats b{font-size:26px;color:#17365d}
.catalog-search-hero{padding-bottom:20px}.catalog-search-form{margin-top:18px}.catalog-searchbox{display:flex;gap:8px;align-items:center;max-width:760px;background:#fff;border:1px solid #d2e1f1;border-radius:16px;padding:7px 8px 7px 14px}.catalog-searchbox .ui-icon{width:20px;color:#6d83a0}.catalog-searchbox input{border:0;outline:0;flex:1;background:transparent;font-size:15px}.catalog-filter-block{margin-top:16px}.catalog-filter-block>b{display:block;color:#284767;margin-bottom:8px}.catalog-check-grid{display:flex;gap:8px;flex-wrap:wrap}.catalog-check-grid label{cursor:pointer}.catalog-check-grid input{position:absolute;opacity:0}.catalog-check-grid span{display:block;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #d4e3f2;color:#506980;font-size:12px;font-weight:700}.catalog-check-grid input:checked+span{background:#e5f2ff;border-color:#76b8ee;color:#1765ad;box-shadow:inset 0 0 0 1px #98c9f0}
.unit-builder-head{position:static!important;top:auto!important}.unit-builder-card,.clip-manager,.unit-final-quiz-card{margin-bottom:16px}.unit-builder-options{display:flex;gap:12px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-top:14px}.unit-builder-options label{margin-right:auto;color:#365573;font-weight:700}.clip-list{display:grid;gap:12px}.clip-admin-card{display:grid;grid-template-columns:180px 1fr;gap:14px;padding:12px;border:1px solid #dce8f4;border-radius:18px;background:#fbfdff}.clip-admin-thumb{height:105px;position:relative;border-radius:14px;overflow:hidden;background:#dceaf7}.clip-admin-thumb img{width:100%;height:100%;object-fit:cover}.clip-admin-thumb b{position:absolute;left:8px;top:8px;background:#0b3569;color:#fff;padding:5px 8px;border-radius:9px}.clip-admin-copy h3{margin:4px 0;color:#1b3c63}.clip-admin-copy p{margin:0 0 10px;color:#72869d}.clip-admin-actions details{position:relative}.clip-admin-actions summary{list-style:none;cursor:pointer}.clip-inline-form{position:absolute;z-index:20;right:0;top:42px;width:min(520px,80vw);background:#fff;border:1px solid #d8e5f1;border-radius:16px;padding:14px;box-shadow:0 18px 45px rgba(24,57,96,.18);display:grid;grid-template-columns:1fr 1fr;gap:8px}.clip-inline-form input{min-width:0}.clip-add-form{margin-top:18px;border-top:1px solid #e3edf6;padding-top:18px}.check-field{display:flex!important;align-items:center;gap:8px;padding-top:27px}.unit-final-quiz-card{display:flex;justify-content:space-between;align-items:center;gap:16px}.unit-final-quiz-card form{display:inline-block;margin-left:8px}
.catalog-question-builder{max-width:1080px;margin:auto}.quiz-pass-setting{max-width:260px}.catalog-question-card{border:1px solid #dce8f4;border-radius:20px;padding:16px;margin:14px 0;background:#fbfdff}.catalog-question-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.question-image-row{display:flex;align-items:center;gap:10px;margin:8px 0}.question-image-row img{width:150px;max-height:100px;object-fit:cover;border-radius:10px}.question-time-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px;background:#f4f8fc;border-radius:12px}.question-time-row input[type=number]{width:90px}.catalog-choice-list{display:grid;gap:8px;margin-top:10px}.catalog-choice-row{display:grid;grid-template-columns:auto 40px minmax(0,1fr) 0 160px;gap:8px;align-items:center;background:#fff;border:1px solid #dfebf5;border-radius:12px;padding:8px}.catalog-choice-row input[type=file]{width:160px}.choice-letter{width:34px;height:34px;border-radius:10px;background:#e8f2ff;color:#2166ae;display:grid;place-items:center;font-weight:900}.question-builder-actions{display:flex;justify-content:space-between;gap:12px;margin-top:16px}
.learning-unit-head{padding:18px 22px}.unit-progress-badge{background:#e8f4ff;border:1px solid #c6e1f9;border-radius:18px;padding:12px 18px;text-align:center;min-width:120px}.unit-progress-badge b{display:block;font-size:24px;color:#1466b6}.unit-progress-badge span{font-size:11px;color:#6b8096}.learning-unit-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px}.learning-player-card,.unit-playlist{background:#fff;border:1px solid #dbe8f4;border-radius:22px;padding:16px;box-shadow:0 14px 32px rgba(31,66,108,.06)}.learning-player-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.learning-player-top b{display:block;color:#17365d;font-size:18px}.learning-player-top small{color:#7b8da2}.catalog-player{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#06172d}.catalog-player iframe{width:100%!important;height:100%!important}.learning-progress-panel{padding:14px 4px 4px}.learning-progress-panel>div:first-child{display:flex;justify-content:space-between}.learning-progress-panel b{color:#196fc4;font-size:22px}.learning-progress-track{height:9px;background:#edf3f8;border-radius:99px;overflow:hidden;margin:7px 0}.learning-progress-track i{display:block;height:100%;background:linear-gradient(90deg,#1aa6df,#3b67f3);border-radius:inherit}.learning-progress-panel p{margin:4px 0 0;color:#798ba0;font-size:12px}.clip-quiz-action{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:14px;border-radius:16px;background:#f4f9ff;border:1px solid #d5e7f7}.clip-quiz-action>div{display:flex;gap:10px;align-items:center}.clip-quiz-action .ui-icon{color:#3e69d7}.clip-quiz-action b,.clip-quiz-action small{display:block}.clip-quiz-action small{color:#7d8fa3}.unit-playlist{align-self:start;position:sticky;top:92px}.unit-playlist-item{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;text-decoration:none;color:#294866;border:1px solid #e1ebf5;border-radius:14px;padding:10px;margin:8px 0;background:#fbfdff}.unit-playlist-item.active{border-color:#7bb6eb;background:#eef7ff}.unit-playlist-item.locked{opacity:.52;cursor:not-allowed}.unit-playlist-item b,.unit-playlist-item small{display:block}.unit-playlist-item small{font-size:11px;color:#7f91a3}.playlist-number{width:34px;height:34px;border-radius:11px;background:#e8f2ff;color:#1768b7;display:grid;place-items:center;font-weight:900}.unit-final-quiz-student{margin-top:14px;border-top:1px solid #e4edf5;padding-top:14px}.unit-final-quiz-student p{color:#7a8da2;font-size:12px}.big-online-score{display:flex;align-items:baseline;gap:4px}.big-online-score b{font-size:42px;color:#196cc0}.big-online-score span{font-weight:800;color:#6d8299}.catalog-result-hero.pass{background:linear-gradient(135deg,#f5fffb,#ecfbf4)}.catalog-result-hero.rewatch{background:linear-gradient(135deg,#fff9f0,#fff3df)}.catalog-result-score{text-align:center;min-width:150px}.catalog-result-score b{display:block;font-size:42px;color:#17365d}.catalog-result-score span{color:#72859c}.catalog-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.catalog-subject-settings{padding:20px}.catalog-subject-toggle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.catalog-subject-toggle-grid label{display:grid;grid-template-columns:auto 48px 1fr auto;align-items:center;gap:10px;border:1px solid #dce8f4;border-radius:16px;padding:12px;cursor:pointer}.catalog-subject-toggle-grid input{position:absolute;opacity:0}.subject-toggle-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center}.catalog-subject-toggle-grid b,.catalog-subject-toggle-grid small{display:block}.catalog-subject-toggle-grid small{color:#7c8da1}.catalog-subject-toggle-grid i{width:42px;height:23px;border-radius:99px;background:#d7e1eb;position:relative}.catalog-subject-toggle-grid i:after{content:"";position:absolute;width:17px;height:17px;border-radius:50%;background:#fff;left:3px;top:3px;transition:.2s}.catalog-subject-toggle-grid input:checked~i{background:#29b985}.catalog-subject-toggle-grid input:checked~i:after{left:22px}
.policy-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:16px}.policy-editor,.policy-list{align-self:start}.policy-unit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-height:360px;overflow:auto;padding:8px;background:#f7fafc;border:1px solid #e0eaf4;border-radius:14px}.policy-unit-grid label{display:flex;gap:8px;align-items:flex-start;padding:10px;background:#fff;border:1px solid #e2ebf4;border-radius:12px}.policy-unit-grid b,.policy-unit-grid small{display:block}.policy-unit-grid small{color:#7e8fa1}.policy-list article{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e6eef6}.policy-list article:last-child{border:0}.policy-list b,.policy-list small{display:block}.policy-list small{color:#7b8da2}.gradebook-v2-hero form select{min-width:250px}.gradebook-v2-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}.gradebook-v2-table td small{display:block;color:#8291a2}.mini-progress{width:110px;height:7px;border-radius:99px;background:#edf2f6;overflow:hidden}.mini-progress i{display:block;height:100%;background:linear-gradient(90deg,#1eaadf,#4766ed)}.score-pill{display:inline-block;padding:6px 9px;border-radius:999px;background:#e8f4ff;color:#1769b7;font-weight:900}.score-pill.final{background:#e8f9ef;color:#148953}.gradebook-v2-side{align-self:start;position:sticky;top:92px}.gradebook-unit-line{display:flex;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #edf1f5}.gradebook-unit-line span{width:34px;height:34px;border-radius:10px;background:#edf5ff;color:#2970ba;display:grid;place-items:center}.gradebook-unit-line b,.gradebook-unit-line small{display:block}.gradebook-unit-line small{color:#8292a3}
@media(max-width:1180px){.catalog-grid,.catalog-grid.admin{grid-template-columns:repeat(2,1fr)}.catalog-grid.compact{grid-template-columns:repeat(3,1fr)}.learning-unit-layout{grid-template-columns:1fr}.unit-playlist{position:static}.policy-layout,.gradebook-v2-layout{grid-template-columns:1fr}.gradebook-v2-side{position:static}.catalog-subject-toggle-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.catalog-hero,.catalog-admin-hero,.learning-unit-head,.gradebook-v2-hero,.catalog-result-hero,.unit-builder-head{align-items:stretch;flex-direction:column;padding:18px}.catalog-score-orb{min-height:auto;min-width:0}.catalog-grid,.catalog-grid.admin,.catalog-grid.compact{grid-template-columns:1fr}.catalog-admin-stats,.gradebook-v2-stats{grid-template-columns:repeat(2,1fr)}.catalog-cover{height:190px}.clip-admin-card{grid-template-columns:1fr}.clip-admin-thumb{height:170px}.clip-inline-form{position:fixed;left:12px;right:12px;top:100px;width:auto;grid-template-columns:1fr}.unit-final-quiz-card{align-items:stretch;flex-direction:column}.catalog-choice-row{grid-template-columns:auto 38px 1fr}.catalog-choice-row input[type=file]{grid-column:3;width:100%}.learning-player-card,.unit-playlist{padding:12px}.catalog-subject-toggle-grid,.policy-unit-grid{grid-template-columns:1fr}.catalog-result-grid{grid-template-columns:1fr}.gradebook-v2-hero form select{min-width:0;width:100%}.gradebook-v2-table{min-width:780px}}

/* v0.9.1 — Unit Builder UX polish */
.unit-builder-v091-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;padding:20px 22px;background:#fff;border:1px solid #dce8f4;border-radius:22px;box-shadow:0 14px 34px rgba(25,62,102,.06)}
.unit-head-actions{display:flex;gap:8px;flex-wrap:wrap}.unit-builder-stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 16px}.unit-builder-stepper a{display:grid;grid-template-columns:40px 1fr;column-gap:10px;row-gap:2px;align-items:center;text-decoration:none;color:#2b4968;background:#fff;border:1px solid #dce8f4;border-radius:16px;padding:12px 14px;transition:.18s ease}.unit-builder-stepper a:hover{transform:translateY(-1px);border-color:#9bc8ef;box-shadow:0 10px 24px rgba(27,75,122,.08)}.unit-builder-stepper a.active{background:linear-gradient(135deg,#eef8ff,#f7fbff);border-color:#8fc6ef}.unit-builder-stepper a.disabled{opacity:.45;pointer-events:none}.unit-builder-stepper span{grid-row:1/3;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#e9f3ff;color:#176ac0;font-weight:900}.unit-builder-stepper b{font-size:13px}.unit-builder-stepper small{font-size:10px;color:#8293a8}.unit-section-card{scroll-margin-top:96px}.unit-section-title{display:flex;align-items:center;gap:12px;margin-bottom:16px}.unit-section-title.compact{margin:0}.unit-section-title h2,.unit-section-title h3{margin:2px 0;color:#17365d}.unit-section-title p{margin:0;color:#7b8ea3}.unit-section-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;box-shadow:0 10px 22px rgba(26,76,124,.1)}.unit-section-icon .ui-icon{width:23px;height:23px}.unit-section-icon.blue{background:#e8f3ff;color:#236fc2}.unit-section-icon.cyan{background:#e4f8fb;color:#1393a8}.unit-section-icon.purple{background:#f0eaff;color:#7050c8}.unit-section-icon.green{background:#e9f8f1;color:#239169}.unit-section-icon.large{width:62px;height:62px;border-radius:20px}.unit-builder-options.v091{margin-top:18px;padding-top:16px;border-top:1px solid #e7eef6}.pretty-check{display:flex;align-items:center;gap:12px!important;cursor:pointer}.pretty-check input{position:absolute;opacity:0}.pretty-check i{width:44px;height:24px;border-radius:99px;background:#dce5ee;position:relative;flex:0 0 auto;transition:.2s}.pretty-check i:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;left:3px;top:3px;box-shadow:0 2px 5px rgba(0,0,0,.12);transition:.2s}.pretty-check input:checked+i{background:#2ab883}.pretty-check input:checked+i:after{left:23px}.pretty-check span b,.pretty-check span small{display:block}.pretty-check span small{font-weight:500;color:#7d8da1;margin-top:2px}.unit-next-hint{display:flex;align-items:center;gap:14px;margin-top:14px}.unit-next-hint b{display:block;color:#234667}.unit-next-hint p{margin:3px 0 0;color:#7f91a4}.clip-list.v091{gap:14px}.clip-admin-card.v091{grid-template-columns:210px 1fr;padding:14px;background:#fff;box-shadow:0 10px 24px rgba(28,66,104,.045)}.clip-admin-card.v091 .clip-admin-thumb{height:122px}.clip-thumb-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#1e68b5;display:grid;place-items:center;box-shadow:0 10px 24px rgba(0,0,0,.18);cursor:pointer}.clip-thumb-play .ui-icon{width:22px;height:22px}.clip-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.clip-title-row small{font-size:10px;color:#8a9bad;font-weight:800;text-transform:uppercase}.clip-status-chips{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.clip-status-chips span{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:999px;background:#eef5fb;color:#517089;font-size:10px;font-weight:800}.clip-status-chips .ui-icon{width:14px}.clip-status-chips span.quiz{background:#f1ecff;color:#7252c6}.clip-status-chips span.noquiz{background:#eaf8f2;color:#288864}.clip-edit-details{position:relative}.clip-inline-form.v091{grid-template-columns:1fr 1fr;width:min(580px,82vw)}.clip-inline-form.v091 label{display:grid;gap:5px;font-size:11px;font-weight:800;color:#526d87}.clip-inline-form.v091 .quiz-mode-choice{grid-column:1/-1}.clip-empty-state{padding:28px;text-align:center;border:1px dashed #cddcec;border-radius:18px;background:#fbfdff;margin-top:8px}.clip-empty-state .unit-section-icon{margin:0 auto 10px}.clip-empty-state h3{margin:4px 0;color:#244568}.clip-empty-state p{margin:0;color:#8192a5}.clip-create-card{margin-top:18px;border:1px solid #d9e7f3;border-radius:20px;background:#fbfdff;overflow:hidden}.clip-create-card[open]{background:#fff;box-shadow:0 12px 30px rgba(31,69,108,.06)}.clip-create-summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:16px 18px}.clip-create-summary::-webkit-details-marker{display:none}.clip-create-summary>span:nth-child(2){flex:1}.clip-create-summary b,.clip-create-summary small{display:block}.clip-create-summary b{color:#1e456c}.clip-create-summary small{color:#7f91a4;margin-top:2px}.clip-create-summary>i .ui-icon{width:18px;transition:.2s}.clip-create-card[open] .clip-create-summary>i{transform:rotate(90deg)}.plus-app-icon{width:44px;height:44px;border-radius:15px;background:linear-gradient(135deg,#26a9dc,#3968eb);color:#fff;display:grid;place-items:center;font-size:28px;box-shadow:0 10px 20px rgba(37,108,212,.2)}.clip-add-form.v091{margin:0;padding:18px;border-top:1px solid #e6eef6}.clip-create-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:18px}.clip-create-fields{min-width:0}.url-preview-row{display:flex;gap:8px}.url-preview-row input{flex:1;min-width:0}.quiz-choice-panel{margin-top:12px;padding:14px;border-radius:16px;background:#f7fbff;border:1px solid #dceaf6}.quiz-choice-panel>p{margin:2px 0 10px;color:#8494a7;font-size:11px}.quiz-mode-choice{display:flex;gap:8px;flex-wrap:wrap}.quiz-mode-choice label{cursor:pointer}.quiz-mode-choice input{position:absolute;opacity:0}.quiz-mode-choice span{display:flex;align-items:center;gap:6px;padding:8px 11px;border-radius:12px;background:#fff;border:1px solid #dce6ef;color:#5b7187;font-size:11px;font-weight:800}.quiz-mode-choice input:checked+span{border-color:#78b5e8;background:#edf7ff;color:#1767b0;box-shadow:inset 0 0 0 1px #a9d0ef}.quiz-mode-choice.large{display:grid;grid-template-columns:1fr 1fr}.quiz-mode-choice.large span{min-height:72px;align-items:flex-start;padding:12px}.quiz-mode-choice.large span>.ui-icon{width:20px;flex:0 0 auto}.quiz-mode-choice.large span b,.quiz-mode-choice.large span small{display:block}.quiz-mode-choice.large span small{font-weight:500;color:#8091a3;margin-top:2px}.clip-create-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}.clip-create-preview{min-height:280px;border-radius:18px;overflow:hidden;background:#091d34;border:1px solid #d8e5f1}.clip-create-preview iframe,.clip-preview-frame iframe{width:100%;height:100%;border:0;display:block}.clip-preview-placeholder{height:100%;min-height:280px;display:grid;place-items:center;align-content:center;gap:6px;color:#9cb1c7;text-align:center}.clip-preview-placeholder .ui-icon{width:42px;height:42px;color:#52a8e8}.clip-preview-placeholder b{color:#d9e8f5}.clip-preview-placeholder.error{background:#fff7f7;color:#b45858}.clip-preview-placeholder.error b{color:#9d3434}.quiz-overview-card{margin-top:16px}.quiz-overview-list{display:grid;gap:9px}.quiz-overview-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px 14px;border:1px solid #e0eaf4;border-radius:14px;background:#fbfdff}.quiz-overview-list b,.quiz-overview-list small{display:block}.quiz-overview-list small{color:#8293a6}.quiz-ready,.quiz-none{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:800}.quiz-ready{background:#efeaff;color:#6e50be}.quiz-none{background:#edf6f1;color:#4f806b}.quiz-ready .ui-icon{width:14px}.unit-final-quiz-card.v091{margin-top:14px;padding:16px;border:1px solid #dce8f4;border-radius:16px;background:#f8fbfe}.unit-final-quiz-card.v091 h3{margin:3px 0;color:#244568}.unit-final-quiz-card.v091 p{margin:0;color:#7f91a4}.inline-form{display:inline-block;margin-left:8px}.unit-review-card{margin-top:16px}.unit-readiness-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0 16px}.unit-readiness-grid article{padding:14px;border-radius:15px;background:#f7fbff;border:1px solid #dce9f5}.unit-readiness-grid small,.unit-readiness-grid b,.unit-readiness-grid span{display:block}.unit-readiness-grid b{font-size:24px;color:#1d5f9f}.unit-readiness-grid span{color:#7d8fa3;font-size:11px}.unit-review-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.unit-review-actions form{margin:0}.clip-preview-dialog{width:min(900px,92vw);border:0;border-radius:22px;padding:0;background:#fff;box-shadow:0 30px 80px rgba(5,23,44,.35)}.clip-preview-dialog::backdrop{background:rgba(7,24,43,.58);backdrop-filter:blur(5px)}.clip-preview-dialog-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #e4edf5}.clip-preview-dialog-head small,.clip-preview-dialog-head b{display:block}.clip-preview-dialog-head small{font-size:9px;color:#72a5d1;font-weight:900}.clip-preview-dialog-head b{color:#1c3f63}.clip-preview-dialog .clip-preview-frame{aspect-ratio:16/9;background:#07172a}.unit-preview-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:20px 22px;background:#fff;border:1px solid #dce8f4;border-radius:22px}.unit-preview-hero h2{margin:4px 0;color:#17365d}.unit-preview-hero p{margin:0;color:#7d8fa3}.unit-preview-hero>div:last-child{display:flex;align-items:center;gap:8px}.unit-preview-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px}.unit-preview-player-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}.unit-preview-player-head small,.unit-preview-player-head h3{display:block}.unit-preview-player-head h3{margin:2px 0;color:#17365d}.unit-preview-player-head span{font-size:11px;font-weight:800;color:#52728f;background:#edf6ff;padding:7px 9px;border-radius:999px}.unit-preview-player .clip-preview-frame{aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#06172d}.unit-preview-note{display:flex;align-items:center;gap:8px;margin-top:12px;padding:12px;border-radius:14px;background:#f5f9fd;color:#55718b;font-size:12px}.unit-preview-note .ui-icon{width:18px}.unit-preview-playlist{align-self:start}.unit-preview-item{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;text-decoration:none;color:#2c4967;border:1px solid #e1ebf4;border-radius:14px;padding:10px;margin-top:8px;background:#fbfdff}.unit-preview-item.active{background:#edf7ff;border-color:#8fc4ec}.unit-preview-item>span{width:34px;height:34px;border-radius:11px;background:#e7f2ff;color:#176bb9;display:grid;place-items:center;font-weight:900}.unit-preview-item b,.unit-preview-item small{display:block}.unit-preview-item small{font-size:10px;color:#8294a7}.unit-preview-final{display:flex;gap:9px;align-items:center;margin-top:12px;padding:12px;border-radius:14px;background:#f2edff;color:#6249aa}.unit-preview-final .ui-icon{width:20px}.unit-preview-final b,.unit-preview-final small{display:block}.unit-preview-final small{font-size:10px;opacity:.75}
@media(max-width:980px){.unit-builder-stepper{grid-template-columns:repeat(2,1fr)}.clip-create-layout,.unit-preview-layout{grid-template-columns:1fr}.clip-create-preview{min-height:220px}.unit-preview-playlist{position:static}.clip-title-row{flex-direction:column}.clip-status-chips{justify-content:flex-start}}
@media(max-width:760px){.unit-builder-v091-head,.unit-preview-hero{align-items:stretch;flex-direction:column}.unit-head-actions,.unit-preview-hero>div:last-child{width:100%}.unit-head-actions .button,.unit-preview-hero>div:last-child .button{flex:1}.unit-builder-stepper{grid-template-columns:1fr 1fr}.unit-builder-stepper a{padding:10px}.clip-admin-card.v091{grid-template-columns:1fr}.clip-admin-card.v091 .clip-admin-thumb{height:190px}.clip-inline-form.v091{grid-template-columns:1fr}.quiz-mode-choice.large{grid-template-columns:1fr}.clip-create-actions{flex-direction:column}.clip-create-actions .button{width:100%}.quiz-overview-list article{grid-template-columns:1fr}.unit-final-quiz-card.v091{flex-direction:column;align-items:stretch}.unit-readiness-grid{grid-template-columns:1fr}.unit-review-actions{flex-direction:column}.unit-review-actions .button{width:100%}.url-preview-row{flex-direction:column}}

/* v0.9.2 — Step-by-step Unit Builder + reliable video preview */
.unit-builder-v092-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;padding:20px 22px;background:#fff;border:1px solid #dce8f4;border-radius:22px;box-shadow:0 14px 34px rgba(25,62,102,.06)}
.unit-builder-v092-head h2{margin:4px 0;color:#17365d}.unit-builder-v092-head p{margin:0;color:#7b8ea3}.unit-builder-stepper-pages{margin-bottom:18px}.unit-builder-stepper-pages a.active{background:linear-gradient(135deg,#eaf6ff,#f8fbff);border-color:#70b8ee;box-shadow:0 12px 30px rgba(35,105,170,.08)}
.unit-step-page{padding:22px;border-radius:22px}.unit-step-page>.unit-section-title{margin-bottom:22px}.unit-step-info textarea{min-height:138px}.unit-builder-options.v092{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:20px;padding-top:18px;border-top:1px solid #e5edf5}.unit-page-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.unit-page-nav{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:20px;padding-top:18px;border-top:1px solid #e3edf6}.button.disabled,.unit-page-nav .disabled{opacity:.45;pointer-events:none}
.unit-step-two-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,420px);gap:18px;align-items:start}.unit-step-two-main{min-width:0}.clip-list.v092{display:grid;gap:12px}.clip-admin-card.v092{display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px;padding:13px;border:1px solid #e0eaf4;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(28,66,104,.04)}.clip-admin-card.v092 .clip-admin-thumb{height:104px;border-radius:14px;overflow:hidden;position:relative;background:#0c2039}.clip-admin-card.v092 .clip-admin-thumb img{width:100%;height:100%;object-fit:cover}.clip-add-workspace{margin-top:16px;padding:18px;border:1px solid #dbe8f3;border-radius:18px;background:#fbfdff}.clip-add-workspace .section-head{margin-bottom:14px}.clip-add-form.v092{display:block}.field-help{display:block;margin-top:6px;color:#8192a5;font-size:10px}.unit-video-preview-panel{border:1px solid #d9e7f3;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 12px 30px rgba(22,67,108,.07)}.unit-video-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 16px;border-bottom:1px solid #e4edf5}.unit-video-preview-head h3{margin:2px 0 0;color:#1d4166}.unit-video-preview-frame{aspect-ratio:16/9;background:#081a2f;overflow:hidden}.unit-video-preview-frame iframe{width:100%;height:100%;border:0;display:block}.unit-video-preview-frame .clip-preview-placeholder{min-height:100%;height:100%;padding:20px}.unit-video-preview-help{display:grid;gap:2px;padding:13px 16px;background:#f7fbfe;color:#71869b;font-size:10px}.unit-video-preview-help b{color:#3c5f7e}.quiz-overview-list.v092 article{grid-template-columns:minmax(0,1fr) auto auto}.unit-final-quiz-card.v092{margin-top:16px;padding:18px;border:1px solid #dce8f4;border-radius:18px;background:#f8fbfe;display:flex;justify-content:space-between;align-items:center;gap:14px}.unit-final-quiz-card.v092 h3{margin:3px 0;color:#244568}.unit-final-quiz-card.v092 p{margin:0;color:#7f91a4}.unit-review-summary-v092{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:10px}.unit-review-summary-v092 article{padding:15px;border:1px solid #dfeaf4;border-radius:16px;background:#f8fbfe}.unit-review-summary-v092 small,.unit-review-summary-v092 b,.unit-review-summary-v092 span{display:block}.unit-review-summary-v092 small{font-size:9px;color:#8496a8;font-weight:800}.unit-review-summary-v092 b{margin-top:3px;color:#1b4872;font-size:18px}.unit-review-summary-v092 span{margin-top:3px;color:#7b8ea2;font-size:10px}.unit-review-content-v092{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;margin-top:14px}.unit-review-content-v092>div,.unit-review-content-v092>aside{padding:16px;border:1px solid #dfeaf4;border-radius:17px;background:#fff}.unit-review-content-v092 h3{margin:0 0 10px;color:#234768}.review-clip-row{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #edf2f7}.review-clip-row:last-child{border-bottom:0}.review-clip-row>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#e8f4ff;color:#186bb9;font-weight:900}.review-clip-row b,.review-clip-row small{display:block}.review-clip-row small{color:#8192a4;font-size:10px}.unit-publish-panel{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:14px;padding:16px 18px;border-radius:17px}.unit-publish-panel.draft{background:#eef6ff;border:1px solid #cfe3f5}.unit-publish-panel.published{background:#eaf9f2;border:1px solid #c9eadb}.unit-publish-panel b,.unit-publish-panel span{display:block}.unit-publish-panel b{color:#254a6c}.unit-publish-panel span{margin-top:2px;color:#75899d;font-size:11px}.unit-publish-panel form{margin:0}
@media(max-width:1100px){.unit-step-two-layout{grid-template-columns:1fr}.unit-video-preview-panel{order:-1}.unit-review-summary-v092{grid-template-columns:1fr 1fr}.unit-review-content-v092{grid-template-columns:1fr}}
@media(max-width:760px){.unit-builder-v092-head{align-items:stretch;flex-direction:column}.unit-builder-options.v092,.unit-publish-panel{align-items:stretch;flex-direction:column}.unit-page-actions,.unit-page-nav{flex-direction:column}.unit-page-actions .button,.unit-page-nav .button,.unit-publish-panel .button{width:100%}.clip-admin-card.v092{grid-template-columns:1fr}.clip-admin-card.v092 .clip-admin-thumb{height:190px}.unit-review-summary-v092{grid-template-columns:1fr}.unit-final-quiz-card.v092{align-items:stretch;flex-direction:column}.quiz-overview-list.v092 article{grid-template-columns:1fr}.unit-builder-stepper-pages{grid-template-columns:1fr 1fr}}


/* v0.9.2.1 Quiz button UX fix */
.clip-save-hint{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:#f6f9ff;border:1px solid #dce8fb;color:#60718a;font-size:12px;line-height:1.55}.clip-save-hint b{color:#274d7b}.clip-create-actions .button[data-save-and-quiz]{box-shadow:0 8px 20px rgba(74,111,238,.18)}

/* v0.9.3 — destructive unit delete + vivid action button system */
.button.action-preview,.button.action-edit,.button.action-quiz,.button.action-delete,.button.action-save,.button.action-add,.button.action-next,.button.action-publish,.button.action-back{border:0!important;color:#fff!important;font-weight:800;box-shadow:0 8px 22px rgba(32,63,105,.12);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.button.action-preview:hover,.button.action-edit:hover,.button.action-quiz:hover,.button.action-delete:hover,.button.action-save:hover,.button.action-add:hover,.button.action-next:hover,.button.action-publish:hover,.button.action-back:hover{transform:translateY(-1px);filter:saturate(1.08);box-shadow:0 12px 26px rgba(32,63,105,.18)}
.button.action-preview{background:linear-gradient(135deg,#1689df,#22b6d9)!important}.button.action-edit{background:linear-gradient(135deg,#f5a524,#f07142)!important}.button.action-quiz{background:linear-gradient(135deg,#7757e8,#a04ce3)!important}.button.action-delete{background:linear-gradient(135deg,#ef476f,#d9365f)!important}.button.action-save{background:linear-gradient(135deg,#16a085,#28b779)!important}.button.action-add{background:linear-gradient(135deg,#0aa7c6,#3d8fe7)!important}.button.action-next{background:linear-gradient(135deg,#3478ef,#5967e9)!important}.button.action-publish{background:linear-gradient(135deg,#18a76f,#18bd91)!important}.button.action-back{background:linear-gradient(135deg,#7489a2,#5f748d)!important}
.button.action-preview .ui-icon,.button.action-edit .ui-icon,.button.action-quiz .ui-icon,.button.action-delete .ui-icon,.button.action-save .ui-icon,.button.action-add .ui-icon,.button.action-next .ui-icon,.button.action-publish .ui-icon,.button.action-back .ui-icon{color:#fff!important}
.clip-admin-actions{gap:8px!important;align-items:center;flex-wrap:wrap}.clip-admin-actions form{margin:0}.clip-edit-details>summary{list-style:none}.clip-edit-details>summary::-webkit-details-marker{display:none}.unit-head-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.catalog-card-actions .action-edit{min-width:132px;justify-content:center}.danger-text{color:#d92d55!important}
html.modal-open,html.modal-open body{overflow:hidden}.unit-delete-modal[hidden]{display:none!important}.unit-delete-modal{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;padding:20px}.unit-delete-backdrop{position:absolute;inset:0;border:0;background:rgba(7,20,38,.62);backdrop-filter:blur(7px);cursor:default}.unit-delete-dialog{position:relative;width:min(540px,calc(100vw - 28px));padding:26px;border-radius:26px;border:1px solid rgba(255,255,255,.78);background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);box-shadow:0 35px 100px rgba(3,20,42,.35);animation:unitDeleteIn .2s ease}.unit-delete-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#ff5d78,#d92d55);box-shadow:0 14px 30px rgba(217,45,85,.25);margin-bottom:14px}.unit-delete-icon .ui-icon{width:27px;height:27px}.unit-delete-dialog h2{font-size:26px;color:#183859;margin:5px 0 7px}.unit-delete-dialog>p{color:#697e94;line-height:1.7;margin:0}.unit-delete-dialog>p b{color:#243f60}.unit-delete-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0}.unit-delete-summary span{padding:12px;border:1px solid #e2eaf3;border-radius:15px;background:#f8fbfd;text-align:center}.unit-delete-summary b,.unit-delete-summary small{display:block}.unit-delete-summary b{font-size:23px;color:#d92d55}.unit-delete-summary small{font-size:10px;color:#8091a3;margin-top:2px}.unit-delete-warning{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;padding:12px 13px;border-radius:15px;background:#fff4f6;border:1px solid #ffd4dd;color:#9c4359;font-size:11px;line-height:1.6}.unit-delete-warning .ui-icon{width:21px;height:21px;color:#dc3f63}.unit-delete-form{margin-top:16px}.unit-delete-form>label{display:block;color:#344f6d;font-weight:800;font-size:12px}.unit-delete-password{display:flex;align-items:center;margin-top:7px;border:1px solid #d9e4ef;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 5px 16px rgba(31,65,101,.05)}.unit-delete-password input{width:100%;border:0!important;box-shadow:none!important;background:transparent!important;min-height:48px;padding:0 14px!important}.unit-delete-password i{width:46px;display:grid;place-items:center;color:#d64062}.unit-delete-password .ui-icon{width:19px}.unit-delete-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.unit-delete-actions .button{min-width:135px;justify-content:center}@keyframes unitDeleteIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:680px){.unit-head-actions{width:100%}.unit-head-actions .button{flex:1;min-width:0}.unit-delete-dialog{padding:20px;border-radius:22px}.unit-delete-summary{grid-template-columns:repeat(3,1fr)}.unit-delete-actions{flex-direction:column-reverse}.unit-delete-actions .button{width:100%}}

/* v0.9.4 Clip Manage UX */
.clip-admin-card.v092{overflow:visible}
.clip-admin-copy{min-width:0}
.clip-admin-actions{width:100%}
.clip-edit-details{position:relative!important}
.clip-edit-details[open]{flex:1 0 100%;width:100%;margin-top:6px;padding-top:8px;border-top:1px solid #e8eef5}
.clip-edit-details>summary{display:inline-flex!important;align-items:center;justify-content:center}
.clip-edit-details[open]>summary{margin-bottom:10px}
.clip-edit-panel{width:100%;padding:14px;border:1px solid #dce8f4;border-radius:16px;background:linear-gradient(180deg,#fbfdff,#f7fbff);box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}
.clip-edit-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px;padding-bottom:11px;border-bottom:1px solid #e5edf5}
.clip-edit-panel-head b,.clip-edit-panel-head small{display:block}.clip-edit-panel-head b{font-size:14px;color:#244a70;margin-top:2px}.clip-edit-panel-head small{margin-top:3px;color:#7e91a4;font-size:10px}
.clip-edit-close{width:32px;height:32px;border:1px solid #dce6ef;border-radius:10px;background:#fff;color:#6f8398;font-size:20px;line-height:1;cursor:pointer;box-shadow:0 5px 12px rgba(25,63,102,.06)}.clip-edit-close:hover{background:#fff1f3;color:#d9365f;border-color:#f1cbd4}
.clip-inline-form.v094{position:static!important;right:auto!important;top:auto!important;width:100%!important;max-width:none!important;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:12px!important}
.clip-inline-form.v094 label{display:grid;gap:6px;font-size:11px;font-weight:800;color:#4f6d89;min-width:0}.clip-inline-form.v094 input{width:100%;min-width:0}.clip-inline-form.v094 .span-2{grid-column:1/-1}
.clip-edit-note{align-self:end;padding:10px 12px;border-radius:13px;background:#eef7ff;border:1px solid #d5e8f8}.clip-edit-note b,.clip-edit-note small{display:block}.clip-edit-note b{color:#2a5d88;font-size:11px}.clip-edit-note small{margin-top:2px;color:#728aa0;font-size:9px;line-height:1.4}
.clip-edit-quiz-choice{margin-top:2px}.clip-edit-quiz-choice label>span{min-height:72px}.clip-edit-quiz-choice label>span>span b,.clip-edit-quiz-choice label>span>span small{display:block}.clip-edit-quiz-choice label>span>span small{font-weight:500;color:#8293a6;margin-top:2px}
.clip-edit-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:2px}

.quiz-overview-list.v094{display:grid;gap:10px}.quiz-overview-list.v094 article{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(250px,auto);align-items:center;gap:12px;padding:13px 14px;border:1px solid #e0eaf4;border-radius:16px;background:#fff;box-shadow:0 7px 18px rgba(28,66,104,.035)}
.quiz-overview-main{display:flex;align-items:center;gap:10px;min-width:0}.quiz-clip-number{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;background:linear-gradient(135deg,#e8f4ff,#f5faff);color:#1d6fbb;font-weight:900;border:1px solid #d8e9f7}.quiz-overview-main b,.quiz-overview-main small{display:block}.quiz-overview-main b{color:#24486b}.quiz-overview-main small{color:#8092a5;font-size:10px;margin-top:2px}
.quiz-overview-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.quiz-overview-actions form{margin:0}.quiz-overview-actions .button{white-space:nowrap}
.quiz-overview-list.v094 .action-edit{background:linear-gradient(135deg,#ff9b36,#f27635)!important;color:#fff!important;border-color:transparent!important}.quiz-overview-list.v094 .action-edit:hover{filter:brightness(1.03);transform:translateY(-1px)}
.quiz-overview-list.v094 .action-quiz{background:linear-gradient(135deg,#8b5cf6,#6f48e6)!important;color:#fff!important;border-color:transparent!important}.quiz-overview-list.v094 .action-quiz:hover{filter:brightness(1.03);transform:translateY(-1px)}

@media(max-width:1050px){.quiz-overview-list.v094 article{grid-template-columns:minmax(0,1fr) auto}.quiz-overview-actions{grid-column:1/-1;justify-content:flex-start}.clip-inline-form.v094{grid-template-columns:1fr 1fr!important}}
@media(max-width:760px){.clip-inline-form.v094{grid-template-columns:1fr!important}.clip-inline-form.v094 .span-2{grid-column:1}.clip-edit-actions{flex-direction:column}.clip-edit-actions .button{width:100%}.quiz-overview-list.v094 article{grid-template-columns:1fr}.quiz-overview-actions{grid-column:auto;justify-content:stretch}.quiz-overview-actions .button,.quiz-overview-actions form,.quiz-overview-actions form .button{width:100%}.quiz-overview-main{align-items:flex-start}}

/* v0.9.5 — Floating Clip Workspace Modal */
html.clip-modal-open,html.clip-modal-open body{overflow:hidden!important}
.unit-step-clips.v095{overflow:visible}.clip-workspace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 18px;padding:14px 16px;border:1px solid #dfe9f3;border-radius:18px;background:linear-gradient(135deg,#f9fcff,#f3f8fd)}.clip-workspace-toolbar b,.clip-workspace-toolbar span{display:block}.clip-workspace-toolbar b{font-size:14px;color:#213f60}.clip-workspace-toolbar span{font-size:10px;color:#7d91a5;margin-top:2px}.clip-workspace-toolbar .button{min-width:150px;justify-content:center}
.clip-list.v095{display:grid;gap:14px}.clip-admin-card.v095{display:grid;grid-template-columns:210px minmax(0,1fr);gap:16px;padding:14px;border:1px solid #dfe9f3;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(30,66,104,.055);overflow:hidden}.clip-admin-card.v095 .clip-admin-thumb{height:120px}.clip-admin-card.v095 .clip-admin-copy{display:flex;flex-direction:column;justify-content:center}.clip-admin-card.v095 .clip-admin-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.clip-admin-card.v095 .clip-admin-actions form{margin:0}.clip-empty-state.v095{display:grid;place-items:center;text-align:center;min-height:300px;border:1.5px dashed #cfe0ef;border-radius:22px;background:linear-gradient(180deg,#fbfdff,#f7fbfe);padding:34px}.clip-empty-state.v095 h3{margin:12px 0 4px;color:#234666}.clip-empty-state.v095 p{margin:0 0 16px;color:#7d90a4}

.clip-workspace-modal[hidden],.clip-preview-modal[hidden]{display:none!important}.clip-workspace-modal,.clip-preview-modal{position:fixed;inset:0;z-index:9800;display:grid;place-items:center;padding:24px;opacity:0;transition:opacity .17s ease}.clip-workspace-modal.open,.clip-preview-modal.open{opacity:1}.clip-workspace-backdrop{position:absolute;inset:0;border:0;background:rgba(9,27,49,.57);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);cursor:default}
.clip-workspace-dialog{position:relative;width:min(1080px,calc(100vw - 48px));max-height:min(790px,calc(100vh - 48px));overflow:hidden;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.9);border-radius:28px;background:linear-gradient(180deg,#fff 0%,#f9fcff 100%);box-shadow:0 40px 120px rgba(4,23,47,.32);transform:translateY(14px) scale(.975);transition:transform .2s ease}.clip-workspace-modal.open .clip-workspace-dialog{transform:none}
.clip-workspace-head{display:grid;grid-template-columns:56px minmax(0,1fr) 42px;align-items:center;gap:14px;padding:20px 22px;border-bottom:1px solid #e3ebf3;background:linear-gradient(135deg,#f8fbff 0%,#fff 68%)}.clip-workspace-head h2{margin:2px 0 3px;font-size:24px;color:#173b61}.clip-workspace-head p{margin:0;color:#758ba0;font-size:11px}.clip-workspace-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;color:#fff;box-shadow:0 13px 28px rgba(23,87,145,.16)}.clip-workspace-icon.cyan{background:linear-gradient(145deg,#19b8c8,#2b82e0)}.clip-workspace-icon.orange{background:linear-gradient(145deg,#ffae32,#f0723d)}.clip-workspace-icon .ui-icon{width:25px;height:25px}.clip-workspace-close{width:40px;height:40px;border-radius:13px;border:1px solid #dbe6f0;background:#fff;color:#6f8397;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 6px 16px rgba(31,64,101,.06);transition:.15s}.clip-workspace-close:hover{background:#fff0f3;color:#d7395d;border-color:#f1cad4;transform:rotate(3deg)}
.clip-workspace-body{min-height:0;overflow:auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:18px;padding:20px 22px 22px}.clip-modal-form{min-width:0;display:flex;flex-direction:column;gap:16px}.clip-modal-form .form-grid{margin:0}.clip-modal-form .field label{font-weight:800;color:#486985}.clip-modal-form input,.clip-modal-form select,.clip-modal-form textarea{background:#fff!important}.clip-unlock-note{align-self:end;padding:11px 12px;border-radius:14px;border:1px solid #d8eaf7;background:#eef8ff}.clip-unlock-note b,.clip-unlock-note small{display:block}.clip-unlock-note b{font-size:11px;color:#285d87}.clip-unlock-note small{margin-top:2px;font-size:9px;line-height:1.45;color:#738ba0}.quiz-choice-panel.modal-choice{margin:0;padding:15px;border-radius:18px;background:linear-gradient(135deg,#f9fbff,#f4f8fd);border:1px solid #e0e9f2}.quiz-choice-panel.modal-choice>p{margin-bottom:12px}.clip-workspace-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;padding-top:2px}.clip-workspace-actions .button{min-width:135px;justify-content:center}
.clip-modal-preview{position:sticky;top:0;align-self:start;border:1px solid #dce8f3;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 13px 32px rgba(26,65,105,.065)}.clip-modal-preview-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid #e5edf5}.clip-modal-preview-head b{font-size:13px;color:#234565}.clip-modal-preview-frame{aspect-ratio:16/9;background:#071d36;display:grid;place-items:center;overflow:hidden}.clip-modal-preview-frame iframe{width:100%;height:100%;border:0}.clip-modal-preview-frame .clip-preview-placeholder{height:100%;min-height:220px;border:0;border-radius:0;background:#071d36;color:#a9c0d7}.clip-modal-preview-help{display:flex;align-items:flex-start;gap:9px;padding:12px 14px;color:#71889c;font-size:10px;line-height:1.55}.clip-modal-preview-help .ui-icon{width:17px;flex:0 0 auto;color:#3588ca}

.clip-preview-dialog{position:relative;width:min(900px,calc(100vw - 40px));border-radius:26px;overflow:hidden;background:#fff;border:1px solid rgba(255,255,255,.9);box-shadow:0 40px 120px rgba(4,23,47,.34);transform:translateY(12px) scale(.98);transition:transform .18s ease}.clip-preview-modal.open .clip-preview-dialog{transform:none}.clip-preview-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 18px;border-bottom:1px solid #e5edf4;background:#fbfdff}.clip-preview-dialog h2{margin:2px 0 0;font-size:20px;color:#1f4163}.clip-preview-video{aspect-ratio:16/9;background:#061b33}.clip-preview-video iframe{display:block;width:100%;height:100%;border:0}

@media(max-width:900px){.clip-admin-card.v095{grid-template-columns:170px minmax(0,1fr)}.clip-workspace-body{grid-template-columns:1fr}.clip-modal-preview{position:relative}.clip-workspace-dialog{max-height:calc(100vh - 28px);width:calc(100vw - 28px)}}
@media(max-width:680px){.clip-workspace-modal,.clip-preview-modal{padding:0;align-items:end}.clip-workspace-dialog,.clip-preview-dialog{width:100vw;max-height:94vh;border-radius:26px 26px 0 0;border-bottom:0}.clip-workspace-head{grid-template-columns:48px 1fr 38px;padding:16px}.clip-workspace-icon{width:46px;height:46px;border-radius:15px}.clip-workspace-head h2{font-size:20px}.clip-workspace-body{padding:15px;gap:14px}.clip-modal-form .form-grid.two{grid-template-columns:1fr!important}.clip-modal-form .span-2{grid-column:1!important}.clip-workspace-actions{flex-direction:column-reverse}.clip-workspace-actions .button{width:100%}.clip-admin-card.v095{grid-template-columns:1fr}.clip-admin-card.v095 .clip-admin-thumb{height:180px}.clip-workspace-toolbar{align-items:stretch;flex-direction:column}.clip-workspace-toolbar .button{width:100%}.clip-preview-dialog{border-radius:26px 26px 0 0}.clip-preview-video{aspect-ratio:16/10}}


/* ============================================================
   v0.9.5-R2 — Vivid Floating App Identity
   Brighter, more distinct app colors while preserving v0.9.5 layout.
   ============================================================ */
:root{
  --icon-blue-1:#5796ff;--icon-blue-2:#2756f5;
  --icon-cyan-1:#28e0ff;--icon-cyan-2:#009fdf;
  --icon-violet-1:#ad78ff;--icon-violet-2:#713bf1;
  --icon-indigo-1:#7485ff;--icon-indigo-2:#4350d9;
  --icon-amber-1:#ffc13d;--icon-amber-2:#ef7d00;
  --icon-teal-1:#25e1c2;--icon-teal-2:#009b84;
  --icon-green-1:#61e585;--icon-green-2:#19a951;
  --icon-purple-1:#d06bff;--icon-purple-2:#9138e8;
  --icon-coral-1:#ff7c70;--icon-coral-2:#ef405e;
  --icon-rose-1:#ff659a;--icon-rose-2:#d92e72;
  --icon-slate-1:#94add8;--icon-slate-2:#5d78ac;

  --icon-sky-1:#54d8ff;--icon-sky-2:#3181ee;
  --icon-lime-1:#b5ec4f;--icon-lime-2:#52ad26;
  --icon-magenta-1:#ff6fe5;--icon-magenta-2:#b63ad6;
  --icon-pink-1:#ff80bd;--icon-pink-2:#ec3e87;
  --icon-gold-1:#ffd55d;--icon-gold-2:#d89112;
  --icon-orange-1:#ffb13b;--icon-orange-2:#f06414;
}
.icon-tone-sky{--icon-1:var(--icon-sky-1);--icon-2:var(--icon-sky-2);--icon-glow:rgba(60,157,242,.40)}
.icon-tone-lime{--icon-1:var(--icon-lime-1);--icon-2:var(--icon-lime-2);--icon-glow:rgba(93,181,42,.38)}
.icon-tone-magenta{--icon-1:var(--icon-magenta-1);--icon-2:var(--icon-magenta-2);--icon-glow:rgba(201,58,208,.38)}
.icon-tone-pink{--icon-1:var(--icon-pink-1);--icon-2:var(--icon-pink-2);--icon-glow:rgba(235,61,139,.38)}
.icon-tone-gold{--icon-1:var(--icon-gold-1);--icon-2:var(--icon-gold-2);--icon-glow:rgba(220,151,21,.40)}
.icon-tone-orange,.icon-tone-online{--icon-1:var(--icon-orange-1);--icon-2:var(--icon-orange-2);--icon-glow:rgba(242,101,18,.40)}

.floating-launcher-icon{
  overflow:hidden!important;
  filter:saturate(1.13) contrast(1.03)!important;
  box-shadow:
    0 14px 30px var(--icon-glow,rgba(49,88,212,.34)),
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -8px 18px rgba(0,0,0,.08)!important;
}
.floating-launcher-icon::before{
  content:"";
  position:absolute;
  width:72%;height:48%;
  left:-7%;top:-9%;
  border-radius:999px;
  background:linear-gradient(130deg,rgba(255,255,255,.56),rgba(255,255,255,0));
  transform:rotate(-13deg);
  pointer-events:none;
}
.floating-launcher-icon::after{
  content:"";
  position:absolute;
  width:10px;height:10px;
  right:8px;bottom:8px;
  border-radius:50%;
  background:rgba(255,255,255,.34);
  box-shadow:0 0 14px rgba(255,255,255,.34);
  pointer-events:none;
}
.floating-launcher-icon .ui-icon{position:relative;z-index:2;filter:drop-shadow(0 2px 2px rgba(0,0,0,.14))}
.floating-launcher-app:hover .floating-launcher-icon,
.floating-launcher-app:focus-visible .floating-launcher-icon{
  filter:saturate(1.28) contrast(1.04) brightness(1.05)!important;
  transform:translateY(-5px) scale(1.07)!important;
}
.floating-launcher-app b{
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--icon-1,#4c80df) 23%,rgba(255,255,255,.985)),
    color-mix(in srgb,var(--icon-2,#3157b5) 13%,rgba(247,251,255,.99)))!important;
  border-color:color-mix(in srgb,var(--icon-1,#4c80df) 34%,rgba(157,183,216,.42))!important;
}
[data-theme="dark"] .floating-launcher-app b{
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--icon-1,#4c80df) 26%,rgba(19,43,78,.95)),
    color-mix(in srgb,var(--icon-2,#3157b5) 17%,rgba(9,28,56,.97)))!important;
}
@media(prefers-reduced-motion:reduce){
  .floating-launcher-icon{filter:saturate(1.13)!important}
}


/* ============================================================
   v0.9.5-R3 — Scrollable Icon Rail
   Only the navigation icon rail scrolls. Brand/launcher/footer
   remain fixed inside the viewport. Includes edge fade + focus depth.
   ============================================================ */

/* Keep the whole sidebar locked to the viewport. Only .sidebar-nav scrolls. */
.sidebar{
  height:100vh!important;
  height:100dvh!important;
  min-height:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.sidebar .brand,
.sidebar .sidebar-launcher-trigger,
.sidebar .sidebar-foot{
  flex:0 0 auto!important;
}
.sidebar .sidebar-nav{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:visible!important;
  overscroll-behavior-y:contain;
  scrollbar-width:none!important;
  -ms-overflow-style:none;
  scroll-behavior:smooth;
  scroll-snap-type:y proximity;
  position:relative;
  padding-top:8px!important;
  padding-bottom:18px!important;

  /* Soft fade at the top/bottom so icons feel like a floating rail. */
  -webkit-mask-image:linear-gradient(
    to bottom,
    transparent 0,
    #000 18px,
    #000 calc(100% - 22px),
    transparent 100%
  );
  mask-image:linear-gradient(
    to bottom,
    transparent 0,
    #000 18px,
    #000 calc(100% - 22px),
    transparent 100%
  );
}
.sidebar .sidebar-nav::-webkit-scrollbar{display:none!important}
.sidebar .sidebar-nav .nav-link{scroll-snap-align:center}

/* A compact sidebar is an icon rail — labels remain tooltips, not scrolling content. */
@media(min-width:941px){
  .app-shell.sidebar-collapsed .sidebar{
    padding-top:12px!important;
    padding-bottom:10px!important;
  }
  .app-shell.sidebar-collapsed .brand{
    flex:0 0 auto!important;
    margin-bottom:2px!important;
  }
  .app-shell.sidebar-collapsed .sidebar-launcher-trigger{
    flex:0 0 52px!important;
    margin-top:4px!important;
    margin-bottom:6px!important;
  }
  .app-shell.sidebar-collapsed .sidebar-nav{
    flex:1 1 0!important;
    width:100%;
    padding:14px 0 18px!important;
    margin:0!important;
  }
  .app-shell.sidebar-collapsed .nav-group{
    margin:0!important;
    gap:7px!important;
  }
  .app-shell.sidebar-collapsed .nav-group + .nav-group{
    margin-top:4px!important;
  }
  .app-shell.sidebar-collapsed .sidebar-foot{
    flex:0 0 auto!important;
    margin-top:0!important;
    padding:8px 0 0!important;
    background:linear-gradient(180deg,rgba(6,19,43,0),rgba(6,19,43,.94) 18%,#06132b 52%);
    position:relative;
    z-index:3;
  }

  /* Focus-rail values are updated by app.js. */
  .app-shell.sidebar-collapsed .sidebar-nav .nav-link{
    --rail-focus:.72;
    --rail-shift:0px;
    opacity:calc(.50 + (var(--rail-focus) * .50));
    transform:
      translateX(var(--rail-shift))
      scale(calc(.91 + (var(--rail-focus) * .09)))!important;
    transform-origin:center;
    transition:
      transform .22s cubic-bezier(.2,.8,.2,1),
      opacity .22s ease,
      filter .22s ease,
      background-color .18s ease,
      box-shadow .18s ease!important;
    will-change:transform,opacity;
  }
  .app-shell.sidebar-collapsed .sidebar-nav .nav-link .nav-icon{
    transition:
      transform .22s cubic-bezier(.2,.8,.2,1),
      color .18s ease,
      filter .22s ease,
      box-shadow .22s ease!important;
  }
  .app-shell.sidebar-collapsed .sidebar-nav .nav-link.rail-near-center{
    --rail-shift:2px;
    filter:saturate(1.10);
  }
  .app-shell.sidebar-collapsed .sidebar-nav .nav-link.rail-near-center .nav-icon{
    transform:translateZ(0) scale(1.06);
    filter:drop-shadow(0 7px 14px rgba(54,123,255,.22));
  }
  .app-shell.sidebar-collapsed .sidebar-nav.rail-is-scrolling .nav-link.rail-near-center .nav-icon{
    filter:
      drop-shadow(0 8px 16px rgba(52,125,255,.28))
      brightness(1.05);
  }
  .app-shell.sidebar-collapsed .sidebar-nav .nav-link.active{
    opacity:1!important;
    --rail-shift:3px;
    transform:translateX(var(--rail-shift)) scale(1)!important;
  }
  .app-shell.sidebar-collapsed .sidebar-nav .nav-link.active .nav-icon{
    filter:drop-shadow(0 8px 17px rgba(67,133,255,.34));
  }

  /* Tiny scroll-position glow rails, visible only when more content exists. */
  .app-shell.sidebar-collapsed .sidebar::before,
  .app-shell.sidebar-collapsed .sidebar::after{
    content:"";
    position:absolute;
    left:18px;right:18px;
    height:1px;
    z-index:5;
    pointer-events:none;
    opacity:0;
    transition:opacity .18s ease;
    background:linear-gradient(90deg,transparent,rgba(93,159,255,.55),transparent);
    box-shadow:0 0 12px rgba(55,127,255,.22);
  }
  .app-shell.sidebar-collapsed .sidebar::before{top:132px}
  .app-shell.sidebar-collapsed .sidebar::after{bottom:61px}
  .app-shell.sidebar-collapsed .sidebar.rail-can-up::before{opacity:.65}
  .app-shell.sidebar-collapsed .sidebar.rail-can-down::after{opacity:.65}
}

/* Expanded desktop: keep labels readable, but still let only nav content scroll. */
@media(min-width:941px){
  .app-shell:not(.sidebar-collapsed) .sidebar-nav{
    padding-right:3px!important;
  }
}

/* Mobile drawer keeps its native full-menu feel; no center scaling. */
@media(max-width:940px){
  .sidebar{
    height:100dvh!important;
  }
  .sidebar .sidebar-nav{
    -webkit-mask-image:none!important;
    mask-image:none!important;
    scroll-snap-type:none!important;
    padding-bottom:16px!important;
  }
}

/* Reduced motion: keep the fixed rail and fade, disable scale choreography. */
@media(prefers-reduced-motion:reduce){
  .app-shell.sidebar-collapsed .sidebar-nav .nav-link{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
  .app-shell.sidebar-collapsed .sidebar-nav .nav-link .nav-icon{
    transform:none!important;
    transition:none!important;
    filter:none!important;
  }
}


/* ============================================================
   v0.9.5-R4 — Color Sidebar Identity
   Each sidebar app inherits the same vivid tone as the App Grid.
   ============================================================ */
.sidebar .nav-link{
  --sidebar-tone-glow:var(--icon-glow,rgba(60,120,245,.24));
}
.sidebar .nav-link .nav-icon{
  background:linear-gradient(145deg,var(--icon-1,#5796ff),var(--icon-2,#2756f5))!important;
  box-shadow:
    0 8px 18px var(--sidebar-tone-glow),
    inset 0 1px 0 rgba(255,255,255,.30)!important;
  filter:saturate(1.10);
}
.sidebar .nav-link:hover .nav-icon{
  filter:saturate(1.28) brightness(1.06)!important;
  box-shadow:
    0 11px 24px var(--sidebar-tone-glow),
    inset 0 1px 0 rgba(255,255,255,.36)!important;
}
.sidebar .nav-link.active .nav-icon{
  filter:saturate(1.25) brightness(1.07)!important;
  box-shadow:
    0 12px 27px var(--sidebar-tone-glow),
    0 0 0 1px color-mix(in srgb,var(--icon-1,#5796ff) 38%,transparent),
    inset 0 1px 0 rgba(255,255,255,.42)!important;
}

/* Expanded menu gets a subtle matching tint without coloring the whole sidebar. */
@media(min-width:941px){
  .app-shell:not(.sidebar-collapsed) .sidebar .nav-link:hover{
    background:linear-gradient(
      90deg,
      color-mix(in srgb,var(--icon-1,#5796ff) 15%,transparent),
      rgba(255,255,255,.015)
    )!important;
  }
  .app-shell:not(.sidebar-collapsed) .sidebar .nav-link.active{
    background:linear-gradient(
      100deg,
      color-mix(in srgb,var(--icon-1,#5796ff) 22%,rgba(17,48,93,.72)),
      color-mix(in srgb,var(--icon-2,#2756f5) 9%,rgba(9,31,66,.64))
    )!important;
    box-shadow:
      inset 0 0 0 1px color-mix(in srgb,var(--icon-1,#5796ff) 22%,transparent),
      0 9px 25px rgba(0,25,72,.13)!important;
  }
  .app-shell:not(.sidebar-collapsed) .sidebar .nav-link.active:before{
    background:linear-gradient(var(--icon-1,#5796ff),var(--icon-2,#2756f5))!important;
    box-shadow:0 0 14px var(--sidebar-tone-glow)!important;
  }
}

/* Compact rail: preserve vivid tone through center-focus animation. */
.app-shell.sidebar-collapsed .sidebar-nav .nav-link.rail-near-center .nav-icon{
  filter:saturate(1.28) brightness(1.06)!important;
  box-shadow:
    0 12px 26px var(--sidebar-tone-glow),
    inset 0 1px 0 rgba(255,255,255,.36)!important;
}
.app-shell.sidebar-collapsed .sidebar-nav.rail-is-scrolling .nav-link.rail-near-center .nav-icon{
  filter:saturate(1.36) brightness(1.08)!important;
}

@media(prefers-reduced-motion:reduce){
  .sidebar .nav-link .nav-icon{filter:saturate(1.10)!important}
}

/* ============================================================
   v0.9.5-R5 — Student Portal Regression Restore
   ============================================================ */
.login-center-page .login-center-card{isolation:isolate}
.login-center-page .login-center-seal{
  border-radius:50%!important;background:#fff!important;display:grid!important;
  place-items:center!important;overflow:hidden!important;
}
.login-center-page .login-center-seal img{
  width:50px!important;height:50px!important;object-fit:contain!important;border-radius:50%!important;
}
.student-portal-hero .student-portal-actions .ui-icon{width:16px}
.student-portal-stats .kpi-icon{
  width:44px;height:44px;border-radius:14px;display:grid;place-items:center;
  color:#fff;background:linear-gradient(145deg,#448df0,#3a62dc);
  box-shadow:0 9px 22px rgba(48,102,189,.18)
}
.student-portal-stats .kpi-icon .ui-icon{width:21px}
.student-score-overview strong{color:#1f69bf}
.warn-box .ui-icon{width:17px;vertical-align:-3px;margin-right:5px}
@media(max-width:760px){
  .student-portal-hero{align-items:flex-start;flex-direction:column}
  .student-portal-orb{width:110px;height:110px}
  .student-portal-orb b{font-size:29px}
  .student-portal-stats{grid-template-columns:1fr}
  .student-course-score-grid{grid-template-columns:1fr}
  .student-score-pills{grid-template-columns:repeat(2,1fr)}
}

/* ============================================================
   v0.9.5-R6 — Student Insight Dashboard
   ============================================================ */
.student-r6-hero{
  display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:22px;align-items:stretch;
  padding:24px!important;overflow:hidden;position:relative;
  background:
    radial-gradient(circle at 82% 20%,rgba(70,178,255,.20),transparent 30%),
    linear-gradient(135deg,#0b2a57 0%,#123b74 54%,#1b57b0 100%)!important;
  color:#fff!important;border-color:rgba(116,180,255,.24)!important;
}
.student-r6-hero:after{
  content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(123,205,255,.13);
  border-radius:50%;right:-130px;top:-190px;box-shadow:0 0 0 48px rgba(93,166,255,.035),0 0 0 96px rgba(93,166,255,.025)
}
.student-r6-hero-copy{position:relative;z-index:2}
.student-r6-hero .eyebrow{color:#8fe9ff}
.student-r6-hero h2{font-size:clamp(25px,3vw,38px);margin:5px 0 3px}
.student-r6-hero p{color:#cce0f7;margin:0}
.student-r6-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.student-r6-actions .button.secondary{background:rgba(255,255,255,.08)!important;color:#fff!important;border-color:rgba(255,255,255,.15)!important}
.student-r6-grade-card{
  position:relative;z-index:2;border:1px solid rgba(177,220,255,.22);border-radius:22px;padding:18px;
  background:linear-gradient(155deg,rgba(255,255,255,.15),rgba(255,255,255,.055));backdrop-filter:blur(14px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 16px 34px rgba(0,21,67,.22)
}
.student-r6-grade-card>span{display:block;color:#c9def7;font-size:12px}
.student-r6-grade-card>b{font-size:46px;line-height:1;display:inline-block;margin-top:9px}
.student-r6-grade-card>small{color:#b8d2ee}
.student-r6-grade-value{display:flex;align-items:flex-end;gap:9px;margin-top:13px;padding-top:13px;border-top:1px solid rgba(255,255,255,.14)}
.student-r6-grade-value strong{font-size:25px;color:#9eeeff}
.student-r6-grade-value span{font-size:12px;color:#c6ddf6;margin-bottom:4px}
.student-r6-grade-card p{font-size:11px;margin-top:8px!important;color:#bcd4ee!important}

.student-r6-overview-grid,.student-r6-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.student-r6-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}
.student-r6-card-head h3{margin:2px 0 0;font-size:18px}
.student-r6-card-head>a{font-size:12px;color:#2876d2;font-weight:700}
.student-r6-live-dot,.student-r6-coming{font-size:10px;font-weight:800;letter-spacing:.08em;border-radius:999px;padding:7px 9px;background:#e9f8f2;color:#168261}

.student-r6-progress-main{display:grid;grid-template-columns:160px 1fr;gap:22px;align-items:center}
.student-r6-ring{
  --p:var(--r6-progress,0%);
  width:148px;aspect-ratio:1;border-radius:50%;padding:13px;display:grid;place-items:center;
  background:conic-gradient(#28c7d8 var(--p),#327cff var(--p),#e9f1fa 0);
  box-shadow:0 13px 34px rgba(45,112,204,.18)
}
.student-r6-ring:before{content:"";grid-area:1/1;width:100%;height:100%;border-radius:50%;background:var(--surface,#fff);box-shadow:inset 0 0 0 1px rgba(110,150,195,.12)}
.student-r6-ring>div{grid-area:1/1;z-index:1;text-align:center}
.student-r6-ring b{display:block;font-size:31px;color:#165aa7}
.student-r6-ring span{font-size:11px;color:#7390ac}
.student-r6-progress-meta{display:grid;gap:9px}
.student-r6-progress-meta>div{display:flex;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px dashed rgba(108,143,179,.18)}
.student-r6-progress-meta span{font-size:12px;color:#6e879f}
.student-r6-progress-meta b{font-size:13px}

.student-r6-component{margin:13px 0}
.student-r6-component>div:first-child{display:flex;justify-content:space-between;font-size:12px;margin-bottom:6px}
.student-r6-meter,.student-r6-grade-mini-meter,.student-r6-learning-meter{height:9px;border-radius:999px;background:#e9f0f8;overflow:hidden}
.student-r6-meter i,.student-r6-grade-mini-meter i,.student-r6-learning-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#48b8ff,#3565f4)}
.student-r6-component.online .student-r6-meter i{background:linear-gradient(90deg,#8a66ff,#5668ff)}
.student-r6-component.teaching .student-r6-meter i{background:linear-gradient(90deg,#22c1a7,#23a978)}
.student-r6-total-row{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:13px;border-top:1px solid rgba(100,140,180,.15)}
.student-r6-total-row strong{font-size:21px;color:#1b64ba}

.student-r6-alert{
  display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;margin-top:14px;padding:12px 15px;border-radius:16px;
  background:linear-gradient(90deg,#fff8e7,#fffdf7);border:1px solid #f3dda5
}
.student-r6-alert>span{width:42px;height:42px;border-radius:13px;background:#ffbd33;color:#fff;display:grid;place-items:center}
.student-r6-alert b,.student-r6-alert small{display:block}.student-r6-alert small{color:#927348}.student-r6-alert a{font-weight:800;color:#b87900;font-size:12px}

.student-r6-kq-card{min-width:0}
.student-r6-chart-select{max-width:185px;padding:7px 10px!important;font-size:12px!important}
.student-r6-chart-wrap{position:relative;height:270px;min-width:0}
.student-r6-chart-wrap canvas{width:100%!important;height:100%!important}
.student-r6-chart-empty{position:absolute;inset:0;display:grid;place-items:center;color:#8aa0b7;background:rgba(255,255,255,.82)}
.student-r6-chart-note{display:flex;justify-content:flex-end;margin-top:8px;font-size:11px;color:#718ba5}


.student-r6-online-list,.student-r6-course-scores,.student-r6-certificates{margin-top:14px}
.student-r6-learning-items{display:grid;gap:9px}
.student-r6-learning-item{display:grid;grid-template-columns:46px 1fr 38px;gap:12px;align-items:center;border:1px solid #e1eaf4;border-radius:16px;padding:11px;background:linear-gradient(180deg,#fff,#fbfdff)}
.student-r6-learning-icon{width:46px;height:46px;border-radius:14px;color:#fff;display:grid;place-items:center;background:linear-gradient(145deg,var(--icon-1,#ffb13b),var(--icon-2,#f06414));box-shadow:0 10px 20px var(--icon-glow,rgba(242,101,18,.2))}
.student-r6-learning-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:7px}
.student-r6-learning-title small,.student-r6-learning-title b{display:block}.student-r6-learning-title small{color:#7f95aa;font-size:10px}.student-r6-learning-title b{font-size:13px}
.student-r6-status{font-size:10px;font-weight:800;border-radius:999px;padding:5px 8px;white-space:nowrap}
.student-r6-status.green{background:#e7f8f0;color:#18855e}.student-r6-status.amber{background:#fff3d8;color:#a86f00}.student-r6-status.violet{background:#f0eaff;color:#7147d2}.student-r6-status.blue{background:#e9f2ff;color:#2e6dc5}
.student-r6-learning-meter{height:7px}.student-r6-learning-foot{display:flex;gap:13px;flex-wrap:wrap;margin-top:6px;font-size:10px;color:#7d92a8}
.student-r6-learning-go{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#edf4ff;color:#3971cf}
.student-r6-empty{padding:26px;text-align:center;color:#8297ab;display:grid;gap:7px;place-items:center}

.student-r6-subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.student-r6-subject-card{border:1px solid #e2ebf4;border-radius:17px;padding:13px;background:linear-gradient(180deg,#fff,#fbfdff)}
.student-r6-subject-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.student-r6-subject-head b,.student-r6-subject-head small{display:block}.student-r6-subject-head small{font-size:10px;color:#8da0b2}.student-r6-subject-head>span{font-size:23px;font-weight:900;color:#255fa9}
.student-r6-subject-bars{display:grid;gap:8px;margin-top:12px}.student-r6-subject-bars>div{display:grid;grid-template-columns:46px 1fr 50px;gap:8px;align-items:center;font-size:10px}.student-r6-subject-bars i{height:6px;border-radius:999px;background:#edf2f7;overflow:hidden}.student-r6-subject-bars em{display:block;height:100%;background:linear-gradient(90deg,#37a8f4,#536cf4);border-radius:inherit}
.student-r6-subject-card footer{display:flex;justify-content:space-between;margin-top:12px;padding-top:9px;border-top:1px solid #edf1f5;font-size:11px}.student-r6-subject-card footer strong{font-size:17px;color:#6a52df}

.student-r6-certificates{overflow:hidden}
.student-r6-certificate-track{display:flex;gap:12px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.student-r6-certificate-track::-webkit-scrollbar{display:none}
.student-r6-certificate-track>*{scroll-snap-align:start;flex:0 0 min(520px,92%)}
.student-r6-certificate-empty{min-height:150px;border-radius:18px;padding:20px;display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#f3f8ff,#eef4ff);border:1px dashed #c9daee}
.student-r6-certificate-mark{width:66px;height:66px;border-radius:20px;background:linear-gradient(145deg,#f4b73b,#ee7f2d);color:#fff;display:grid;place-items:center;box-shadow:0 12px 27px rgba(224,137,37,.20)}
.student-r6-certificate-mark .ui-icon{width:30px}.student-r6-certificate-empty p{margin:5px 0 0;color:#7890a7;font-size:12px}

@media(max-width:980px){
  .student-r6-hero{grid-template-columns:1fr 210px}
  .student-r6-overview-grid,.student-r6-chart-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .student-r6-hero{grid-template-columns:1fr;padding:18px!important}
  .student-r6-grade-card{max-width:100%}
  .student-r6-overview-grid,.student-r6-chart-grid{gap:10px}
  .student-r6-progress-main{grid-template-columns:128px 1fr;gap:13px}.student-r6-ring{width:120px}
  .student-r6-subject-grid{grid-template-columns:1fr}
  .student-r6-learning-item{grid-template-columns:42px 1fr 34px}
  .student-r6-learning-icon{width:42px;height:42px}
  .student-r6-learning-title{display:block}.student-r6-status{display:inline-block;margin-top:5px}
  .student-r6-chart-wrap{height:230px}
}
@media(max-width:460px){
  .student-r6-progress-main{grid-template-columns:1fr}.student-r6-ring{margin:auto}
  .student-r6-subject-bars>div{grid-template-columns:42px 1fr 47px}
}

/* ============================================================
   v0.9.5-R7 — Student KQ Exam Center
   ============================================================ */
.kqex-menu-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ef3f52;color:#fff;font-size:9px;font-weight:900;box-shadow:0 4px 10px rgba(239,63,82,.32)}
.nav-link .kqex-menu-badge{margin-left:auto}.floating-launcher-app .kqex-menu-badge{position:absolute;right:2px;top:1px;z-index:4}.mobile-nav a .kqex-menu-badge{position:absolute;right:12%;top:4px}
.kqex-notice-banner{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;margin-bottom:14px;padding:12px 15px;border-radius:17px;background:linear-gradient(100deg,#fff4df,#fffaf1);border:1px solid #f3d58d;box-shadow:0 10px 26px rgba(203,137,15,.08)}
.kqex-notice-banner>span{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#ffb52b,#ef7717);box-shadow:0 9px 19px rgba(235,132,22,.22)}
.kqex-notice-banner b,.kqex-notice-banner small{display:block}.kqex-notice-banner small{color:#94703b;margin-top:2px}.kqex-notice-banner a{font-weight:900;color:#b36400;font-size:12px}

.kqex-hero{display:grid;grid-template-columns:1fr 150px;gap:18px;align-items:center;padding:22px!important;background:linear-gradient(135deg,#112e61,#214f9f)!important;color:#fff!important;border-color:rgba(112,171,255,.24)!important}
.kqex-hero h2{font-size:30px;margin:4px 0}.kqex-hero p{color:#cde0f4}.kqex-hero .eyebrow{color:#ffd470}
.kqex-hero-stat{border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:16px;text-align:center;background:rgba(255,255,255,.08)}.kqex-hero-stat span,.kqex-hero-stat small{display:block;color:#cbdcf0}.kqex-hero-stat b{display:block;font-size:38px;color:#ffd66d}
.kqex-tabs{display:flex;gap:8px;margin:13px 0;overflow:auto;scrollbar-width:none}.kqex-tabs::-webkit-scrollbar{display:none}.kqex-tabs a{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:9px 14px;border-radius:13px;border:1px solid #dce7f2;background:#fff;color:#688099;font-weight:800;font-size:12px}.kqex-tabs a.active{background:#225fc0;color:#fff;border-color:#225fc0;box-shadow:0 9px 20px rgba(35,94,190,.16)}.kqex-tabs b{min-width:18px;height:18px;border-radius:999px;display:grid;place-items:center;background:#ef475a;color:#fff;font-size:9px}
.kqex-list{display:grid;gap:10px}.kqex-exam-card{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;padding:13px!important}.kqex-datebox{width:66px;height:66px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#f0f6ff,#e6f0ff);border:1px solid #d9e7f8}.kqex-datebox b{font-size:24px;line-height:1;color:#2766bc}.kqex-datebox span{font-size:9px;color:#748da6;margin-top:-5px}
.kqex-exam-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.kqex-exam-head small{color:#7990a6}.kqex-exam-head h3{margin:2px 0 0;font-size:16px}.kqex-meta{display:flex;gap:13px;flex-wrap:wrap;margin-top:8px;color:#7890a7;font-size:10px}.kqex-meta span{display:flex;gap:4px;align-items:center}.kqex-meta .ui-icon{width:14px}
.kqex-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;white-space:nowrap}.kqex-status.red{background:#ffe7ea;color:#d32e43}.kqex-status.violet{background:#f1eaff;color:#6f43d5}.kqex-status.amber{background:#fff2d6;color:#a96800}.kqex-status.green{background:#e5f8ef;color:#15855d}.kqex-status.slate{background:#edf2f7;color:#657b90}.kqex-status.blue{background:#e9f3ff;color:#2e6ec2}.kqex-danger{background:linear-gradient(135deg,#f14b5e,#d92544)!important;color:#fff!important;border-color:transparent!important}
.kqex-empty{text-align:center;padding:35px!important;color:#7d94a9;display:grid;gap:8px;place-items:center}.kqex-empty>.ui-icon{width:38px;height:38px;color:#daa129}
.kqex-result-trend{margin-bottom:12px}

.kqex-lobby{text-align:center;max-width:850px;margin:auto;padding:28px!important}.kqex-lobby-icon{width:72px;height:72px;margin:auto auto 10px;border-radius:23px;display:grid;place-items:center;background:linear-gradient(145deg,#ffbd3e,#ed7718);color:#fff;box-shadow:0 14px 32px rgba(231,134,22,.20)}.kqex-lobby-icon .ui-icon{width:31px}.kqex-lobby h2{font-size:28px;margin:8px 0 2px}.kqex-lobby>p{color:#7890a6}
.kqex-lobby-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.kqex-lobby-grid>div{padding:13px;border:1px solid #e1eaf4;border-radius:15px;background:#f8fbfe}.kqex-lobby-grid small,.kqex-lobby-grid b,.kqex-lobby-grid span{display:block}.kqex-lobby-grid small,.kqex-lobby-grid span{color:#7f95a9;font-size:10px}.kqex-lobby-grid b{margin:5px 0;font-size:15px}
.kqex-instructions,.kqex-rules{text-align:left;border-radius:14px;padding:13px;background:#f6f9fd;border:1px solid #e4ecf5;color:#607a93}.kqex-rules{display:grid;gap:5px;margin-top:9px}.kqex-rules b{color:#294c70}.kqex-lobby-actions{display:flex;justify-content:center;gap:9px;align-items:center;margin-top:18px}.kqex-lobby-actions form{margin:0}

.kqex-exam-shell{max-width:980px;margin:auto;min-height:calc(100vh - 190px)}.kqex-exam-top{position:sticky;top:76px;z-index:8;display:flex;justify-content:space-between;align-items:center;padding:13px 17px;border-radius:17px;background:rgba(8,31,67,.96);color:#fff;box-shadow:0 13px 32px rgba(1,20,52,.18);backdrop-filter:blur(14px)}.kqex-exam-top b,.kqex-exam-top small{display:block}.kqex-exam-top small{color:#aec5df}.kqex-countdown{text-align:right}.kqex-countdown b{font-size:23px;color:#ffe16c}.kqex-question-nav{display:flex;gap:6px;overflow:auto;scrollbar-width:none;margin:12px 0;padding:2px}.kqex-question-nav::-webkit-scrollbar{display:none}.kqex-question-nav button{min-width:36px;height:36px;border:0;border-radius:11px;background:#edf3fa;color:#698198;font-weight:900}.kqex-question-nav button.active{background:#376fd1;color:#fff}.kqex-question-nav button.answered{box-shadow:inset 0 0 0 2px #2bb987;color:#14885f}
.kqex-question{display:none;padding:22px!important}.kqex-question.active{display:block}.kqex-question-head{display:flex;justify-content:space-between;color:#738ca4;font-weight:800}.kqex-question-head b{color:#d67b00}.kqex-question h2{font-size:20px;line-height:1.55;margin:14px 0}.kqex-question-image{display:block;max-width:min(620px,100%);max-height:440px;object-fit:contain;border-radius:15px;border:1px solid #e1e9f1;margin:12px auto}.kqex-choice-list{display:grid;gap:9px}.kqex-choice{display:grid;grid-template-columns:26px 38px 1fr;gap:9px;align-items:center;padding:11px;border:1px solid #dfe8f1;border-radius:15px;background:#fbfdff;cursor:pointer;transition:.16s ease}.kqex-choice:hover{border-color:#87aee0;transform:translateY(-1px)}.kqex-choice:has(input:checked){background:#eef5ff;border-color:#4d83d8;box-shadow:0 8px 19px rgba(53,109,195,.10)}.kqex-choice input{width:17px;height:17px}.kqex-choice-letter{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#eaf2fc;color:#3168b6;font-weight:900}.kqex-choice-content b{font-size:13px}.kqex-choice-content img{display:block;max-width:300px;max-height:180px;object-fit:contain;margin-top:6px;border-radius:10px}
.kqex-exam-actions{position:sticky;bottom:12px;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px;border-radius:16px;background:rgba(255,255,255,.94);border:1px solid #dfe9f3;box-shadow:0 12px 30px rgba(26,62,105,.14);backdrop-filter:blur(14px)}.kqex-exam-actions>span{min-width:100px;text-align:center;font-size:11px;color:#7189a0;font-weight:800}

.kqex-result-card{text-align:center;max-width:700px;margin:auto;padding:34px!important}.kqex-result-check{width:76px;height:76px;border-radius:50%;margin:auto;display:grid;place-items:center;background:linear-gradient(145deg,#35d49d,#13a676);color:#fff;box-shadow:0 16px 34px rgba(22,164,115,.20)}.kqex-result-check .ui-icon{width:34px}.kqex-result-card h2{font-size:28px;margin:10px 0 2px}.kqex-submission-code{margin:18px auto;padding:12px 18px;border-radius:15px;background:#f3f7fc;border:1px dashed #b9cde3;max-width:390px}.kqex-submission-code small,.kqex-submission-code b{display:block}.kqex-submission-code b{font-family:monospace;font-size:17px;color:#255fa9;margin-top:4px}.kqex-result-meta{display:grid;gap:7px;color:#6e879f}.kqex-result-actions{display:flex;justify-content:center;gap:8px;margin-top:20px}

.kqex-admin-summary{display:flex;justify-content:space-between;gap:15px;align-items:center}.kqex-admin-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:14px;margin-top:14px}.kqex-question-picker{max-height:360px;overflow:auto;border:1px solid #e1eaf3;border-radius:14px;padding:10px;margin:12px 0}.kqex-question-pick{display:flex;gap:9px;align-items:flex-start;padding:9px;border-bottom:1px solid #eef2f6}.kqex-question-pick:last-child{border-bottom:0}.kqex-question-pick span b,.kqex-question-pick span small{display:block}.kqex-question-pick small{color:#8398ab;font-size:10px;margin-top:2px}.kqex-choice-builder{display:grid;gap:7px;margin:10px 0}.kqex-choice-build{display:grid;grid-template-columns:22px 30px 1fr auto;gap:7px;align-items:center}.kqex-choice-build>span{width:28px;height:28px;border-radius:9px;background:#edf4fb;display:grid;place-items:center;color:#3970bc;font-weight:900}.kqex-choice-build input[type=file]{max-width:180px;font-size:10px}

@media(max-width:900px){.kqex-admin-grid{grid-template-columns:1fr}.kqex-lobby-grid{grid-template-columns:1fr}.kqex-hero{grid-template-columns:1fr 110px}}
@media(max-width:680px){.kqex-exam-card{grid-template-columns:55px 1fr}.kqex-exam-card>.button{grid-column:1/-1}.kqex-datebox{width:52px;height:52px;border-radius:14px}.kqex-datebox b{font-size:20px}.kqex-exam-head{display:block}.kqex-status{margin-top:5px}.kqex-meta{gap:8px}.kqex-hero{grid-template-columns:1fr}.kqex-hero-stat{display:none}.kqex-exam-top{top:70px}.kqex-question{padding:15px!important}.kqex-question h2{font-size:17px}.kqex-choice{grid-template-columns:22px 32px 1fr;padding:9px}.kqex-exam-actions{justify-content:space-between;gap:5px}.kqex-exam-actions>span{min-width:70px}.kqex-notice-banner{grid-template-columns:42px 1fr}.kqex-notice-banner>a{grid-column:1/-1;text-align:center}.kqex-result-actions{flex-direction:column}.kqex-admin-summary{align-items:flex-start;flex-direction:column}}


/* ============================================================
   v0.9.5-R7.2 — KQ teacher permission UI
   ============================================================ */
.kqex-admin-summary-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.kqex-permission-list{display:grid;gap:9px;margin-top:14px}
.kqex-permission-row{
  display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(130px,.65fr)) auto;
  gap:10px;align-items:center;padding:12px;border:1px solid #e0e9f3;border-radius:16px;
  background:linear-gradient(180deg,#fff,#fbfdff)
}
.kqex-permission-row>label{
  display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800;color:#506c87
}
.kqex-permission-teacher>b,.kqex-permission-teacher>small{display:block}
.kqex-permission-teacher>small{font-size:10px;color:#879bad;margin-top:2px}
.kqex-schedule-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.kqex-schedule-tags span{
  padding:4px 7px;border-radius:999px;background:#edf5ff;color:#3b6faa;font-size:9px;font-weight:800
}
.kqex-schedule-tags em{font-size:10px;color:#b07828;font-style:normal}
@media(max-width:980px){
  .kqex-permission-row{grid-template-columns:1fr 1fr}
  .kqex-permission-teacher{grid-column:1/-1}
}
@media(max-width:620px){
  .kqex-permission-row{grid-template-columns:1fr}
  .kqex-permission-teacher{grid-column:auto}
  .kqex-admin-summary-actions{justify-content:flex-start}
}

/* ============================================================
   v0.9.5-R8 — Admin Learning Analytics
   ============================================================ */
.aa-dashboard-widget{margin:14px 0 0;padding:18px!important;background:linear-gradient(180deg,#fff,#fbfdff)}
.aa-widget-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}
.aa-widget-head h2,.aa-page-hero h2{margin:3px 0}.aa-widget-head p,.aa-page-hero p{margin:2px 0;color:#71889f}
.aa-filter{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto auto;gap:9px;align-items:end}
.aa-filter.compact{grid-template-columns:repeat(3,minmax(140px,1fr)) auto auto;padding:11px;border-radius:16px;background:#f4f8fc;border:1px solid #e4ecf5}
.aa-filter .field{margin:0}.aa-filter label{font-size:10px}.aa-filter select{min-height:38px}
.aa-filter .button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:5px}
.aa-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:12px}
.aa-kpis>div{position:relative;padding:12px 12px 11px;border-radius:15px;background:#f7faff;border:1px solid #e4edf6;overflow:hidden}
.aa-kpis>div>span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#e8f2ff;color:#3171c8;margin-bottom:7px}
.aa-kpis small,.aa-kpis b{display:block}.aa-kpis small{color:#7a91a8;font-size:10px}.aa-kpis b{font-size:20px;margin-top:3px}.aa-kpis .attention>span{background:#fff0e4;color:#d66a13}.aa-kpis .attention b{color:#c45c12}
.aa-follow-quick{margin-top:13px;padding-top:12px;border-top:1px solid #e8eef5}.aa-follow-chips{display:flex;gap:7px;overflow:auto;scrollbar-width:none}.aa-follow-chips::-webkit-scrollbar{display:none}.aa-follow-chips a{flex:0 0 auto;min-width:190px;max-width:270px;padding:9px 11px;border-radius:13px;background:#fff7eb;border:1px solid #f1dfbe}.aa-follow-chips b,.aa-follow-chips span{display:block}.aa-follow-chips b{font-size:11px;color:#624623}.aa-follow-chips span{font-size:9px;color:#9a7748;margin-top:2px}

.aa-page-hero{display:grid;grid-template-columns:1fr 150px;gap:18px;align-items:center;padding:22px!important;background:linear-gradient(135deg,#102c5b,#234fa0)!important;color:#fff!important;border-color:rgba(123,180,255,.25)!important}.aa-page-hero .eyebrow{color:#92efff}.aa-page-hero p{color:#c9dcf1}.aa-page-hero h2{font-size:31px}.aa-hero-number{text-align:center;padding:13px;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:rgba(255,255,255,.08)}.aa-hero-number small,.aa-hero-number span{display:block;color:#c9dbee}.aa-hero-number b{display:block;font-size:37px;color:#ffd76b}
.aa-filter-card{margin-top:13px}.aa-rule-note{margin-top:11px;padding:10px 12px;border-radius:12px;background:#f2f7ff;border:1px solid #dce9f8;color:#5f7892;font-size:11px}
.aa-main-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:13px}.aa-main-kpis article{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;padding:13px;border:1px solid #e1eaf3;border-radius:16px;background:linear-gradient(180deg,#fff,#fbfdff)}.aa-main-kpis article>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#3f97ee,#4163d7);box-shadow:0 9px 19px rgba(54,104,190,.16)}.aa-main-kpis small,.aa-main-kpis b,.aa-main-kpis em{display:block}.aa-main-kpis small{font-size:9px;color:#7e93a8}.aa-main-kpis b{font-size:20px;margin-top:1px}.aa-main-kpis em{font-style:normal;font-size:9px;color:#93a3b4;margin-top:1px}.aa-main-kpis .attention>span{background:linear-gradient(145deg,#ffb13b,#ed6a21)}
.aa-detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:13px;margin-top:13px}
.aa-room-list{display:grid;gap:7px}.aa-room-row{display:grid;grid-template-columns:minmax(130px,1.2fr) repeat(3,minmax(105px,.8fr)) 70px;gap:10px;align-items:center;padding:10px;border-radius:14px;border:1px solid #e3ebf4;background:#fbfdff;transition:.16s ease}.aa-room-row:hover{border-color:#91b6e3;transform:translateY(-1px);box-shadow:0 7px 19px rgba(48,91,145,.07)}.aa-room-name b,.aa-room-name small{display:block}.aa-room-name small{font-size:9px;color:#879bad;margin-top:2px}.aa-room-row>div>small{font-size:9px;color:#8499ad}.aa-mini-progress{height:6px;border-radius:999px;background:#eaf0f6;overflow:hidden;margin-top:4px}.aa-mini-progress i{display:block;height:100%;background:#4c84d9}.aa-mini-progress.good i{background:#27ae7d}.aa-mini-progress.mid i{background:#e5a830}.aa-mini-progress.low i{background:#e45e65}.aa-pct{font-size:10px;color:#506b85}.aa-na{font-size:9px;color:#9aa9b7;display:block;margin-top:4px}.aa-attention{justify-self:end;border-radius:999px;padding:5px 8px;background:#edf2f7;color:#718499;font-size:9px;font-weight:900}.aa-attention.has{background:#fff0dd;color:#b96a00}
.aa-chart-wrap{height:255px;position:relative}.aa-chart-wrap canvas{width:100%!important;height:100%!important}
.aa-empty{min-height:130px;padding:25px;display:grid;place-items:center;text-align:center;gap:6px;color:#8499ad;border-radius:14px;background:#f8fbfe;border:1px dashed #dbe6f0}.aa-empty b{color:#526e89}
.aa-student-table-card{margin-top:13px}.aa-heatmap td:first-child b,.aa-heatmap td:first-child small{display:block}.aa-heatmap td:first-child small{font-size:9px;color:#8a9cae;margin-top:2px}.aa-cell{font-weight:900;font-size:11px;border-radius:8px}.aa-cell.good{background:#e8f8f0;color:#17835c}.aa-cell.mid{background:#fff5dc;color:#a56c00}.aa-cell.low{background:#ffe9eb;color:#c93445}.aa-cell.na{background:#f1f4f7;color:#8b9cab}.aa-status{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900}.aa-status.normal{background:#e8f8f0;color:#19825e}.aa-status.watch{background:#fff3d8;color:#9e6900}.aa-status.alert{background:#ffe8eb;color:#c83246}.aa-reasons{display:block;max-width:230px;margin-top:4px;color:#8d704c;font-size:8px;line-height:1.45}
.aa-student-hero{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:20px!important;background:linear-gradient(135deg,#f4f9ff,#eef5ff)}.aa-student-hero h2{margin:3px 0;font-size:27px}.aa-student-hero p{margin:0;color:#7289a1}.aa-subject-detail-list{display:grid;gap:7px;max-height:325px;overflow:auto}.aa-subject-detail-list article{display:grid;grid-template-columns:minmax(130px,1.2fr) repeat(4,minmax(90px,.8fr));gap:8px;align-items:center;padding:9px;border:1px solid #e2eaf3;border-radius:13px;background:#fafcff}.aa-subject-detail-list b,.aa-subject-detail-list small{display:block}.aa-subject-detail-list small{font-size:9px;color:#879bad}.aa-subject-detail-list article>span{font-size:9px;color:#8599ad}.aa-subject-detail-list strong{display:block;color:#375f8d;margin-top:2px}

@media(max-width:1120px){.aa-kpis,.aa-main-kpis{grid-template-columns:repeat(3,1fr)}.aa-filter{grid-template-columns:repeat(3,1fr)}.aa-room-row{grid-template-columns:1.2fr repeat(3,.8fr)}.aa-attention{grid-column:1/-1;justify-self:start}.aa-subject-detail-list article{grid-template-columns:1fr 1fr}.aa-subject-detail-list article>div{grid-column:1/-1}}
@media(max-width:850px){.aa-detail-grid{grid-template-columns:1fr}.aa-filter.compact{grid-template-columns:1fr 1fr}.aa-widget-head{display:block}.aa-widget-head>.button{margin-top:8px}.aa-room-row{grid-template-columns:1fr 1fr}.aa-room-name{grid-column:1/-1}.aa-page-hero{grid-template-columns:1fr 100px}}
@media(max-width:620px){.aa-filter,.aa-filter.compact{grid-template-columns:1fr}.aa-kpis,.aa-main-kpis{grid-template-columns:1fr 1fr}.aa-room-row{grid-template-columns:1fr}.aa-room-name{grid-column:auto}.aa-page-hero{grid-template-columns:1fr}.aa-hero-number{display:none}.aa-student-hero{align-items:flex-start;flex-direction:column}.aa-chart-wrap{height:220px}}

/* ============================================================
   v0.9.5-R8.1 — Cascading Filters + Student Profile Cards
   ============================================================ */
.sp81-avatar{display:inline-grid;place-items:center;overflow:hidden;border-radius:50%;background:linear-gradient(145deg,#4d8ef0,#6a5de8);color:#fff;font-weight:900;flex:0 0 auto}
.sp81-avatar img{width:100%;height:100%;object-fit:cover;display:block}.sp81-avatar.no-photo b{font-size:.82em;letter-spacing:.02em}

/* Cascading filter */
.aa-filter-stage{position:relative}.aa-filter-stage label{display:flex!important;align-items:center;gap:6px!important}
.aa-filter-stage label>span{width:19px;height:19px;border-radius:7px;display:inline-grid;place-items:center;background:#3277df;color:#fff;font-size:9px;font-weight:900;box-shadow:0 4px 10px rgba(50,119,223,.2)}
.aa-filter-stage.locked{opacity:.64}.aa-filter-stage.locked label>span{background:#aebdcc;box-shadow:none}
.aa-filter-placeholder{min-height:38px;padding:9px 11px;border-radius:10px;border:1px dashed #d1dce8;background:#f5f8fb;color:#9aacbd;font-size:11px;display:flex;align-items:center}
.aa-filter.is-loading{pointer-events:none;opacity:.72}.aa-filter.is-loading:after{content:"กำลังโหลดตัวเลือก…";position:absolute;right:16px;top:-31px;padding:5px 9px;border-radius:999px;background:#153e78;color:#fff;font-size:9px;font-weight:800}
.aa-filter{position:relative}

/* Attractive watched-student cards */
.aa-student-watch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.aa-student-watch-card{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) 28px;gap:11px;align-items:center;min-height:96px;padding:12px;border-radius:18px;border:1px solid #e3eaf2;background:linear-gradient(145deg,#fff,#f9fbfe);overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.aa-student-watch-card:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;border-radius:0 8px 8px 0;background:#e2a43a}
.aa-student-watch-card.alert:before{background:#e44e5d}.aa-student-watch-card:hover{transform:translateY(-2px);border-color:#a8c4e5;box-shadow:0 14px 30px rgba(42,77,120,.10)}
.aa-watch-photo{position:relative;width:60px;height:60px}.aa-watch-avatar{width:60px;height:60px;font-size:21px;border:3px solid #fff;box-shadow:0 8px 19px rgba(36,79,131,.14)}
.aa-watch-photo>i{position:absolute;right:1px;bottom:2px;width:14px;height:14px;border-radius:50%;background:#ffb035;border:3px solid #fff}.aa-student-watch-card.alert .aa-watch-photo>i{background:#ed5260}
.aa-watch-copy{min-width:0}.aa-watch-top{display:flex;align-items:flex-start;gap:7px;justify-content:space-between}.aa-watch-top>b{font-size:12px;color:#233f60;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aa-watch-top>span{flex:0 0 auto;padding:4px 7px;border-radius:999px;background:#fff2da;color:#9d6800;font-size:8px;font-weight:900}.aa-student-watch-card.alert .aa-watch-top>span{background:#ffe7ea;color:#c53143}
.aa-watch-copy>small{display:block;color:#8499ad;font-size:9px;margin-top:2px}.aa-watch-copy>p{margin:6px 0 0;color:#6f5b42;font-size:9px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aa-watch-copy>em{display:inline-block;margin-top:4px;font-size:8px;font-style:normal;color:#8c7a67}
.aa-watch-arrow{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:#eef4fc;color:#3d72bd}.aa-watch-arrow .ui-icon{width:14px}

/* Student list + drill-down */
.aa-table-student{display:flex;align-items:center;gap:9px;min-width:190px}.aa-table-avatar{width:38px;height:38px;font-size:13px;box-shadow:0 5px 12px rgba(44,80,124,.10)}
.aa-student-identity{display:flex;align-items:center;gap:15px}.aa-detail-avatar{width:78px;height:78px;font-size:25px;border:4px solid #fff;box-shadow:0 12px 27px rgba(46,91,147,.16)}
.aa-student-hero{background:radial-gradient(circle at 8% 20%,rgba(81,166,255,.13),transparent 28%),linear-gradient(135deg,#f4f9ff,#eef5ff)!important}

/* Student's own profile photo on Student Dashboard */
.student-r81-hero-copy{position:relative;padding-left:96px;min-height:82px}
.student-r81-self-avatar{position:absolute;left:0;top:0;width:78px;height:78px}
.student-r81-avatar{width:78px;height:78px;font-size:25px;border:3px solid rgba(255,255,255,.92);box-shadow:0 13px 28px rgba(0,28,73,.28)}
.student-r81-photo-form{position:absolute;left:50%;transform:translateX(-50%);bottom:-9px;white-space:nowrap}
.student-r81-photo-form label{cursor:pointer;display:block}.student-r81-photo-form input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.student-r81-photo-form span{display:block;padding:4px 8px;border-radius:999px;background:rgba(8,37,80,.90);color:#fff;font-size:8px;font-weight:800;border:1px solid rgba(255,255,255,.18);box-shadow:0 5px 13px rgba(0,20,55,.18)}
.student-r81-photo-form label:hover span{background:#1668c6}

@media(max-width:1050px){.aa-student-watch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){
  .aa-student-watch-grid{grid-template-columns:1fr}
  .aa-student-watch-card{grid-template-columns:58px minmax(0,1fr) 26px}
  .aa-watch-photo,.aa-watch-avatar{width:54px;height:54px}
  .aa-student-identity{align-items:flex-start}.aa-detail-avatar{width:66px;height:66px}
  .student-r81-hero-copy{padding-left:82px}.student-r81-self-avatar,.student-r81-avatar{width:68px;height:68px}
}

/* ============================================================
   v0.9.5-R8.2 — Academic Analytics Responsive Polish
   PC Web Browser + Smartphone Browser
   ============================================================ */

/* Page rhythm: the global page intro is already the title, so the analytics
   content starts directly with the filter card instead of repeating a hero. */
body[data-page="academic-analytics"] .page-intro{margin-bottom:14px}
body[data-page="academic-analytics"] .content{overflow-x:hidden}

/* Filter card */
.aa-filter-card{margin-top:0!important;padding:18px!important;overflow:hidden}
.aa-filter-card-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.aa-filter-card-head h2{margin:2px 0 3px!important;font-size:18px!important;color:var(--text)!important}
.aa-filter-card-head p{margin:0;max-width:720px;color:var(--muted);font-size:10px;line-height:1.55}
.aa-filter-attention{flex:0 0 auto;display:flex;align-items:center;gap:9px;min-width:126px;padding:9px 11px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2)}
.aa-filter-attention>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--surface-3);color:var(--muted)}
.aa-filter-attention>span .ui-icon{width:17px;height:17px}
.aa-filter-attention div{display:grid;line-height:1.15}.aa-filter-attention small{font-size:8px;color:var(--muted)}.aa-filter-attention b{font-size:13px;color:var(--text-2);margin-top:3px}
.aa-filter-attention.has{border-color:color-mix(in srgb,var(--warning) 26%,var(--line));background:var(--warning-soft)}
.aa-filter-attention.has>span{background:color-mix(in srgb,var(--warning) 16%,var(--surface));color:var(--warning)}

/* R8.2 filter layout deliberately uses two rows on desktop. This prevents
   select boxes and action buttons from competing for horizontal space. */
.aa-filter{display:block!important;position:relative;min-width:0}
.aa-filter-primary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}
.aa-filter-secondary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(250px,.9fr);gap:12px;align-items:end;margin-top:12px;min-width:0}
.aa-filter .field,.aa-filter-stage,.aa-filter-extra{min-width:0!important;width:100%}
.aa-filter label{min-height:22px;display:flex;align-items:center;margin-bottom:5px;font-size:9px!important;color:var(--muted)}
.aa-filter select,.aa-filter-placeholder{display:flex;width:100%!important;max-width:100%;min-width:0!important;min-height:42px!important;height:42px;padding-left:11px;padding-right:34px;border-radius:11px!important;box-sizing:border-box}
.aa-filter-placeholder{align-items:center;padding-right:11px}
.aa-filter-stage label>span{width:21px!important;height:21px!important;border-radius:7px!important;font-size:9px!important;flex:0 0 21px}
.aa-filter-stage.locked{opacity:.72}
.aa-filter-actions{display:grid;grid-template-columns:minmax(122px,1.1fr) minmax(108px,.9fr);gap:8px;align-items:end;min-width:0}
.aa-filter-actions .button{width:100%;min-width:0;min-height:42px!important;height:42px;margin:0!important;white-space:nowrap}
.aa-filter-actions .button .ui-icon{width:16px;height:16px}
.aa-filter.is-loading:after{top:-31px;right:0}

/* Compact filter used on the ADMIN dashboard remains compact and responsive. */
.aa-filter.compact{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:11px!important;border-radius:16px;background:var(--surface-2);border:1px solid var(--line)}
.aa-filter.compact .aa-filter-primary{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.aa-filter-actions-compact{align-self:end;min-width:228px}

/* Interpretation is now collapsible to save vertical space, especially mobile. */
.aa-rule-note{margin-top:12px!important;padding:0!important;border:1px solid color-mix(in srgb,var(--primary) 13%,var(--line))!important;border-radius:12px!important;background:color-mix(in srgb,var(--primary-soft) 54%,var(--surface))!important;color:var(--muted)!important;overflow:hidden}
.aa-rule-note summary{cursor:pointer;list-style:none;padding:9px 11px;font-size:9px;font-weight:850;color:var(--text-2);user-select:none}
.aa-rule-note summary::-webkit-details-marker{display:none}
.aa-rule-note summary:after{content:"+";float:right;width:20px;height:20px;border-radius:7px;display:grid;place-items:center;margin-top:-2px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-size:12px}
.aa-rule-note[open] summary:after{content:"–"}
.aa-rule-note p{margin:0;padding:0 11px 10px;font-size:9px;line-height:1.6;color:var(--muted)}

/* KPI cards */
.aa-main-kpis{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;margin-top:13px!important}
.aa-main-kpis article{min-width:0;min-height:92px;padding:13px!important;border-radius:16px!important;border-color:var(--line)!important;background:linear-gradient(180deg,var(--surface),var(--surface-2))!important;box-shadow:0 8px 22px rgba(31,57,101,.045)}
.aa-main-kpis article>span{width:40px!important;height:40px!important;border-radius:12px!important;flex:none}
.aa-main-kpis article>div{min-width:0}.aa-main-kpis small{font-size:8px!important;white-space:normal}.aa-main-kpis b{font-size:19px!important;line-height:1.15;color:var(--text-2)}.aa-main-kpis em{font-size:8px!important;line-height:1.35;white-space:normal}
.aa-main-kpis .attention{border-color:color-mix(in srgb,var(--warning) 22%,var(--line))!important;background:linear-gradient(180deg,var(--surface),var(--warning-soft))!important}

/* Main analytics panels */
.aa-detail-grid{grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr)!important;gap:13px!important}
.aa-detail-grid>.card{min-width:0;overflow:hidden}
.aa-room-row{grid-template-columns:minmax(135px,1.25fr) repeat(3,minmax(88px,.75fr)) auto!important;gap:9px!important;padding:11px!important;background:var(--surface-2)!important;border-color:var(--line)!important}
.aa-room-row:hover{background:color-mix(in srgb,var(--primary-soft) 34%,var(--surface))!important}
.aa-room-metric{min-width:0}.aa-room-metric small{display:block}.aa-room-metric .aa-pct{display:block;margin-top:2px}
.aa-attention{min-width:54px;text-align:center;white-space:nowrap}
.aa-chart-wrap{min-width:0}

/* Student table: desktop retains a true table. */
.aa-student-table-card{overflow:hidden}
.aa-student-table-card .table-wrap{max-width:100%}
.aa-heatmap td{vertical-align:middle}
.aa-student-col{min-width:220px}
.aa-status-col{min-width:128px}
.aa-action-col{width:106px;text-align:right;white-space:nowrap}
.aa-action-col .button{width:auto!important;min-width:84px}
.aa-table-student>div:last-child{min-width:0}.aa-table-student b{white-space:normal;line-height:1.35}

/* Tablet */
@media(max-width:1180px){
  .aa-filter-secondary{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .aa-filter-actions{grid-column:1/-1;justify-self:end;width:min(100%,340px)}
  .aa-main-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .aa-detail-grid{grid-template-columns:1fr!important}
  .aa-room-row{grid-template-columns:minmax(140px,1.2fr) repeat(3,minmax(90px,.8fr)) auto!important}
  .aa-filter.compact{grid-template-columns:1fr!important}
  .aa-filter-actions-compact{justify-self:end;width:min(100%,340px);min-width:0}
}

@media(max-width:900px){
  .aa-filter-primary{grid-template-columns:1fr 1fr}
  .aa-filter-primary>.aa-filter-stage:nth-child(3){grid-column:1/-1}
  .aa-filter.compact .aa-filter-primary{grid-template-columns:1fr 1fr}
  .aa-filter.compact .aa-filter-primary>.aa-filter-stage:nth-child(3){grid-column:1/-1}
  .aa-room-row{grid-template-columns:1fr 1fr 1fr!important}
  .aa-room-name{grid-column:1/-1!important}
  .aa-attention{grid-column:1/-1;justify-self:start!important}
}

/* Smartphone browser */
@media(max-width:700px){
  body[data-page="academic-analytics"] .content{padding-left:10px;padding-right:10px}
  .aa-filter-card{padding:14px!important;border-radius:16px!important}
  .aa-filter-card-head{align-items:flex-start;gap:11px;margin-bottom:13px;padding-bottom:12px}
  .aa-filter-card-head h2{font-size:16px!important}
  .aa-filter-card-head p{font-size:9px}
  .aa-filter-attention{min-width:105px;padding:8px}
  .aa-filter-attention>span{width:31px;height:31px}
  .aa-filter-attention b{font-size:11px}

  .aa-filter-primary,.aa-filter-secondary,.aa-filter.compact .aa-filter-primary{grid-template-columns:1fr!important;gap:10px}
  .aa-filter-primary>.aa-filter-stage:nth-child(3),.aa-filter.compact .aa-filter-primary>.aa-filter-stage:nth-child(3){grid-column:auto}
  .aa-filter-secondary{margin-top:10px}
  .aa-filter-actions,.aa-filter-actions-compact{grid-column:auto;grid-template-columns:1fr 1fr;width:100%;min-width:0;justify-self:stretch}
  .aa-filter select,.aa-filter-placeholder{min-height:46px!important;height:46px;font-size:12px}
  .aa-filter-actions .button{min-height:46px!important;height:46px;font-size:11px}
  .aa-filter.compact{display:block!important}.aa-filter.compact .aa-filter-actions{margin-top:10px}

  .aa-main-kpis{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .aa-main-kpis article{grid-template-columns:36px minmax(0,1fr)!important;gap:8px!important;min-height:82px;padding:11px!important}
  .aa-main-kpis article>span{width:36px!important;height:36px!important}.aa-main-kpis b{font-size:17px!important}

  .aa-detail-grid{gap:10px!important;margin-top:10px!important}
  .aa-detail-grid>.card,.aa-student-table-card{padding:14px!important;border-radius:15px!important}
  .aa-room-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;padding:10px!important}
  .aa-room-name{grid-column:1/-1!important;padding-bottom:4px;border-bottom:1px solid var(--line)}
  .aa-room-metric{padding:7px 6px;border-radius:10px;background:var(--surface);border:1px solid var(--line)}
  .aa-room-metric small{font-size:8px!important}.aa-mini-progress{margin-top:5px}.aa-pct{font-size:9px!important}
  .aa-attention{grid-column:1/-1!important;justify-self:start!important;margin-top:1px}
  .aa-chart-wrap{height:220px!important}

  /* Replace horizontal-scroll table with touch-friendly student cards. */
  .aa-student-table-card .table-wrap{overflow:visible!important;border:0!important;background:transparent!important;box-shadow:none!important;margin:0!important}
  .aa-heatmap,.aa-heatmap tbody{display:block!important;width:100%!important;min-width:0!important}
  .aa-heatmap thead{display:none!important}
  .aa-heatmap tbody{display:grid!important;gap:10px}
  .aa-heatmap tr{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;padding:11px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);box-shadow:0 5px 15px rgba(28,52,91,.035)}
  .aa-heatmap tr:hover{background:var(--surface-2)!important}
  .aa-heatmap td{display:block!important;width:auto!important;min-width:0!important;padding:8px!important;border:0!important;border-radius:10px!important;background:var(--surface)!important}
  .aa-heatmap td[data-label]:before{content:attr(data-label);display:block;margin-bottom:4px;color:var(--muted);font-size:7px;font-weight:850;letter-spacing:.25px;text-transform:uppercase}
  .aa-heatmap .aa-student-col{grid-column:1/-1;padding:0 0 9px!important;border-radius:0!important;border-bottom:1px solid var(--line)!important;background:transparent!important}
  .aa-heatmap .aa-student-col:before{display:none!important}
  .aa-table-student{min-width:0!important}.aa-table-avatar{width:42px!important;height:42px!important}
  .aa-heatmap .aa-cell{font-size:12px!important;min-height:57px}
  .aa-heatmap .aa-cell.good{background:var(--success-soft)!important}.aa-heatmap .aa-cell.mid{background:var(--warning-soft)!important}.aa-heatmap .aa-cell.low{background:var(--danger-soft)!important}.aa-heatmap .aa-cell.na{background:var(--surface-3)!important}
  .aa-heatmap .aa-status-col{grid-column:1/-1;background:transparent!important;padding:2px 0!important}
  .aa-heatmap .aa-status-col:before{margin-bottom:5px}
  .aa-heatmap .aa-action-col{grid-column:1/-1;padding:0!important;background:transparent!important;text-align:left}
  .aa-heatmap .aa-action-col .button{width:100%!important;min-height:42px}
  .aa-reasons{max-width:none!important;font-size:8px!important}
}

@media(max-width:520px){
  .aa-filter-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto}
  .aa-filter-card-head p{grid-column:1/-1}
  .aa-main-kpis{grid-template-columns:1fr!important}
  .aa-main-kpis article{min-height:76px}
  .aa-room-row{grid-template-columns:1fr!important}
  .aa-room-metric{display:grid;grid-template-columns:78px minmax(0,1fr) 44px;align-items:center;gap:8px}
  .aa-room-metric small{margin:0}.aa-room-metric .aa-mini-progress{margin:0}.aa-room-metric .aa-pct,.aa-room-metric .aa-na{margin:0;text-align:right}
}

@media(max-width:420px){
  .aa-filter-card-head{grid-template-columns:1fr}.aa-filter-attention{justify-self:start;width:auto}.aa-filter-card-head p{grid-column:auto}
  .aa-filter-actions,.aa-filter-actions-compact{grid-template-columns:1fr}
  .aa-heatmap tr{grid-template-columns:1fr}
  .aa-heatmap .aa-student-col,.aa-heatmap .aa-status-col,.aa-heatmap .aa-action-col{grid-column:auto}
}

/* Dark theme parity */
[data-theme="dark"] .aa-filter-attention.has{background:color-mix(in srgb,var(--warning-soft) 82%,var(--surface))}
[data-theme="dark"] .aa-main-kpis article,[data-theme="dark"] .aa-room-row{box-shadow:none}
[data-theme="dark"] .aa-room-metric,[data-theme="dark"] .aa-heatmap td{background:var(--surface)!important}
[data-theme="dark"] .aa-heatmap tr{box-shadow:none}

/* ============================================================
   v0.9.5-R8.3 — AJAX Analytics + Persistent Filters
   PC Web Browser + Smartphone Browser
   ============================================================ */

/* Cascading selects remain in the DOM so AJAX can unlock them without a page reload. */
.aa-filter-stage select:disabled{cursor:not-allowed;background:var(--surface-3);color:var(--muted);border-style:dashed;opacity:.76}
.aa-filter-stage.locked{opacity:.72}
.aa-filter-stage.active{opacity:1}

/* Inline AJAX state: visible but intentionally quiet. */
.aa-ajax-status{grid-column:1/-1;margin-top:9px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:9px;font-weight:750;line-height:1.45}
.aa-ajax-status[data-tone="dirty"]{border-color:color-mix(in srgb,var(--primary) 24%,var(--line));background:color-mix(in srgb,var(--primary-soft) 62%,var(--surface));color:var(--text-2)}
.aa-ajax-status[data-tone="loading"]{border-color:color-mix(in srgb,var(--primary) 28%,var(--line));color:var(--primary)}
.aa-ajax-status[data-tone="error"]{border-color:color-mix(in srgb,var(--danger) 30%,var(--line));background:var(--danger-soft);color:var(--danger)}
.aa-noscript-note{margin-top:9px;padding:8px 10px;border-radius:10px;background:var(--warning-soft);border:1px solid color-mix(in srgb,var(--warning) 28%,var(--line));font-size:9px;color:var(--text-2)}

/* Loading only the requested analytics area, never the whole application shell. */
[data-aa-dashboard-root],[data-aa-analytics-root]{position:relative}
.aa-ajax-loading{cursor:progress}
.aa-ajax-loading:after{content:"กำลังวิเคราะห์…";position:absolute;z-index:8;right:14px;top:14px;padding:7px 10px;border-radius:999px;background:color-mix(in srgb,var(--text) 88%,transparent);color:var(--surface);font-size:9px;font-weight:850;box-shadow:0 8px 22px rgba(21,47,83,.16);pointer-events:none}
.aa-ajax-loading .aa-kpis,.aa-ajax-loading .aa-main-kpis,.aa-ajax-loading .aa-detail-grid,.aa-ajax-loading .aa-student-table-card,.aa-ajax-loading .aa-follow-quick{opacity:.48;pointer-events:none;transition:opacity .16s ease}
.aa-ajax-loading .aa-analyze-button{opacity:.65;cursor:wait}

/* A changed filter is intentionally not recalculated until Analyze is pressed. */
.aa-results-stale .aa-analyze-button{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent),0 8px 18px color-mix(in srgb,var(--primary) 18%,transparent)}
.aa-results-stale .aa-kpis,.aa-results-stale .aa-main-kpis{transition:filter .16s ease,opacity .16s ease}

.is-ajax-options-loading [data-aa-stage] select{cursor:progress}
.is-ajax-options-loading .aa-analyze-button{opacity:.72}

/* Keep touch targets consistent when controls are dynamically unlocked. */
@media(max-width:700px){
  .aa-ajax-status,.aa-noscript-note{font-size:10px;padding:9px 10px}
  .aa-ajax-loading:after{position:sticky;display:block;width:max-content;margin:-2px 8px 8px auto;top:8px;right:auto}
  .aa-filter select:disabled{min-height:46px!important;height:46px}
}

@media(max-width:420px){
  .aa-ajax-loading:after{margin-right:0}
}

/* ============================================================
   v0.9.5-R8.4 — Dashboard Calendar Restore + Semantic Buttons
   Targets: PC Web Browser + Smartphone Browser
   ============================================================ */
.executive-left-stack{display:grid;gap:16px;min-width:0;align-content:start}
.r84-calendar-shortcut{text-decoration:none!important}
.aa-analyze-button{border-radius:14px!important;background:linear-gradient(135deg,#2563eb,#4f6cf7)!important;color:#fff!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 10px 24px rgba(37,99,235,.24)!important}
.aa-analyze-button:hover{box-shadow:0 14px 30px rgba(37,99,235,.32)!important}
.aa-reset-button{border-radius:14px!important;background:linear-gradient(135deg,#fff7f8,#fff)!important;color:#c13d58!important;border:1px solid #f0c8d1!important;box-shadow:0 7px 18px rgba(176,55,82,.08)!important}
.aa-reset-button:hover{background:#fff0f3!important;border-color:#e8aebb!important;color:#a82845!important}
.aa-dashboard-widget .aa-widget-head>.button.secondary{border-radius:14px!important;background:linear-gradient(135deg,#7357e8,#5367e8)!important;color:#fff!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 10px 24px rgba(90,78,218,.22)!important}
.aa-dashboard-widget .aa-widget-head>.button.secondary .ui-icon{color:#fff!important}
.quick-grid a{border-radius:16px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035);overflow:hidden;position:relative}
.quick-grid a:nth-child(1){background:linear-gradient(145deg,rgba(36,116,214,.28),rgba(20,63,123,.18))!important;border-color:rgba(82,158,245,.27)!important}
.quick-grid a:nth-child(2){background:linear-gradient(145deg,rgba(108,83,219,.27),rgba(61,48,139,.18))!important;border-color:rgba(142,123,240,.25)!important}
.quick-grid a:nth-child(3){background:linear-gradient(145deg,rgba(202,145,44,.28),rgba(120,79,24,.18))!important;border-color:rgba(231,174,68,.25)!important}
.quick-grid a:nth-child(4){background:linear-gradient(145deg,rgba(22,145,172,.27),rgba(16,84,104,.18))!important;border-color:rgba(54,188,211,.25)!important}
.quick-grid a:nth-child(5){background:linear-gradient(145deg,rgba(32,153,111,.27),rgba(17,90,68,.18))!important;border-color:rgba(72,201,155,.24)!important}
.quick-grid a:hover{transform:translateY(-3px) scale(1.015)!important}
.quick-grid a b{color:#eef6ff!important;font-weight:850!important}
.panel-button{border-radius:14px!important;background:linear-gradient(135deg,rgba(32,132,214,.24),rgba(30,102,184,.18))!important;border-color:rgba(75,166,238,.25)!important;color:#bfe3ff!important}
.calendar-manage-link{min-height:30px;padding:0 10px;border-radius:11px;background:linear-gradient(135deg,rgba(25,163,146,.18),rgba(36,115,179,.16));border:1px solid rgba(61,195,183,.20);color:#9ce7db!important;transition:.16s}
.calendar-manage-link:hover{transform:translateY(-1px);background:linear-gradient(135deg,rgba(25,163,146,.28),rgba(36,115,179,.24));color:#fff!important}
.r84-btn-calendar-save{border-radius:14px!important;background:linear-gradient(135deg,#14976f,#1eb88a)!important;box-shadow:0 10px 24px rgba(20,151,111,.22)!important}
.r84-btn-delete{border-radius:14px!important;background:linear-gradient(135deg,#e64564,#c93455)!important;box-shadow:0 10px 24px rgba(201,52,85,.20)!important}
.r84-btn-cancel{border-radius:13px!important;background:#f4f7fa!important;color:#64758a!important;border:1px solid #dbe3eb!important}
[data-theme="light"] .quick-grid a:nth-child(1){background:#eef6ff!important;border-color:#cce2fb!important}
[data-theme="light"] .quick-grid a:nth-child(2){background:#f3f0ff!important;border-color:#dbd3fb!important}
[data-theme="light"] .quick-grid a:nth-child(3){background:#fff7e9!important;border-color:#f3dfb5!important}
[data-theme="light"] .quick-grid a:nth-child(4){background:#edfafd!important;border-color:#c9e9ef!important}
[data-theme="light"] .quick-grid a:nth-child(5){background:#effaf6!important;border-color:#cae9de!important}
[data-theme="light"] .quick-grid a b{color:#294866!important}
[data-theme="light"] .calendar-manage-link{background:#eef9f8;border-color:#cce8e4;color:#207d73!important}
@media(max-width:1380px){.executive-left-stack{gap:14px}}
@media(max-width:900px){.executive-left-stack{gap:13px}}
@media(max-width:640px){
  .executive-left-stack{gap:12px}
  .calendar-manage-link{min-height:36px;padding:0 11px;font-size:9px}
  .aa-analyze-button,.aa-reset-button{min-height:46px!important;border-radius:14px!important}
  .quick-grid a{border-radius:15px!important}
  .dashboard-calendar-grid .calendar-day{min-height:36px!important;border-radius:11px!important}
  .dashboard-calendar-head small{font-size:8px!important}
}

/* R8.4 calendar navigation distinction */
.calendar-nav a{border-radius:12px!important;transition:.16s!important}
.calendar-nav a:first-child,.calendar-nav a:last-child{background:linear-gradient(135deg,#3477e9,#4a63df)!important;color:#fff!important;border-color:rgba(255,255,255,.14)!important;box-shadow:0 7px 16px rgba(52,119,233,.18)}
.calendar-nav a.today-btn{background:linear-gradient(135deg,#7357e8,#9a59dd)!important;color:#fff!important;border-color:rgba(255,255,255,.14)!important;box-shadow:0 7px 16px rgba(115,87,232,.18)}
.calendar-nav a:hover{transform:translateY(-1px)!important;filter:saturate(1.08)}

/* ============================================================
   v0.9.5-R8.5 — Customizable Smart Dashboard
   PC Web Browser + Smartphone Browser
   ============================================================ */
.r85-dashboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;padding:12px 14px;border:1px solid rgba(96,156,225,.16);border-radius:17px;background:linear-gradient(145deg,rgba(11,39,78,.82),rgba(8,29,61,.90));box-shadow:0 12px 28px rgba(0,7,25,.12)}
.r85-dashboard-toolbar>div{min-width:0;display:grid;gap:2px}.r85-dashboard-toolbar b{font-size:13px;color:#edf6ff}.r85-dashboard-toolbar small{font-size:8px;color:#7897bb;line-height:1.4}.r85-customize-open{min-height:40px;border-radius:13px!important;background:linear-gradient(135deg,#7458e8,#5867ea)!important;color:#fff!important;border:1px solid rgba(255,255,255,.15)!important;box-shadow:0 9px 22px rgba(93,79,220,.22)!important;white-space:nowrap}.r85-customize-open .ui-icon{width:15px}
.r85-dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:15px;align-items:start}.r85-dashboard-grid.is-dense{grid-auto-flow:dense}.r85-dashboard-widget{min-width:0;grid-column:span 12;order:var(--r85-order,99)}.r85-dashboard-widget.r85-span-4{grid-column:span 4}.r85-dashboard-widget.r85-span-6{grid-column:span 6}.r85-dashboard-widget.r85-span-8{grid-column:span 8}.r85-dashboard-widget.r85-span-12{grid-column:span 12}.r85-dashboard-widget[hidden]{display:none!important}.r85-dashboard-contents,.r85-dashboard-contents>.executive-left-stack,.r85-dashboard-contents>.executive-center-stack,.r85-dashboard-contents>.executive-right-stack{display:contents!important}.r85-dashboard-grid .executive-hero,.r85-dashboard-grid .executive-kpis,.r85-dashboard-grid .aa-dashboard-widget{margin-bottom:0!important}.r85-dashboard-widget>.glass-panel{height:100%}.r85-dashboard-widget.glass-panel{height:100%}.r85-dashboard-widget[data-dashboard-widget="kpis"].r85-span-8 .executive-kpis,.r85-dashboard-widget[data-dashboard-widget="kpis"].r85-span-6 .executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.r85-dashboard-widget[data-dashboard-widget="quick"].r85-span-4 .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.r85-dashboard-widget[data-dashboard-widget="quick"] .quick-grid a[hidden]{display:none!important}
.r85-customizer-backdrop{position:fixed;inset:0;z-index:180;background:rgba(2,11,27,.50);backdrop-filter:blur(3px)}.r85-customizer{position:fixed;z-index:190;right:14px;top:14px;bottom:14px;width:min(470px,calc(100vw - 28px));display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;background:linear-gradient(160deg,#0c2851,#071d3d 70%);border:1px solid rgba(116,179,245,.22);border-radius:22px;box-shadow:0 30px 90px rgba(0,5,22,.50);color:#eef6ff;transform:translateX(calc(100% + 32px));opacity:0;pointer-events:none;transition:transform .22s ease,opacity .18s ease;overflow:hidden}.r85-customizer.open{transform:none;opacity:1;pointer-events:auto}.r85-customizer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 18px 13px;border-bottom:1px solid rgba(98,155,219,.13)}.r85-customizer-head h2{margin:2px 0 3px;font-size:20px}.r85-customizer-head p{margin:0;color:#809fc3;font-size:9px}.r85-icon-btn{width:38px;height:38px;border-radius:12px;border:1px solid rgba(120,174,232,.18);background:rgba(56,102,161,.14);color:#cfe2fb;font-size:24px;line-height:1;cursor:pointer}.r85-customizer-scroll{overflow:auto;padding:14px 16px 18px;overscroll-behavior:contain}.r85-auto-row,.r85-quick-settings,.r85-role-default{border:1px solid rgba(104,160,221,.13);background:rgba(28,65,115,.13);border-radius:15px;padding:12px;margin-bottom:12px}.r85-auto-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.r85-auto-row>div,.r85-quick-settings>div:first-child,.r85-role-default>div:first-child{display:grid;gap:2px}.r85-auto-row b,.r85-quick-settings b,.r85-role-default b{font-size:10px}.r85-auto-row small,.r85-quick-settings small,.r85-role-default small{font-size:8px;color:#7999bd;line-height:1.4}.r85-switch{position:relative;width:46px;height:26px;flex:0 0 auto}.r85-switch input{position:absolute;opacity:0}.r85-switch span{position:absolute;inset:0;border-radius:999px;background:#314d70;border:1px solid rgba(137,183,233,.16);cursor:pointer;transition:.16s}.r85-switch span:after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;left:2px;top:2px;background:#c8d8e9;transition:.16s}.r85-switch input:checked+span{background:#536ce6}.r85-switch input:checked+span:after{transform:translateX(20px);background:#fff}.r85-widget-list{display:grid;gap:8px;margin-bottom:12px}.r85-widget-setting{display:grid;grid-template-columns:26px minmax(0,1fr) 96px 68px;gap:8px;align-items:center;padding:10px;border-radius:14px;border:1px solid rgba(105,158,217,.12);background:linear-gradient(145deg,rgba(26,64,119,.19),rgba(14,46,92,.12));transition:.16s}.r85-widget-setting.dragging{opacity:.48;border-style:dashed}.r85-drag{display:grid;place-items:center;color:#658bb8;font-weight:900;cursor:grab;user-select:none}.r85-visible{display:flex;align-items:center;gap:8px;min-width:0;cursor:pointer}.r85-visible input{width:17px;height:17px;accent-color:#6676ef}.r85-visible span{font-size:10px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.r85-widget-setting select,.r85-role-actions select{min-height:36px;border-radius:10px;border:1px solid rgba(115,167,224,.18);background:#0d2b55;color:#dceaff;padding:0 8px;font-size:9px}.r85-order-buttons{display:grid;grid-template-columns:1fr 1fr;gap:5px}.r85-order-buttons button{height:34px;border-radius:9px;border:1px solid rgba(114,165,220,.16);background:rgba(44,87,142,.16);color:#cfe2fa;cursor:pointer}.r85-order-buttons button:hover{background:rgba(65,115,181,.25)}.r85-quick-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.r85-quick-checks label{min-height:38px;display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:10px;background:rgba(37,80,137,.14);border:1px solid rgba(101,153,211,.10);font-size:9px;cursor:pointer}.r85-quick-checks input{accent-color:#2db68b}.r85-role-actions{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px;margin-top:10px}.r85-role-actions .button{min-height:38px!important;border-radius:11px!important;font-size:9px!important}.r85-customizer-actions{display:grid;grid-template-columns:.85fr 1.15fr;gap:9px;padding:12px 16px;border-top:1px solid rgba(98,155,219,.13);background:rgba(4,20,43,.42)}.r85-customizer-actions .button{min-height:43px;border-radius:13px!important}.r85-save-layout{background:linear-gradient(135deg,#159873,#25b68c)!important;color:#fff!important;box-shadow:0 9px 22px rgba(22,153,115,.20)!important}.r85-reset-layout{background:rgba(53,82,121,.23)!important;color:#bcd0e8!important;border-color:rgba(113,160,214,.16)!important}.r85-save-status{min-height:0;padding:0 16px;background:#071b38;color:#7edfc8;font-size:8px;transition:.16s}.r85-save-status:not(:empty){padding-top:7px;padding-bottom:9px}.r85-save-status.error{color:#ff9aab}
[data-theme="light"] .r85-dashboard-toolbar{background:#fff;border-color:#dce6f0;box-shadow:0 10px 24px rgba(25,63,102,.06)}[data-theme="light"] .r85-dashboard-toolbar b{color:#294866}[data-theme="light"] .r85-dashboard-toolbar small{color:#7d90a4}
@media(max-width:1200px){.r85-dashboard-widget.r85-span-4,.r85-dashboard-widget.r85-span-6,.r85-dashboard-widget.r85-span-8{grid-column:span 6}.r85-dashboard-widget[data-dashboard-widget="hero"],.r85-dashboard-widget[data-dashboard-widget="analytics"],.r85-dashboard-widget[data-dashboard-widget="kpis"]{grid-column:span 12}.r85-dashboard-widget[data-dashboard-widget="kpis"] .executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.r85-dashboard-toolbar{align-items:flex-start;flex-direction:column;padding:11px 12px}.r85-customize-open{width:100%;min-height:46px!important}.r85-dashboard-grid{gap:11px}.r85-dashboard-widget,.r85-dashboard-widget.r85-span-4,.r85-dashboard-widget.r85-span-6,.r85-dashboard-widget.r85-span-8,.r85-dashboard-widget.r85-span-12{grid-column:span 12}.r85-dashboard-widget[data-dashboard-widget="kpis"] .executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.r85-customizer{top:auto;right:8px;left:8px;bottom:8px;width:auto;max-height:calc(100% - 24px);border-radius:20px}.r85-customizer-head{padding:15px 14px 11px}.r85-customizer-scroll{padding:12px 12px 15px}.r85-widget-setting{grid-template-columns:24px minmax(0,1fr) 88px;grid-template-areas:"drag name size" "drag order order"}.r85-drag{grid-area:drag}.r85-visible{grid-area:name}.r85-widget-setting select{grid-area:size;min-height:40px;font-size:10px}.r85-order-buttons{grid-area:order;justify-self:end;width:96px}.r85-order-buttons button{height:38px}.r85-quick-checks{grid-template-columns:1fr 1fr}.r85-role-actions{grid-template-columns:1fr}.r85-role-actions select{min-height:44px}.r85-role-actions .button{min-height:44px!important}.r85-customizer-actions{grid-template-columns:1fr 1fr;padding:10px 12px}.r85-customizer-actions .button{min-height:46px!important;font-size:10px}.r85-visible span{font-size:10px}.r85-dashboard-widget[data-dashboard-widget="quick"] .quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:420px){.r85-quick-checks{grid-template-columns:1fr}.r85-customizer-actions{grid-template-columns:1fr}.r85-dashboard-widget[data-dashboard-widget="kpis"] .executive-kpis{grid-template-columns:1fr 1fr!important}.r85-dashboard-widget[data-dashboard-widget="quick"] .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(prefers-reduced-motion:reduce){.r85-customizer,.r85-widget-setting,.r85-switch span,.r85-switch span:after{transition:none!important}}

/* ============================================================

/* ============================================================
   v0.9.5-R8.6.2 — Stable Direct-Grid Dashboard Structure
   PC Web Browser + Smartphone Browser
   ============================================================ */

/* Dashboard widgets are now direct children of this grid. No display:contents
   bridge, no nested left/center/right stack, and no JS row-span masonry. */
.r85-dashboard-grid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:15px!important;
  align-items:start!important;
  grid-auto-rows:auto!important;
}
.r85-dashboard-grid.is-dense{grid-auto-flow:row dense!important}
.r85-dashboard-grid.is-ordered{grid-auto-flow:row!important}

.r85-dashboard-grid>.r85-dashboard-widget{
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  align-self:start!important;
  grid-row:auto!important;
  position:relative!important;
  z-index:0!important;
  isolation:isolate;
  margin:0!important;
}
.r85-dashboard-grid>.r85-dashboard-widget.glass-panel,
.r85-dashboard-grid>.r85-dashboard-widget>.glass-panel{
  min-height:0!important;
  height:auto!important;
  align-self:start!important;
}

/* Undo older equal-height rules from the pre-customizable dashboard. */
.r85-dashboard-grid>.r85-dashboard-widget.today-mission,
.r85-dashboard-grid>.r85-dashboard-widget.activity-panel,
.r85-dashboard-grid>.r85-dashboard-widget.intelligence-panel,
.r85-dashboard-grid>.r85-dashboard-widget.dashboard-calendar{
  min-height:0!important;
  height:auto!important;
}
.r85-dashboard-grid>.r85-dashboard-widget.system-card{
  min-height:88px!important;
  height:auto!important;
}

/* Direct-grid cards should never visually overlap their neighbours. */
.r85-dashboard-grid>.r85-dashboard-widget::before,
.r85-dashboard-grid>.r85-dashboard-widget::after{max-width:100%}

/* Width-aware internal layouts remain responsive to the user's chosen card size. */
.r85-dashboard-widget[data-dashboard-widget="kpis"].r85-span-8 .executive-kpis,
.r85-dashboard-widget[data-dashboard-widget="kpis"].r85-span-6 .executive-kpis{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.r85-dashboard-widget[data-dashboard-widget="quick"].r85-span-4 .quick-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

@media(max-width:1200px){
  .r85-dashboard-grid>.r85-dashboard-widget.r85-span-4,
  .r85-dashboard-grid>.r85-dashboard-widget.r85-span-6,
  .r85-dashboard-grid>.r85-dashboard-widget.r85-span-8{grid-column:span 6!important}
  .r85-dashboard-grid>.r85-dashboard-widget[data-dashboard-widget="hero"],
  .r85-dashboard-grid>.r85-dashboard-widget[data-dashboard-widget="analytics"],
  .r85-dashboard-grid>.r85-dashboard-widget[data-dashboard-widget="kpis"]{grid-column:span 12!important}
}

@media(max-width:760px){
  .r85-dashboard-grid{grid-template-columns:1fr!important;gap:11px!important;grid-auto-flow:row!important}
  .r85-dashboard-grid>.r85-dashboard-widget,
  .r85-dashboard-grid>.r85-dashboard-widget.r85-span-4,
  .r85-dashboard-grid>.r85-dashboard-widget.r85-span-6,
  .r85-dashboard-grid>.r85-dashboard-widget.r85-span-8,
  .r85-dashboard-grid>.r85-dashboard-widget.r85-span-12{
    grid-column:1/-1!important;
    grid-row:auto!important;
    min-width:0!important;
    width:auto!important;
  }
}

/* Student daily login widget */
.r86-login-widget{position:relative;overflow:hidden}
.r86-login-widget:after{content:"";position:absolute;width:190px;height:190px;right:-92px;top:-90px;border-radius:50%;background:radial-gradient(circle,rgba(45,192,197,.10),transparent 70%);pointer-events:none}
.r86-login-head{position:relative;z-index:1}
.r86-refresh-btn{width:36px;height:36px;border:1px solid rgba(95,158,220,.16);border-radius:12px;background:rgba(31,78,133,.15);color:#77cfd7;display:grid;place-items:center;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}
.r86-refresh-btn:hover{background:rgba(40,100,163,.22);border-color:rgba(101,181,235,.28);transform:translateY(-1px)}
.r86-refresh-btn:disabled{opacity:.55;cursor:wait;transform:none}
.r86-refresh-btn .ui-icon{width:16px;height:16px}
.r86-refresh-btn.is-loading .ui-icon{animation:r86spin .8s linear infinite}
@keyframes r86spin{to{transform:rotate(360deg)}}

.r86-login-main{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(180px,.65fr);gap:14px;align-items:stretch;position:relative;z-index:1}
.r86-login-score{display:flex;align-items:center;gap:15px;min-width:0;padding:4px 0 8px}
.r86-login-ring{--p:0;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:conic-gradient(#2fc9c5 calc(var(--p)*1%),rgba(76,113,162,.15) 0);position:relative}
.r86-login-ring:before{content:"";position:absolute;inset:9px;border-radius:50%;background:#081c3a;border:1px solid rgba(98,155,215,.14)}
.r86-login-ring span{position:relative;z-index:1;display:grid;text-align:center}.r86-login-ring b{font-size:23px;line-height:1;color:#f3f8ff}.r86-login-ring small{margin-top:4px;font-size:7px;color:#7e9bbb}
.r86-login-count{display:grid;min-width:0}.r86-login-count>b{font-size:22px;line-height:1.1;color:#edf6ff}.r86-login-count>small{margin-top:5px;font-size:7px;color:#7d9aba;line-height:1.45}.r86-login-count>em{width:max-content;max-width:100%;margin-top:9px;padding:5px 8px;border-radius:999px;font-size:7px;font-style:normal;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.r86-login-count>em.up{background:rgba(44,187,139,.12);border:1px solid rgba(63,202,158,.16);color:#65d9b3}.r86-login-count>em.down{background:rgba(224,91,111,.10);border:1px solid rgba(232,104,123,.15);color:#f09aaa}.r86-login-count>em.flat{background:rgba(104,137,178,.10);border:1px solid rgba(123,159,201,.14);color:#91adcd}
.r86-login-compare{display:grid;gap:8px;align-content:center}.r86-login-compare>div{min-height:58px;padding:10px 12px;border-radius:13px;background:rgba(25,64,117,.15);border:1px solid rgba(93,149,211,.11);display:flex;align-items:center;justify-content:space-between;gap:10px}.r86-login-compare small{font-size:7px;color:#7c98b9}.r86-login-compare b{font-size:18px;color:#edf6ff;white-space:nowrap}

.r86-login-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:9px;padding:12px 10px 9px;border-top:1px solid rgba(86,139,197,.10);position:relative;z-index:1}
.r86-login-day{display:grid;grid-template-rows:58px auto auto;justify-items:center;gap:3px;min-width:0}.r86-login-day>span{width:22px;height:58px;border-radius:999px;background:rgba(71,111,164,.13);display:flex;align-items:flex-end;overflow:hidden;border:1px solid rgba(98,148,205,.09)}.r86-login-day>span i{display:block;width:100%;height:var(--p);min-height:2px;border-radius:999px;background:linear-gradient(180deg,#6a8cf0,#2cc4c3)}.r86-login-day.today>span{background:rgba(47,197,191,.10);border-color:rgba(54,207,201,.18)}.r86-login-day.today>span i{background:linear-gradient(180deg,#36d3cb,#3a9fd4)}.r86-login-day b{font-size:7px;color:#90aac8}.r86-login-day small{font-size:6.5px;color:#6f8ba9;white-space:nowrap}
.r86-login-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:3px;padding-top:8px;border-top:1px solid rgba(86,139,197,.08);font-size:6.7px;color:#6f8cae;position:relative;z-index:1}.r86-login-foot>span{display:flex;align-items:center;gap:5px}.r86-login-foot .ui-icon{width:11px;height:11px}.r86-login-foot b{color:#8faac8}

/* width-aware content adaptation */
.r85-dashboard-widget[data-dashboard-widget="student_login"].r85-span-6 .r86-login-main{grid-template-columns:1fr}.r85-dashboard-widget[data-dashboard-widget="student_login"].r85-span-6 .r86-login-compare{grid-template-columns:1fr 1fr}.r85-dashboard-widget[data-dashboard-widget="student_login"].r85-span-8 .r86-login-main{grid-template-columns:minmax(0,1.15fr) minmax(180px,.85fr)}

[data-theme="light"] .r86-login-widget{background:linear-gradient(150deg,#fff,#f7fafe)!important;border-color:#dbe6f1!important}
[data-theme="light"] .r86-refresh-btn{background:#f0f6fb;border-color:#d9e6f2;color:#3a8fa5}
[data-theme="light"] .r86-refresh-btn:hover{background:#e7f2fa;border-color:#c7ddeb}
[data-theme="light"] .r86-login-ring{background:conic-gradient(#35c5c6 calc(var(--p)*1%),#e6eef5 0)}
[data-theme="light"] .r86-login-ring:before{background:#fff;border-color:#dce8f2}
[data-theme="light"] .r86-login-ring b,[data-theme="light"] .r86-login-count>b,[data-theme="light"] .r86-login-compare b{color:#183858}
[data-theme="light"] .r86-login-ring small,[data-theme="light"] .r86-login-count>small,[data-theme="light"] .r86-login-compare small,[data-theme="light"] .r86-login-day b,[data-theme="light"] .r86-login-day small,[data-theme="light"] .r86-login-foot{color:#718aa3}
[data-theme="light"] .r86-login-compare>div{background:#f4f8fc;border-color:#e0eaf3}
[data-theme="light"] .r86-login-day>span{background:#edf3f8;border-color:#e0e9f1}
[data-theme="light"] .r86-login-week,[data-theme="light"] .r86-login-foot{border-color:#e5edf4}
[data-theme="light"] .r86-login-foot b{color:#58738f}

@media(max-width:1200px){
  .r86-login-main{grid-template-columns:1fr}.r86-login-compare{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .r86-login-widget{padding:14px!important}
  .r86-login-main,.r85-dashboard-widget[data-dashboard-widget="student_login"].r85-span-6 .r86-login-main,.r85-dashboard-widget[data-dashboard-widget="student_login"].r85-span-8 .r86-login-main{grid-template-columns:1fr}
  .r86-login-score{gap:13px}.r86-login-ring{width:98px;height:98px}.r86-login-ring b{font-size:20px}.r86-login-count>b{font-size:19px}
  .r86-login-compare,.r85-dashboard-widget[data-dashboard-widget="student_login"].r85-span-6 .r86-login-compare{grid-template-columns:1fr 1fr;gap:7px}.r86-login-compare>div{min-height:54px;padding:9px 10px;display:grid;gap:2px}.r86-login-compare b{font-size:16px}
  .r86-login-week{gap:5px;padding-left:3px;padding-right:3px}.r86-login-day{grid-template-rows:50px auto auto}.r86-login-day>span{height:50px;width:18px}
  .r86-login-foot{align-items:flex-start;flex-direction:column;gap:4px}
}
@media(max-width:390px){
  .r86-login-score{align-items:flex-start}.r86-login-ring{width:90px;height:90px}.r86-login-ring:before{inset:8px}.r86-login-count>b{font-size:17px}.r86-login-count>em{font-size:6.5px}.r86-login-compare{grid-template-columns:1fr}.r86-login-day small{font-size:6px}
}
@media(prefers-reduced-motion:reduce){.r86-refresh-btn,.r86-refresh-btn .ui-icon{transition:none!important;animation:none!important}}

/* ============================================================
   v0.9.5-R8.6.3 — KQ Teacher Access Control UX/UI
   PC Web Browser + Smartphone Browser
   ============================================================ */
.kqperm-page{display:grid;gap:14px;min-width:0}
.kqperm-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px!important;background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--primary-soft) 38%,var(--surface)))}
.kqperm-hero-copy{min-width:0}.kqperm-hero-copy h2{font-size:22px;margin:4px 0 6px}.kqperm-hero-copy p{margin:0;max-width:760px;color:var(--muted);font-size:10px;line-height:1.65}.kqperm-back{flex:0 0 auto}
.kqperm-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.kqperm-stats>article{padding:15px!important;min-height:112px;display:grid;align-content:start;gap:4px;position:relative;overflow:hidden}.kqperm-stats>article:after{content:"";position:absolute;width:72px;height:72px;border-radius:50%;right:-28px;top:-28px;background:var(--primary-soft);opacity:.65}.kqperm-stats small{font-size:9px;color:var(--muted);font-weight:800}.kqperm-stats b{font-size:25px;line-height:1.1;color:var(--text)}.kqperm-stats span{font-size:8px;color:var(--muted)}.kqperm-stat-allow b{color:#14906b}.kqperm-stat-block b{color:#b07224}
.kqperm-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(360px,1.35fr);gap:12px 16px;align-items:end;padding:16px!important}.kqperm-search label,.kqperm-filter-wrap>span{display:block;font-size:9px;font-weight:850;color:var(--muted);margin-bottom:6px}.kqperm-search input{min-height:44px;width:100%;border-radius:13px!important}.kqperm-filter-buttons{display:flex;gap:6px;flex-wrap:wrap}.kqperm-filter-buttons button{min-height:38px;padding:0 12px;border-radius:11px;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:9px;font-weight:850;cursor:pointer}.kqperm-filter-buttons button.active{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 36%,var(--line));color:var(--primary)}.kqperm-policy-note{grid-column:1/-1;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,#f0b64b 9%,var(--surface));border:1px solid color-mix(in srgb,#d89d32 20%,var(--line));font-size:9px;line-height:1.55;color:var(--muted)}.kqperm-policy-note b{color:#96661b}
.kqperm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.kqperm-card{padding:0!important;overflow:hidden;min-width:0;border-radius:19px!important}.kqperm-card[hidden]{display:none!important}.kqperm-card-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;padding:14px 15px 12px;border-bottom:1px solid var(--line)}.kqperm-avatar{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,var(--primary),#5f72e8);color:#fff;font-size:16px;font-weight:900;box-shadow:0 7px 17px rgba(49,88,212,.16)}.kqperm-identity{min-width:0}.kqperm-identity b,.kqperm-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kqperm-identity b{font-size:12px;color:var(--text)}.kqperm-identity small{font-size:8px;color:var(--muted);margin-top:2px}.kqperm-state{padding:5px 8px;border-radius:999px;font-size:7.5px;font-weight:900;white-space:nowrap}.kqperm-state.ok{background:#e7f8f1;color:#108261}.kqperm-state.off{background:#f1f4f7;color:#6d8195}.kqperm-state.wait{background:#fff4df;color:#9a6817}
.kqperm-schedule{padding:12px 15px;background:color-mix(in srgb,var(--surface-2) 72%,var(--surface));border-bottom:1px solid var(--line)}.kqperm-schedule-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.kqperm-schedule-head b{font-size:9px;color:var(--text-2)}.kqperm-schedule-head span{font-size:7px;color:var(--muted);padding:3px 6px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}.kqperm-tags{display:flex;gap:5px;flex-wrap:wrap}.kqperm-tags span{padding:5px 7px;border-radius:9px;background:var(--primary-soft);color:color-mix(in srgb,var(--primary) 76%,#28425d);font-size:8px;font-weight:800}.kqperm-more{margin-top:6px}.kqperm-more summary{cursor:pointer;font-size:8px;color:var(--primary);font-weight:800}.kqperm-more[open] .kqperm-tags{margin-top:6px}.kqperm-no-schedule{padding:9px 10px;border-radius:10px;border:1px dashed var(--line-strong);color:#a47124;font-size:8.5px;background:color-mix(in srgb,#f7b84b 7%,var(--surface))}
.kqperm-master{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 15px;border-bottom:1px solid var(--line)}.kqperm-master>div b,.kqperm-master>div small{display:block}.kqperm-master>div b{font-size:10px;color:var(--text)}.kqperm-master>div small{font-size:8px;color:var(--muted);line-height:1.45;margin-top:3px}.kqperm-master.disabled{opacity:.62}.kqperm-switch{position:relative;display:inline-flex;align-items:center;cursor:pointer}.kqperm-switch input{position:absolute;opacity:0;pointer-events:none}.kqperm-switch span{width:46px;height:26px;border-radius:999px;background:#ccd6e1;position:relative;transition:.18s ease;border:1px solid color-mix(in srgb,#768ba0 18%,transparent)}.kqperm-switch span:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(31,51,74,.18);transition:.18s ease}.kqperm-switch input:checked+span{background:#2fb88f}.kqperm-switch input:checked+span:after{transform:translateX(20px)}.kqperm-switch input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--primary) 22%,transparent);outline-offset:2px}.kqperm-switch input:disabled+span{cursor:not-allowed;opacity:.7}
.kqperm-advanced{border-bottom:1px solid var(--line)}.kqperm-advanced>summary{list-style:none;cursor:pointer;padding:11px 15px;font-size:9px;font-weight:850;color:var(--primary);display:flex;align-items:center;justify-content:space-between}.kqperm-advanced>summary::-webkit-details-marker{display:none}.kqperm-advanced>summary:after{content:"+";font-size:14px;color:var(--muted)}.kqperm-advanced[open]>summary:after{content:"−"}.kqperm-advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 15px 13px}.kqperm-advanced-grid label{display:flex;gap:8px;align-items:flex-start;padding:9px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);cursor:pointer}.kqperm-advanced-grid input{margin-top:2px}.kqperm-advanced-grid span b,.kqperm-advanced-grid span small{display:block}.kqperm-advanced-grid span b{font-size:8.5px;color:var(--text-2)}.kqperm-advanced-grid span small{font-size:7px;color:var(--muted);line-height:1.4;margin-top:2px}
.kqperm-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 15px}.kqperm-card-foot small{font-size:7.5px;color:var(--muted);line-height:1.4}.kqperm-save{min-height:38px!important;flex:0 0 auto}.kqperm-empty{grid-column:1/-1;padding:32px!important;text-align:center;color:var(--muted)}
.kqperm-card.state-allowed{border-color:color-mix(in srgb,#28ad83 28%,var(--line))}.kqperm-card.state-blocked{border-color:var(--line)}.kqperm-card.state-unavailable{background:color-mix(in srgb,var(--surface-2) 45%,var(--surface))}
@media(max-width:1100px){.kqperm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.kqperm-grid{grid-template-columns:1fr}.kqperm-toolbar{grid-template-columns:1fr}.kqperm-policy-note{grid-column:1}}
@media(max-width:680px){.kqperm-page{gap:11px}.kqperm-hero{align-items:flex-start;flex-direction:column;padding:15px!important}.kqperm-hero-copy h2{font-size:18px}.kqperm-back{width:100%;min-height:44px!important}.kqperm-stats{grid-template-columns:1fr 1fr;gap:8px}.kqperm-stats>article{min-height:96px;padding:12px!important}.kqperm-stats b{font-size:21px}.kqperm-toolbar{padding:13px!important}.kqperm-filter-buttons{display:grid;grid-template-columns:1fr 1fr}.kqperm-filter-buttons button{min-height:44px}.kqperm-card-head{grid-template-columns:42px minmax(0,1fr);padding:12px}.kqperm-state{grid-column:1/-1;width:max-content}.kqperm-schedule,.kqperm-master,.kqperm-card-foot{padding-left:12px;padding-right:12px}.kqperm-master{grid-template-columns:minmax(0,1fr) 50px}.kqperm-switch span{width:48px;height:28px}.kqperm-switch span:after{width:20px;height:20px}.kqperm-switch input:checked+span:after{transform:translateX(20px)}.kqperm-advanced-grid{grid-template-columns:1fr;padding-left:12px;padding-right:12px}.kqperm-card-foot{align-items:stretch;flex-direction:column}.kqperm-save{width:100%;min-height:44px!important}.kqperm-search input{font-size:16px!important}}
@media(max-width:390px){.kqperm-stats{grid-template-columns:1fr}.kqperm-filter-buttons{grid-template-columns:1fr}.kqperm-card-head{grid-template-columns:40px minmax(0,1fr)}.kqperm-avatar{width:40px;height:40px}}


/* ============================================================
   v0.11.1 — KQ Monthly Round + Teacher Permission UX
   PC Web Browser + Smartphone Browser
   ============================================================ */
.kqround-page{display:grid;gap:14px;min-width:0}.kqround-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px!important;background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--primary-soft) 34%,var(--surface)))}.kqround-hero h2{margin:4px 0 6px;font-size:22px}.kqround-hero p{margin:0;max-width:760px;color:var(--muted);font-size:10px;line-height:1.6}.kqround-hero-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.kqround-semester{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--line));border-radius:14px;background:var(--primary-soft);color:var(--text-2)}.kqround-semester b{font-size:10px}.kqround-semester span{font-size:8px;color:var(--muted)}
.kqround-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.kqround-stats article{padding:14px!important;display:grid;gap:3px;min-height:100px;align-content:start}.kqround-stats small{font-size:8px;color:var(--muted);font-weight:800}.kqround-stats b{font-size:24px;color:var(--text);line-height:1.15}.kqround-stats span{font-size:7.5px;color:var(--muted)}
.kqround-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);gap:12px;align-items:start}.kqround-form-card{padding:18px!important}.kqround-form{display:grid;gap:10px}.kqround-form .field{margin:0}.kqround-form .field label{font-size:9px}.kqround-form .field small{display:block;margin-top:4px;color:var(--muted);font-size:7.5px}.kqround-form .form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.kqround-switches{display:grid;grid-template-columns:1fr 1fr;gap:8px}.kqround-switches .check-row{min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.kqround-sync-check{display:flex;gap:9px;align-items:flex-start;padding:12px;border:1px solid color-mix(in srgb,#2eb589 22%,var(--line));border-radius:13px;background:color-mix(in srgb,#e8f8f2 54%,var(--surface));cursor:pointer}.kqround-sync-check input{margin-top:3px}.kqround-sync-check b,.kqround-sync-check small{display:block}.kqround-sync-check b{font-size:9px;color:var(--text)}.kqround-sync-check small{font-size:7.5px;color:var(--muted);margin-top:2px;line-height:1.5}.kqround-save{min-height:44px!important}.kqround-guide{padding:17px!important}.kqround-guide h3{font-size:13px;margin:5px 0 10px}.kqround-guide ol{padding-left:20px;margin:0;display:grid;gap:8px}.kqround-guide li{font-size:8.5px;color:var(--muted);line-height:1.5}.kqround-guide li b{color:var(--text-2)}.kqround-guide p{font-size:8px;line-height:1.55;color:#9a6b20;margin:12px 0 0;padding:10px;border:1px solid color-mix(in srgb,#e0a134 20%,var(--line));border-radius:10px;background:color-mix(in srgb,#fff3d9 45%,var(--surface))}
.kqround-list{display:grid;gap:9px}.kqround-card{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px!important}.kqround-month{display:grid;gap:3px}.kqround-month b{font-size:14px}.kqround-month small{font-size:8px;color:var(--muted)}.kqround-body{min-width:0}.kqround-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.kqround-title>b{font-size:8px;color:var(--muted)}.kqround-body>p{margin:5px 0 8px;font-size:8px;color:var(--text-2)}.kqround-state{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:7.5px;font-weight:900}.kqround-state.blue{background:#e8f0ff;color:#315dcc}.kqround-state.green{background:#e4f7ef;color:#12805e}.kqround-state.amber{background:#fff2d8;color:#9b6819}.kqround-state.slate{background:#eef2f5;color:#607386}.kqround-metrics{display:flex;gap:6px;flex-wrap:wrap}.kqround-metrics span{padding:5px 7px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);font-size:7px;color:var(--muted)}.kqround-metrics b{font-size:8px;color:var(--text-2)}.kqround-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.kqround-actions form{margin:0}.kqround-empty{text-align:center;padding:28px!important;color:var(--muted);font-size:9px}.kqperm-round-context{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:11px 14px!important}.kqperm-round-context>b{font-size:9px}.kqperm-round-context span{padding:5px 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:8px;font-weight:800}.kqperm-round-context em{font-style:normal;color:#9a6b20;font-size:8px}.kqperm-round-context a{margin-left:auto;font-size:8px;font-weight:800;color:var(--primary);text-decoration:none}
@media(max-width:1050px){.kqround-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.kqround-layout{grid-template-columns:1fr}.kqround-card{grid-template-columns:125px minmax(0,1fr)}.kqround-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:680px){.kqround-page{gap:11px}.kqround-hero{align-items:flex-start;flex-direction:column;padding:15px!important}.kqround-hero h2{font-size:18px}.kqround-hero-actions{width:100%;display:grid;grid-template-columns:1fr}.kqround-hero-actions .button{min-height:44px!important;justify-content:center}.kqround-semester{align-items:flex-start;flex-direction:column}.kqround-stats{grid-template-columns:1fr 1fr;gap:8px}.kqround-stats article{min-height:88px;padding:12px!important}.kqround-stats b{font-size:20px}.kqround-form-card{padding:14px!important}.kqround-form .form-grid.two,.kqround-form .form-grid.three,.kqround-switches{grid-template-columns:1fr}.kqround-form input,.kqround-form select{font-size:16px!important}.kqround-card{grid-template-columns:1fr;gap:9px}.kqround-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}.kqround-actions .button{width:100%;min-height:44px!important;justify-content:center}.kqround-metrics{display:grid;grid-template-columns:1fr 1fr}.kqperm-round-context{align-items:flex-start}.kqperm-round-context a{width:100%;margin-left:0}}
@media(max-width:390px){.kqround-stats{grid-template-columns:1fr}.kqround-metrics,.kqround-actions{grid-template-columns:1fr}}


/* ============================================================
   v0.11.2 — KQ Online Modern Admin UI Polish
   Visual-only layer. No score / exam / permission logic changes.
   ============================================================ */
.kq112-admin-hero,.kq112-round-hero,.kq112-perm-hero{
  position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 14%,var(--line))!important;
  box-shadow:0 14px 34px rgba(37,72,125,.08)!important;
}
.kq112-admin-hero:after,.kq112-round-hero:after,.kq112-perm-hero:after{
  content:"";position:absolute;right:-70px;top:-85px;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--primary) 12%,transparent),transparent 68%);pointer-events:none;
}
.kq112-admin-hero{padding:22px 24px!important;background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--primary-soft) 30%,var(--surface)))!important}
.kq112-admin-hero-copy{min-width:0}.kq112-admin-title-row{display:flex;gap:13px;align-items:center}.kq112-admin-icon,.kq112-section-icon{
  width:46px;height:46px;border-radius:15px;display:grid;place-items:center;flex:0 0 auto;color:#fff;
  background:linear-gradient(145deg,var(--primary),#5d6ff2);box-shadow:0 9px 22px rgba(54,87,210,.22)
}
.kq112-admin-icon svg,.kq112-section-icon svg{width:22px;height:22px}.kq112-admin-hero h2{font-size:24px!important;margin:1px 0 0!important;letter-spacing:-.3px}
.kq112-admin-hero p{font-size:11.5px;line-height:1.7;color:var(--muted);margin:9px 0 0;max-width:760px}
.kq112-admin-context{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:12px}.kq112-admin-context>span{font-size:9.5px;padding:6px 9px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--text-2);font-weight:800}
.kq112-admin-context .kq112-round-chip{background:color-mix(in srgb,#e5f7ef 70%,var(--surface));border-color:color-mix(in srgb,#2bb488 20%,var(--line));color:#13795d}
.kq112-admin-actions{align-self:center}.kq112-admin-actions .button{min-height:42px;border-radius:12px!important;padding-inline:14px}

.kq112-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.kq112-quick-card{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;padding:16px!important;text-decoration:none;color:inherit;min-height:118px;overflow:hidden;border-radius:18px!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.kq112-quick-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(45,70,104,.11)}
.kq112-quick-card:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 25%,transparent);outline-offset:2px}
.kq112-quick-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;color:#fff;box-shadow:0 8px 20px rgba(42,74,150,.18)}.kq112-quick-icon svg{width:22px;height:22px}
.kq112-quick-card div{min-width:0;display:grid;gap:3px}.kq112-quick-card b{font-size:13px;color:var(--text)}.kq112-quick-card small{font-size:10px;color:var(--muted);line-height:1.5}.kq112-quick-card em{grid-column:2;font-style:normal;font-size:9.5px;font-weight:900;color:var(--primary);margin-top:3px}
.kq112-quick-card.tone-primary{background:linear-gradient(145deg,var(--surface),color-mix(in srgb,#edf1ff 58%,var(--surface)))}.kq112-quick-card.tone-primary .kq112-quick-icon{background:linear-gradient(145deg,#4f62ed,#6b4fe6)}
.kq112-quick-card.tone-green{background:linear-gradient(145deg,var(--surface),color-mix(in srgb,#e9faf4 58%,var(--surface)))}.kq112-quick-card.tone-green .kq112-quick-icon{background:linear-gradient(145deg,#27b985,#21a66f)}.kq112-quick-card.tone-green em{color:#148263}
.kq112-quick-card.tone-amber{background:linear-gradient(145deg,var(--surface),color-mix(in srgb,#fff5df 58%,var(--surface)))}.kq112-quick-card.tone-amber .kq112-quick-icon{background:linear-gradient(145deg,#f0a52d,#e78c1c)}.kq112-quick-card.tone-amber em{color:#a96813}

.kq112-admin-grid{gap:14px}.kq112-builder-card,.kq112-question-card,.kq112-exam-list{border-radius:19px!important;border:1px solid color-mix(in srgb,var(--primary) 10%,var(--line))!important;box-shadow:0 10px 26px rgba(42,70,110,.06)!important}
.kq112-builder-card,.kq112-question-card{padding:18px!important}.kq112-section-title{display:flex;align-items:center;gap:11px;padding-bottom:13px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.kq112-section-icon{width:40px;height:40px;border-radius:13px}.kq112-section-icon svg{width:19px;height:19px}.kq112-section-title h2{margin:1px 0 0;font-size:17px}.kq112-section-title .eyebrow{font-size:8.5px;letter-spacing:.08em}
.kq112-builder-card .field label,.kq112-question-card .field label{font-size:11px;font-weight:850;margin-bottom:6px}.kq112-builder-card .field input,.kq112-builder-card .field select,.kq112-builder-card .field textarea,.kq112-question-card .field input,.kq112-question-card .field select,.kq112-question-card .field textarea{min-height:44px;border-radius:12px!important;background:var(--surface)!important;border-color:color-mix(in srgb,var(--primary) 12%,var(--line))!important}
.kq112-builder-card textarea,.kq112-question-card textarea{padding-top:11px}.kq112-builder-card .check-row,.kq112-question-card .check-row{min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);padding:10px 12px}
.kq112-builder-card>.warn-box,.kq112-builder-card .warn-box{border-radius:13px;padding:13px 14px;font-size:10px}.kq112-builder-card .button,.kq112-question-card .button{min-height:42px;border-radius:12px!important}
.kqex-question-picker{border-radius:14px!important;background:var(--surface-2);border-color:var(--line)!important}.kqex-question-pick{border-radius:10px;transition:background .15s ease}.kqex-question-pick:hover{background:var(--surface)}.kqex-question-pick b{font-size:10px}.kqex-question-pick small{font-size:9px!important}
.kqex-choice-build{grid-template-columns:24px 32px minmax(0,1fr) minmax(130px,auto)!important}.kqex-choice-build>span{width:32px;height:32px;border-radius:10px!important}
.kq112-exam-list{margin-top:14px!important;padding:18px!important}.kq112-exam-list .section-head{margin-bottom:10px}.kq112-exam-list .section-head h2{font-size:17px}.kq112-exam-list table{border-collapse:separate;border-spacing:0 7px}.kq112-exam-list thead th{font-size:9px;color:var(--muted);border-bottom:0;padding:7px 10px}.kq112-exam-list tbody tr{background:var(--surface-2)}.kq112-exam-list tbody td{padding:11px 10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px}.kq112-exam-list tbody td:first-child{border-left:1px solid var(--line);border-radius:11px 0 0 11px}.kq112-exam-list tbody td:last-child{border-right:1px solid var(--line);border-radius:0 11px 11px 0}.kq112-exam-list tbody td b{font-size:11px}.kq112-exam-list tbody td small{color:var(--muted);font-size:8.5px!important;margin-top:2px}

/* Monthly round modern layer */
.kqround-page{gap:16px!important}.kq112-round-hero{padding:22px!important;background:linear-gradient(135deg,var(--surface),color-mix(in srgb,#eef5ff 52%,var(--surface)))!important}.kq112-round-hero h2{font-size:24px!important}.kq112-round-hero p{font-size:11px!important;line-height:1.7!important}.kqround-hero-actions .button{min-height:42px;border-radius:12px!important}
.kqround-semester{padding:13px 15px!important;border-radius:14px!important}.kqround-semester b{font-size:11px!important}.kqround-semester span{font-size:9.5px!important}
.kqround-stats{gap:12px!important}.kqround-stats article{position:relative;overflow:hidden;min-height:108px!important;padding:16px!important;border-radius:17px!important}.kqround-stats article:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--primary);opacity:.8}.kqround-stats article:nth-child(2):before{background:#5d6ff2}.kqround-stats article:nth-child(3):before{background:#27b985}.kqround-stats article:nth-child(4):before{background:#e6a12a}.kqround-stats small{font-size:9.5px!important}.kqround-stats b{font-size:27px!important;margin-top:3px}.kqround-stats span{font-size:9px!important;line-height:1.4}
.kqround-layout{gap:14px!important}.kqround-form-card{padding:20px!important;border-radius:19px!important;box-shadow:0 12px 30px rgba(42,70,110,.07)!important}.kqround-form-card .section-head{padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:14px}.kqround-form-card .section-head h2{font-size:18px}.kqround-form{gap:13px!important}.kqround-form .field label{font-size:11px!important;font-weight:850!important;margin-bottom:6px}.kqround-form .field small{font-size:9px!important;line-height:1.5}.kqround-form input,.kqround-form select{min-height:46px;border-radius:12px!important;background:var(--surface)!important;border-color:color-mix(in srgb,var(--primary) 12%,var(--line))!important}.kqround-switches{gap:10px!important}.kqround-switches .check-row{min-height:52px!important;border-radius:13px!important;font-size:10px;line-height:1.5}.kqround-sync-check{padding:14px!important;border-radius:14px!important}.kqround-sync-check b{font-size:10.5px!important}.kqround-sync-check small{font-size:9px!important}.kqround-save{min-height:46px!important;border-radius:12px!important;font-size:11px;font-weight:900}
.kqround-guide{padding:19px!important;border-radius:19px!important}.kqround-guide h3{font-size:15px!important}.kqround-guide ol{gap:10px!important}.kqround-guide li{position:relative;font-size:10px!important;padding:9px 10px 9px 28px;border-radius:11px;background:var(--surface-2);border:1px solid var(--line);list-style:none}.kqround-guide li:before{content:"";position:absolute;left:10px;top:15px;width:8px;height:8px;border-radius:50%;background:#8b67e8}.kqround-guide li:nth-child(2):before{background:#4f76d9}.kqround-guide li:nth-child(3):before{background:#26b47e}.kqround-guide li:nth-child(4):before{background:#8796a6}.kqround-guide p{font-size:9px!important;line-height:1.6!important}
.kqround-list>.section-head{margin-top:4px}.kqround-list>.section-head h2{font-size:18px}.kqround-card{grid-template-columns:160px minmax(0,1fr) auto!important;padding:17px!important;border-radius:17px!important;box-shadow:0 8px 22px rgba(42,70,110,.05)}.kqround-month b{font-size:15px!important}.kqround-month small{font-size:9.5px!important}.kqround-title>b{font-size:9.5px!important}.kqround-body>p{font-size:9.5px!important}.kqround-state{font-size:8.5px!important;padding:6px 9px!important}.kqround-metrics span{font-size:8.5px!important;padding:6px 8px!important}.kqround-metrics b{font-size:9.5px!important}.kqround-actions .button{min-height:39px;border-radius:11px!important}

/* Teacher permission modern layer */
.kqperm-page{gap:16px!important}.kq112-perm-hero{padding:22px!important;background:linear-gradient(135deg,var(--surface),color-mix(in srgb,#eff5ff 48%,var(--surface)))!important}.kqperm-hero-copy h2{font-size:24px!important}.kqperm-hero-copy p{font-size:11px!important;line-height:1.7!important}.kqperm-back{min-height:42px;border-radius:12px!important}
.kqperm-round-context{padding:13px 15px!important;border-radius:14px!important}.kqperm-round-context>b{font-size:10px!important}.kqperm-round-context span,.kqperm-round-context em,.kqperm-round-context a{font-size:9px!important}
.kqperm-stats{gap:12px!important}.kqperm-stats>article{min-height:106px!important;padding:16px!important;border-radius:17px!important}.kqperm-stats small{font-size:9.5px!important}.kqperm-stats b{font-size:27px!important}.kqperm-stats span{font-size:9px!important;line-height:1.4}
.kqperm-toolbar{padding:17px!important;border-radius:18px!important;box-shadow:0 8px 22px rgba(42,70,110,.05)}.kqperm-search label,.kqperm-filter-wrap>span{font-size:10px!important}.kqperm-search input{min-height:46px!important;border-radius:12px!important}.kqperm-filter-buttons button{min-height:40px!important;font-size:9.5px!important;border-radius:11px!important}.kqperm-policy-note{font-size:9.5px!important;line-height:1.6!important;padding:11px 13px!important}
.kqperm-grid{grid-template-columns:1fr!important;gap:12px!important}.kqperm-card{border-radius:18px!important;box-shadow:0 9px 24px rgba(42,70,110,.055)!important}.kqperm-card-head{grid-template-columns:50px minmax(0,1fr) auto!important;padding:15px 17px!important}.kqperm-avatar{width:50px!important;height:50px!important;border-radius:15px!important;font-size:18px!important}.kqperm-identity b{font-size:13px!important}.kqperm-identity small{font-size:9.5px!important}.kqperm-state{font-size:8.5px!important;padding:6px 9px!important}
.kqperm-schedule{padding:13px 17px!important}.kqperm-schedule-head b{font-size:10px!important}.kqperm-schedule-head span{font-size:8.5px!important}.kqperm-tags{gap:7px!important}.kqperm-tags span{font-size:9px!important;padding:6px 8px!important;border-radius:9px!important}.kqperm-more summary,.kqperm-no-schedule{font-size:9px!important}
.kqperm-master{padding:14px 17px!important;background:color-mix(in srgb,var(--surface-2) 50%,var(--surface))}.kqperm-master>div b{font-size:11px!important}.kqperm-master>div small{font-size:9px!important;line-height:1.5!important}.kqperm-advanced>summary{padding:12px 17px!important;font-size:10px!important}.kqperm-advanced-grid{padding:0 17px 14px!important;gap:10px!important}.kqperm-advanced-grid label{padding:11px!important;border-radius:12px!important}.kqperm-advanced-grid span b{font-size:9.5px!important}.kqperm-advanced-grid span small{font-size:8.5px!important}.kqperm-card-foot{padding:13px 17px!important}.kqperm-card-foot small{font-size:8.5px!important}.kqperm-save{min-height:40px!important;border-radius:11px!important}

@media(max-width:1050px){.kq112-quick-grid{grid-template-columns:1fr 1fr}.kq112-quick-card:last-child{grid-column:1/-1}.kqround-card{grid-template-columns:130px minmax(0,1fr)!important}}
@media(max-width:760px){
  .kq112-admin-hero{align-items:flex-start!important;padding:16px!important}.kq112-admin-title-row{align-items:flex-start}.kq112-admin-icon{width:42px;height:42px;border-radius:13px}.kq112-admin-hero h2{font-size:20px!important}.kq112-admin-hero p{font-size:10.5px}.kq112-admin-actions{width:100%;display:grid;grid-template-columns:1fr}.kq112-admin-actions .button{width:100%;min-height:44px!important;justify-content:center}.kq112-quick-grid{grid-template-columns:1fr}.kq112-quick-card:last-child{grid-column:auto}.kq112-quick-card{min-height:108px;padding:14px!important}.kq112-admin-grid{grid-template-columns:1fr!important}.kq112-builder-card,.kq112-question-card,.kq112-exam-list{padding:14px!important}.kq112-builder-card .field input,.kq112-builder-card .field select,.kq112-builder-card .field textarea,.kq112-question-card .field input,.kq112-question-card .field select,.kq112-question-card .field textarea{font-size:16px!important}.kqex-choice-build{grid-template-columns:24px 32px minmax(0,1fr)!important}.kqex-choice-build input[type=file]{grid-column:3/-1;max-width:100%!important}.kq112-exam-list .table-wrap{overflow-x:auto}.kq112-exam-list table{min-width:760px}
  .kq112-round-hero,.kq112-perm-hero{padding:16px!important}.kq112-round-hero h2,.kqperm-hero-copy h2{font-size:20px!important}.kq112-round-hero p,.kqperm-hero-copy p{font-size:10.5px!important}.kqround-form-card,.kqround-guide{padding:15px!important}.kqround-form input,.kqround-form select{font-size:16px!important}.kqround-card{grid-template-columns:1fr!important}.kqround-actions{display:grid!important;grid-template-columns:1fr 1fr!important}.kqround-actions .button{min-height:44px!important;width:100%;justify-content:center}.kqround-metrics{display:grid!important;grid-template-columns:1fr 1fr!important}
  .kqperm-toolbar{padding:14px!important}.kqperm-card-head{grid-template-columns:44px minmax(0,1fr)!important;padding:13px!important}.kqperm-avatar{width:44px!important;height:44px!important}.kqperm-state{grid-column:1/-1;width:max-content}.kqperm-schedule,.kqperm-master,.kqperm-card-foot{padding-left:13px!important;padding-right:13px!important}.kqperm-advanced-grid{padding-left:13px!important;padding-right:13px!important}.kqperm-card-foot{align-items:stretch!important;flex-direction:column}.kqperm-save{width:100%;min-height:44px!important}.kqperm-search input{font-size:16px!important}
}
@media(max-width:390px){.kq112-admin-title-row{gap:9px}.kq112-admin-icon{width:38px;height:38px}.kq112-admin-context{align-items:stretch;flex-direction:column}.kq112-admin-context>span{width:100%}.kq112-quick-card{grid-template-columns:44px minmax(0,1fr)}.kq112-quick-icon{width:44px;height:44px}.kqround-metrics,.kqround-actions{grid-template-columns:1fr!important}.kqperm-stats{grid-template-columns:1fr!important}}


/* ========================================================================== 
   v0.11.2.1 — KQ Online Full Visual Alignment Hotfix
   Goal: align all current KQ admin pages with the approved modern reference.
   Scope: KQ admin overview, monthly rounds, teacher permissions only.
   ========================================================================== */

:root{
  --kqva-blue:#3465f3;
  --kqva-blue-2:#5a66f4;
  --kqva-blue-soft:#eef4ff;
  --kqva-green:#22b981;
  --kqva-green-soft:#eaf9f3;
  --kqva-amber:#f0a120;
  --kqva-amber-soft:#fff6e5;
  --kqva-purple:#7a57ea;
  --kqva-purple-soft:#f3efff;
  --kqva-red:#df5960;
  --kqva-ink:#173253;
  --kqva-muted:#6f819a;
  --kqva-line:#dce6f2;
  --kqva-surface:#ffffff;
  --kqva-shadow:0 12px 30px rgba(36,67,111,.075);
  --kqva-shadow-hover:0 18px 38px rgba(36,67,111,.12);
}

/* --- Shared page rhythm -------------------------------------------------- */
.kq112-admin-hero,.kqround-page,.kqperm-page{color:var(--kqva-ink)}
.kq112-admin-hero,.kq112-builder-card,.kq112-question-card,.kq112-exam-list,
.kqround-page .card,.kqperm-page .card{border-color:var(--kqva-line)!important;box-shadow:var(--kqva-shadow)!important}
.kq112-admin-hero h2,.kqround-page h2,.kqperm-page h2{color:var(--kqva-ink)!important;letter-spacing:-.35px}
.kq112-admin-hero p,.kqround-page p,.kqperm-page p,.kqround-page small,.kqperm-page small{color:var(--kqva-muted)}
.kq112-admin-actions .button,.kqround-page .button,.kqperm-page .button{font-weight:800;letter-spacing:0;border-radius:11px!important}

/* --- KQ admin overview --------------------------------------------------- */
.kq112-admin-hero{
  border:0!important;box-shadow:none!important;background:transparent!important;padding:8px 4px 12px!important;
  align-items:center!important;
}
.kq112-admin-hero:after{display:none!important}
.kq112-admin-title-row{gap:15px!important}
.kq112-admin-icon{width:58px!important;height:58px!important;border-radius:17px!important;background:linear-gradient(145deg,#4c7cff,#5365ef)!important;box-shadow:0 12px 26px rgba(64,91,221,.22)!important}
.kq112-admin-icon svg{width:26px!important;height:26px!important}
.kq112-admin-hero h2{font-size:28px!important;line-height:1.2!important}
.kq112-admin-hero .eyebrow{font-size:9px!important;letter-spacing:.13em;color:#4e76d4!important}
.kq112-admin-hero p{font-size:12.5px!important;max-width:690px!important;margin-top:7px!important}
.kq112-admin-context{margin-top:10px!important}.kq112-admin-context>span{font-size:10.5px!important;padding:7px 11px!important;border-color:#dbe6f4!important}
.kq112-admin-actions{gap:8px!important}.kq112-admin-actions .button{min-height:44px!important;background:#fff!important;border:1px solid #d9e5f4!important;color:#47617f!important;box-shadow:0 5px 14px rgba(50,76,110,.05)!important}
.kq112-admin-actions .button:first-child{background:linear-gradient(135deg,var(--kqva-blue),var(--kqva-blue-2))!important;color:#fff!important;border-color:transparent!important;box-shadow:0 10px 22px rgba(52,101,243,.22)!important}

.kq112-quick-grid{gap:0!important;margin:8px 0 18px!important;border:1px solid var(--kqva-line);border-radius:20px;background:#fff;box-shadow:var(--kqva-shadow);overflow:hidden;padding:0!important}
.kq112-quick-card{border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;min-height:148px!important;padding:24px 26px!important;grid-template-columns:66px minmax(0,1fr)!important;gap:18px!important}
.kq112-quick-card+.kq112-quick-card{border-left:1px dashed #d8e3f0!important}
.kq112-quick-card:hover{transform:none!important;background:#fbfdff!important;box-shadow:none!important}
.kq112-quick-icon{width:64px!important;height:64px!important;border-radius:19px!important;box-shadow:0 12px 26px rgba(48,79,150,.16)!important}
.kq112-quick-icon svg{width:28px!important;height:28px!important}
.kq112-quick-card b{font-size:15px!important}.kq112-quick-card small{font-size:11.5px!important;line-height:1.65!important;max-width:280px}
.kq112-quick-card em{font-size:10.5px!important;margin-top:7px!important;display:inline-flex;align-items:center;gap:5px}

.kq112-admin-grid{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr)!important;gap:16px!important;align-items:start}
.kq112-builder-card,.kq112-question-card,.kq112-exam-list{border-radius:20px!important;background:#fff!important}
.kq112-builder-card,.kq112-question-card{padding:22px!important}
.kq112-section-title{padding-bottom:15px!important;margin-bottom:18px!important;gap:13px!important}
.kq112-section-icon{width:44px!important;height:44px!important;border-radius:14px!important;background:var(--kqva-blue-soft)!important;color:var(--kqva-blue)!important;box-shadow:none!important}
.kq112-section-title h2{font-size:18px!important;color:var(--kqva-ink)!important}.kq112-section-title .eyebrow{font-size:8.5px!important;color:#6a83b4!important}
.kq112-builder-card .field,.kq112-question-card .field{margin-bottom:13px!important}
.kq112-builder-card .field label,.kq112-question-card .field label{font-size:12px!important;color:#465e7b!important;margin-bottom:7px!important}
.kq112-builder-card .field input,.kq112-builder-card .field select,.kq112-builder-card .field textarea,
.kq112-question-card .field input,.kq112-question-card .field select,.kq112-question-card .field textarea{min-height:46px!important;border:1px solid #d7e3f0!important;background:#fff!important;box-shadow:0 2px 4px rgba(35,63,96,.02)!important}
.kq112-builder-card .field input:focus,.kq112-builder-card .field select:focus,.kq112-builder-card .field textarea:focus,
.kq112-question-card .field input:focus,.kq112-question-card .field select:focus,.kq112-question-card .field textarea:focus{border-color:#7fa2ff!important;box-shadow:0 0 0 3px rgba(70,110,240,.1)!important}
.kq112-builder-card .check-row,.kq112-question-card .check-row{background:#f8fbff!important;border-color:#dce7f3!important;padding:12px 14px!important;min-height:48px!important}
.kq112-builder-card form>.button,.kq112-question-card form>.button{min-height:46px!important;padding-inline:22px!important;background:linear-gradient(135deg,var(--kqva-blue),#5369ee)!important;color:#fff!important;border:0!important;box-shadow:0 9px 20px rgba(52,101,243,.18)!important}
.kq112-question-card form>.button.secondary{background:#eef3ff!important;color:#3761c9!important;border:1px solid #d7e4ff!important;box-shadow:none!important}
.kqex-question-picker{border:1px solid #dfe8f3!important;border-radius:15px!important;background:#fbfdff!important;padding:14px!important;margin:14px 0!important}
.kqex-question-pick{border-radius:12px!important;border-color:#e2eaf4!important;background:#fff!important}
.kqex-choice-build{border-radius:11px!important;background:#fbfdff!important;border-color:#dfe8f3!important}

.kq112-exam-list{padding:22px!important;margin-top:18px!important}
.kq112-exam-list .section-head{padding-bottom:12px;border-bottom:1px solid #e3ebf4;margin-bottom:8px!important}.kq112-exam-list .section-head h2{font-size:18px!important}
.kq112-exam-list thead th{font-size:10.5px!important;padding:9px 11px!important}.kq112-exam-list tbody td{font-size:11.5px!important;padding:13px 11px!important;background:#fff!important}.kq112-exam-list tbody tr{box-shadow:0 3px 10px rgba(40,68,101,.03)}
.kq112-exam-list tbody td b{font-size:12.5px!important}.kq112-exam-list tbody td small{font-size:9.5px!important}

/* --- Monthly round page -------------------------------------------------- */
.kqround-page{display:grid!important;gap:16px!important}
.kq112-round-hero{border:0!important;box-shadow:none!important;background:transparent!important;padding:7px 4px 8px!important;align-items:center!important}
.kq112-round-hero:after{display:none!important}.kq112-round-hero h2{font-size:28px!important;margin:2px 0 3px!important}.kq112-round-hero .eyebrow{font-size:9px!important;color:#5373bc!important}.kq112-round-hero p{font-size:12px!important;max-width:790px!important}
.kqround-hero-actions{gap:8px!important}.kqround-hero-actions .button{background:#fff!important;border:1px solid #d9e5f2!important;color:#536d8b!important}
.kqround-semester{border:1px solid #dce6f2!important;border-radius:13px!important;background:linear-gradient(135deg,#f5f9ff,#fbfdff)!important;padding:11px 14px!important;color:#49627f!important;box-shadow:none!important}.kqround-semester b{font-size:11.5px!important}.kqround-semester span{font-size:10px!important}
.kqround-stats{gap:12px!important}.kqround-stats article{padding:16px 17px!important;border-radius:17px!important;position:relative;overflow:hidden}.kqround-stats article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--kqva-blue)}
.kqround-stats article:nth-child(2):before{background:var(--kqva-purple)}.kqround-stats article:nth-child(3):before{background:var(--kqva-green)}.kqround-stats article:nth-child(4):before{background:var(--kqva-amber)}
.kqround-stats small{font-size:10px!important;font-weight:800!important}.kqround-stats b{font-size:25px!important;color:var(--kqva-ink)!important}.kqround-stats span{font-size:9.5px!important;color:var(--kqva-muted)!important}
.kqround-layout{grid-template-columns:minmax(0,1fr) 300px!important;gap:16px!important;align-items:start!important}
.kqround-form-card{padding:24px!important;border-radius:20px!important}.kqround-form-card .section-head{padding-bottom:14px!important;margin-bottom:18px!important;border-bottom:1px solid #e3ebf4}.kqround-form-card .section-head h2{font-size:19px!important}.kqround-form-card .eyebrow{font-size:8.5px!important;color:#5d79b6!important}
.kqround-form .field{margin-bottom:14px!important}.kqround-form .field label{font-size:12px!important;color:#425b78!important;margin-bottom:7px!important}.kqround-form input,.kqround-form select{min-height:48px!important;border:1px solid #d7e3f0!important;border-radius:12px!important;background:#fff!important}.kqround-form input:focus,.kqround-form select:focus{border-color:#779cff!important;box-shadow:0 0 0 3px rgba(66,105,235,.1)!important}
.kqround-switches{gap:10px!important}.kqround-switches .check-row{min-height:58px!important;background:#f9fbfe!important;border:1px solid #dfe8f3!important;border-radius:13px!important;padding:13px 14px!important;font-size:11.5px!important}
.kqround-sync-check{border:1px solid #bcd9ff!important;background:linear-gradient(135deg,#f3f8ff,#fbfdff)!important;border-radius:14px!important;padding:14px!important}.kqround-sync-check b{font-size:11.5px!important}.kqround-sync-check small{font-size:9.5px!important;line-height:1.55!important}
.kqround-save{min-height:48px!important;width:min(280px,100%)!important;margin:16px auto 0!important;display:flex!important;justify-content:center!important;background:linear-gradient(135deg,var(--kqva-blue),#5965ef)!important;border:0!important;box-shadow:0 10px 22px rgba(52,101,243,.2)!important}
.kqround-guide{padding:20px!important;border-radius:20px!important;position:sticky;top:92px}.kqround-guide .eyebrow{font-size:8.5px!important;color:#6c79a5!important}.kqround-guide h3{font-size:16px!important;color:var(--kqva-ink)!important;margin:4px 0 13px!important}.kqround-guide ol{display:grid;gap:10px;padding-left:0!important;list-style:none!important;counter-reset:kqstatus}.kqround-guide li{position:relative;padding:10px 10px 10px 35px;border-radius:11px;background:#f8fbff;font-size:10.5px;line-height:1.5;color:#61748e}.kqround-guide li:before{counter-increment:kqstatus;content:counter(kqstatus);position:absolute;left:10px;top:10px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:#e8efff;color:#4167c8;font-size:8.5px;font-weight:900}.kqround-guide li b{color:#2c4564}.kqround-guide p{margin-top:12px!important;padding:11px 12px;border-radius:11px;background:var(--kqva-amber-soft);border:1px solid #f3d79e;font-size:9.5px!important;line-height:1.55!important;color:#8b6525!important}
.kqround-list{margin-top:2px!important}.kqround-list>.section-head{margin-bottom:10px!important}.kqround-list>.section-head h2{font-size:18px!important}
.kqround-card{grid-template-columns:160px minmax(0,1fr) auto!important;padding:17px!important;border-radius:17px!important;align-items:center!important}.kqround-month{padding:10px 13px!important;border-radius:13px!important;background:linear-gradient(145deg,#eef4ff,#f8fbff)!important;border:1px solid #d9e6fa!important}.kqround-month b{font-size:15px!important;color:#365cae!important}.kqround-month small{font-size:9.5px!important}.kqround-state{font-size:9.5px!important;padding:5px 9px!important;border-radius:999px!important}.kqround-body p{font-size:10.5px!important}.kqround-metrics span{background:#f7faff!important;border:1px solid #e0e8f2!important;border-radius:10px!important;padding:7px 9px!important;font-size:9.5px!important}.kqround-actions .button{min-height:40px!important}

/* --- Teacher permissions ------------------------------------------------ */
.kqperm-page{display:grid!important;gap:15px!important}
.kq112-perm-hero{border:0!important;box-shadow:none!important;background:transparent!important;padding:7px 4px 8px!important;align-items:center!important}.kq112-perm-hero:after{display:none!important}.kqperm-hero-copy h2{font-size:28px!important;margin:2px 0 3px!important}.kqperm-hero-copy .eyebrow{font-size:9px!important;color:#5373bc!important}.kqperm-hero-copy p{font-size:12px!important;max-width:840px!important}.kqperm-back{background:#fff!important;border:1px solid #d9e5f2!important;color:#536d8b!important}
.kqperm-round-context{padding:12px 15px!important;border-radius:13px!important;background:linear-gradient(135deg,#f8fbff,#fff)!important;box-shadow:none!important;font-size:10.5px!important}.kqperm-round-context b{color:#3b5678!important}.kqperm-round-context span{font-size:9.5px!important;background:var(--kqva-green-soft)!important;color:#17815f!important;border:1px solid #bfe8d8!important}.kqperm-round-context a{font-size:10.5px!important;font-weight:900!important}
.kqperm-stats{gap:12px!important}.kqperm-stats article{padding:15px 17px!important;border-radius:17px!important;min-height:96px!important;position:relative;overflow:hidden}.kqperm-stats article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--kqva-blue)}.kqperm-stats article:nth-child(2):before{background:#39a8e6}.kqperm-stats .kqperm-stat-allow:before{background:var(--kqva-green)}.kqperm-stats .kqperm-stat-block:before{background:var(--kqva-amber)}.kqperm-stats small{font-size:10px!important;font-weight:800!important}.kqperm-stats b{font-size:25px!important;color:var(--kqva-ink)!important}.kqperm-stats span{font-size:9.5px!important}
.kqperm-toolbar{display:grid!important;grid-template-columns:minmax(260px,1fr) minmax(420px,1.5fr)!important;gap:14px 20px!important;align-items:end!important;padding:18px!important;border-radius:18px!important}.kqperm-search label,.kqperm-filter-wrap>span{font-size:10px!important;color:#5d718b!important;font-weight:850!important}.kqperm-search input{min-height:44px!important;border:1px solid #d8e4f1!important;border-radius:11px!important;background:#fff!important}.kqperm-filter-buttons{display:flex!important;gap:6px!important;flex-wrap:wrap!important}.kqperm-filter-buttons button{min-height:38px!important;padding:0 12px!important;border-radius:10px!important;border:1px solid #dce6f1!important;background:#fff!important;color:#6b7e95!important;font-size:10px!important}.kqperm-filter-buttons button.active{background:linear-gradient(135deg,#3e70f5,#5263ec)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 7px 16px rgba(52,101,243,.18)!important}.kqperm-policy-note{grid-column:1/-1!important;border:1px solid #d7e5ff!important;background:#f5f8ff!important;border-radius:11px!important;padding:10px 12px!important;font-size:9.5px!important;color:#63779b!important}.kqperm-policy-note b{color:#45629c!important}
.kqperm-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
.kqperm-card{display:grid!important;grid-template-columns:320px minmax(0,1fr) 310px!important;grid-template-areas:"head schedule master" "advanced advanced advanced" "foot foot foot"!important;gap:0!important;padding:0!important;border-radius:18px!important;overflow:hidden!important;background:#fff!important;border-left:4px solid #d6e1f0!important;transition:box-shadow .18s ease,border-color .18s ease!important}
.kqperm-card.state-allowed{border-left-color:var(--kqva-green)!important}.kqperm-card.state-blocked{border-left-color:var(--kqva-amber)!important}.kqperm-card:hover{box-shadow:var(--kqva-shadow-hover)!important}
.kqperm-card-head{grid-area:head!important;padding:18px!important;border:0!important;align-items:center!important;background:#fff!important}.kqperm-avatar{width:54px!important;height:54px!important;border-radius:16px!important;background:linear-gradient(145deg,#e6edff,#f5f7ff)!important;color:#4969ba!important;font-size:20px!important;box-shadow:inset 0 0 0 1px #dbe5f8!important}.kqperm-identity b{font-size:13.5px!important;color:var(--kqva-ink)!important}.kqperm-identity small{font-size:9.5px!important;margin-top:3px!important}.kqperm-state{font-size:9px!important;padding:5px 8px!important;border-radius:999px!important}
.kqperm-schedule{grid-area:schedule!important;padding:18px!important;border-left:1px solid #e4ebf3!important;border-right:1px solid #e4ebf3!important;border-top:0!important;background:#fbfdff!important}.kqperm-schedule-head b{font-size:10.5px!important;color:#4e6684!important}.kqperm-schedule-head span{font-size:9px!important}.kqperm-tags{gap:6px!important;margin-top:9px!important}.kqperm-tags span{font-size:9.5px!important;padding:6px 9px!important;border-radius:999px!important;background:#fff!important;border:1px solid #dbe6f4!important;color:#4f6c94!important}
.kqperm-master{grid-area:master!important;margin:0!important;padding:18px!important;border:0!important;border-radius:0!important;background:#fff!important;align-content:center!important}.kqperm-master>div b{font-size:11.5px!important;color:#3d5676!important}.kqperm-master>div small{font-size:9.5px!important;line-height:1.5!important;margin-top:4px!important}.kqperm-switch{transform:scale(1.08);transform-origin:center right}.kqperm-switch span{box-shadow:inset 0 0 0 1px rgba(95,117,147,.12)!important}
.kqperm-advanced{grid-area:advanced!important;margin:0 18px 12px!important;border:1px solid #e0e8f2!important;border-radius:12px!important;background:#fbfdff!important}.kqperm-advanced summary{font-size:10.5px!important;font-weight:850!important;padding:10px 12px!important;color:#4c6688!important}.kqperm-advanced-grid{padding:0 12px 12px!important;gap:9px!important}.kqperm-advanced-grid label{border-radius:10px!important;background:#fff!important;border:1px solid #e1e9f3!important;padding:10px!important}.kqperm-advanced-grid b{font-size:10.5px!important}.kqperm-advanced-grid small{font-size:9px!important}
.kqperm-card-foot{grid-area:foot!important;margin:0!important;padding:12px 18px!important;border-top:1px solid #e7edf4!important;background:#fbfcfe!important;align-items:center!important}.kqperm-card-foot small{font-size:9.5px!important}.kqperm-save{min-height:40px!important;padding-inline:18px!important;background:linear-gradient(135deg,var(--kqva-blue),#5565ec)!important;border:0!important;color:#fff!important;box-shadow:0 8px 18px rgba(52,101,243,.16)!important}
.kqperm-empty{padding:28px!important;text-align:center!important;border-style:dashed!important;color:var(--kqva-muted)!important}

/* --- Responsive alignment ---------------------------------------------- */
@media(max-width:1180px){
  .kq112-admin-grid{grid-template-columns:1fr!important}
  .kqperm-card{grid-template-columns:280px minmax(0,1fr)!important;grid-template-areas:"head master" "schedule schedule" "advanced advanced" "foot foot"!important}
  .kqperm-schedule{border-left:0!important;border-right:0!important;border-top:1px solid #e6edf5!important}
  .kqround-layout{grid-template-columns:1fr!important}.kqround-guide{position:static!important}
}
@media(max-width:900px){
  .kq112-quick-grid{grid-template-columns:1fr!important;border-radius:17px!important}.kq112-quick-card+.kq112-quick-card{border-left:0!important;border-top:1px dashed #dbe4ef!important}.kq112-quick-card{min-height:112px!important;padding:18px!important}
  .kqperm-toolbar{grid-template-columns:1fr!important}.kqperm-policy-note{grid-column:auto!important}
  .kqperm-card{grid-template-columns:1fr!important;grid-template-areas:"head" "schedule" "master" "advanced" "foot"!important}.kqperm-schedule{border:0!important;border-top:1px solid #e6edf5!important}.kqperm-master{border-top:1px solid #e6edf5!important}
}
@media(max-width:760px){
  .kq112-admin-hero,.kq112-round-hero,.kq112-perm-hero{padding:5px 0 9px!important}.kq112-admin-hero h2,.kq112-round-hero h2,.kqperm-hero-copy h2{font-size:22px!important}.kq112-admin-hero p,.kq112-round-hero p,.kqperm-hero-copy p{font-size:11px!important}.kq112-admin-actions,.kqround-hero-actions{width:100%!important;display:grid!important;grid-template-columns:1fr!important}.kq112-admin-actions .button,.kqround-hero-actions .button,.kqperm-back{min-height:44px!important;width:100%!important;justify-content:center!important}
  .kq112-quick-card{grid-template-columns:54px minmax(0,1fr)!important}.kq112-quick-icon{width:52px!important;height:52px!important;border-radius:16px!important}.kq112-quick-card b{font-size:14px!important}.kq112-quick-card small{font-size:11px!important}
  .kq112-builder-card,.kq112-question-card,.kq112-exam-list,.kqround-form-card,.kqround-guide,.kqperm-toolbar{padding:15px!important;border-radius:16px!important}.kq112-section-title h2,.kq112-exam-list .section-head h2,.kqround-form-card .section-head h2{font-size:16px!important}
  .kqround-stats,.kqperm-stats{grid-template-columns:1fr 1fr!important}.kqround-card{grid-template-columns:1fr!important;gap:10px!important}.kqround-month{width:100%!important}.kqround-actions{grid-template-columns:1fr 1fr!important}.kqround-actions .button{min-height:44px!important}
  .kqperm-card-head,.kqperm-schedule,.kqperm-master{padding:15px!important}.kqperm-card-foot{padding:12px 15px!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.kqperm-save{width:100%!important;min-height:44px!important}.kqperm-advanced{margin:0 15px 12px!important}
  .kqperm-search input,.kqround-form input,.kqround-form select,.kq112-builder-card input,.kq112-builder-card select,.kq112-builder-card textarea,.kq112-question-card input,.kq112-question-card select,.kq112-question-card textarea{font-size:16px!important}
}
@media(max-width:420px){
  .kqround-stats,.kqperm-stats{grid-template-columns:1fr!important}.kq112-admin-title-row{gap:10px!important}.kq112-admin-icon{width:48px!important;height:48px!important}.kqperm-filter-buttons{display:grid!important;grid-template-columns:1fr 1fr!important}.kqround-actions{grid-template-columns:1fr!important}
}


/* ======================================================================
   v0.11.3 — KQ Online UX/UI Rebuild
   Workflow-first redesign for admin dashboard, monthly rounds and teacher
   permission screens. Runtime / score / exam logic intentionally unchanged.
   ====================================================================== */
:root{--kq113-ink:#18324f;--kq113-muted:#6c7f95;--kq113-line:#dce6f1;--kq113-blue:#3768f5;--kq113-blue-soft:#eef4ff;--kq113-green:#20ad79;--kq113-green-soft:#ebfaf4;--kq113-purple:#7357e8;--kq113-purple-soft:#f2efff;--kq113-amber:#ee9c20;--kq113-amber-soft:#fff7e9;--kq113-red:#df5561;--kq113-gray:#8798ab;--kq113-shadow:0 12px 32px rgba(45,74,112,.08)}
.kq113-page-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 4px 18px;border-bottom:1px solid #e0e8f2;margin-bottom:16px}.kq113-page-heading{min-width:0}.kq113-page-heading .eyebrow{font-size:10px!important;letter-spacing:.12em!important;color:#5272bb!important;font-weight:900!important}.kq113-page-heading h1{font-size:30px!important;line-height:1.2!important;color:var(--kq113-ink)!important;margin:5px 0 5px!important}.kq113-page-heading p{font-size:13px!important;line-height:1.65!important;color:var(--kq113-muted)!important;margin:0!important;max-width:850px}.kq113-hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.kq113-hero-actions .button{min-height:42px!important;border-radius:11px!important;padding-inline:16px!important;font-size:12px!important}.kq113-hero-context{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}.kq113-hero-context span{display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border:1px solid #dce5f0;border-radius:999px;background:#fff;color:#58708d;font-size:11px;font-weight:800}.kq113-hero-context span.ready{background:var(--kq113-green-soft);border-color:#c4eadb;color:#16845f}.kq113-hero-context span.waiting{background:var(--kq113-amber-soft);border-color:#f2d8a6;color:#a76e13}

/* Workflow dashboard */
.kq113-dashboard{margin-bottom:18px}.kq113-dashboard-hero{margin-bottom:14px}.kq113-workflow-board{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 28px minmax(0,1fr);align-items:center;background:#fff;border:1px solid var(--kq113-line);border-radius:20px;padding:12px;box-shadow:var(--kq113-shadow)}.kq113-workflow-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px;border:1px solid transparent;border-radius:15px;text-decoration:none;color:inherit;min-width:0;transition:.18s ease}.kq113-workflow-card:hover{background:#f9fbff;border-color:#d8e5f7;transform:translateY(-1px)}.kq113-workflow-no{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#f0f4fa;color:#71849d;font-size:16px;font-weight:950}.kq113-workflow-card small{display:block;font-size:9px!important;letter-spacing:.1em;color:#8594a7;font-weight:900}.kq113-workflow-card b{display:block;font-size:14px!important;color:var(--kq113-ink);margin-top:2px}.kq113-workflow-card p{font-size:11px!important;color:var(--kq113-muted);line-height:1.45;margin:3px 0 0}.kq113-workflow-card em{font-size:10.5px;font-style:normal;font-weight:900;white-space:nowrap}.kq113-workflow-card.done .kq113-workflow-no{background:var(--kq113-green-soft);color:var(--kq113-green)}.kq113-workflow-card.done em{color:var(--kq113-green)}.kq113-workflow-card.current{background:var(--kq113-blue-soft);border-color:#cfe0ff}.kq113-workflow-card.current .kq113-workflow-no{background:linear-gradient(135deg,#3974fa,#5d61e9);color:#fff}.kq113-workflow-card.current em{color:var(--kq113-blue)}.kq113-workflow-card.pending{opacity:.68}.kq113-workflow-arrow{display:grid;place-items:center;color:#b4c2d4;font-size:28px;font-weight:300}.kq113-next-action{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:14px 16px;border:1px solid #d2e1ff;background:linear-gradient(135deg,#f4f8ff,#fff);border-radius:16px}.kq113-next-action>div{display:flex;align-items:center;gap:12px;min-width:0}.kq113-next-action>div>span{display:inline-grid;place-items:center;min-width:58px;height:30px;border-radius:999px;background:#e7efff;color:#3768d9;font-size:10px;font-weight:900}.kq113-next-action b{font-size:13px!important;color:var(--kq113-ink)}.kq113-next-action p{font-size:11px!important;color:var(--kq113-muted);margin:2px 0 0;line-height:1.5}.kq113-next-action .button{min-height:40px!important;white-space:nowrap}.kq113-next-action.teacher{margin-bottom:16px}.kq113-dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.kq113-dashboard-stats article{padding:14px 16px;border:1px solid var(--kq113-line);border-radius:15px;background:#fff}.kq113-dashboard-stats small{font-size:10px!important;color:#72849a;font-weight:800}.kq113-dashboard-stats b{display:block;font-size:24px!important;line-height:1.05;color:var(--kq113-ink);margin:4px 0}.kq113-dashboard-stats span{font-size:9.5px;color:#8a99aa}

/* Shared flow + stats */
.kq113-flow{display:flex;align-items:center;gap:8px;padding:13px;background:#fff;border:1px solid var(--kq113-line);border-radius:18px;box-shadow:0 8px 24px rgba(45,74,112,.05);margin-bottom:12px}.kq113-flow>i{height:1px;flex:1;background:#dce5f0;min-width:16px}.kq113-flow-step{display:flex;align-items:center;gap:9px;min-width:0}.kq113-flow-step>span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#edf2f8;color:#75879c;font-size:11px;font-weight:950}.kq113-flow-step b{display:block;font-size:11px;color:#405a78}.kq113-flow-step small{display:block;font-size:9px;color:#8494a7;margin-top:1px}.kq113-flow-step.done>span{background:var(--kq113-green-soft);color:var(--kq113-green)}.kq113-flow-step.current>span{background:var(--kq113-blue);color:#fff}.kq113-flow-step.pending{opacity:.62}.kq113-context-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 15px;border:1px solid var(--kq113-line);border-radius:15px;background:#f9fbfe;margin-bottom:12px}.kq113-context-bar b{display:block;font-size:12px;color:#3e5878}.kq113-context-bar>div>span{font-size:10px;color:#8292a4}.kq113-context-chips{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.kq113-context-chips span{padding:5px 8px;border-radius:999px;font-size:9.5px!important;font-weight:850}.kq113-context-chips .tone-blue{background:var(--kq113-blue-soft);color:var(--kq113-blue)}.kq113-context-chips .tone-purple{background:var(--kq113-purple-soft);color:var(--kq113-purple)}.kq113-context-chips .tone-green{background:var(--kq113-green-soft);color:var(--kq113-green)}.kq113-context-chips .tone-gray{background:#eef2f6;color:#6f8094}.kq113-stat-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin-bottom:14px!important}.kq113-stat-grid article{display:flex!important;align-items:center!important;gap:12px!important;min-height:92px!important;padding:14px!important;border-radius:16px!important;position:relative;overflow:hidden}.kq113-stat-grid article:before{display:none!important}.kq113-stat-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;font-size:10px;font-weight:950;flex:0 0 auto}.kq113-stat-grid article.tone-blue .kq113-stat-icon{background:var(--kq113-blue-soft);color:var(--kq113-blue)}.kq113-stat-grid article.tone-purple .kq113-stat-icon{background:var(--kq113-purple-soft);color:var(--kq113-purple)}.kq113-stat-grid article.tone-green .kq113-stat-icon{background:var(--kq113-green-soft);color:var(--kq113-green)}.kq113-stat-grid article.tone-amber .kq113-stat-icon{background:var(--kq113-amber-soft);color:var(--kq113-amber)}.kq113-stat-grid small{font-size:10px!important;font-weight:800!important;color:#74869b!important}.kq113-stat-grid b{display:block!important;font-size:24px!important;line-height:1!important;color:var(--kq113-ink)!important;margin:4px 0!important}.kq113-stat-grid article div span{font-size:9.5px!important;color:#8b99aa!important}

/* Monthly rounds */
.kq113-round-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px;align-items:start}.kq113-round-form-card{padding:20px!important;border-radius:20px!important;box-shadow:var(--kq113-shadow)!important}.kq113-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;border-bottom:1px solid #e3eaf2;margin-bottom:14px}.kq113-card-heading h2{font-size:19px!important;color:var(--kq113-ink)!important;margin:3px 0!important}.kq113-card-heading p{font-size:11px!important;color:var(--kq113-muted)!important;margin:0!important}.kq113-round-form{display:grid!important;gap:12px!important}.kq113-form-section{margin:0;border:1px solid #e0e8f2;border-radius:16px;padding:15px;background:#fbfdff}.kq113-form-section legend{padding:0 7px;display:flex;align-items:center;gap:8px;color:var(--kq113-ink)}.kq113-form-section legend>span{width:28px;height:28px;border-radius:9px;background:var(--kq113-blue-soft);color:var(--kq113-blue);display:grid;place-items:center;font-size:10px;font-weight:950}.kq113-form-section legend b{display:block;font-size:12px}.kq113-form-section legend small{display:block;font-size:9px;color:#8796a8;margin-top:1px}.kq113-round-form .field label{font-size:11.5px!important;color:#4e6684!important;font-weight:850!important}.kq113-round-form .field input,.kq113-round-form .field select{min-height:44px!important;border-radius:11px!important;font-size:13px!important;background:#fff!important}.kq113-round-form .field small{font-size:9.5px!important;line-height:1.5!important}.kq113-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.kq113-option-card,.kq113-sync-card{display:flex;align-items:flex-start;gap:9px;border:1px solid #dde7f1;border-radius:12px;background:#fff;padding:11px}.kq113-option-card input,.kq113-sync-card input{margin-top:3px}.kq113-option-card b,.kq113-sync-card b{display:block;font-size:11px;color:#415a78}.kq113-option-card small,.kq113-sync-card small{display:block;font-size:9.5px;color:#8191a4;line-height:1.5;margin-top:2px}.kq113-sync-card{background:#f5f9ff;border-color:#cfe0ff}.kq113-form-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:9px;padding-top:3px}.kq113-form-actions .button{min-height:44px!important;justify-content:center!important}.kq113-round-side{display:grid;gap:12px;position:sticky;top:84px}.kq113-round-side .card{padding:16px!important;border-radius:17px!important}.kq113-round-side h3{font-size:15px!important;color:var(--kq113-ink)!important;margin:4px 0 12px!important}.kq113-summary-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid #e8edf3}.kq113-summary-row span{font-size:10px;color:#7b8ca0}.kq113-summary-row b{font-size:10.5px;color:#3e5877;text-align:right}.kq113-status-line{display:grid;grid-template-columns:86px minmax(0,1fr);gap:8px;align-items:start;padding:9px 0;border-top:1px solid #e8edf3}.kq113-status-line span{font-size:9.5px;font-weight:950}.kq113-status-line p{font-size:9.5px;line-height:1.45;color:#718298;margin:0}.kq113-status-line.purple span{color:var(--kq113-purple)}.kq113-status-line.blue span{color:var(--kq113-blue)}.kq113-status-line.green span{color:var(--kq113-green)}.kq113-status-line.gray span{color:var(--kq113-gray)}.kq113-round-list{margin-top:14px}.kq113-round-card{display:grid;grid-template-columns:150px minmax(0,1fr) 170px;gap:15px;align-items:center;margin-top:9px;padding:14px!important;border-radius:17px!important}.kq113-round-date{padding:13px;border-radius:13px;background:#f3f7fd}.kq113-round-date b{display:block;font-size:15px;color:#355679}.kq113-round-date small{display:block;font-size:10px;color:#7d8da0;margin-top:3px}.kq113-round-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kq113-round-title>b{font-size:11px;color:#506983}.kq113-round-time{font-size:10px;color:#77899e;margin:7px 0}.kq113-round-time span{margin:0 5px;color:#b1bdcb}.kq113-round-metrics{display:flex;gap:14px;flex-wrap:wrap}.kq113-round-metrics span{display:flex;align-items:baseline;gap:4px}.kq113-round-metrics b{font-size:13px;color:var(--kq113-ink)}.kq113-round-metrics small{font-size:9px;color:#8797a8}.kq113-round-actions{display:grid;gap:7px}.kq113-round-actions .button{width:100%;justify-content:center}.kq113-empty-state{text-align:center;padding:28px!important;border-style:dashed!important}.kq113-empty-state b{font-size:14px;color:var(--kq113-ink)}.kq113-empty-state p{font-size:11px;color:var(--kq113-muted);margin:5px 0 0}

/* Teacher permissions */
.kq113-permission-flow{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 28px minmax(0,1fr);align-items:center;padding:12px;border:1px solid var(--kq113-line);background:#fff;border-radius:18px;margin-bottom:10px}.kq113-permission-flow>i{height:1px;background:#dce5f0}.kq113-permission-rule{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px}.kq113-permission-rule>span{width:36px;height:36px;border-radius:11px;background:var(--kq113-blue-soft);color:var(--kq113-blue);display:grid;place-items:center;font-weight:950}.kq113-permission-rule b{display:block;font-size:11.5px;color:#405a78}.kq113-permission-rule small{display:block;font-size:9px;color:#8293a7;margin-top:2px}.kq113-permission-rule em{font-size:10px;font-style:normal;font-weight:900;color:#4e6b8d}.kq113-round-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;margin-bottom:10px}.kq113-round-alert.ready{background:var(--kq113-green-soft);border:1px solid #c3eadb}.kq113-round-alert.warning{background:var(--kq113-amber-soft);border:1px solid #f2d9a9}.kq113-round-alert b{display:block;font-size:11px;color:#405a72}.kq113-round-alert span{font-size:9.5px;color:#72869d}.kq113-round-alert a{font-size:10.5px;font-weight:900;white-space:nowrap}.kq113-perm-toolbar{display:grid!important;grid-template-columns:minmax(240px,.9fr) minmax(260px,1fr) minmax(360px,1.2fr)!important;gap:13px!important;align-items:end!important;padding:16px!important}.kq113-toolbar-title h2{font-size:16px!important;color:var(--kq113-ink)!important;margin:3px 0!important}.kq113-toolbar-title p{font-size:10px!important;color:var(--kq113-muted)!important;margin:0!important}.kq113-perm-grid{display:grid!important;grid-template-columns:1fr!important;gap:11px!important}.kq113-perm-card{display:grid!important;grid-template-columns:260px minmax(0,1fr) 330px!important;grid-template-areas:"profile scope access" "message message message" "advanced advanced advanced" "foot foot foot"!important;padding:0!important;border-radius:19px!important;overflow:hidden!important;border:1px solid var(--kq113-line)!important;border-left:4px solid #d5e0ed!important;box-shadow:0 7px 22px rgba(48,77,111,.05)!important}.kq113-perm-card.state-allowed{border-left-color:var(--kq113-green)!important}.kq113-perm-card.state-blocked{border-left-color:var(--kq113-amber)!important}.kq113-perm-profile{grid-area:profile;padding:17px;display:grid;grid-template-columns:52px minmax(0,1fr);gap:11px;align-items:center;position:relative}.kq113-perm-profile .kqperm-state{position:absolute;right:13px;top:12px}.kq113-perm-profile .kqperm-identity small{display:block;font-size:8.5px!important;text-transform:uppercase;letter-spacing:.08em;color:#8b99a9}.kq113-perm-profile .kqperm-identity b{display:block;font-size:13px!important;color:var(--kq113-ink);margin-top:2px}.kq113-perm-profile .kqperm-identity span{display:block;font-size:9.5px;color:#7a8b9f;margin-top:3px}.kq113-perm-scope{grid-area:scope;padding:17px;border-left:1px solid #e5ebf2;border-right:1px solid #e5ebf2;background:#fbfdff}.kq113-perm-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.kq113-perm-section-head small{display:block;font-size:8.5px;color:#8998aa}.kq113-perm-section-head b{display:block;font-size:10.5px;color:#4c6481;margin-top:2px}.kq113-perm-section-head>span{font-size:9px;padding:4px 7px;border:1px solid #dce6f1;border-radius:999px;color:#72869d;background:#fff}.kq113-inline-empty{margin-top:9px;padding:10px;border:1px dashed #e0e7ef;border-radius:10px;font-size:9.5px;color:#8796a8}.kq113-perm-access{grid-area:access;padding:17px;display:flex;align-items:center;justify-content:space-between;gap:14px}.kq113-access-title small{font-size:8.5px;color:#8998aa}.kq113-access-title b{display:block;font-size:11px;color:#405a78;margin-top:2px}.kq113-access-title p{font-size:9.5px;color:#7d8da0;line-height:1.45;margin:4px 0 0}.kq113-perm-access.disabled{opacity:.62}.kq113-perm-message{grid-area:message;display:flex;align-items:center;gap:10px;padding:9px 16px;border-top:1px solid #e7edf4}.kq113-perm-message span{font-size:8px;font-weight:950;padding:4px 7px;border-radius:999px}.kq113-perm-message p{font-size:9.5px;margin:0;color:#637890}.kq113-perm-message.allowed{background:#f3fbf8}.kq113-perm-message.allowed span{background:#dcf5eb;color:#16845f}.kq113-perm-message.blocked{background:#fffaf1}.kq113-perm-message.blocked span{background:#ffedca;color:#a56c10}.kq113-perm-message.unavailable{background:#f7f9fc}.kq113-perm-message.unavailable span{background:#e9eef4;color:#6f8298}.kq113-perm-advanced{grid-area:advanced!important;margin:10px 14px!important}.kq113-perm-advanced summary{display:flex!important;align-items:center!important;justify-content:space-between!important}.kq113-perm-advanced summary small{font-size:9px;color:#8393a5}.kq113-perm-foot{grid-area:foot!important}.kq113-perm-foot .button{min-width:130px!important}.kq113-perm-card .kqperm-tags span{font-size:9.5px!important;padding:6px 9px!important}.kq113-perm-card .kqperm-switch{transform:scale(1.12)!important}

/* Builder legibility after workflow rebuild */
#kq113-exam-builder,#kq113-exam-list{scroll-margin-top:90px}.kq112-builder-card,.kq112-question-card,.kq112-exam-list{border-radius:18px!important;box-shadow:var(--kq113-shadow)!important}.kq112-builder-card .field label,.kq112-question-card .field label{font-size:11.5px!important}.kq112-builder-card input,.kq112-builder-card select,.kq112-builder-card textarea,.kq112-question-card input,.kq112-question-card select,.kq112-question-card textarea{font-size:13px!important}.kq112-exam-list table{font-size:11px!important}.kq112-exam-list th{font-size:9.5px!important}.kq112-exam-list td{padding-top:11px!important;padding-bottom:11px!important}

@media(max-width:1180px){.kq113-round-layout{grid-template-columns:1fr}.kq113-round-side{position:static;grid-template-columns:1fr 1fr}.kq113-perm-card{grid-template-columns:240px minmax(0,1fr)!important;grid-template-areas:"profile access" "scope scope" "message message" "advanced advanced" "foot foot"!important}.kq113-perm-scope{border-left:0;border-right:0;border-top:1px solid #e5ebf2}.kq113-perm-toolbar{grid-template-columns:1fr 1fr!important}.kq113-toolbar-title{grid-column:1/-1}.kq113-dashboard-stats{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.kq113-workflow-board{grid-template-columns:1fr!important;gap:7px}.kq113-workflow-arrow{display:none}.kq113-flow{display:grid;grid-template-columns:1fr 1fr}.kq113-flow>i{display:none}.kq113-permission-flow{grid-template-columns:1fr!important;gap:5px}.kq113-permission-flow>i{display:none}.kq113-perm-toolbar{grid-template-columns:1fr!important}.kq113-toolbar-title{grid-column:auto}.kq113-perm-card{grid-template-columns:1fr!important;grid-template-areas:"profile" "scope" "access" "message" "advanced" "foot"!important}.kq113-perm-scope{border:0;border-top:1px solid #e5ebf2}.kq113-perm-access{border-top:1px solid #e5ebf2}.kq113-round-card{grid-template-columns:120px minmax(0,1fr)}.kq113-round-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.kq113-stat-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:760px){.kq113-page-hero{align-items:flex-start;flex-direction:column;padding:12px 0}.kq113-page-heading h1{font-size:24px!important}.kq113-page-heading p{font-size:12px!important}.kq113-hero-actions{width:100%;display:grid;grid-template-columns:1fr}.kq113-hero-actions .button{width:100%;min-height:44px!important;justify-content:center}.kq113-next-action{align-items:flex-start;flex-direction:column}.kq113-next-action .button{width:100%;min-height:44px!important;justify-content:center}.kq113-dashboard-stats{grid-template-columns:1fr 1fr}.kq113-flow{grid-template-columns:1fr}.kq113-context-bar{align-items:flex-start;flex-direction:column}.kq113-context-chips{justify-content:flex-start}.kq113-stat-grid{grid-template-columns:1fr 1fr!important}.kq113-round-form-card{padding:15px!important}.kq113-form-section{padding:12px}.kq113-option-grid{grid-template-columns:1fr}.kq113-round-side{grid-template-columns:1fr}.kq113-round-card{grid-template-columns:1fr}.kq113-round-actions{grid-template-columns:1fr}.kq113-perm-profile,.kq113-perm-scope,.kq113-perm-access{padding:14px}.kq113-perm-access{align-items:center}.kq113-perm-foot{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}.kq113-perm-foot .button{width:100%;min-height:44px!important}.kq113-round-alert{align-items:flex-start;flex-direction:column}.kq113-round-alert a{min-height:40px;display:flex;align-items:center}.kq113-round-form .field input,.kq113-round-form .field select,#kq113-exam-builder input,#kq113-exam-builder select,#kq113-exam-builder textarea{font-size:16px!important}}
@media(max-width:440px){.kq113-dashboard-stats,.kq113-stat-grid{grid-template-columns:1fr!important}.kq113-workflow-card{grid-template-columns:42px minmax(0,1fr)}.kq113-workflow-card em{grid-column:2}.kq113-perm-access{align-items:flex-start;flex-direction:column}.kq113-perm-access .kqperm-switch{align-self:flex-end}.kq113-form-actions{grid-template-columns:1fr}.kq113-perm-profile{grid-template-columns:48px minmax(0,1fr)}.kq113-perm-profile .kqperm-state{position:static;grid-column:2;justify-self:start;margin-top:4px}}


/* ========================================================================== */
/* v0.11.4 — Kulladis KQ Design System & Structural UI Rebuild               */
/* ========================================================================== */
:root{
  --kq114-primary:#315fe9;--kq114-primary-2:#596cf1;--kq114-primary-soft:#eef3ff;
  --kq114-navy:#112f59;--kq114-text:#18324f;--kq114-muted:#71849a;--kq114-line:#e3eaf2;
  --kq114-surface:#fff;--kq114-surface-2:#f7faff;--kq114-canvas:#f4f7fb;
  --kq114-green:#1eaa7a;--kq114-green-soft:#eaf8f3;--kq114-purple:#7655e9;--kq114-purple-soft:#f1edff;
  --kq114-amber:#efa52b;--kq114-amber-soft:#fff6e5;--kq114-danger:#dc5461;--kq114-danger-soft:#fff0f1;
  --kq114-radius-sm:12px;--kq114-radius:18px;--kq114-radius-lg:24px;
  --kq114-shadow:0 12px 34px rgba(30,58,95,.075);--kq114-shadow-hover:0 16px 42px rgba(30,58,95,.12)
}
.kq114-shell{color:var(--kq114-text);min-width:0;display:grid;gap:18px;padding:4px 2px 28px}
.kq114-shell .eyebrow{font-size:10px!important;letter-spacing:.12em!important;font-weight:900!important;color:#54bdd2!important}
.kq114-shell .card{border:1px solid var(--kq114-line)!important;background:var(--kq114-surface)!important;border-radius:var(--kq114-radius)!important;box-shadow:var(--kq114-shadow)!important}
.kq114-shell .button{min-height:42px;border-radius:12px!important;padding:0 16px!important;font-size:12px!important;font-weight:850!important;box-shadow:none!important;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.kq114-shell .button:not(.secondary){background:linear-gradient(135deg,var(--kq114-primary),var(--kq114-primary-2))!important;border-color:transparent!important;box-shadow:0 8px 18px rgba(49,95,233,.20)!important}
.kq114-shell .button.secondary{background:#fff!important;border:1px solid #d8e3ef!important;color:#42617f!important}
@media(hover:hover) and (pointer:fine){.kq114-shell .button:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(40,75,119,.13)!important}}
.kq114-shell input,.kq114-shell select,.kq114-shell textarea{border:1px solid #d7e2ee!important;background:#fff!important;border-radius:13px!important;color:var(--kq114-text)!important;min-height:44px!important;box-shadow:0 1px 0 rgba(20,48,78,.02)!important}
.kq114-shell input:focus,.kq114-shell select:focus,.kq114-shell textarea:focus{border-color:#7da0ff!important;box-shadow:0 0 0 3px rgba(49,95,233,.10)!important;outline:0!important}
.kq114-shell .field label{font-size:11.5px!important;font-weight:800!important;color:#516b87!important;margin-bottom:7px!important}
.kq114-shell .field small{font-size:10.5px!important;line-height:1.55!important;color:var(--kq114-muted)!important}

/* page hero */
.kq114-page-hero{padding:22px 24px!important;background:linear-gradient(135deg,#fff 0%,#fbfdff 58%,#f0f5ff 100%)!important;border:1px solid #e0e8f2!important;border-radius:22px!important;box-shadow:var(--kq114-shadow)!important;min-height:112px;align-items:center!important}
.kq114-title-cluster{display:flex;align-items:center;gap:16px;min-width:0}
.kq114-page-icon{width:58px;height:58px;flex:0 0 58px;border-radius:18px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#3763ef,#6b6ff0);box-shadow:0 12px 26px rgba(49,95,233,.24)}
.kq114-page-icon svg{width:26px;height:26px}
.kq114-page-hero .kq113-page-heading h1{font-size:30px!important;line-height:1.08!important;letter-spacing:-.025em!important;color:var(--kq114-text)!important;margin:5px 0 7px!important}
.kq114-page-hero .kq113-page-heading p{font-size:12.5px!important;line-height:1.65!important;color:var(--kq114-muted)!important;max-width:760px!important}
.kq114-page-hero .kq113-hero-actions{display:flex!important;gap:9px!important;align-items:center!important}

/* workflow dashboard */
.kq114-dashboard{gap:16px}
.kq114-workflow-board{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;padding:0!important;background:none!important;border:0!important}
.kq114-workflow-board .kq113-workflow-arrow{display:none!important}
.kq114-workflow-board .kq113-workflow-card{min-height:150px!important;padding:18px 18px 16px!important;border:1px solid var(--kq114-line)!important;border-radius:20px!important;background:#fff!important;box-shadow:var(--kq114-shadow)!important;display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:11px 13px!important;transition:.16s ease!important;position:relative;overflow:hidden}
.kq114-workflow-board .kq113-workflow-card:before{content:"";position:absolute;right:-35px;top:-38px;width:110px;height:110px;border-radius:50%;background:var(--kq114-primary-soft)}
.kq114-workflow-board .kq113-workflow-card:nth-of-type(2):before{background:var(--kq114-green-soft)}
.kq114-workflow-board .kq113-workflow-card:nth-of-type(3):before{background:var(--kq114-purple-soft)}
.kq114-workflow-board .kq113-workflow-no{width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,#3b66ef,#6575f2)!important;color:#fff!important;display:grid!important;place-items:center!important;font-size:17px!important;font-weight:950!important;box-shadow:0 8px 18px rgba(49,95,233,.18)!important}
.kq114-workflow-board .kq113-workflow-card:nth-of-type(2) .kq113-workflow-no{background:linear-gradient(145deg,#1aad79,#38c691)!important}
.kq114-workflow-board .kq113-workflow-card:nth-of-type(3) .kq113-workflow-no{background:linear-gradient(145deg,#7254e8,#9a68f3)!important}
.kq114-workflow-board small{font-size:9px!important;letter-spacing:.08em!important;color:#8ea0b3!important;font-weight:900!important}.kq114-workflow-board b{font-size:15px!important;color:var(--kq114-text)!important;display:block;margin:2px 0 4px}.kq114-workflow-board p{font-size:11px!important;color:var(--kq114-muted)!important;line-height:1.55!important;margin:0!important}.kq114-workflow-board em{grid-column:2!important;font-style:normal!important;font-size:11px!important;font-weight:900!important;color:var(--kq114-primary)!important;align-self:end!important}
@media(hover:hover) and (pointer:fine){.kq114-workflow-board .kq113-workflow-card:hover{transform:translateY(-3px);box-shadow:var(--kq114-shadow-hover)!important}}
.kq114-next-action{border:1px solid #dbe5ff!important;background:linear-gradient(95deg,#f3f6ff,#fbfdff)!important;border-radius:18px!important;padding:14px 16px!important;box-shadow:0 7px 18px rgba(35,68,111,.045)!important}.kq114-next-action>div>span{background:#dfe8ff!important;color:#315fe9!important;font-size:9px!important;font-weight:900!important}.kq114-next-action b{font-size:13px!important;color:var(--kq114-text)!important}.kq114-next-action p{font-size:11px!important;color:var(--kq114-muted)!important}
.kq114-dashboard-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}.kq114-dashboard-stats article{min-height:112px!important;padding:16px 17px!important;background:#fff!important;border:1px solid var(--kq114-line)!important;border-radius:18px!important;box-shadow:var(--kq114-shadow)!important;position:relative;overflow:hidden}.kq114-dashboard-stats article:after{content:"";position:absolute;right:-24px;top:-24px;width:76px;height:76px;border-radius:50%;background:#eef3ff}.kq114-dashboard-stats article:nth-child(2):after{background:#eaf8f3}.kq114-dashboard-stats article:nth-child(3):after{background:#f1edff}.kq114-dashboard-stats article:nth-child(4):after{background:#fff6e5}.kq114-dashboard-stats small{font-size:10px!important;font-weight:800!important;color:#8394a7!important}.kq114-dashboard-stats b{display:block;font-size:28px!important;line-height:1.1!important;color:var(--kq114-text)!important;margin:7px 0 3px}.kq114-dashboard-stats span{font-size:9.5px!important;color:#93a1b0!important}

/* shared statistic cards */
.kq114-stat-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.kq114-stat-grid>article{min-height:116px!important;padding:15px 16px!important;display:grid!important;grid-template-columns:46px minmax(0,1fr)!important;gap:12px!important;align-items:center!important;overflow:hidden!important;position:relative!important}
.kq114-stat-grid .kq113-stat-icon{width:46px!important;height:46px!important;border-radius:15px!important;display:grid!important;place-items:center!important;background:linear-gradient(145deg,#3763ef,#6878f3)!important;color:#fff!important;font-size:12px!important;font-weight:950!important;box-shadow:0 9px 20px rgba(49,95,233,.18)!important}
.kq114-stat-grid>article:nth-child(2) .kq113-stat-icon{background:linear-gradient(145deg,#7453e8,#9b6cf3)!important}.kq114-stat-grid>article:nth-child(3) .kq113-stat-icon{background:linear-gradient(145deg,#18a978,#39c892)!important}.kq114-stat-grid>article:nth-child(4) .kq113-stat-icon{background:linear-gradient(145deg,#e99a20,#f7b442)!important}
.kq114-stat-grid small{font-size:9.5px!important;font-weight:800!important;color:#8697a9!important}.kq114-stat-grid b{font-size:27px!important;color:var(--kq114-text)!important;line-height:1.1!important}.kq114-stat-grid span{font-size:9.5px!important;color:#93a1b0!important}

/* permission toolbar */
.kq114-toolbar{display:grid!important;grid-template-columns:minmax(250px,.85fr) minmax(330px,1.15fr) minmax(330px,1fr)!important;gap:18px!important;padding:18px!important;align-items:end!important}
.kq114-toolbar .kq113-toolbar-title h2{font-size:18px!important;margin:4px 0!important;color:var(--kq114-text)!important}.kq114-toolbar .kq113-toolbar-title p{font-size:11px!important;line-height:1.55!important;color:var(--kq114-muted)!important}.kq114-toolbar .kqperm-search label,.kq114-toolbar .kqperm-filter-wrap>span{font-size:10.5px!important;color:#60758d!important;font-weight:850!important}.kq114-toolbar .kqperm-filter-buttons{gap:8px!important}.kq114-toolbar .kqperm-filter-buttons button{height:42px!important;padding:0 14px!important;border-radius:12px!important;background:#f7f9fc!important;border:1px solid #dde6ef!important;font-size:10.5px!important;color:#657a91!important}.kq114-toolbar .kqperm-filter-buttons button.active{background:linear-gradient(135deg,#315fe9,#5d71f0)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 7px 16px rgba(49,95,233,.16)!important}

/* teacher cards: 1 teacher = 1 full-width card */
.kq113-perm-grid{grid-template-columns:1fr!important;gap:14px!important}
.kq114-teacher-card{display:grid!important;grid-template-columns:280px minmax(360px,1fr) 310px!important;grid-template-areas:"profile scope access" "message message message" "advanced advanced advanced" "foot foot foot"!important;border:1px solid #e1e8f0!important;border-left:4px solid #d8e1ec!important;border-radius:22px!important;background:#fff!important;box-shadow:0 11px 30px rgba(32,61,96,.065)!important;overflow:hidden!important;min-width:0!important;transition:box-shadow .18s ease,transform .18s ease!important}
.kq114-teacher-card.state-allowed{border-left-color:var(--kq114-green)!important}.kq114-teacher-card.state-blocked{border-left-color:var(--kq114-amber)!important}.kq114-teacher-card.state-unavailable{border-left-color:#aab9c8!important}
@media(hover:hover) and (pointer:fine){.kq114-teacher-card:hover{box-shadow:var(--kq114-shadow-hover)!important;transform:translateY(-1px)}}
.kq114-teacher-profile{grid-area:profile!important;padding:20px!important;display:grid!important;grid-template-columns:62px minmax(0,1fr)!important;gap:13px!important;align-content:center!important;background:linear-gradient(145deg,#fff,#fbfdff)!important;position:relative!important}
.kq114-teacher-profile .kqperm-avatar{width:62px!important;height:62px!important;border-radius:20px!important;font-size:20px!important;background:linear-gradient(145deg,#385fe8,#6d73ef)!important;box-shadow:0 12px 23px rgba(49,95,233,.20)!important}
.kq114-teacher-profile .kqperm-identity small{font-size:9px!important;color:#90a0b1!important}.kq114-teacher-profile .kqperm-identity b{font-size:15px!important;color:var(--kq114-text)!important;margin-top:2px!important}.kq114-teacher-profile .kqperm-identity span{font-size:10.5px!important;color:#72859a!important;margin-top:4px!important}.kq114-teacher-profile .kqperm-state{position:absolute!important;top:16px!important;right:16px!important;padding:6px 9px!important;font-size:8px!important}
.kq114-teacher-scope{grid-area:scope!important;padding:19px 20px!important;background:#fbfdff!important;border-left:1px solid #e8eef4!important;border-right:1px solid #e8eef4!important}.kq114-teacher-scope .kq113-perm-section-head small{font-size:9.5px!important}.kq114-teacher-scope .kq113-perm-section-head b{font-size:12px!important;color:#3d5876!important;margin-top:3px!important}.kq114-teacher-scope .kq113-perm-section-head>span{font-size:9px!important;padding:5px 8px!important}.kq114-teacher-scope .kqperm-tags{margin-top:11px!important;gap:7px!important}.kq114-teacher-scope .kqperm-tags span{font-size:10px!important;padding:7px 10px!important;border-radius:10px!important;background:#edf3ff!important;border:1px solid #dce7fb!important;color:#355fb9!important}
.kq114-teacher-access{grid-area:access!important;padding:19px 20px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;background:#fff!important}.kq114-teacher-access .kq113-access-title small{font-size:9.5px!important}.kq114-teacher-access .kq113-access-title b{font-size:12px!important;color:#3d5876!important}.kq114-teacher-access .kq113-access-title p{font-size:10px!important;line-height:1.5!important;color:#7b8da1!important;max-width:220px!important}.kq114-teacher-access .kqperm-switch{transform:scale(1.18)!important}
.kq114-teacher-card .kq113-perm-message{padding:10px 18px!important}.kq114-teacher-card .kq113-perm-message span{font-size:8.5px!important}.kq114-teacher-card .kq113-perm-message p{font-size:10px!important}.kq114-teacher-card .kq113-perm-advanced{margin:12px 16px!important;border:1px solid #e3eaf2!important;border-radius:14px!important;background:#fafcff!important}.kq114-teacher-card .kq113-perm-advanced>summary{padding:12px 14px!important;font-size:10.5px!important;color:#486481!important}.kq114-teacher-card .kqperm-advanced-grid{padding:0 13px 13px!important;gap:10px!important}.kq114-teacher-card .kqperm-advanced-grid label{min-height:62px!important;border-radius:12px!important;background:#fff!important}.kq114-teacher-card .kqperm-advanced-grid span b{font-size:10px!important}.kq114-teacher-card .kqperm-advanced-grid span small{font-size:9px!important}.kq114-teacher-card .kq113-perm-foot{padding:13px 16px!important;background:#fbfdff!important;border-top:1px solid #e9eef4!important}.kq114-teacher-card .kq113-perm-foot small{font-size:9.5px!important}.kq114-teacher-card .kq113-perm-foot .button{min-width:140px!important}

/* rounds */
.kq114-rounds .kq113-flow-compact{padding:13px 14px!important;border:1px solid var(--kq114-line)!important;background:#fff!important;border-radius:18px!important;box-shadow:var(--kq114-shadow)!important}.kq114-rounds .kq113-flow-step{min-height:62px!important;border-radius:13px!important;padding:10px 11px!important}.kq114-rounds .kq113-flow-step span{width:32px!important;height:32px!important;font-size:11px!important}.kq114-rounds .kq113-flow-step b{font-size:11.5px!important}.kq114-rounds .kq113-flow-step small{font-size:9.5px!important}.kq114-rounds .kq113-context-bar{padding:12px 14px!important;border-radius:15px!important;background:#f9fbfe!important;border:1px solid #e4ebf3!important}.kq114-rounds .kq113-context-bar b{font-size:11px!important}.kq114-rounds .kq113-context-bar span{font-size:9.5px!important}.kq114-rounds .kq113-round-layout{grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr)!important;gap:15px!important;align-items:start!important}.kq114-round-form-card{padding:20px!important;border-radius:22px!important}.kq114-round-form-card .kq113-card-heading h2{font-size:20px!important;color:var(--kq114-text)!important}.kq114-round-form-card .kq113-card-heading p{font-size:11px!important;color:var(--kq114-muted)!important}.kq114-round-form-card .kq113-form-section{padding:16px!important;border:1px solid #e4ebf2!important;border-radius:16px!important;background:#fbfdff!important;margin-top:12px!important}.kq114-round-form-card .kq113-form-section legend{padding:0 8px!important}.kq114-round-form-card .kq113-form-section legend>span{width:34px!important;height:34px!important;border-radius:11px!important;background:linear-gradient(145deg,#315fe9,#6879f1)!important;color:#fff!important;box-shadow:0 7px 14px rgba(49,95,233,.15)!important}.kq114-round-form-card .kq113-form-section legend b{font-size:12px!important}.kq114-round-form-card .kq113-form-section legend small{font-size:9.5px!important}.kq114-round-form-card .kq113-option-card,.kq114-round-form-card .kq113-sync-card{padding:13px!important;border-radius:13px!important;background:#fff!important;border:1px solid #dde7f0!important}.kq114-round-form-card .kq113-option-card b,.kq114-round-form-card .kq113-sync-card b{font-size:11px!important}.kq114-round-form-card .kq113-option-card small,.kq114-round-form-card .kq113-sync-card small{font-size:9.5px!important}.kq114-round-form-card .kq113-form-actions{padding-top:16px!important;border-top:1px solid #e5ebf2!important;margin-top:16px!important}.kq114-round-form-card .kq113-form-actions .button{min-height:46px!important}
.kq114-round-side{position:sticky!important;top:92px!important;display:grid!important;gap:12px!important}.kq114-round-side>section{padding:17px!important;border-radius:18px!important}.kq114-round-side h3{font-size:15px!important;color:var(--kq114-text)!important}.kq114-round-side .kq113-summary-row{padding:9px 0!important}.kq114-round-side .kq113-summary-row span{font-size:9.5px!important}.kq114-round-side .kq113-summary-row b{font-size:10.5px!important}.kq114-round-side .kq113-status-line{padding:9px 10px!important;border-radius:11px!important}.kq114-round-side .kq113-status-line span{font-size:9px!important}.kq114-round-side .kq113-status-line p{font-size:9.5px!important}
.kq114-rounds .kq113-round-list{gap:12px!important}.kq114-rounds .kq113-round-card{padding:16px!important;border-radius:18px!important;box-shadow:var(--kq114-shadow)!important}.kq114-rounds .kq113-round-date b{font-size:15px!important}.kq114-rounds .kq113-round-date small{font-size:9px!important}.kq114-rounds .kq113-round-title b{font-size:10px!important}.kq114-rounds .kq113-round-time{font-size:10px!important}.kq114-rounds .kq113-round-metrics b{font-size:14px!important}.kq114-rounds .kq113-round-metrics small{font-size:9px!important}

/* builder cards */
.kq114-dashboard + .kqex-admin-grid,.kq114-shell ~ .kqex-admin-grid{gap:16px!important}.kq112-builder-card,.kq112-question-card,.kq112-exam-list{border:1px solid #e1e8f0!important;border-radius:22px!important;box-shadow:var(--kq114-shadow)!important;background:#fff!important}.kq112-section-title{padding-bottom:14px!important;border-bottom:1px solid #e8eef4!important;margin-bottom:15px!important}.kq112-section-title .kq112-section-icon{width:46px!important;height:46px!important;border-radius:14px!important;background:var(--kq114-primary-soft)!important;color:var(--kq114-primary)!important}.kq112-section-title h2{font-size:18px!important;color:var(--kq114-text)!important}.kq112-builder-card form,.kq112-question-card form{display:grid!important;gap:11px!important}.kq112-builder-card .check-row,.kq112-question-card .check-row{min-height:42px!important;padding:10px 12px!important;border:1px solid #e3eaf2!important;border-radius:12px!important;background:#fafcff!important}.kq112-exam-list .section-head h2{font-size:17px!important;color:var(--kq114-text)!important}.kq112-exam-list table{font-size:11.5px!important}.kq112-exam-list th{font-size:9.5px!important;letter-spacing:.04em!important;color:#7f90a3!important}.kq112-exam-list td{padding:13px 10px!important}

/* responsive */
@media(max-width:1180px){.kq114-workflow-board{grid-template-columns:1fr!important}.kq114-dashboard-stats,.kq114-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.kq114-toolbar{grid-template-columns:1fr 1fr!important}.kq114-toolbar .kq113-toolbar-title{grid-column:1/-1}.kq114-teacher-card{grid-template-columns:250px minmax(0,1fr)!important;grid-template-areas:"profile access" "scope scope" "message message" "advanced advanced" "foot foot"!important}.kq114-teacher-scope{border-left:0!important;border-right:0!important;border-top:1px solid #e8eef4!important}.kq114-rounds .kq113-round-layout{grid-template-columns:1fr!important}.kq114-round-side{position:static!important;grid-template-columns:1fr 1fr!important}}
@media(max-width:820px){.kq114-page-hero{align-items:flex-start!important;flex-direction:column!important}.kq114-page-hero .kq113-hero-actions{width:100%;display:grid!important;grid-template-columns:1fr 1fr!important}.kq114-page-hero .kq113-hero-actions .button{width:100%;justify-content:center}.kq114-toolbar{grid-template-columns:1fr!important}.kq114-toolbar .kq113-toolbar-title{grid-column:auto}.kq114-teacher-card{grid-template-columns:1fr!important;grid-template-areas:"profile" "scope" "access" "message" "advanced" "foot"!important}.kq114-teacher-scope{border:0!important;border-top:1px solid #e8eef4!important}.kq114-teacher-access{border-top:1px solid #e8eef4!important}.kq114-round-side{grid-template-columns:1fr!important}}
@media(max-width:620px){.kq114-shell{gap:13px}.kq114-page-hero{padding:16px!important;border-radius:18px!important}.kq114-title-cluster{align-items:flex-start;gap:12px}.kq114-page-icon{width:48px;height:48px;flex-basis:48px;border-radius:15px}.kq114-page-icon svg{width:22px;height:22px}.kq114-page-hero .kq113-page-heading h1{font-size:23px!important}.kq114-page-hero .kq113-page-heading p{font-size:11.5px!important}.kq114-page-hero .kq113-hero-actions{grid-template-columns:1fr!important}.kq114-dashboard-stats,.kq114-stat-grid{grid-template-columns:1fr!important}.kq114-toolbar{padding:14px!important}.kq114-toolbar .kqperm-filter-buttons{display:grid!important;grid-template-columns:1fr 1fr!important}.kq114-toolbar .kqperm-filter-buttons button{min-height:44px!important}.kq114-teacher-profile,.kq114-teacher-scope,.kq114-teacher-access{padding:15px!important}.kq114-teacher-profile{grid-template-columns:52px minmax(0,1fr)!important}.kq114-teacher-profile .kqperm-avatar{width:52px!important;height:52px!important;border-radius:17px!important}.kq114-teacher-access{align-items:flex-start!important}.kq114-teacher-access .kqperm-switch{transform:scale(1.08)!important}.kq114-teacher-card .kq113-perm-foot{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.kq114-teacher-card .kq113-perm-foot .button{width:100%!important;min-height:44px!important}.kq114-round-form-card{padding:14px!important}.kq114-round-form-card .kq113-form-section{padding:12px!important}.kq114-rounds input,.kq114-rounds select,.kq114-rounds textarea,.kq114-permissions input,.kq114-permissions select,.kq114-permissions textarea{font-size:16px!important}.kq112-builder-card input,.kq112-builder-card select,.kq112-builder-card textarea,.kq112-question-card input,.kq112-question-card select,.kq112-question-card textarea{font-size:16px!important}}
@media(prefers-reduced-motion:reduce){.kq114-shell *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* ============================================================
   v0.11.5 — KQ Exam Builder Core (PC + Smartphone Browser)
   ============================================================ */
.kq115-builder-title{align-items:flex-start;gap:14px}.kq115-builder-title>div:nth-child(2){min-width:0}.kq115-builder-title small{display:block;margin-top:4px;color:#7184a1;font-size:12px}.kq115-builder-actions{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.kq115-ready{display:inline-flex;align-items:center;min-height:32px;padding:6px 11px;border-radius:999px;font-size:12px;font-weight:800}.kq115-ready.ready{background:#e9fbf3;color:#078657;border:1px solid #bcefd8}.kq115-ready.waiting{background:#fff7e9;color:#a56800;border:1px solid #f2d9a5}.kq115-section-note{margin:14px 0;padding:14px 16px;border-radius:15px;background:linear-gradient(135deg,#f3f7ff,#fbfcff);border:1px solid #d8e4fa;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;align-items:center}.kq115-section-note b{font-size:14px;color:#16345c}.kq115-section-note span{font-size:12px;color:#687c99}.kq115-section-note a{grid-column:2;grid-row:1/3;color:#3469ef;font-size:12px;font-weight:800;text-decoration:none}.kq115-choice-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 8px}.kq115-choice-toolbar b{display:block;font-size:14px}.kq115-choice-toolbar small{display:block;color:#7184a1;font-size:11px;margin-top:2px}.kq115-choice-builder{display:grid;gap:9px}.kq115-choice-row{display:grid!important;grid-template-columns:28px 32px minmax(180px,1fr) minmax(150px,.65fr) 34px!important;gap:8px!important;align-items:center}.kq115-choice-row>input[type=radio]{width:20px;height:20px;margin:auto}.kq115-choice-row>[data-choice-letter]{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#edf3ff;color:#3569ef;font-weight:900}.kq115-choice-row input[type=file]{font-size:11px;min-width:0}.kq115-choice-remove{width:32px;height:32px;border:0;border-radius:10px;background:#fff0f0;color:#d64848;font-size:20px;cursor:pointer}.kq115-choice-remove:disabled{opacity:.35;cursor:not-allowed}.kq115-section-manager{margin-top:18px;border:1px solid #dbe5f4!important;box-shadow:0 16px 36px rgba(28,58,104,.08)!important;border-radius:22px!important;padding:20px!important}.kq115-manager-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:15px;border-bottom:1px solid #e6edf7}.kq115-manager-head h2{margin:3px 0 4px;font-size:22px;color:#183759}.kq115-manager-head p{margin:0;color:#7184a1;font-size:12px}.kq115-manager-summary{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.kq115-manager-summary b,.kq115-manager-summary span,.kq115-manager-summary em{font-style:normal;padding:7px 10px;border-radius:999px;background:#edf3ff;color:#3569ef;font-size:12px}.kq115-manager-summary em{background:#fff2e4;color:#9b6100}.kq115-add-section{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(180px,.7fr) auto;gap:10px;align-items:end;padding:14px 0}.kq115-add-section .field{margin:0!important}.kq115-lock-banner{margin:14px 0;padding:12px 14px;border-radius:14px;background:#fff6e8;border:1px solid #f1d69d;color:#8b5a00;font-size:12px;font-weight:700}.kq115-section-list{display:grid;gap:12px}.kq115-section-card{border:1px solid #dfe7f3;border-radius:17px;background:#fff;overflow:hidden}.kq115-section-card[open]{border-color:#bcd0f7;box-shadow:0 10px 24px rgba(40,80,140,.07)}.kq115-section-card summary{list-style:none;cursor:pointer;padding:14px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#fbfdff,#f5f8ff)}.kq115-section-card summary::-webkit-details-marker{display:none}.kq115-section-card summary>div{display:flex;align-items:center;gap:11px;min-width:0}.kq115-section-card summary>div>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#366df5,#7b55ef);color:#fff;font-weight:900}.kq115-section-card summary small{display:block;color:#7285a0;font-size:10px;text-transform:uppercase;letter-spacing:.03em}.kq115-section-card summary b{display:block;color:#173755;font-size:14px;margin-top:2px}.kq115-section-card summary em{font-style:normal;color:#3569ef;background:#edf3ff;border-radius:999px;padding:6px 10px;font-size:11px}.kq115-section-content{padding:15px;border-top:1px solid #e8edf5}.kq115-section-meta{display:grid;grid-template-columns:minmax(190px,1fr) 170px 90px minmax(220px,1.4fr) auto;gap:9px;align-items:end}.kq115-section-meta .field{margin:0!important}.kq115-section-search{margin-top:16px;display:flex;align-items:end;justify-content:space-between;gap:12px}.kq115-section-search b{display:block;font-size:13px}.kq115-section-search small{display:block;font-size:11px;color:#7184a1;margin-top:2px}.kq115-section-search input{max-width:320px;min-width:220px}.kq115-question-grid{margin-top:9px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:380px;overflow:auto;padding-right:3px}.kq115-question-grid label{display:flex;gap:9px;align-items:flex-start;padding:10px 11px;border:1px solid #e1e8f3;border-radius:13px;background:#fbfdff;cursor:pointer}.kq115-question-grid label:has(input:checked){border-color:#9fbbf5;background:#f1f6ff}.kq115-question-grid input{margin-top:3px}.kq115-question-grid b{display:block;font-size:11px;color:#243d60;line-height:1.45}.kq115-question-grid small{display:block;margin-top:3px;font-size:10px;color:#7184a1}.kq115-section-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;flex-wrap:wrap}.kq115-readonly-section{padding:14px;border-radius:13px;background:#f4f7fb;color:#6d7f98;font-size:12px}.kq115-preview-shell{max-width:980px;margin:0 auto;padding:6px 0 30px}.kq115-preview-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;border-radius:22px;background:linear-gradient(135deg,#14315d,#285fdc 70%,#6c51e8);color:#fff;box-shadow:0 18px 42px rgba(25,67,145,.2)}.kq115-preview-banner span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#b8d1ff}.kq115-preview-banner h1{margin:4px 0;font-size:27px;color:#fff}.kq115-preview-banner p{margin:0;color:#dbe7ff}.kq115-preview-banner>div:last-child{text-align:right;display:grid;gap:5px;justify-items:end}.kq115-preview-banner small{color:#dbe7ff}.kq115-preview-banner .button{margin-top:5px;background:#fff!important;color:#214fba!important;border:0!important}.kq115-preview-instructions{margin-top:14px;padding:15px 17px}.kq115-preview-instructions p{margin:5px 0 0;color:#5f728e}.kq115-preview-section{margin-top:14px;padding:0!important;overflow:hidden}.kq115-preview-section>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px;background:#f5f8ff;border-bottom:1px solid #e4eaf4}.kq115-preview-section header span{font-size:9px;letter-spacing:.12em;color:#4d74ce;font-weight:900}.kq115-preview-section header h2{margin:3px 0;font-size:18px;color:#183759}.kq115-preview-section header p{margin:0;color:#7184a1;font-size:11px}.kq115-preview-section header em{font-style:normal;border-radius:999px;background:#fff;color:#3569ef;padding:6px 9px;font-size:11px}.kq115-preview-question{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;padding:16px 18px;border-bottom:1px solid #edf1f6}.kq115-preview-question:last-child{border-bottom:0}.kq115-question-no{width:34px;height:34px;border-radius:11px;background:#edf3ff;color:#3569ef;display:grid;place-items:center;font-weight:900}.kq115-question-body h3{margin:3px 0 10px;font-size:15px;color:#233d5e;line-height:1.55}.kq115-question-body>img{max-width:100%;max-height:300px;border-radius:13px;margin-bottom:10px}.kq115-preview-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kq115-preview-choices>div{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:start;padding:9px 10px;border:1px solid #e1e8f3;border-radius:12px;background:#fbfdff}.kq115-preview-choices>div>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#edf3ff;color:#3569ef;font-weight:900}.kq115-preview-choices img{display:block;max-width:100%;max-height:140px;margin-top:6px;border-radius:9px}.kq115-empty{padding:18px;color:#8090a7;text-align:center}.kq115-first-section-picker .section-head small{display:block;color:#7184a1;margin-top:2px}
@media(max-width:1180px){.kq115-section-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.kq115-section-meta .wide{grid-column:1/-1}.kq115-section-meta .button{grid-column:1/-1}.kq115-question-grid{grid-template-columns:1fr}}
@media(max-width:760px){.kq115-builder-title{display:grid!important;grid-template-columns:44px minmax(0,1fr)!important}.kq115-builder-actions{grid-column:1/-1;margin-left:0;justify-content:stretch;width:100%}.kq115-builder-actions>*{flex:1 1 auto;justify-content:center}.kq115-section-note{grid-template-columns:1fr}.kq115-section-note a{grid-column:1;grid-row:auto}.kq115-choice-toolbar{align-items:flex-start;flex-direction:column}.kq115-choice-toolbar .button{width:100%;min-height:44px}.kq115-choice-row{grid-template-columns:28px 32px minmax(0,1fr) 34px!important;padding:10px!important}.kq115-choice-row input[type=file]{grid-column:3/5;width:100%;font-size:12px}.kq115-section-manager{padding:14px!important;border-radius:17px!important}.kq115-manager-head{flex-direction:column}.kq115-manager-summary{justify-content:flex-start}.kq115-add-section{grid-template-columns:1fr}.kq115-add-section .button{min-height:44px}.kq115-section-card summary{padding:12px}.kq115-section-content{padding:12px}.kq115-section-meta{grid-template-columns:1fr}.kq115-section-meta .wide,.kq115-section-meta .button{grid-column:auto}.kq115-section-meta input,.kq115-section-meta select,.kq115-add-section input,.kq115-add-section select,.kq115-section-search input{font-size:16px!important;min-height:44px}.kq115-section-search{align-items:stretch;flex-direction:column}.kq115-section-search input{min-width:0;max-width:none;width:100%}.kq115-question-grid{max-height:none;grid-template-columns:1fr}.kq115-question-grid label{min-height:52px}.kq115-section-actions{display:grid;grid-template-columns:1fr}.kq115-section-actions .button{min-height:44px}.kq115-preview-shell{padding:0 0 24px}.kq115-preview-banner{align-items:flex-start;flex-direction:column;padding:16px;border-radius:17px}.kq115-preview-banner h1{font-size:22px}.kq115-preview-banner>div:last-child{text-align:left;justify-items:start;width:100%}.kq115-preview-banner .button{width:100%;min-height:44px;justify-content:center}.kq115-preview-section>header{padding:13px 14px}.kq115-preview-question{grid-template-columns:32px minmax(0,1fr);padding:13px 12px}.kq115-question-no{width:30px;height:30px}.kq115-preview-choices{grid-template-columns:1fr}.kq115-preview-choices>div{min-height:48px}.kq115-first-section-picker{max-height:none!important}}

/* ============================================================
   v0.11.5.4 — Teacher Management + Admin Impersonation
   PC + Tablet + Smartphone Browser
   ============================================================ */
.admin-impersonation-bar{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:13px;align-items:center;padding:11px 26px;margin:0;background:linear-gradient(110deg,#fff6df 0%,#fff9ed 52%,#eef7ff 100%);border-bottom:1px solid #efd79c;box-shadow:0 8px 22px rgba(80,70,38,.08);position:sticky;top:82px;z-index:39}.admin-impersonation-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#f59e0b,#f7b733);color:#fff;box-shadow:0 9px 20px rgba(245,158,11,.25)}.admin-impersonation-icon .ui-icon{width:21px}.admin-impersonation-copy{min-width:0}.admin-impersonation-copy b{display:block;color:#794b00;font-size:14px}.admin-impersonation-copy span{display:block;color:#7d6a48;font-size:12px;margin-top:2px}.admin-impersonation-exit{margin:0}.profile-impersonation-return{margin:0}.profile-impersonation-return button{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:9px;padding:10px 12px;color:inherit;cursor:pointer;font:inherit;text-align:left}.profile-impersonation-return button:hover{background:var(--soft)}
.teacher-mgmt-shell,.teacher-edit-shell{display:grid;gap:18px}.teacher-mgmt-hero{display:grid;grid-template-columns:72px minmax(0,1fr) minmax(220px,300px);gap:18px;align-items:center;padding:22px 24px;border:1px solid #dce7f4;border-radius:24px;background:radial-gradient(circle at 7% 20%,rgba(61,115,255,.11),transparent 25%),linear-gradient(135deg,#fff,#f7faff);box-shadow:0 16px 42px rgba(26,60,108,.08)}.teacher-mgmt-hero-icon{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,#635bff,#4676ff);color:#fff;box-shadow:0 14px 28px rgba(75,91,232,.26)}.teacher-mgmt-hero-icon .ui-icon{width:30px}.teacher-mgmt-hero-copy span,.teacher-edit-top>div>span{font-size:11px;letter-spacing:.12em;font-weight:900;color:#42aeca}.teacher-mgmt-hero-copy h2,.teacher-edit-top h2{margin:4px 0 4px;color:#183451;font-size:25px}.teacher-mgmt-hero-copy p,.teacher-edit-top p{margin:0;color:#6f8498;font-size:13px}.teacher-mgmt-security{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:14px 16px;border-radius:18px;border:1px solid #d9e6f5;background:rgba(242,248,255,.78)}.teacher-mgmt-security b{display:flex;gap:7px;align-items:center;color:#3f65bc;font-size:11px}.teacher-mgmt-security b .ui-icon{width:16px}.teacher-mgmt-security span{font-size:11px;color:#71859a;margin-top:5px;line-height:1.55}
.teacher-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.teacher-kpi{min-height:112px;display:grid;grid-template-columns:48px 1fr;gap:13px;align-items:center;padding:17px;border:1px solid #e0e8f2;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(25,55,93,.055);position:relative;overflow:hidden}.teacher-kpi:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;right:-24px;top:-28px;background:currentColor;opacity:.06}.teacher-kpi>span{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;color:#fff}.teacher-kpi>span .ui-icon{width:22px}.teacher-kpi small,.teacher-kpi em{display:block}.teacher-kpi small{font-size:11px;color:#71849a;font-weight:800}.teacher-kpi b{display:block;font-size:26px;line-height:1.1;color:#183451;margin:3px 0}.teacher-kpi em{font-style:normal;font-size:10px;color:#91a0ae}.teacher-kpi.blue{color:#4b75f2}.teacher-kpi.green{color:#22b983}.teacher-kpi.violet{color:#8c5cf3}.teacher-kpi.amber{color:#f0a11f}.teacher-kpi.blue>span{background:linear-gradient(145deg,#4a7dff,#5264ef)}.teacher-kpi.green>span{background:linear-gradient(145deg,#21c08a,#18a977)}.teacher-kpi.violet>span{background:linear-gradient(145deg,#9c62f5,#7558eb)}.teacher-kpi.amber>span{background:linear-gradient(145deg,#f5ab28,#ee8f12)}
.teacher-filter-card{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;gap:14px;align-items:center;padding:14px 16px;border:1px solid #dce6f2;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(30,63,101,.05)}.teacher-filter-search{height:46px;display:grid;grid-template-columns:20px 1fr;gap:9px;align-items:center;padding:0 13px;border:1px solid #d7e2ee;border-radius:14px;background:#fbfdff}.teacher-filter-search:focus-within{border-color:#7597ff;box-shadow:0 0 0 3px rgba(76,111,239,.09)}.teacher-filter-search .ui-icon{width:18px;color:#7d94ac}.teacher-filter-search input{border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;min-width:0}.teacher-filter-tabs{display:flex;gap:6px;flex-wrap:wrap}.teacher-filter-chip{min-height:38px;border:1px solid #d8e3ef;border-radius:12px;background:#fff;color:#667d94;padding:7px 11px;font-weight:800;font-size:11px;cursor:pointer}.teacher-filter-chip.active{background:linear-gradient(135deg,#4c73f5,#5263ef);border-color:transparent;color:#fff;box-shadow:0 7px 15px rgba(76,99,239,.18)}.teacher-filter-count{white-space:nowrap;font-size:11px;color:#7890a7;font-weight:800}
.teacher-directory-list{display:grid;gap:12px}.teacher-directory-row{display:grid;grid-template-columns:minmax(230px,1.05fr) minmax(330px,1.7fr) minmax(145px,.65fr) minmax(180px,.8fr);align-items:stretch;border:1px solid #dfe8f2;border-left:4px solid #607ef4;border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(24,57,94,.055);overflow:hidden;transition:.18s ease}.teacher-directory-row:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(24,57,94,.09)}.teacher-directory-row.is-inactive{border-left-color:#f1a928;opacity:.86}.teacher-directory-identity,.teacher-directory-workload,.teacher-directory-account,.teacher-directory-actions{padding:17px 18px}.teacher-directory-identity{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:center}.teacher-avatar{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#eef3ff,#e7edff);color:#4a67d8;border:1px solid #d9e2ff;font-weight:950;font-size:18px}.teacher-avatar img{width:100%;height:100%;object-fit:cover}.teacher-name-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.teacher-name-line b{font-size:15px;color:#203b57}.teacher-name-line .badge{font-size:8px}.teacher-directory-identity span,.teacher-directory-identity small{display:block;color:#7790a6;margin-top:3px}.teacher-directory-identity span{font-size:10px}.teacher-directory-identity small{font-size:11px}.teacher-directory-workload,.teacher-directory-account,.teacher-directory-actions{border-left:1px solid #edf1f6}.teacher-workload-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.teacher-workload-head b{font-size:11px;color:#536d87}.teacher-workload-head span{font-size:9px;color:#91a0af}.teacher-subject-chips{display:flex;gap:6px;flex-wrap:wrap}.teacher-subject-chips span,.teacher-profile-chips span{display:inline-flex;align-items:center;min-height:29px;padding:5px 9px;border-radius:10px;border:1px solid #dce6f3;background:#f8fbff;color:#476783;font-size:10px;font-weight:750}.teacher-subject-chips .more{background:#edf2ff;color:#556be4}.teacher-subject-chips .empty-chip{background:#fff8e9;border-color:#f2dfb3;color:#9a762a}.teacher-directory-account{display:flex;flex-direction:column;justify-content:center}.teacher-directory-account>small{color:#90a0b1;font-size:9px;text-transform:uppercase;letter-spacing:.07em}.teacher-directory-account>b{font-size:12px;color:#31516e;margin:4px 0}.teacher-account-state{display:inline-flex;width:max-content;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:850}.teacher-account-state.ok{background:#e8f8f2;color:#118565}.teacher-account-state.off{background:#fff1e7;color:#bc641f}.teacher-directory-account em{font-size:9px;color:#d48b20;font-style:normal;margin-top:4px}.teacher-directory-actions{display:flex;flex-direction:column;justify-content:center;gap:7px}.teacher-directory-actions form{margin:0}.teacher-directory-actions .button{width:100%;justify-content:center;min-height:38px;font-size:10px}.teacher-directory-actions .ui-icon{width:14px}.teacher-impersonate-btn{background:linear-gradient(135deg,#425ff0,#586ff8)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 8px 17px rgba(66,95,240,.18)!important}.teacher-empty{padding:48px;text-align:center;border:1px dashed #d9e4ef;border-radius:20px;color:#7890a7;background:#fbfdff}
.teacher-edit-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;padding:20px 22px;border:1px solid #dce6f2;border-radius:22px;background:linear-gradient(135deg,#fff,#f8fbff);box-shadow:0 12px 30px rgba(22,55,92,.06)}.teacher-back-link{grid-column:1/-1;color:#58728d;font-size:11px;font-weight:800;text-decoration:none}.teacher-edit-top-actions form{margin:0}.teacher-edit-grid{display:grid;grid-template-columns:270px minmax(0,1fr);gap:16px;align-items:start}.teacher-profile-panel,.teacher-form-section,.teacher-admin-tools,.teacher-audit-card{border:1px solid #dfe8f2;border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(24,57,94,.05)}.teacher-profile-panel{padding:22px;text-align:center;position:sticky;top:104px}.teacher-profile-photo{width:96px;height:96px;border-radius:30px;margin:0 auto 13px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#eaf0ff,#dfe9ff);border:1px solid #d1ddff;color:#536ee4;font-size:28px;font-weight:950;box-shadow:0 14px 28px rgba(69,96,218,.12)}.teacher-profile-photo img{width:100%;height:100%;object-fit:cover}.teacher-profile-panel h3{margin:0;color:#1e3a56;font-size:18px}.teacher-profile-panel>p{margin:5px 0 15px;color:#7d91a4;font-size:11px}.teacher-profile-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.teacher-profile-meta span{padding:10px 6px;border-radius:14px;background:#f7faff;color:#74889b;font-size:9px}.teacher-profile-meta b{display:block;color:#31516e;font-size:18px}.teacher-profile-chips{display:flex;flex-wrap:wrap;gap:5px;justify-content:center}.teacher-edit-main{display:grid;gap:14px}.teacher-edit-form{display:grid;gap:14px}.teacher-form-section{padding:18px}.teacher-form-section-head{display:flex;gap:11px;align-items:center;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #edf2f6}.teacher-form-section-head>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#edf2ff;color:#536aea;font-size:11px;font-weight:900}.teacher-form-section-head b{display:block;color:#27445f;font-size:14px}.teacher-form-section-head small{display:block;color:#8a9bab;font-size:10px;margin-top:2px}.teacher-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.teacher-form-grid label{display:block;min-width:0}.teacher-form-grid label>span{display:block;color:#5a7188;font-size:11px;font-weight:800;margin-bottom:6px}.teacher-form-grid label>small{display:block;color:#98a6b4;font-size:9px;margin-top:5px}.teacher-form-grid .wide,.teacher-account-info.wide{grid-column:1/-1}.teacher-form-grid input,.teacher-form-grid select,.teacher-form-grid textarea{width:100%;min-height:44px;border:1px solid #d7e2ee;border-radius:13px;background:#fbfdff;padding:10px 12px;font:inherit;color:#29465f}.teacher-form-grid textarea{resize:vertical}.teacher-form-grid input:focus,.teacher-form-grid select:focus,.teacher-form-grid textarea:focus{outline:0;border-color:#7b96f5;box-shadow:0 0 0 3px rgba(77,105,237,.08)}.teacher-form-grid input:disabled{background:#f2f5f8;color:#91a0af}.teacher-account-info{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:12px;border-radius:14px;background:#f6f9fd;border:1px solid #e2e9f1}.teacher-account-info span{font-size:10px;color:#7d90a3}.teacher-account-info b{font-size:11px;color:#31516e}.teacher-account-info small{font-size:9px;color:#9aa7b4}.teacher-no-account{padding:16px;border:1px dashed #e5c98c;border-radius:14px;background:#fff8e8;color:#926f25;font-size:11px}.teacher-edit-savebar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border:1px solid #d8e5f4;border-radius:18px;background:linear-gradient(135deg,#f7faff,#fff);position:sticky;bottom:12px;z-index:4;box-shadow:0 10px 28px rgba(28,61,101,.1)}.teacher-edit-savebar span{font-size:10px;color:#7a8fa4}.teacher-edit-savebar .button{min-width:170px;justify-content:center}.teacher-admin-tools{display:flex;align-items:center;gap:9px;padding:14px 16px;flex-wrap:wrap}.teacher-admin-tools>div{margin-right:auto}.teacher-admin-tools b{display:block;color:#28445f;font-size:12px}.teacher-admin-tools small{display:block;color:#8c9cab;font-size:9px;margin-top:2px}.teacher-admin-tools form{margin:0}.teacher-audit-card{padding:16px}.teacher-audit-list{display:grid;gap:8px}.teacher-audit-list>div{display:grid;grid-template-columns:10px 1fr;gap:8px;align-items:start}.teacher-audit-list>div>span{width:8px;height:8px;border-radius:50%;background:#5d79ed;margin-top:5px;box-shadow:0 0 0 4px #edf1ff}.teacher-audit-list p{margin:0}.teacher-audit-list b{display:block;color:#4e6981;font-size:10px}.teacher-audit-list small{display:block;color:#94a2af;font-size:9px;margin-top:2px}.teacher-audit-empty{padding:22px;text-align:center;color:#8a9cac;font-size:10px}
html[data-theme="dark"] .teacher-mgmt-hero,html[data-theme="dark"] .teacher-kpi,html[data-theme="dark"] .teacher-filter-card,html[data-theme="dark"] .teacher-directory-row,html[data-theme="dark"] .teacher-edit-top,html[data-theme="dark"] .teacher-profile-panel,html[data-theme="dark"] .teacher-form-section,html[data-theme="dark"] .teacher-admin-tools,html[data-theme="dark"] .teacher-audit-card{background:#0b2038;border-color:rgba(117,154,201,.17)}html[data-theme="dark"] .teacher-directory-workload,html[data-theme="dark"] .teacher-directory-account,html[data-theme="dark"] .teacher-directory-actions{border-left-color:rgba(117,154,201,.13)}html[data-theme="dark"] .teacher-form-grid input,html[data-theme="dark"] .teacher-form-grid select,html[data-theme="dark"] .teacher-form-grid textarea,html[data-theme="dark"] .teacher-filter-search{background:#0d2743;border-color:rgba(118,156,202,.19);color:#dbe8f4}html[data-theme="dark"] .admin-impersonation-bar{background:linear-gradient(110deg,#3a2a10,#302b1b 55%,#112a43);border-color:#594820}
@media(max-width:1120px){.teacher-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-mgmt-hero{grid-template-columns:64px minmax(0,1fr)}.teacher-mgmt-security{grid-column:1/-1}.teacher-filter-card{grid-template-columns:1fr}.teacher-filter-count{justify-self:end}.teacher-directory-row{grid-template-columns:minmax(220px,1fr) minmax(300px,1.45fr) minmax(170px,.8fr)}.teacher-directory-actions{grid-column:1/-1;border-left:0;border-top:1px solid #edf1f6;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 14px}.teacher-edit-grid{grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:760px){.admin-impersonation-bar{grid-template-columns:40px minmax(0,1fr);padding:10px 14px;top:70px}.admin-impersonation-copy b{font-size:12px}.admin-impersonation-copy span{font-size:10px}.admin-impersonation-exit{grid-column:1/-1}.admin-impersonation-exit .button{width:100%;min-height:44px}.teacher-mgmt-shell,.teacher-edit-shell{gap:12px}.teacher-mgmt-hero{grid-template-columns:52px 1fr;padding:16px;border-radius:19px}.teacher-mgmt-hero-icon{width:50px;height:50px;border-radius:16px}.teacher-mgmt-hero-copy h2,.teacher-edit-top h2{font-size:20px}.teacher-mgmt-security{grid-column:1/-1}.teacher-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.teacher-kpi{grid-template-columns:38px 1fr;min-height:92px;padding:12px}.teacher-kpi>span{width:38px;height:38px;border-radius:12px}.teacher-kpi b{font-size:22px}.teacher-filter-card{padding:11px}.teacher-filter-search{height:46px}.teacher-filter-search input,.teacher-form-grid input,.teacher-form-grid select,.teacher-form-grid textarea{font-size:16px!important}.teacher-filter-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.teacher-filter-chip{min-height:42px}.teacher-directory-row{display:block;border-radius:19px}.teacher-directory-identity,.teacher-directory-workload,.teacher-directory-account,.teacher-directory-actions{padding:14px}.teacher-directory-workload,.teacher-directory-account,.teacher-directory-actions{border-left:0;border-top:1px solid #edf1f6}.teacher-directory-actions{display:grid;grid-template-columns:1fr}.teacher-directory-actions .button{min-height:44px;font-size:11px}.teacher-workload-head{align-items:flex-start;flex-direction:column}.teacher-edit-top{grid-template-columns:1fr;padding:16px}.teacher-edit-top-actions .button{width:100%;min-height:44px}.teacher-edit-grid{grid-template-columns:1fr}.teacher-profile-panel{position:static}.teacher-profile-photo{width:82px;height:82px;border-radius:25px}.teacher-form-section{padding:14px;border-radius:19px}.teacher-form-grid{grid-template-columns:1fr}.teacher-form-grid .wide,.teacher-account-info.wide{grid-column:auto}.teacher-form-grid input,.teacher-form-grid select{min-height:46px}.teacher-edit-savebar{position:static;display:grid;grid-template-columns:1fr}.teacher-edit-savebar .button{width:100%;min-height:46px}.teacher-admin-tools{display:grid;grid-template-columns:1fr}.teacher-admin-tools>div{margin:0}.teacher-admin-tools .button{width:100%;min-height:44px}.teacher-admin-tools form{width:100%}}
@media(max-width:430px){.teacher-kpi-grid{grid-template-columns:1fr 1fr}.teacher-kpi{grid-template-columns:1fr;gap:7px}.teacher-kpi>span{width:34px;height:34px}.teacher-kpi em{display:none}.teacher-filter-tabs{grid-template-columns:1fr 1fr}.teacher-subject-chips span{max-width:100%;white-space:normal}.teacher-directory-identity{grid-template-columns:48px 1fr}.teacher-avatar{width:48px;height:48px}.teacher-mgmt-hero-copy p{font-size:11px}.teacher-mgmt-security{display:none}}


/* ============================================================
   v0.11.5.5 — KQ Exam Creation Wizard UX Rebuild
   Admin owns exam dates; teacher selects subject + multiple rooms,
   builds the paper, previews the real student view, then confirms.
   Desktop + tablet + smartphone browser.
   ============================================================ */
.kq1155-wizard-home,.kq1155-builder-page,.kq1155-preview-page{max-width:1180px;margin:0 auto;padding:22px 22px 38px;color:#173253}
.kq1155-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:6px 0 18px;padding:4px 2px}.kq1155-page-head h1{font-size:30px;line-height:1.14;margin:7px 0 7px;color:#142f50;letter-spacing:-.5px}.kq1155-page-head p{margin:0;color:#6a7f9c;font-size:14px;max-width:760px}.kq1155-page-head .eyebrow{font-size:11px;letter-spacing:.11em;font-weight:800;color:#31a7d7}.kq1155-semester{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:14px;background:linear-gradient(135deg,#eef6ff,#f7f9ff);border:1px solid #d7e6fb;color:#45617f;font-size:13px;font-weight:700;white-space:nowrap}
.kq1155-stepper{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 18px}.kq1155-stepper>span{display:flex;align-items:center;gap:10px;min-height:58px;padding:11px 14px;border-radius:17px;border:1px solid #dce7f4;background:rgba(255,255,255,.82);color:#7588a1;font-size:13px;font-weight:700;box-shadow:0 8px 22px rgba(27,67,111,.05)}.kq1155-stepper b{display:grid;place-items:center;width:30px;height:30px;border-radius:11px;background:#edf3fa;color:#7390b0;font-size:13px}.kq1155-stepper em{font-style:normal}.kq1155-stepper .active{border-color:#9fc3ff;background:linear-gradient(135deg,#f5f9ff,#fff);color:#1f4b86;box-shadow:0 12px 26px rgba(54,100,244,.11)}.kq1155-stepper .active b{background:linear-gradient(135deg,#3768f4,#596cf4);color:white;box-shadow:0 6px 14px rgba(55,104,244,.25)}.kq1155-stepper .done b{background:#dff7ef;color:#15966f}.kq1155-stepper.compact{margin-top:2px}.kq1155-stepper.compact>span{min-height:48px}
.kq1155-intro-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;margin-bottom:18px;border:1px solid #d8e6f7;background:linear-gradient(120deg,#f8fbff,#ffffff 70%);box-shadow:0 12px 30px rgba(29,68,112,.07);border-radius:20px}.kq1155-intro-card div{display:flex;flex-direction:column;gap:4px}.kq1155-intro-card b{font-size:15px;color:#264b77}.kq1155-intro-card span{font-size:13px;color:#71849e}
.kq1155-group-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.kq1155-subject-card{padding:0!important;overflow:hidden;border:1px solid #dbe6f4!important;border-radius:22px!important;box-shadow:0 13px 34px rgba(30,67,107,.075)!important;background:white!important}.kq1155-subject-card>header{display:flex;justify-content:space-between;gap:18px;padding:20px 20px 16px;background:linear-gradient(135deg,#fbfdff,#f2f7ff);border-bottom:1px solid #e4edf8}.kq1155-subject-card header span{display:inline-block;font-size:11px;font-weight:800;color:#5b77f3;letter-spacing:.04em;margin-bottom:4px}.kq1155-subject-card header h2{margin:0 0 4px;font-size:20px;color:#173253}.kq1155-subject-card header p{margin:0;font-size:12px;color:#788ba3}.kq1155-subject-card header>b{align-self:flex-start;padding:7px 10px;border-radius:11px;background:#e9f7f1;color:#188263;font-size:11px;white-space:nowrap}.kq1155-room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:16px 18px}.kq1155-room-check{position:relative;display:flex;align-items:center;gap:10px;min-height:62px;padding:11px 12px;border:1px solid #dbe6f4;border-radius:15px;background:#fff;cursor:pointer;transition:.16s ease}.kq1155-room-check:hover{border-color:#9abaff;box-shadow:0 5px 15px rgba(72,104,210,.09);transform:translateY(-1px)}.kq1155-room-check input{width:19px;height:19px;accent-color:#4167ef;flex:0 0 auto}.kq1155-room-check span{display:flex;flex-direction:column;min-width:0}.kq1155-room-check b{font-size:14px;color:#294966}.kq1155-room-check small{font-size:11px;color:#8293a7;margin-top:2px}.kq1155-room-check:has(input:checked){border-color:#6e91f7;background:#f3f6ff;box-shadow:inset 0 0 0 1px #9cb4ff}.kq1155-room-check.used{cursor:not-allowed;background:#f7f8fa;opacity:.72}.kq1155-subject-card>footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-top:1px solid #edf1f6;background:#fcfdff}.kq1155-subject-card footer>span{font-size:11px;color:#71849b}.kq1155-subject-card footer .button{min-width:190px}
.kq1155-empty{grid-column:1/-1;padding:32px!important;text-align:center}.kq1155-empty h2{font-size:19px;margin:0 0 6px}.kq1155-empty p{margin:0;color:#778ba5}
.kq1155-existing{margin-top:18px!important;border-radius:22px!important;padding:18px 20px!important}.kq1155-exam-list{display:flex;flex-direction:column;border-top:1px solid #e5edf6;margin-top:12px}.kq1155-exam-list article{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 3px;border-bottom:1px solid #edf2f7}.kq1155-exam-list article>div:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}.kq1155-exam-list article>div:first-child span{font-size:10px;font-weight:800;color:#6b81f3}.kq1155-exam-list article>div:first-child b{font-size:15px}.kq1155-exam-list article>div:first-child small{color:#7d8da3}.kq1155-exam-list article>div:last-child{display:flex;align-items:center;gap:8px}.kq1155-exam-list em,.kq1155-builder-status>span{font-style:normal;padding:6px 9px;border-radius:10px;font-size:10px;font-weight:800}.kq1155-exam-list em.ready,.kq1155-builder-status>span.ready{background:#e4f8f0;color:#138267}.kq1155-exam-list em.draft,.kq1155-builder-status>span.draft{background:#fff2d8;color:#a86c00}
.kq1155-page-head.builder{align-items:center;margin-bottom:12px}.kq1155-back{display:inline-block;margin-bottom:8px;font-size:12px;font-weight:700;color:#58739b}.kq1155-builder-status{display:flex;align-items:center;gap:10px}.kq1155-context-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.75fr);gap:16px;padding:15px 18px;margin-bottom:16px;border-radius:18px;border:1px solid #dce7f4;background:linear-gradient(125deg,#f7fbff,#fff);box-shadow:0 9px 25px rgba(28,64,102,.05)}.kq1155-context-bar>div{display:flex;flex-direction:column;gap:5px}.kq1155-context-bar small{font-size:10px;font-weight:800;color:#7b8da3;text-transform:uppercase;letter-spacing:.05em}.kq1155-context-bar>div:first-child>div{display:flex;flex-wrap:wrap;gap:6px}.kq1155-context-bar>div:first-child span{padding:6px 9px;border-radius:10px;background:#eef4ff;color:#3d5c8e;font-size:12px;font-weight:700}.kq1155-context-bar b{font-size:13px;color:#2c4968}.kq1155-context-bar em{font-style:normal;font-size:11px;color:#7d8fa5}
.kq1155-builder-page>.card{border-radius:22px!important;border:1px solid #dce7f3!important;box-shadow:0 14px 34px rgba(24,61,101,.07)!important;margin-bottom:16px!important}.kq1155-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:15px;margin-bottom:16px;border-bottom:1px solid #e6edf5}.kq1155-card-head>div>span{font-size:10px;font-weight:900;letter-spacing:.09em;color:#4b69ef}.kq1155-card-head h2{font-size:19px;margin:3px 0 4px;color:#193653}.kq1155-card-head p{margin:0;color:#778aa0;font-size:12px}.kq1155-card-head>span,.kq1155-card-head>b{font-size:11px;color:#71849b;font-weight:700;white-space:nowrap}.kq1155-format-card,.kq1155-section-manager,.kq1155-question-create{padding:20px!important}.kq1155-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 15px}.kq1155-option-grid>label{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid #dce7f4;border-radius:15px;background:#fbfdff;cursor:pointer}.kq1155-option-grid input{width:18px;height:18px;margin-top:1px;accent-color:#4167ef}.kq1155-option-grid span{display:flex;flex-direction:column}.kq1155-option-grid b{font-size:13px}.kq1155-option-grid small{font-size:11px;color:#7f91a6;margin-top:3px}
.kq1155-add-section{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;gap:10px;padding:12px;border-radius:16px;background:#f6f9fd;border:1px dashed #cfddec;margin-bottom:12px}.kq1155-add-section input,.kq1155-add-section select{min-height:42px}.kq1155-section-list{display:flex;flex-direction:column;gap:10px}.kq1155-section-card{border:1px solid #dbe5f2;border-radius:17px;background:white;overflow:hidden}.kq1155-section-card>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;cursor:pointer;background:#fbfcff}.kq1155-section-card>summary::-webkit-details-marker{display:none}.kq1155-section-card summary>div{display:flex;align-items:center;gap:11px}.kq1155-section-card summary>div>span{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#eaf1ff;color:#4265e7;font-weight:800}.kq1155-section-card summary div div{display:flex;flex-direction:column}.kq1155-section-card summary small{font-size:9px;color:#8092a7;font-weight:800}.kq1155-section-card summary b{font-size:14px;color:#294661}.kq1155-section-card summary em{font-style:normal;padding:5px 9px;border-radius:9px;background:#f0f4f9;color:#6c819b;font-size:10px;font-weight:800}.kq1155-section-body{padding:15px;border-top:1px solid #e8eef5}.kq1155-section-meta{display:grid;grid-template-columns:1.2fr .8fr 100px;gap:10px;align-items:end}.kq1155-section-meta .wide{grid-column:1/3}.kq1155-section-meta>.button{min-height:42px}.kq1155-bank-picker{margin-top:15px;padding-top:15px;border-top:1px solid #edf2f7}.kq1155-bank-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:9px}.kq1155-bank-head>div{display:flex;flex-direction:column}.kq1155-bank-head b{font-size:13px}.kq1155-bank-head small{font-size:10px;color:#7d90a6}.kq1155-bank-head input{max-width:260px;min-height:38px}.kq1155-bank-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:300px;overflow:auto;padding:2px}.kq1155-bank-list label{display:flex;gap:9px;padding:10px 11px;border:1px solid #e0e8f2;border-radius:12px;background:#fff;cursor:pointer}.kq1155-bank-list label:has(input:checked){border-color:#8aa7f5;background:#f4f7ff}.kq1155-bank-list input{margin-top:2px;accent-color:#4167ef}.kq1155-bank-list span{display:flex;flex-direction:column;min-width:0}.kq1155-bank-list b{font-size:11px;line-height:1.45;color:#34506d}.kq1155-bank-list small{font-size:9px;color:#8496aa}.kq1155-section-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}
.kq1155-question-create form>.field{margin-bottom:12px}.kq1155-question-create textarea{min-height:112px}.kq1155-question-create .kq115-choice-row{grid-template-columns:30px 34px minmax(180px,1fr) minmax(150px,.7fr) 34px;gap:8px}.kq1155-question-create .kq115-choice-row input[type=file]{font-size:11px}
.kq1155-builder-next{position:sticky;bottom:12px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px;margin-top:18px;border:1px solid #cfddf0;border-radius:18px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 12px 34px rgba(18,50,89,.16)}.kq1155-builder-next>div{display:flex;flex-direction:column}.kq1155-builder-next b{font-size:13px}.kq1155-builder-next span{font-size:10px;color:#7b8da3;margin-top:2px}.kq1155-builder-next .button{min-width:210px}
.kq1155-preview-page{max-width:980px}.kq1155-preview-banner{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin:12px 0 15px;padding:22px;border-radius:23px;background:linear-gradient(135deg,#16375f,#235d9d 58%,#4766ee);color:white;box-shadow:0 18px 42px rgba(24,61,101,.2)}.kq1155-preview-banner .eyebrow{color:#9fe8ff}.kq1155-preview-banner h1{font-size:27px;margin:6px 0;color:white}.kq1155-preview-banner p{margin:0;color:#d9e7f8;font-size:13px}.kq1155-preview-meta{display:flex;flex-direction:column;text-align:right;gap:4px}.kq1155-preview-meta span{font-size:12px}.kq1155-preview-meta b{font-size:10px;color:#c7daf2}.kq1155-validation{padding:13px 16px;margin-bottom:14px;border-radius:16px;display:flex;justify-content:space-between;gap:18px}.kq1155-validation.success{background:#eaf9f3;border:1px solid #bfe8d9;color:#176e58}.kq1155-validation.error{display:block;background:#fff4e5;border:1px solid #f2d3a0;color:#8a5a13}.kq1155-validation b{font-size:13px}.kq1155-validation span,.kq1155-validation li{font-size:11px}.kq1155-validation ul{margin:7px 0 0;padding-left:18px}.kq1155-student-paper{display:flex;flex-direction:column;gap:15px}.kq1155-paper-section{background:white;border:1px solid #dfe7f1;border-radius:21px;overflow:hidden;box-shadow:0 12px 30px rgba(24,59,95,.06)}.kq1155-paper-section>header{display:flex;justify-content:space-between;gap:18px;padding:18px 20px;background:#f7f9fc;border-bottom:1px solid #e6edf4}.kq1155-paper-section header span{font-size:9px;font-weight:900;color:#5e76ea}.kq1155-paper-section header h2{font-size:18px;margin:2px 0}.kq1155-paper-section header p{font-size:11px;margin:3px 0 0;color:#7e8fa3}.kq1155-paper-section header em{font-style:normal;font-size:11px;color:#6f839b}.kq1155-paper-question{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;padding:18px 20px;border-bottom:1px solid #edf1f5}.kq1155-paper-question:last-child{border-bottom:0}.kq1155-paper-no{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#eef3ff;color:#4164e4;font-size:13px;font-weight:900}.kq1155-paper-question h3{font-size:15px;line-height:1.6;margin:3px 0 13px;color:#203b58}.kq1155-paper-question img{max-width:min(100%,620px);border-radius:12px;margin:7px 0}.kq1155-paper-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kq1155-paper-choices>div{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid #e0e8f2;border-radius:13px}.kq1155-paper-choices>div>span{display:grid;place-items:center;flex:0 0 auto;width:28px;height:28px;border-radius:9px;background:#f0f4f9;color:#5f7691;font-size:11px;font-weight:800}.kq1155-paper-choices p{margin:4px 0 0;font-size:12px;line-height:1.45}.kq1155-preview-actions{position:sticky;bottom:12px;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:13px 14px;border:1px solid #d6e1ef;border-radius:18px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);box-shadow:0 14px 38px rgba(20,53,90,.16)}.kq1155-preview-actions>div{display:flex;align-items:center;gap:10px}.kq1155-preview-actions form{margin:0}.kq1155-confirmed{font-size:10px;font-weight:800;color:#188264}.kq1155-preview-actions button:disabled{opacity:.45;cursor:not-allowed}

@media(max-width:1120px){.kq1155-wizard-home,.kq1155-builder-page,.kq1155-preview-page{padding-left:18px;padding-right:18px}.kq1155-group-list{grid-template-columns:1fr}.kq1155-context-bar{grid-template-columns:1fr 1fr}.kq1155-bank-list{grid-template-columns:1fr}.kq1155-section-meta{grid-template-columns:1fr 1fr 90px}.kq1155-question-create .kq115-choice-row{grid-template-columns:30px 32px minmax(140px,1fr) minmax(130px,.7fr) 32px}}
@media(max-width:760px){.kq1155-wizard-home,.kq1155-builder-page,.kq1155-preview-page{padding:14px 12px 88px}.kq1155-page-head,.kq1155-page-head.builder{display:flex;align-items:flex-start;flex-direction:column;gap:11px}.kq1155-page-head h1{font-size:24px}.kq1155-semester{min-height:38px}.kq1155-stepper{grid-template-columns:1fr;gap:6px}.kq1155-stepper>span{min-height:45px;padding:8px 11px}.kq1155-stepper.compact{grid-template-columns:repeat(3,1fr);gap:5px}.kq1155-stepper.compact>span{justify-content:center;text-align:center;flex-direction:column;gap:4px;font-size:9px;min-height:59px}.kq1155-stepper.compact b{width:25px;height:25px}.kq1155-intro-card{align-items:flex-start;flex-direction:column}.kq1155-room-grid{grid-template-columns:1fr;padding:13px}.kq1155-subject-card>header{padding:16px}.kq1155-subject-card>footer{align-items:stretch;flex-direction:column}.kq1155-subject-card footer .button{width:100%;min-width:0;min-height:44px}.kq1155-exam-list article{align-items:flex-start;flex-direction:column}.kq1155-exam-list article>div:last-child{width:100%;flex-wrap:wrap}.kq1155-builder-status{width:100%;justify-content:space-between}.kq1155-context-bar{grid-template-columns:1fr}.kq1155-card-head{flex-direction:column}.kq1155-card-head>span,.kq1155-card-head>b{white-space:normal}.kq1155-format-card,.kq1155-section-manager,.kq1155-question-create{padding:15px!important}.kq1155-option-grid{grid-template-columns:1fr}.kq1155-add-section{grid-template-columns:1fr}.kq1155-section-meta{grid-template-columns:1fr}.kq1155-section-meta .wide{grid-column:auto}.kq1155-bank-head{align-items:stretch;flex-direction:column}.kq1155-bank-head input{max-width:none;width:100%}.kq1155-section-actions{align-items:stretch;flex-direction:column}.kq1155-question-create .kq115-choice-row{grid-template-columns:28px 30px minmax(0,1fr) 32px}.kq1155-question-create .kq115-choice-row input[type=file]{grid-column:3/5;width:100%}.kq1155-builder-next{bottom:7px;align-items:stretch;flex-direction:column}.kq1155-builder-next .button{width:100%;min-width:0;min-height:46px}.kq1155-preview-banner{align-items:flex-start;flex-direction:column;padding:18px}.kq1155-preview-banner h1{font-size:22px}.kq1155-preview-meta{text-align:left}.kq1155-validation{align-items:flex-start;flex-direction:column}.kq1155-paper-choices{grid-template-columns:1fr}.kq1155-paper-question{grid-template-columns:32px minmax(0,1fr);padding:15px 13px}.kq1155-paper-section>header{padding:15px}.kq1155-preview-actions{align-items:stretch;flex-direction:column}.kq1155-preview-actions>a,.kq1155-preview-actions>div,.kq1155-preview-actions form,.kq1155-preview-actions button{width:100%}.kq1155-preview-actions>div{flex-direction:column;align-items:stretch}.kq1155-wizard-home input,.kq1155-wizard-home select,.kq1155-builder-page input,.kq1155-builder-page select,.kq1155-builder-page textarea,.kq1155-preview-page input,.kq1155-preview-page select,.kq1155-preview-page textarea{font-size:16px!important}.kq1155-builder-page .button,.kq1155-wizard-home .button,.kq1155-preview-page .button{min-height:44px}}
@media(max-width:430px){.kq1155-page-head h1{font-size:22px}.kq1155-stepper.compact>span{padding:6px 4px}.kq1155-context-bar{padding:13px}.kq1155-room-check{min-height:58px}.kq1155-paper-question h3{font-size:14px}.kq1155-section-card>summary{padding:12px}.kq1155-section-body{padding:12px}}

/* ============================================================
   v0.11.5.6 — KQ Simple Question Card Builder UX/UI
   Desktop + Tablet + Smartphone Browser
   ============================================================ */
.kq1156-simple-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0 12px;padding:0 2px}.kq1156-simple-head h2{margin:3px 0 4px;font-size:22px;color:#203b58}.kq1156-simple-head p{margin:0;color:#75899f;font-size:12px;line-height:1.55}.kq1156-count{display:flex;align-items:baseline;gap:5px;min-width:86px;justify-content:center;padding:11px 16px;border-radius:17px;background:linear-gradient(145deg,#173b68,#285f9b);color:#fff;box-shadow:0 12px 26px rgba(16,52,92,.18)}.kq1156-count b{font-size:24px}.kq1156-count span{font-size:10px;font-weight:800;opacity:.78}
.kq1156-advanced{padding:0!important;overflow:hidden;margin-bottom:13px;border-color:#dce6f1!important}.kq1156-advanced>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;cursor:pointer;background:linear-gradient(180deg,#fff,#f9fbfe)}.kq1156-advanced>summary::-webkit-details-marker{display:none}.kq1156-advanced>summary>div{display:flex;flex-direction:column;gap:2px}.kq1156-advanced>summary b{font-size:12px;color:#294762}.kq1156-advanced>summary small{font-size:9.5px;color:#8092a6}.kq1156-advanced>summary>span{padding:6px 10px;border-radius:10px;background:#edf3ff;color:#4265e8;font-size:9px;font-weight:850}.kq1156-advanced[open]>summary{border-bottom:1px solid #e7edf4}.kq1156-advanced>form{padding:15px}.kq1156-advanced-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.kq1156-advanced-foot>span{font-size:9px;color:#7890a8}
.kq1156-question-list{display:grid;gap:12px;min-width:0}.kq1156-empty-questions{text-align:center;padding:34px 22px!important;border-style:dashed!important;background:linear-gradient(180deg,#fff,#f8fbff)!important}.kq1156-empty-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;margin:0 auto 10px;background:linear-gradient(145deg,#466cf1,#37b9ee);color:#fff;font-size:19px;font-weight:900;box-shadow:0 12px 25px rgba(54,102,231,.22)}.kq1156-empty-questions h3{margin:0 0 5px;font-size:17px;color:#243f5d}.kq1156-empty-questions p{margin:0 0 15px;color:#7b90a6;font-size:11px}
.kq1156-auto-group{display:flex;align-items:center;gap:9px;margin:5px 2px -3px;color:#5f7691}.kq1156-auto-group span{padding:4px 7px;border-radius:8px;background:#eef4ff;color:#4a67de;font-size:8px;font-weight:900;letter-spacing:.04em}.kq1156-auto-group b{font-size:11px}
.kq1156-question-card{padding:0!important;overflow:hidden;border-radius:20px!important;box-shadow:0 10px 28px rgba(25,57,92,.07)!important}.kq1156-question-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid #e8eef5;background:linear-gradient(180deg,#fff,#fbfcff)}.kq1156-qno{font-size:14px;font-weight:900;color:#26445f}.kq1156-qmeta{display:flex;align-items:center;gap:7px}.kq1156-qmeta>span{padding:5px 8px;border-radius:999px;font-size:8.5px;font-weight:850;background:#edf3ff;color:#4266df}.kq1156-qmeta>span.kind-true-false{background:#e9f8f2;color:#168365}.kq1156-qmeta>span.kind-vocabulary{background:#fff1dc;color:#a66b14}.kq1156-qmeta small{font-size:8.5px;color:#8194aa}.kq1156-qbody{padding:17px 18px}.kq1156-qbody h3{margin:0 0 12px;color:#203b58;font-size:15px;line-height:1.62;font-weight:750}.kq1156-qimage{display:block;max-width:min(100%,560px);max-height:330px;object-fit:contain;border-radius:14px;border:1px solid #e1e8f1;margin:8px 0 13px}.kq1156-choice-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kq1156-choice-preview>div{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 10px;border:1px solid #e1e8f1;border-radius:12px;background:#fbfcfe}.kq1156-choice-preview>div>span{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:#eef3f8;color:#60768e;font-size:10px;font-weight:900}.kq1156-choice-preview p{margin:0;font-size:11px;color:#38536f;line-height:1.4}.kq1156-choice-preview b{font-size:8px;color:#158164;white-space:nowrap}.kq1156-choice-preview>div.correct{border-color:#b9e5d6;background:#f1fbf7}.kq1156-tf-preview{display:flex;gap:8px}.kq1156-tf-preview span{min-width:110px;padding:10px 14px;border:1px solid #e0e8f2;border-radius:12px;text-align:center;font-size:11px;font-weight:800;color:#647b94;background:#fbfcfe}.kq1156-tf-preview span.correct{background:#edf9f4;border-color:#bce5d7;color:#147b60}.kq1156-vocab-preview{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 12px;border-radius:13px;background:#fff8eb;border:1px solid #f2d7aa}.kq1156-vocab-preview span{font-size:10px;color:#90631d}.kq1156-vocab-preview b{font-size:11px;color:#68440f}.kq1156-vocab-preview small{font-size:8.5px;color:#a57834}.kq1156-question-card>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:#f9fbfd;border-top:1px solid #e9eef4}.kq1156-question-card footer form{margin:0}.kq1156-order-actions{display:flex;gap:6px}.kq1156-question-card footer .button{min-width:42px}
.kq1156-add-next{width:100%;min-height:54px;margin:12px 0;border:1.5px dashed #97aceb;border-radius:17px;background:linear-gradient(180deg,#f7f9ff,#eef4ff);color:#3f60d6;font-size:13px;font-weight:900;cursor:pointer;transition:.18s ease}.kq1156-add-next:hover{transform:translateY(-1px);border-color:#5c78e6;background:#eaf0ff;box-shadow:0 9px 20px rgba(63,95,208,.09)}
.kq1156-composer{padding:0!important;overflow:hidden;border-radius:22px!important;border-color:#cbd9ef!important;box-shadow:0 16px 36px rgba(24,58,96,.11)!important}.kq1156-composer>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;cursor:pointer;background:linear-gradient(135deg,#f5f8ff,#fff)}.kq1156-composer>summary::-webkit-details-marker{display:none}.kq1156-composer>summary>div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.kq1156-composer>summary span{grid-row:1/3;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#466cf1,#5d79ee);color:#fff;font-size:10px;font-weight:900}.kq1156-composer>summary b{font-size:14px;color:#24415e}.kq1156-composer>summary small{font-size:9px;color:#7d91a7}.kq1156-composer>summary em{font-style:normal;font-size:9px;color:#526c88}.kq1156-composer>form{padding:17px;border-top:1px solid #e4ebf4}.kq1156-type-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:15px}.kq1156-type-picker label{position:relative;cursor:pointer}.kq1156-type-picker input{position:absolute;opacity:0;pointer-events:none}.kq1156-type-picker span{display:flex;flex-direction:column;gap:3px;min-height:74px;padding:12px 13px;border:1px solid #dfe7f1;border-radius:15px;background:#fbfcfe;transition:.16s ease}.kq1156-type-picker b{font-size:11px;color:#34516e}.kq1156-type-picker small{font-size:8.8px;color:#8396aa;line-height:1.4}.kq1156-type-picker input:checked+span{border-color:#7996f0;background:#eef3ff;box-shadow:0 0 0 3px rgba(74,104,232,.08)}.kq1156-type-picker input:checked+span b{color:#3e5ed4}.kq1156-question-text textarea{min-height:100px}.kq1156-question-image{margin-bottom:14px}.kq1156-kind-panel{padding-top:4px}.kq1156-answer-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:8px}.kq1156-answer-title b{font-size:11px}.kq1156-answer-title small{font-size:9px;color:#8093a9}.kq1156-tf-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kq1156-tf-picker label{cursor:pointer}.kq1156-tf-picker input{position:absolute;opacity:0}.kq1156-tf-picker span{display:grid;place-items:center;min-height:52px;border:1px solid #dbe5ef;border-radius:14px;background:#fbfcfe;font-size:12px;font-weight:850;color:#5d748e}.kq1156-tf-picker input:checked+span{background:#edf9f4;border-color:#82d2b6;color:#147d61;box-shadow:0 0 0 3px rgba(33,167,124,.07)}.kq1156-vocab-note{display:flex;align-items:flex-start;flex-direction:column;gap:2px;margin-bottom:10px;padding:11px 12px;border-radius:13px;background:#fff8ec;border:1px solid #efd7ad}.kq1156-vocab-note b{font-size:11px;color:#7d5516}.kq1156-vocab-note span{font-size:9px;color:#a07839}.kq1156-vocab-pending{display:block;margin-top:7px;color:#9a712d;font-size:9px;line-height:1.5}.kq1156-composer-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid #e8eef5}.kq1156-composer-actions .button{min-height:43px}
.kq1156-preview-warning{display:flex;align-items:flex-start;gap:8px;flex-direction:column;padding:11px 14px;margin:-5px 0 14px;border-radius:14px;background:#fff7e8;border:1px solid #edd6ab;color:#8c621d}.kq1156-preview-warning b{font-size:11px}.kq1156-preview-warning span{font-size:9.5px}.kq1156-student-vocab{display:grid;grid-template-columns:auto minmax(180px,1fr);gap:8px;align-items:center;max-width:560px}.kq1156-student-vocab button{min-height:42px;padding:0 14px;border:1px solid #cfdced;border-radius:12px;background:#edf3ff;color:#4363d5;font-weight:800}.kq1156-student-vocab input{min-height:42px}.kq1156-student-vocab small{grid-column:1/-1;font-size:8.5px;color:#8798aa}.kq1155-paper-choices.is-true-false{grid-template-columns:repeat(2,minmax(0,180px))}.kq1155-paper-choices.is-true-false>div>span:empty{display:none}
@media(max-width:1120px){.kq1156-choice-preview{grid-template-columns:1fr}.kq1156-type-picker{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:760px){.kq1156-simple-head{align-items:flex-start}.kq1156-simple-head h2{font-size:19px}.kq1156-simple-head p{font-size:11px}.kq1156-count{min-width:70px;padding:9px 12px}.kq1156-count b{font-size:20px}.kq1156-advanced>summary{padding:12px 13px}.kq1156-advanced>form{padding:13px}.kq1156-advanced-foot{align-items:stretch;flex-direction:column}.kq1156-advanced-foot .button{width:100%}.kq1156-qbody{padding:14px}.kq1156-qbody h3{font-size:14px}.kq1156-question-card>header{padding:12px 13px;align-items:flex-start}.kq1156-qmeta{align-items:flex-end;flex-direction:column}.kq1156-choice-preview{grid-template-columns:1fr}.kq1156-choice-preview>div{grid-template-columns:30px minmax(0,1fr)}.kq1156-choice-preview b{grid-column:2}.kq1156-question-card>footer{align-items:stretch;flex-direction:column}.kq1156-order-actions{width:100%}.kq1156-order-actions form{flex:1}.kq1156-order-actions .button{width:100%}.kq1156-question-card>footer>form .button{width:100%;min-height:44px}.kq1156-type-picker{grid-template-columns:1fr}.kq1156-type-picker span{min-height:60px}.kq1156-composer>form{padding:13px}.kq1156-composer-actions{align-items:stretch;flex-direction:column-reverse}.kq1156-composer-actions .button{width:100%;min-height:46px}.kq1156-tf-picker{grid-template-columns:1fr 1fr}.kq1156-student-vocab{grid-template-columns:1fr}.kq1156-student-vocab small{grid-column:1}.kq1155-paper-choices.is-true-false{grid-template-columns:1fr 1fr}.kq1155-builder-page input,.kq1155-builder-page select,.kq1155-builder-page textarea{font-size:16px!important}.kq1156-add-next{min-height:52px}}
@media(max-width:430px){.kq1156-simple-head{gap:10px}.kq1156-simple-head p{max-width:245px}.kq1156-count{min-width:62px;border-radius:14px}.kq1156-qmeta>span{max-width:160px;text-align:right}.kq1156-tf-picker,.kq1155-paper-choices.is-true-false{grid-template-columns:1fr}.kq1156-vocab-preview{align-items:flex-start;flex-direction:column}.kq1156-composer>summary{padding:13px}.kq1156-composer>summary em{display:none}}

/* ==========================================================
   v0.11.5.7 — KQ Batch Question Card Builder UX Rebuild
   Flow: rooms -> settings -> batch cards -> preview/confirm
   Desktop + tablet + smartphone browser
   ========================================================== */
.kq1157-settings-page,.kq1157-builder-page{display:grid;gap:16px;min-width:0;padding-bottom:22px}
.kq1157-four-steps{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.kq1157-admin-context{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 17px;border:1px solid #dce7f4;border-radius:17px;background:linear-gradient(135deg,#f7faff,#fff);box-shadow:0 8px 22px rgba(31,65,103,.05)}
.kq1157-admin-context>div{display:grid;gap:3px}.kq1157-admin-context small{font-size:11px;color:#7d90a6;font-weight:800}.kq1157-admin-context b{font-size:14px;color:#294866}.kq1157-admin-context>span{padding:7px 10px;border-radius:10px;background:#edf4ff;color:#4c68cb;font-size:11px;font-weight:800}
.kq1157-settings-card{padding:0!important;border:1px solid #dae5f1!important;border-radius:24px!important;overflow:hidden;box-shadow:0 18px 42px rgba(25,57,91,.08)!important}
.kq1157-settings-card>header{display:flex;align-items:center;gap:13px;padding:20px 22px;border-bottom:1px solid #e7edf4;background:linear-gradient(135deg,#fff,#f7faff)}
.kq1157-step-icon{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;flex:0 0 auto;background:linear-gradient(145deg,#3864ee,#6c76f0);color:#fff;font-size:14px;font-weight:950;box-shadow:0 9px 20px rgba(54,93,225,.2)}
.kq1157-settings-card>header h2{margin:0 0 3px;font-size:20px;color:#203d5a}.kq1157-settings-card>header p{margin:0;font-size:12px;color:#7b8fa5}
.kq1157-mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:20px 22px}
.kq1157-mode-option{position:relative;cursor:pointer;min-width:0}.kq1157-mode-option>input{position:absolute;opacity:0;pointer-events:none}.kq1157-mode-option>span{min-height:132px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:17px;border:1.5px solid #dce5f0;border-radius:18px;background:#fbfcfe;transition:.18s ease;box-shadow:0 5px 14px rgba(26,58,91,.025)}
.kq1157-mode-option em{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#edf3ff;color:#4768d8;font-style:normal;font-size:15px;font-weight:900}.kq1157-mode-option b{font-size:13px;line-height:1.45;color:#2b4865}.kq1157-mode-option small{font-size:10.5px;line-height:1.55;color:#7e91a6}.kq1157-mode-option>input:checked+span{border-color:#6f8df0;background:linear-gradient(145deg,#f0f4ff,#fff);box-shadow:0 0 0 4px rgba(74,103,231,.08),0 11px 25px rgba(47,79,168,.08)}.kq1157-mode-option>input:checked+span em{background:linear-gradient(145deg,#3b66ef,#6577f0);color:#fff}.kq1157-mode-option>input:disabled+span{opacity:.72;cursor:not-allowed}
.kq1157-lock-note{margin:0 22px 18px;padding:11px 13px;border-radius:13px;border:1px solid #f0d8a7;background:#fff8e9;color:#84601f;font-size:11px;font-weight:750;line-height:1.55}
.kq1157-settings-split{display:grid;grid-template-columns:.85fr 1.15fr;border-top:1px solid #e7edf4}.kq1157-settings-split>section{display:grid;grid-template-columns:40px minmax(0,1fr);gap:13px;padding:20px 22px}.kq1157-settings-split>section+section{border-left:1px solid #e7edf4;background:#fbfdff}.kq1157-settings-split h3{margin:0 0 9px;font-size:14px;color:#294865}.kq1157-seconds-input{display:grid;grid-template-columns:minmax(110px,160px) auto;gap:9px;align-items:center}.kq1157-seconds-input input{height:46px;font-size:18px!important;font-weight:850;text-align:center}.kq1157-seconds-input b{font-size:12px;color:#587089}.kq1157-settings-split .field>small{display:block;margin-top:6px;color:#8799aa;font-size:10px}
.kq1157-check{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;margin-top:8px;border:1px solid #dfe8f1;border-radius:14px;background:#fff;cursor:pointer}.kq1157-check>input{width:18px;height:18px;margin-top:2px;accent-color:#4669e9}.kq1157-check>span{display:grid;gap:2px}.kq1157-check b{font-size:12px;color:#31506d}.kq1157-check small{font-size:10px;color:#8496a9;line-height:1.45}.kq1157-check.disabled{opacity:.52;background:#f5f7fa;cursor:not-allowed}
.kq1157-settings-card>footer{display:flex;justify-content:flex-end;gap:9px;padding:16px 22px;border-top:1px solid #e7edf4;background:#fbfcfe}.kq1157-settings-card>footer .button{min-height:44px}
.kq1157-head-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.kq1157-mode-badge{padding:9px 11px;border-radius:12px;background:#edf3ff;color:#4264d4;font-size:10.5px;font-weight:900;border:1px solid #dce6ff}
.kq1157-context-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.kq1157-context-row>div{padding:13px 14px;border:1px solid #e0e8f1;border-radius:15px;background:#fff;box-shadow:0 7px 18px rgba(33,63,95,.035)}.kq1157-context-row small{display:block;font-size:9.5px;color:#8597aa;margin-bottom:3px}.kq1157-context-row b{font-size:12px;color:#2c4a67}
.kq1157-batch-form{display:grid;gap:14px;min-width:0}.kq1157-builder-intro{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:4px 2px}.kq1157-builder-intro h2{margin:3px 0 4px;font-size:21px;color:#203c59}.kq1157-builder-intro p{margin:0;color:#7c90a5;font-size:11.5px;line-height:1.6}.kq1157-live-count{min-width:82px;padding:10px 15px;border-radius:18px;background:linear-gradient(145deg,#1f4e82,#2c6aa8);color:#fff;text-align:center;box-shadow:0 10px 22px rgba(30,75,125,.17)}.kq1157-live-count b{display:block;font-size:24px;line-height:1}.kq1157-live-count span{font-size:9px;opacity:.82}
.kq1157-card-list{display:grid;gap:14px;min-width:0}.kq1157-question-edit{padding:0!important;border-radius:22px!important;border:1px solid #dce5ef!important;overflow:hidden;box-shadow:0 12px 30px rgba(27,59,91,.065)!important}.kq1157-question-edit>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid #e7edf4;background:linear-gradient(135deg,#f7faff,#fff)}.kq1157-qnum{display:flex;align-items:center;gap:7px;color:#5a718b;font-size:11px;font-weight:800}.kq1157-qnum b{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,#4168ee,#6478ee);color:#fff;font-size:13px;box-shadow:0 7px 16px rgba(62,97,222,.18)}.kq1157-card-tools{display:flex;gap:6px;align-items:center}.kq1157-card-tools .button{min-width:38px;min-height:38px;padding:0 10px!important}.kq1157-question-edit>.field,.kq1157-question-edit>[data-kq1157-panel]{margin-left:17px;margin-right:17px}.kq1157-question-edit>.field{margin-top:15px}.kq1157-kind-select{max-width:420px}.kq1157-question-edit textarea{min-height:105px;resize:vertical}.kq1157-image-field{padding-bottom:14px}.kq1157-existing-image{display:flex;align-items:center;gap:10px;margin:6px 0 8px;padding:8px;border:1px solid #e2e9f0;border-radius:12px;background:#f9fbfd}.kq1157-existing-image img{width:70px;height:50px;object-fit:cover;border-radius:9px}.kq1157-existing-image span{font-size:9.5px;color:#7e91a5}
.kq1157-answer-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 0 8px;border-top:1px solid #edf1f5}.kq1157-answer-head>div{display:grid;gap:2px}.kq1157-answer-head b{font-size:12px;color:#31506d}.kq1157-answer-head small{font-size:9.5px;color:#8496a8}.kq1157-choice-list{display:grid;gap:8px;padding-bottom:17px}.kq1157-choice-row{display:grid;grid-template-columns:24px 32px minmax(160px,1fr) auto 34px;gap:8px;align-items:center}.kq1157-choice-row>[type=radio]{width:19px;height:19px;accent-color:#4168e9}.kq1157-choice-row>[data-kq1157-letter]{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#edf3ff;color:#4865ca;font-size:11px;font-weight:900}.kq1157-choice-row>[data-kq1157-choice-text]{min-width:0}.kq1157-choice-row>[type=file]{max-width:210px;font-size:10px}.kq1157-choice-row .kq115-choice-remove{width:34px;height:34px;border-radius:10px}
.kq1157-tf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:10px;padding:14px 0 18px;border-top:1px solid #edf1f5}.kq1157-tf-grid label{cursor:pointer}.kq1157-tf-grid input{position:absolute;opacity:0}.kq1157-tf-grid span{display:grid;place-items:center;min-height:54px;border-radius:14px;border:1px solid #dce5ee;background:#fbfcfe;color:#617991;font-size:13px;font-weight:900}.kq1157-tf-grid input:checked+span{border-color:#76cdb0;background:#edf9f4;color:#127d5f;box-shadow:0 0 0 3px rgba(32,166,122,.07)}
.kq1157-vocab-box{display:grid;grid-template-columns:50px minmax(0,1fr);gap:12px;align-items:center;margin-top:12px;padding:14px 15px 18px;border-top:1px solid #edf1f5;background:#fffaf1}.kq1157-vocab-box>span{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#fff0d8;font-size:20px}.kq1157-vocab-box .field{margin:0}.kq1157-vocab-box small{display:block;margin-top:4px;font-size:9px;color:#9a783f}
.kq1157-add-question{width:100%;min-height:58px;border:1.5px dashed #86a1ed;border-radius:18px;background:linear-gradient(180deg,#f6f8ff,#edf3ff);color:#3d5fd5;font-size:14px;font-weight:950;cursor:pointer;transition:.17s ease}.kq1157-add-question:hover{background:#e8efff;border-color:#5676df;box-shadow:0 9px 20px rgba(62,96,205,.08);transform:translateY(-1px)}
.kq1157-batch-footer{position:sticky;bottom:10px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border:1px solid #cddcf3;border-radius:18px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);box-shadow:0 16px 36px rgba(26,56,89,.14)}.kq1157-batch-footer>div{display:grid;gap:2px}.kq1157-batch-footer b{font-size:11px;color:#34526e}.kq1157-batch-footer span{font-size:9px;color:#8496a8}.kq1157-batch-footer .button{min-width:245px;min-height:46px}
@media(max-width:1120px){.kq1157-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kq1157-context-row{grid-template-columns:repeat(2,minmax(0,1fr))}.kq1157-choice-row{grid-template-columns:24px 32px minmax(150px,1fr) 34px}.kq1157-choice-row>[type=file]{grid-column:3/5;max-width:none}}
@media(max-width:760px){.kq1157-four-steps{grid-template-columns:repeat(4,minmax(58px,1fr))!important;overflow-x:auto}.kq1157-four-steps em{display:none}.kq1157-admin-context{align-items:flex-start;flex-direction:column}.kq1157-mode-grid{grid-template-columns:1fr;padding:14px}.kq1157-mode-option>span{min-height:92px}.kq1157-settings-card>header{padding:16px}.kq1157-settings-split{grid-template-columns:1fr}.kq1157-settings-split>section{padding:16px}.kq1157-settings-split>section+section{border-left:0;border-top:1px solid #e7edf4}.kq1157-settings-card>footer{padding:14px;flex-direction:column-reverse}.kq1157-settings-card>footer .button{width:100%}.kq1157-lock-note{margin:0 14px 14px}.kq1157-head-actions{justify-content:flex-start}.kq1157-context-row{grid-template-columns:1fr 1fr}.kq1157-builder-intro{align-items:flex-start}.kq1157-builder-intro h2{font-size:19px}.kq1157-live-count{min-width:68px}.kq1157-question-edit>header{align-items:flex-start;flex-direction:column}.kq1157-card-tools{width:100%;display:grid;grid-template-columns:repeat(4,1fr)}.kq1157-card-tools .button{width:100%;min-height:44px}.kq1157-question-edit>.field,.kq1157-question-edit>[data-kq1157-panel]{margin-left:13px;margin-right:13px}.kq1157-question-edit input,.kq1157-question-edit select,.kq1157-question-edit textarea,.kq1157-settings-card input,.kq1157-settings-card select,.kq1157-settings-card textarea{font-size:16px!important}.kq1157-choice-row{grid-template-columns:24px 32px minmax(0,1fr) 36px}.kq1157-choice-row>[type=file]{grid-column:3/5;max-width:100%;min-height:42px}.kq1157-tf-grid{grid-template-columns:1fr 1fr}.kq1157-vocab-box{grid-template-columns:42px minmax(0,1fr)}.kq1157-vocab-box>span{width:42px;height:42px}.kq1157-add-question{min-height:56px}.kq1157-batch-footer{bottom:6px;align-items:stretch;flex-direction:column}.kq1157-batch-footer .button{width:100%;min-width:0;min-height:48px}}
@media(max-width:430px){.kq1157-context-row{grid-template-columns:1fr}.kq1157-seconds-input{grid-template-columns:1fr}.kq1157-card-tools{grid-template-columns:1fr 1fr}.kq1157-choice-row{grid-template-columns:22px 30px minmax(0,1fr) 34px;gap:6px}.kq1157-tf-grid{grid-template-columns:1fr}.kq1157-vocab-box{grid-template-columns:1fr}.kq1157-vocab-box>span{margin:auto}.kq1157-builder-intro p{max-width:250px}.kq1157-mode-badge{width:100%;text-align:center}}

/* KQ Online is a collapsible navigation group; native details keeps it keyboard-accessible. */
.sidebar .kqadm-nav-group{margin:0;padding:0;border:0}
.sidebar .kqadm-nav-group>summary{list-style:none;cursor:pointer}
.sidebar .kqadm-nav-group>summary::-webkit-details-marker{display:none}
.sidebar .kqadm-nav-group .nav-chevron{margin-left:auto;transition:transform .18s ease}
.sidebar .kqadm-nav-group[open] .nav-chevron{transform:rotate(90deg)}
.sidebar .kqadm-subnav{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:3px!important;margin:1px 14px 10px 28px!important;padding:6px 0 6px 11px!important;border-left:1px solid rgba(131,179,255,.30)!important}
.sidebar .kqadm-nav-group:not([open]) .kqadm-subnav{display:none!important}
.sidebar .kqadm-subnav a{position:relative;box-sizing:border-box;width:100%;min-height:40px;display:flex!important;align-items:center;gap:10px;padding:5px 9px!important;border-radius:10px;color:#a9bdd8;font-size:11px;font-weight:750;line-height:1.35;text-decoration:none;white-space:normal;overflow-wrap:anywhere;transition:background .16s ease,color .16s ease}
.sidebar .kqadm-subnav-icon{flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(148,198,255,.26);border-radius:9px;background:linear-gradient(145deg,#4378df,#2d5bad);color:#fff;box-shadow:0 6px 15px rgba(31,77,166,.24),inset 0 1px 0 rgba(255,255,255,.20);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
.sidebar .kqadm-subnav-icon .ui-icon{width:15px;height:15px}
.sidebar .kqadm-subnav-icon.builder{background:linear-gradient(145deg,#5d7df3,#4058d9);box-shadow:0 6px 15px rgba(62,82,201,.28),inset 0 1px 0 rgba(255,255,255,.20)}
.sidebar .kqadm-subnav-icon.rounds{background:linear-gradient(145deg,#36c790,#159a6c);box-shadow:0 6px 15px rgba(15,137,94,.24),inset 0 1px 0 rgba(255,255,255,.20)}
.sidebar .kqadm-subnav-icon.permissions{background:linear-gradient(145deg,#a46af1,#7441d4);box-shadow:0 6px 15px rgba(104,57,197,.25),inset 0 1px 0 rgba(255,255,255,.20)}
.sidebar .kqadm-subnav-icon.results{background:linear-gradient(145deg,#ffbd4b,#ee8b18);box-shadow:0 6px 15px rgba(213,121,12,.24),inset 0 1px 0 rgba(255,255,255,.20)}
.sidebar .kqadm-subnav a:hover{background:rgba(75,133,232,.15);color:#edf5ff}
.sidebar .kqadm-subnav a:hover .kqadm-subnav-icon{transform:translateY(-1px) scale(1.04);filter:brightness(1.08);box-shadow:0 9px 19px rgba(31,77,166,.32),inset 0 1px 0 rgba(255,255,255,.24)}
.sidebar .kqadm-subnav a.active{background:linear-gradient(90deg,rgba(57,111,233,.42),rgba(62,124,224,.12));color:#fff;box-shadow:inset 0 0 0 1px rgba(135,185,255,.12)}
.sidebar .kqadm-subnav a.active .kqadm-subnav-icon{border-color:rgba(221,237,255,.46);filter:saturate(1.14) brightness(1.08);box-shadow:0 8px 19px rgba(11,51,124,.34),inset 0 1px 0 rgba(255,255,255,.30)}
.sidebar .kqadm-subnav a.active:before{content:"";position:absolute;left:-16px;width:5px;height:5px;border-radius:50%;background:#69d1ff;box-shadow:0 0 10px rgba(105,209,255,.85)}
.app-shell.sidebar-collapsed .kqadm-subnav{display:none!important}
@media(max-width:620px){.sidebar .kqadm-subnav{margin-left:25px!important;margin-right:12px!important}.sidebar .kqadm-subnav a{min-height:40px;padding-inline:12px!important;font-size:12px}}

/* Online /20 view switch and BASIC-course overview */
.ol66-view-switch{display:grid;grid-template-columns:minmax(180px,220px) minmax(180px,220px) minmax(260px,1fr);gap:9px;align-items:stretch;padding:7px;border:1px solid #dce6f1;border-radius:17px;background:#f4f7fb;box-shadow:0 7px 20px rgba(34,67,102,.04)}
.ol66-view-switch>a{display:grid;gap:2px;padding:10px 13px;border:1px solid transparent;border-radius:12px;color:#60768e;text-decoration:none;transition:.16s ease}.ol66-view-switch>a:hover{background:#fff;border-color:#dce6f1}.ol66-view-switch>a.active{background:#fff;border-color:#cfdcf0;box-shadow:0 6px 16px rgba(43,78,120,.08);color:#315eca}.ol66-view-switch>a b{font-size:11px}.ol66-view-switch>a span{font-size:8.5px;color:#8797a8}.ol66-basic-note{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:8px 11px;color:#7b8da0;font-size:9px;text-align:right}.ol66-basic-note b{padding:5px 8px;border-radius:999px;background:#e9f8f1;color:#17805d;font-size:8.5px;white-space:nowrap}
.ol66-gradebook-toolbar{grid-template-columns:minmax(230px,1fr) minmax(130px,170px) minmax(160px,200px) auto!important}
.ol66-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:15px;background:#f5f8fc}.ol66-student-overview{min-width:0;display:grid;grid-template-rows:auto 1fr auto;border:1px solid #dce6f0;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(32,64,97,.055);overflow:hidden;transition:transform .16s ease,box-shadow .16s ease}.ol66-student-overview[hidden]{display:none!important}.ol66-student-overview:hover{transform:translateY(-2px);box-shadow:0 13px 27px rgba(32,64,97,.10)}.ol66-student-overview>header{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px;border-bottom:1px solid #e9eef4;background:linear-gradient(135deg,#f8fbff,#fff)}.ol66-student-overview>header>div{min-width:0;display:grid;gap:2px}.ol66-student-overview>header>div b{overflow:hidden;color:#284762;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.ol66-student-overview>header small{overflow:hidden;color:#8a9aaa;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.ol66-student-overview>header>strong{min-width:42px;padding:6px;border-radius:10px;background:#edf3ff;color:#3761d1;font-size:13px;text-align:center}.ol66-subject-progress-list{display:grid;align-content:start;gap:11px;padding:13px}.ol66-subject-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:5px}.ol66-subject-progress b{overflow:hidden;color:#3b5873;font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.ol66-subject-progress span{flex:0 0 auto;color:#74889c;font-size:8px}.ol66-subject-progress .mini-progress{height:7px!important;margin:0!important;background:#e9eff5!important}.ol66-subject-progress .mini-progress i{background:linear-gradient(90deg,#27b895,#4d70e8)!important}.ol66-student-overview>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 13px;border-top:1px solid #e9eef4;background:#fbfdff;color:#8293a4;font-size:8px}.ol66-student-overview>footer b{color:#46627d;font-size:8.5px}
@media(max-width:1180px){.ol66-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.ol66-view-switch{grid-template-columns:1fr 1fr}.ol66-basic-note{grid-column:1/-1;justify-content:flex-start;text-align:left}.ol66-gradebook-toolbar{grid-template-columns:1fr 1fr!important}.ol66-search{grid-column:1/-1}.ol66-overview-grid{grid-template-columns:1fr;padding:10px}.ol66-student-overview:hover{transform:none}}
@media(max-width:420px){.ol66-view-switch>a{padding:9px}.ol66-view-switch>a span{display:none}.ol66-basic-note{display:grid;grid-template-columns:auto 1fr;line-height:1.4}.ol66-gradebook-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}}

/* KDW .24.6.4 R1 — subject-first Online Learning student catalog */
.ol64-learning-hero,.ol64-course-hero{border:1px solid #dbe8f5;background:linear-gradient(135deg,#fff 0%,#f4f9ff 68%,#eef7ff 100%);border-radius:26px;padding:24px 26px;margin-bottom:20px;box-shadow:0 18px 42px rgba(28,68,117,.08);display:flex;align-items:center;justify-content:space-between;gap:20px}.ol64-learning-hero h2,.ol64-course-hero h2{margin:5px 0 7px;color:#102f55;font-size:clamp(28px,3vw,40px)}.ol64-learning-hero p,.ol64-course-hero p{margin:0;color:#72859b;max-width:760px}.ol64-learning-kpi{min-width:150px;border-radius:20px;padding:15px 18px;text-align:center;background:#e8f3ff;border:1px solid #cbe1f7}.ol64-learning-kpi b{display:block;font-size:34px;color:#1669bd}.ol64-learning-kpi span{font-size:11px;color:#6d8298}.ol64-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ol64-course-card{overflow:hidden;border:1px solid #d9e7f4;background:#fff;border-radius:23px;box-shadow:0 12px 32px rgba(34,71,116,.08)}.ol64-course-cover{height:180px;position:relative;background:linear-gradient(135deg,#0d396f,#2a78c8);overflow:hidden}.ol64-course-cover img{width:100%;height:100%;object-fit:cover}.ol64-course-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,28,59,.02),rgba(4,28,59,.48))}.ol64-course-mode{position:absolute;right:13px;top:13px;z-index:2;padding:6px 10px;border-radius:999px;font-size:10px;font-weight:900;background:rgba(255,255,255,.92);color:#1764ad}.ol64-course-mode.advanced{color:#7a46bf}.ol64-course-play{position:absolute;left:15px;bottom:14px;z-index:2;width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.94);color:#1c6fc1}.ol64-course-body{padding:17px}.ol64-course-tags{display:flex;gap:6px;flex-wrap:wrap}.ol64-course-tags span{font-size:10px;font-weight:900;border-radius:999px;padding:5px 8px;background:#eaf4ff;color:#1a68b6}.ol64-course-tags .soft{background:#f1f3f6;color:#6e7c91}.ol64-course-body h3{margin:9px 0 5px;color:#17375e;font-size:19px}.ol64-course-body p{margin:0 0 11px;color:#74879d;min-height:42px}.ol64-course-meta{display:flex;gap:12px;color:#60758e;font-size:11px;font-weight:800}.ol64-course-progress,.ol64-mini-progress{height:8px;background:#edf3f8;border-radius:99px;overflow:hidden;margin:12px 0 6px}.ol64-course-progress i,.ol64-mini-progress i{display:block;height:100%;background:linear-gradient(90deg,#22a8df,#456cf2);border-radius:inherit}.ol64-course-body>small{display:block;color:#7d8fa4;margin-bottom:12px}.ol64-course-body>.button{width:100%;justify-content:center}.ol64-back{display:inline-flex;margin-bottom:10px;text-decoration:none;color:#1a69b5;font-weight:800}.ol64-course-hero{display:block}.ol64-hero-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.ol64-hero-meta span{background:#eaf4ff;color:#2a679f;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}.ol64-unit-list{display:grid;gap:12px}.ol64-unit-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:15px;align-items:center;background:#fff;border:1px solid #dce8f4;border-radius:20px;padding:16px 18px;box-shadow:0 10px 26px rgba(36,70,110,.05)}.ol64-unit-row.locked{background:#f8fafc;opacity:.72}.ol64-unit-no{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#eaf4ff;color:#1a69b8;font-size:18px;font-weight:900}.ol64-unit-copy>div:first-child{display:flex;gap:8px;align-items:center}.ol64-unit-copy h3{margin:5px 0;color:#17375e}.ol64-unit-copy p{margin:0;color:#77899d}.ol64-unit-copy small{color:#7c8da0}.ol64-state{padding:4px 8px;border-radius:999px;font-size:9px;font-weight:900;background:#eaf4ff;color:#286eaa}.ol64-state.passed{background:#e9f9ef;color:#17814b}.ol64-state.rewatch_required{background:#fff2dc;color:#a96a00}.ol64-state.locked{background:#eef1f5;color:#7b8796}.ol64-unit-action .button{white-space:nowrap}.ol64-legacy{margin-top:24px;border:1px solid #e1e9f2;border-radius:18px;background:#fbfcfe;padding:14px 16px}.ol64-legacy summary{cursor:pointer;font-weight:900;color:#425e7a}.ol64-legacy>p{color:#8090a2;font-size:12px}.ol62-btn.success-static{background:#e8f8ee!important;color:#157c47!important;border-color:#bfe8ce!important;cursor:default}
@media(max-width:1100px){.ol64-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.ol64-learning-hero{align-items:stretch;flex-direction:column;padding:18px}.ol64-learning-kpi{min-width:0}.ol64-course-grid{grid-template-columns:1fr}.ol64-course-cover{height:188px}.ol64-unit-row{grid-template-columns:42px 1fr;padding:14px}.ol64-unit-action{grid-column:2}.ol64-unit-action .button{width:100%;justify-content:center}}

/* KDW .24.6.5 R1 — Interactive Check student runtime */
html.interactive-check-open,html.interactive-check-open body{overflow:hidden!important}.interactive-check-summary{margin:14px 0;border:1px solid #d8e6f4;background:linear-gradient(135deg,#f7fbff,#eef7ff);border-radius:18px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px}.interactive-check-summary strong{display:block;color:#17375e;font-size:14px}.interactive-check-summary small{display:block;margin-top:3px;color:#74869a}.interactive-check-summary .badge{flex:0 0 auto}.interactive-check-modal[hidden]{display:none!important}.interactive-check-modal{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:18px}.interactive-check-backdrop{position:absolute;inset:0;background:rgba(6,22,45,.64);backdrop-filter:blur(7px)}.interactive-check-dialog{position:relative;z-index:1;width:min(720px,calc(100vw - 28px));max-height:min(760px,calc(100vh - 28px));overflow:auto;background:#fff;border:1px solid rgba(192,216,240,.92);border-radius:26px;box-shadow:0 30px 90px rgba(5,32,67,.32);padding:22px}.interactive-check-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid #e5edf5}.interactive-check-head h3{margin:4px 0 3px;color:#102f55;font-size:24px}.interactive-check-head p{margin:0;color:#77899c;font-size:12px}.interactive-lock-pill{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border-radius:999px;background:#fff2df;color:#9e6500;font-size:10px;font-weight:900;white-space:nowrap}.interactive-check-body{padding:18px 0 8px}.interactive-check-body h4{margin:8px 0 16px;color:#17375e;font-size:18px;line-height:1.5}.interactive-loading{padding:32px;text-align:center;color:#6e8297}.interactive-question-image{display:block;max-width:100%;max-height:260px;object-fit:contain;margin:0 auto 14px;border-radius:16px;border:1px solid #e1eaf3}.interactive-choice-list{display:grid;gap:10px}.interactive-choice{display:grid;grid-template-columns:22px 34px minmax(0,1fr);align-items:center;gap:10px;padding:12px;border:1px solid #dce8f4;border-radius:16px;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.interactive-choice:has(input:checked){border-color:#5a91e8;background:#f3f8ff;box-shadow:0 0 0 3px rgba(73,126,219,.10)}.interactive-choice input{width:18px;height:18px;margin:0}.interactive-choice-letter{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#eaf3ff;color:#246bb5;font-weight:900}.interactive-choice-copy{display:grid;gap:6px;color:#274766}.interactive-choice-copy img{max-width:190px;max-height:120px;object-fit:contain;border-radius:10px}.interactive-check-result{margin-top:14px;border-radius:14px;padding:12px 14px;font-size:12px;font-weight:800}.interactive-check-result.pass,.interactive-check-result.saved{background:#e9f8ef;color:#177a49;border:1px solid #bfe6ce}.interactive-check-result.fail{background:#fff2df;color:#9f6500;border:1px solid #f2d39a}.interactive-check-result.error{background:#fff0f1;color:#b4232d;border:1px solid #f2c2c7}.interactive-check-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:16px;border-top:1px solid #e7eef5}.interactive-check-actions .button{min-width:145px;justify-content:center}.interactive-timeline-note{display:flex;align-items:center;gap:8px;margin:10px 0 0;color:#566f89;font-size:11px}.interactive-timeline-note:before{content:"";width:8px;height:8px;border-radius:50%;background:#3b82e5;box-shadow:0 0 0 4px rgba(59,130,229,.12)}
@media(max-width:620px){.interactive-check-modal{padding:0;align-items:end}.interactive-check-dialog{width:100%;max-height:90vh;border-radius:24px 24px 0 0;padding:17px 15px 20px}.interactive-check-head{display:block}.interactive-lock-pill{margin-top:10px}.interactive-check-head h3{font-size:21px}.interactive-choice{grid-template-columns:20px 32px minmax(0,1fr);padding:11px 10px}.interactive-check-actions{display:grid;grid-template-columns:1fr}.interactive-check-actions .button{width:100%;min-height:46px}.interactive-check-summary{align-items:flex-start;flex-direction:column}}

/* R3 course presentation: preserve readable contrast in either host theme. */
.ol64-course-card .ol64-course-body h3{color:#183650}
.ol64-course-card .ol64-course-body p,.ol64-course-card .ol64-course-body>small,.ol64-course-card .ol64-course-meta{color:#52677e}
.ol64-course-card{box-shadow:0 5px 20px #12355612;overflow:hidden}
.ol64-course-card .button:focus-visible,.ol64-unit-action .button:focus-visible{outline:3px solid #3b82f6;outline-offset:3px}
@media(max-width:600px){.ol64-course-meta,.ol64-hero-meta{flex-wrap:wrap}.ol64-course-body h3,.ol64-unit-copy h3{overflow-wrap:anywhere}.ol64-unit-row{min-width:0}.ol64-unit-action .button{white-space:normal;text-align:center}}
.ol64-term-picker{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 24px;padding:16px 18px;border:1px solid #cfe1f5;border-radius:20px;background:linear-gradient(135deg,#f7fbff,#eef6ff);box-shadow:0 10px 28px rgba(39,83,135,.07)}.ol64-term-picker label,.ol64-catalog-term label{display:grid;gap:6px;min-width:min(420px,100%)}.ol64-term-picker label>span,.ol64-catalog-term label>span{font-size:11px;font-weight:900;color:#41617f;letter-spacing:.02em}.ol64-term-picker select,.ol64-catalog-term select{min-height:44px;border:1px solid #bdd6ef;border-radius:13px;background:#fff;color:#173b63;font-weight:800;padding:0 40px 0 13px}.ol64-term-picker small{color:#6e8399}.ol64-section-kicker{display:inline-flex;margin-bottom:5px;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:950;letter-spacing:.12em}.ol64-section-kicker.required{background:#e7f1ff;color:#2069b2}.ol64-section-kicker.free{background:#e8fbf3;color:#15845b}.ol64-open-head{margin-top:32px}.ol64-course-tags .term{background:#fff4dd;color:#9a6500}.ol64-open-card{border-color:#cfe9df;background:linear-gradient(180deg,#fff,#fbfffd)}.ol64-open-card .catalog-cover{background:linear-gradient(135deg,#087f75,#2bbf8a)}.ol64-free-note{margin:8px 0;color:#14805a;font-size:11px;font-weight:850}.ol64-catalog-term{margin:16px 0 10px;max-width:520px}.ol64-open-card .action-next{background:linear-gradient(135deg,#15a878,#2a85d7);border-color:transparent;color:#fff}
@media(max-width:760px){.ol64-term-picker{align-items:stretch;flex-direction:column}.ol64-term-picker label,.ol64-catalog-term label{min-width:0}.ol64-open-head{align-items:flex-start}.ol64-open-head>.button{width:100%;justify-content:center}}

/* KDW .24.6.14 R1 — Online /20 gradebook usability and responsive cards */
.ol66-gradebook-page{--ol66-ink:#17324f;--ol66-muted:#6e8196;--ol66-line:#dce7f2;--ol66-blue:#3466e8;--ol66-blue-soft:#edf3ff;--ol66-green:#14865e;--ol66-green-soft:#eaf8f2;display:grid;gap:18px;min-width:0}
.ol66-gradebook-hero{position:relative;overflow:hidden;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(260px,340px);align-items:center;gap:28px;padding:28px 30px!important;border:0!important;background:linear-gradient(125deg,#183a73 0%,#315fd0 58%,#5d78ef 100%)!important;box-shadow:0 18px 38px rgba(30,68,145,.20)!important;color:#fff}
.ol66-gradebook-hero:before,.ol66-gradebook-hero:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.ol66-gradebook-hero:before{width:230px;height:230px;right:22%;top:-175px;background:rgba(255,255,255,.10)}.ol66-gradebook-hero:after{width:160px;height:160px;right:-65px;bottom:-95px;background:rgba(129,218,255,.16)}
.ol66-hero-copy,.ol66-course-picker{position:relative;z-index:1}.ol66-gradebook-hero .eyebrow{display:inline-flex;padding:6px 9px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.11);color:#eaf1ff!important;font-size:9px;letter-spacing:.12em;font-weight:900}.ol66-gradebook-hero h2{margin:8px 0 12px!important;color:#fff!important;font-size:clamp(24px,2.6vw,36px)!important;line-height:1.2}.ol66-formula-pills{display:flex;flex-wrap:wrap;gap:7px}.ol66-formula-pills span{padding:6px 9px;border-radius:9px;background:rgba(9,32,84,.22);color:#dce8ff;font-size:10px}.ol66-formula-pills b{color:#fff}
.ol66-course-picker{display:grid;gap:7px;padding:14px;border:1px solid rgba(255,255,255,.20);border-radius:16px;background:rgba(255,255,255,.11);backdrop-filter:blur(8px)}.ol66-course-picker label{font-size:10px;font-weight:850;color:#eef4ff}.ol66-course-picker select{width:100%;min-height:44px;border:1px solid rgba(255,255,255,.42);border-radius:12px;background:#fff;color:#26466c;font-size:12px;font-weight:800;padding:0 12px}
.ol66-gradebook-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin:0!important}.ol66-gradebook-stats article{min-width:0;min-height:112px;display:grid!important;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;padding:15px 16px!important;border:1px solid var(--ol66-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 8px 24px rgba(36,67,100,.055)!important}.ol66-stat-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#3c68eb,#657aef);box-shadow:0 8px 18px rgba(53,96,222,.18);color:#fff;font-size:9px;font-weight:950}.ol66-stat-icon.items{background:linear-gradient(145deg,#7354e8,#9b6ff1)}.ol66-stat-icon.average{background:linear-gradient(145deg,#14a476,#39c593)}.ol66-stat-icon.ready{background:linear-gradient(145deg,#e89523,#f5b649)}.ol66-gradebook-stats article div{min-width:0}.ol66-gradebook-stats small{display:block;color:#7e91a5!important;font-size:9.5px!important;font-weight:800}.ol66-gradebook-stats b{display:block;margin:3px 0;color:var(--ol66-ink)!important;font-size:25px!important;line-height:1.1}.ol66-gradebook-stats b i{font-style:normal;font-size:12px;color:#8192a4}.ol66-gradebook-stats em{display:block;overflow:hidden;color:#92a0af;font-size:8.5px;font-style:normal;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.ol66-gradebook-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 286px!important;gap:16px!important;align-items:start}.ol66-roster-card{min-width:0;padding:0!important;overflow:hidden;border:1px solid var(--ol66-line)!important;border-radius:20px!important;box-shadow:0 12px 30px rgba(32,65,101,.06)!important}.ol66-roster-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px 14px;border-bottom:1px solid #e7eef5}.ol66-roster-head .eyebrow,.ol66-gradebook-side .eyebrow{font-size:8.5px;letter-spacing:.1em;color:#4d70c9;font-weight:950}.ol66-roster-head h3{margin:3px 0 2px;color:var(--ol66-ink);font-size:19px}.ol66-roster-head p{margin:0;color:var(--ol66-muted);font-size:10.5px}.ol66-result-count{flex:0 0 auto;min-width:88px;padding:9px 12px;border-radius:13px;background:var(--ol66-blue-soft);text-align:center}.ol66-result-count b{display:block;color:var(--ol66-blue);font-size:20px;line-height:1}.ol66-result-count span{font-size:8.5px;color:#7188aa}
.ol66-gradebook-toolbar{display:grid;grid-template-columns:minmax(230px,1fr) minmax(170px,220px) auto;gap:10px;align-items:end;padding:13px 20px;background:#f8fbfe;border-bottom:1px solid #e6edf4}.ol66-gradebook-toolbar label{display:grid;gap:5px}.ol66-gradebook-toolbar label>span{font-size:9px;font-weight:850;color:#60768e}.ol66-gradebook-toolbar input,.ol66-gradebook-toolbar select{width:100%;min-height:42px;border:1px solid #d6e1ec;border-radius:12px;background:#fff;color:#294762;font-size:12px;padding:0 12px;outline:none}.ol66-gradebook-toolbar input:focus,.ol66-gradebook-toolbar select:focus{border-color:#6689eb;box-shadow:0 0 0 3px rgba(68,105,223,.10)}.ol66-gradebook-toolbar input{padding-left:38px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23778ca1' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") no-repeat 13px center}.ol66-clear-filter{min-height:42px!important;white-space:nowrap}
.ol66-gradebook-table-wrap{max-height:720px;overflow:auto}.ol66-gradebook-table{width:100%;border-collapse:separate!important;border-spacing:0!important;min-width:760px}.ol66-gradebook-table thead{position:sticky;top:0;z-index:2}.ol66-gradebook-table th{padding:11px 13px!important;border-bottom:1px solid #dae4ee!important;background:#f0f5fb!important;color:#667d95!important;font-size:8.5px!important;letter-spacing:.03em;text-transform:none!important;white-space:nowrap}.ol66-gradebook-table td{padding:12px 13px!important;border-bottom:1px solid #edf1f5!important;color:#35506c;font-size:11px;vertical-align:middle}.ol66-gradebook-table tbody tr{transition:background .14s ease}.ol66-gradebook-table tbody tr:hover{background:#f8fbff}.ol66-gradebook-table tbody tr[hidden]{display:none!important}.ol66-student-cell{display:flex;align-items:center;gap:10px;min-width:205px}.ol66-student-cell>span:last-child{display:grid;gap:2px}.ol66-student-cell b{color:#26445f;font-size:11.5px}.ol66-student-cell small,.ol66-gradebook-table td>small{display:block!important;color:#91a0ae!important;font-size:8.5px!important}.ol66-avatar{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#e8f0ff,#dce8ff);color:#3b61c9;font-size:13px;font-weight:950}.ol66-class-pill{display:inline-flex;padding:6px 8px;border-radius:9px;background:#f1f4f8;color:#50677d;font-size:10px;font-weight:850;white-space:nowrap}.ol66-progress-row{display:grid;grid-template-columns:minmax(90px,1fr) 32px;align-items:center;gap:8px;min-width:145px}.ol66-progress-row .mini-progress{height:7px!important;margin:0!important;background:#e9eff5!important}.ol66-progress-row .mini-progress i{background:linear-gradient(90deg,#35b7d5,#496dea)!important}.ol66-progress-row>b{font-size:9.5px;color:#627992}.ol66-score{display:flex;align-items:baseline;gap:3px;color:#315fd8;font-size:19px}.ol66-score small{font-size:9px;color:#8091a2}.ol66-gradebook-table .score-pill{display:inline-flex!important;align-items:center;min-height:27px;padding:5px 8px!important;border-radius:999px!important;background:#f2f4f7!important;color:#718092!important;font-size:8.5px!important;font-weight:900!important;white-space:nowrap}.ol66-gradebook-table .score-pill.final{background:var(--ol66-green-soft)!important;color:var(--ol66-green)!important}.ol66-gradebook-table .score-pill.final:before{content:"";width:6px;height:6px;margin-right:5px;border-radius:50%;background:#20ab7a;box-shadow:0 0 0 3px rgba(32,171,122,.10)}.ol66-no-results{padding:46px 20px;text-align:center;color:#8496a8}.ol66-no-results[hidden]{display:none}.ol66-no-results>span{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 10px;border-radius:15px;background:#eef3fb;color:#5270bb;font-size:25px}.ol66-no-results b{display:block;color:#3c5874;font-size:13px}.ol66-no-results p{margin:4px 0 0;font-size:10px}
.ol66-gradebook-side{position:sticky!important;top:88px;padding:20px!important;border:1px solid var(--ol66-line)!important;border-radius:20px!important;background:linear-gradient(155deg,#fff,#f8fbff)!important;box-shadow:0 12px 30px rgba(32,65,101,.06)!important}.ol66-gradebook-side h3{margin:4px 0 16px;color:var(--ol66-ink);font-size:18px}.ol66-equation{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:5px;margin-bottom:17px;padding:12px 8px;border-radius:14px;background:#edf3ff;text-align:center}.ol66-equation span{color:#45627f;font-size:8px;font-weight:850;line-height:1.25}.ol66-equation b{color:#4c6cdc;font-size:12px}.ol66-rule{display:grid;grid-template-columns:26px 1fr;gap:9px;padding:11px 0;border-top:1px solid #e7edf4}.ol66-rule>span{width:25px;height:25px;display:grid;place-items:center;border-radius:9px;background:var(--ol66-green-soft);color:var(--ol66-green);font-size:10px;font-weight:950}.ol66-rule p{margin:0!important;color:#728499!important;font-size:9.5px!important;line-height:1.5!important}.ol66-rule p b{display:block;color:#3c5771;font-size:10px}
@media(max-width:1180px){.ol66-gradebook-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ol66-gradebook-layout{grid-template-columns:1fr!important}.ol66-gradebook-side{position:static!important;display:grid;grid-template-columns:1fr repeat(3,minmax(0,1fr));gap:10px;align-items:start}.ol66-gradebook-side>.eyebrow,.ol66-gradebook-side>h3,.ol66-gradebook-side>.ol66-equation{grid-column:1}.ol66-gradebook-side h3{margin-bottom:5px}.ol66-rule{border-top:0;border-left:1px solid #e7edf4;padding:5px 0 5px 12px}}
@media(max-width:760px){.ol66-gradebook-page{gap:13px}.ol66-gradebook-hero{grid-template-columns:1fr;padding:20px 17px!important;border-radius:20px!important;gap:16px}.ol66-gradebook-hero h2{font-size:23px!important}.ol66-formula-pills{display:grid;grid-template-columns:1fr 1fr}.ol66-formula-pills span:last-child{grid-column:1/-1}.ol66-course-picker{padding:11px}.ol66-course-picker select,.ol66-gradebook-toolbar input,.ol66-gradebook-toolbar select{font-size:16px!important}.ol66-gradebook-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.ol66-gradebook-stats article{min-height:96px;grid-template-columns:38px minmax(0,1fr);gap:9px;padding:12px 10px!important;border-radius:15px!important}.ol66-stat-icon{width:38px;height:38px;border-radius:12px;font-size:8px}.ol66-gradebook-stats b{font-size:20px!important}.ol66-gradebook-stats em{display:none}.ol66-roster-card{border-radius:18px!important;overflow:visible}.ol66-roster-head{align-items:flex-start;padding:16px}.ol66-roster-head h3{font-size:17px}.ol66-roster-head p{max-width:235px;line-height:1.45}.ol66-result-count{min-width:70px;padding:8px}.ol66-result-count b{font-size:18px}.ol66-gradebook-toolbar{position:sticky;top:58px;z-index:5;grid-template-columns:1fr 1fr;padding:11px 12px;gap:8px;box-shadow:0 8px 18px rgba(29,62,97,.08)}.ol66-search{grid-column:1/-1}.ol66-clear-filter{width:100%;min-width:0!important;padding-inline:8px!important}.ol66-gradebook-table-wrap{max-height:none;overflow:visible;padding:10px;background:#f5f8fc}.ol66-gradebook-table{display:block!important;min-width:0!important;width:100%}.ol66-gradebook-table thead{display:none}.ol66-gradebook-table tbody{display:grid;gap:10px}.ol66-gradebook-table tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #dce6f0;border-radius:16px;background:#fff;box-shadow:0 7px 18px rgba(32,64,97,.055);overflow:hidden}.ol66-gradebook-table td{display:grid!important;grid-template-columns:92px minmax(0,1fr);align-items:center;min-width:0;padding:10px 12px!important;border-bottom:1px solid #edf1f5!important;font-size:11px}.ol66-gradebook-table td:before{content:attr(data-label);color:#8797a8;font-size:8.5px;font-weight:850}.ol66-gradebook-table td:first-child{grid-column:1/-1;display:block!important;padding:12px!important;background:linear-gradient(135deg,#f8fbff,#fff)}.ol66-gradebook-table td:first-child:before{display:none}.ol66-gradebook-table td:nth-child(2),.ol66-gradebook-table td:nth-child(3),.ol66-gradebook-table td:nth-child(4),.ol66-gradebook-table td:nth-child(5),.ol66-gradebook-table td:nth-child(6){grid-column:1/-1}.ol66-gradebook-table td:last-child{border-bottom:0!important}.ol66-student-cell{min-width:0}.ol66-avatar{flex-basis:42px;width:42px;height:42px}.ol66-student-cell b{font-size:12px}.ol66-progress-row{min-width:0}.ol66-score{font-size:18px}.ol66-gradebook-side{display:block!important;border-radius:18px!important}.ol66-gradebook-side>.eyebrow,.ol66-gradebook-side>h3,.ol66-gradebook-side>.ol66-equation{grid-column:auto}.ol66-rule{border-left:0;border-top:1px solid #e7edf4;padding:10px 0}.ol66-equation{padding:11px 7px}}
@media(max-width:420px){.ol66-gradebook-hero{padding:18px 14px!important}.ol66-gradebook-stats article{grid-template-columns:1fr;text-align:center}.ol66-stat-icon{margin:auto}.ol66-roster-head{display:grid;grid-template-columns:1fr auto}.ol66-roster-head p{grid-column:1/-1}.ol66-gradebook-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ol66-gradebook-table td{grid-template-columns:84px minmax(0,1fr)}.ol66-equation{grid-template-columns:1fr auto 1fr}.ol66-equation b:nth-of-type(2),.ol66-equation span:last-child{margin-top:5px}.ol66-equation span:last-child{grid-column:2/4}}

/* Online /20 vibrant visual pass */
.ol66-view-switch>a.active{border-color:transparent!important;background:linear-gradient(135deg,#4b68eb,#8169ec)!important;color:#fff!important;box-shadow:0 9px 20px rgba(80,92,219,.24)!important}.ol66-view-switch>a.active span{color:#e7ebff!important}.ol66-clear-filter{border:0!important;background:linear-gradient(135deg,#ffae45,#ff735d)!important;color:#fff!important;box-shadow:0 8px 18px rgba(239,116,56,.22)!important}.ol66-clear-filter:hover{filter:brightness(1.04);transform:translateY(-1px)}.ol66-class-pill{background:linear-gradient(135deg,#f0ecff,#e8f0ff)!important;color:#6754c7!important}.ol66-result-count{background:linear-gradient(145deg,#e9f1ff,#f0eaff)!important}.ol66-gradebook-side{border-top:4px solid #7767ea!important}.ol66-student-overview{position:relative;border-top:4px solid #4f73ec!important}.ol66-student-overview:nth-child(4n+2){border-top-color:#9a62e9!important}.ol66-student-overview:nth-child(4n+3){border-top-color:#21af82!important}.ol66-student-overview:nth-child(4n+4){border-top-color:#f1a13b!important}.ol66-student-overview:nth-child(4n+1) .ol66-avatar,.ol66-gradebook-table tbody tr:nth-child(4n+1) .ol66-avatar{background:linear-gradient(145deg,#e5edff,#d9e4ff)!important;color:#3e64d7!important}.ol66-student-overview:nth-child(4n+2) .ol66-avatar,.ol66-gradebook-table tbody tr:nth-child(4n+2) .ol66-avatar{background:linear-gradient(145deg,#f2e9ff,#e9dcff)!important;color:#7c4bc9!important}.ol66-student-overview:nth-child(4n+3) .ol66-avatar,.ol66-gradebook-table tbody tr:nth-child(4n+3) .ol66-avatar{background:linear-gradient(145deg,#e4f9f1,#d6f3e8)!important;color:#138460!important}.ol66-student-overview:nth-child(4n+4) .ol66-avatar,.ol66-gradebook-table tbody tr:nth-child(4n+4) .ol66-avatar{background:linear-gradient(145deg,#fff2dc,#ffe8c2)!important;color:#b66b0d!important}.ol66-student-overview:nth-child(4n+1) .ol66-subject-progress .mini-progress i{background:linear-gradient(90deg,#3f8fea,#5968ed)!important}.ol66-student-overview:nth-child(4n+2) .ol66-subject-progress .mini-progress i{background:linear-gradient(90deg,#a15de7,#745ce0)!important}.ol66-student-overview:nth-child(4n+3) .ol66-subject-progress .mini-progress i{background:linear-gradient(90deg,#24c69c,#21a777)!important}.ol66-student-overview:nth-child(4n+4) .ol66-subject-progress .mini-progress i{background:linear-gradient(90deg,#ffbd4a,#ef8b36)!important}.ol66-student-overview:nth-child(4n+2)>header>strong{background:#f1eaff;color:#784bcc}.ol66-student-overview:nth-child(4n+3)>header>strong{background:#e7f8f1;color:#13825f}.ol66-student-overview:nth-child(4n+4)>header>strong{background:#fff1dd;color:#ac6814}.ol66-gradebook-table tbody tr:nth-child(4n+1){--ol66-row-accent:#4f73ec}.ol66-gradebook-table tbody tr:nth-child(4n+2){--ol66-row-accent:#9a62e9}.ol66-gradebook-table tbody tr:nth-child(4n+3){--ol66-row-accent:#21af82}.ol66-gradebook-table tbody tr:nth-child(4n+4){--ol66-row-accent:#f1a13b}
@media(min-width:761px){.ol66-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){.ol66-gradebook-table tbody tr{border-left:4px solid var(--ol66-row-accent,#4f73ec)!important}.ol66-clear-filter{min-height:46px!important}.ol66-student-overview{border-top-width:5px!important}}.ol66-gradebook-toolbar .button.ol66-clear-filter{border:0!important;background-image:linear-gradient(135deg,#ffae45,#ff735d)!important;background-color:#ff8354!important;color:#fff!important;box-shadow:0 8px 18px rgba(239,116,56,.25)!important;opacity:1!important}.ol66-gradebook-toolbar .button.ol66-clear-filter:hover{background-image:linear-gradient(135deg,#ffb951,#ff654f)!important;color:#fff!important}.ol66-student-overview:nth-child(4n+1)>header{background:linear-gradient(135deg,#f2f6ff,#fff)!important}.ol66-student-overview:nth-child(4n+2)>header{background:linear-gradient(135deg,#f8f1ff,#fff)!important}.ol66-student-overview:nth-child(4n+3)>header{background:linear-gradient(135deg,#effbf7,#fff)!important}.ol66-student-overview:nth-child(4n+4)>header{background:linear-gradient(135deg,#fff7ea,#fff)!important}
/* K.Space Online /20 desktop table — vivid, high-contrast rows */
@media(min-width:761px){
  .ol66-gradebook-table-wrap{padding:10px 12px 14px!important;background:linear-gradient(180deg,#eef4ff 0,#f7f9ff 100%)!important}
  .ol66-gradebook-table{border-collapse:separate!important;border-spacing:0 7px!important}
  .ol66-gradebook-table thead{top:-10px!important}
  .ol66-gradebook-table th{border:0!important;background:linear-gradient(135deg,#264fba,#5d6fe8)!important;color:#fff!important;font-size:9.5px!important;letter-spacing:.02em!important;box-shadow:0 7px 16px rgba(38,79,186,.16)!important}
  .ol66-gradebook-table th:first-child{border-radius:12px 0 0 12px!important}
  .ol66-gradebook-table th:last-child{border-radius:0 12px 12px 0!important}
  .ol66-gradebook-table tbody tr{filter:drop-shadow(0 5px 8px rgba(42,69,111,.08));transform:translateZ(0)}
  .ol66-gradebook-table tbody td{border-top:1px solid #dfe7f4!important;border-bottom:1px solid #dfe7f4!important;background:#fff!important;color:#29445f!important}
  .ol66-gradebook-table tbody tr:nth-child(4n+1) td{background:linear-gradient(90deg,#f3f7ff,#fff)!important}
  .ol66-gradebook-table tbody tr:nth-child(4n+2) td{background:linear-gradient(90deg,#faf4ff,#fff)!important}
  .ol66-gradebook-table tbody tr:nth-child(4n+3) td{background:linear-gradient(90deg,#f0fbf7,#fff)!important}
  .ol66-gradebook-table tbody tr:nth-child(4n+4) td{background:linear-gradient(90deg,#fff8ec,#fff)!important}
  .ol66-gradebook-table tbody td:first-child{border-left:4px solid var(--ol66-row-accent,#4f73ec)!important;border-radius:14px 0 0 14px!important}
  .ol66-gradebook-table tbody td:last-child{border-right:1px solid #dfe7f4!important;border-radius:0 14px 14px 0!important}
  .ol66-gradebook-table tbody tr:hover td{background:#eaf2ff!important;border-color:#c8d9f3!important}
  .ol66-gradebook-table .ol66-score{color:#245eea!important;font-weight:950!important}
  .ol66-gradebook-table .mini-progress{box-shadow:inset 0 0 0 1px #dae4f3!important}
  .ol66-roster-card{background:#fff!important}
}

/* K.Space Online /20 — horizontal completion guide below KPI cards */
.ol66-gradebook-layout{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"rules" "main"!important;gap:14px!important}
.ol66-roster-card{grid-area:main!important}
.ol66-gradebook-side{grid-area:rules!important;position:static!important;display:grid!important;grid-template-columns:minmax(185px,.72fr) minmax(250px,1fr) repeat(3,minmax(145px,.75fr))!important;grid-template-rows:auto auto!important;align-items:center!important;gap:3px 14px!important;padding:15px 18px!important;border-top:0!important;border-left:5px solid #7767ea!important;border-radius:18px!important;background:linear-gradient(110deg,#fff 0%,#f6f8ff 48%,#f8fbff 100%)!important}
.ol66-gradebook-side>.eyebrow{grid-column:1!important;grid-row:1!important;align-self:end!important}
.ol66-gradebook-side>h3{grid-column:1!important;grid-row:2!important;align-self:start!important;margin:2px 0 0!important;font-size:17px!important}
.ol66-gradebook-side>.ol66-equation{grid-column:2!important;grid-row:1/3!important;margin:0!important;min-height:54px!important}
.ol66-gradebook-side>.ol66-rule{grid-row:1/3!important;align-self:stretch!important;align-content:center!important;border-top:0!important;border-left:1px solid #dfe7f4!important;padding:7px 0 7px 13px!important}
.ol66-gradebook-side>.ol66-rule p{font-size:9px!important;line-height:1.4!important}
.ol66-gradebook-side>.ol66-rule p b{font-size:9.5px!important}
@media(max-width:1050px){
  .ol66-gradebook-side{grid-template-columns:minmax(170px,.75fr) minmax(230px,1fr) repeat(3,minmax(120px,.7fr))!important;gap:3px 9px!important;padding:14px!important}
  .ol66-gradebook-side>.ol66-rule{padding-left:9px!important}
}
@media(max-width:760px){
  .ol66-gradebook-side{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto!important;gap:7px!important;border-left:0!important;border-top:5px solid #7767ea!important;padding:16px!important}
  .ol66-gradebook-side>.eyebrow,.ol66-gradebook-side>h3,.ol66-gradebook-side>.ol66-equation,.ol66-gradebook-side>.ol66-rule{grid-column:1!important;grid-row:auto!important}
  .ol66-gradebook-side>.ol66-equation{min-height:0!important;margin:4px 0!important}
  .ol66-gradebook-side>.ol66-rule{border-left:0!important;border-top:1px solid #e1e8f2!important;padding:9px 0!important}
}

/* v0.11.6.22 — compact administrator application hubs */
.amh-hero{--amh-1:var(--icon-1,#3979d7);--amh-2:var(--icon-2,#204fa4);position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;margin-bottom:18px;padding:24px 26px;border-radius:26px;color:#fff;background:linear-gradient(128deg,var(--amh-2),var(--amh-1));box-shadow:0 18px 42px var(--icon-glow,rgba(30,78,151,.22))}
.amh-hero:after{content:"";position:absolute;right:-70px;top:-105px;width:290px;height:290px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.28),rgba(255,255,255,0) 68%);pointer-events:none}
.amh-hero-icon{position:relative;z-index:1;width:72px;height:72px;border-radius:22px;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 13px 28px rgba(0,25,72,.19)}
.amh-hero-icon .ui-icon{width:36px;height:36px;stroke-width:1.7}.amh-hero-copy{position:relative;z-index:1;min-width:0}.amh-hero-copy .eyebrow{color:rgba(255,255,255,.72);font-size:10px;font-weight:900;letter-spacing:.13em}.amh-hero-copy h2{margin:3px 0 4px;font-size:clamp(25px,2.6vw,36px);letter-spacing:-.025em}.amh-hero-copy p{margin:0;max-width:740px;color:rgba(255,255,255,.83);font-size:13px;line-height:1.7}
.amh-hero-count{position:relative;z-index:1;min-width:92px;padding:12px 16px;border-radius:18px;text-align:center;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2)}.amh-hero-count b,.amh-hero-count span{display:block}.amh-hero-count b{font-size:29px;line-height:1}.amh-hero-count span{margin-top:5px;color:rgba(255,255,255,.78);font-size:10px;font-weight:800}
.amh-groups{display:grid;gap:16px}.amh-group{padding:18px;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:0 10px 30px rgba(18,51,91,.055)}.amh-group-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}.amh-group-head h3{margin:0;font-size:15px}.amh-group-head span{padding:5px 9px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:9px;font-weight:850}
.amh-app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.amh-app-card{--amh-card-1:var(--icon-1,#4c80df);--amh-card-2:var(--icon-2,#3157b5);position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;min-height:94px;padding:14px;border:1px solid color-mix(in srgb,var(--amh-card-1) 15%,var(--border));border-radius:19px;background:linear-gradient(145deg,color-mix(in srgb,var(--amh-card-1) 5%,var(--surface)),var(--surface));color:var(--text);text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.amh-app-card:hover,.amh-app-card:focus-visible{transform:translateY(-3px);border-color:color-mix(in srgb,var(--amh-card-1) 38%,var(--border));box-shadow:0 15px 30px color-mix(in srgb,var(--icon-glow,rgba(49,88,212,.2)) 65%,transparent);outline:none}.amh-app-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--amh-card-1),var(--amh-card-2));box-shadow:0 10px 22px var(--icon-glow,rgba(49,88,212,.24)),inset 0 1px 0 rgba(255,255,255,.3)}.amh-app-icon .ui-icon{width:25px;height:25px;stroke-width:1.75}.amh-app-copy{min-width:0}.amh-app-copy b,.amh-app-copy small{display:block}.amh-app-copy b{font-size:13px;line-height:1.35}.amh-app-copy small{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.45}.amh-app-arrow{color:var(--muted);transition:transform .16s ease}.amh-app-arrow .ui-icon{width:16px;height:16px}.amh-app-card:hover .amh-app-arrow{transform:translateX(3px)}
.amh-hero.icon-tone-cyan{--amh-1:#26b9d5;--amh-2:#1675bb}.amh-hero.icon-tone-teal{--amh-1:#20b98f;--amh-2:#087e82}.amh-hero.icon-tone-gold{--amh-1:#f4b532;--amh-2:#d77719}.amh-hero.icon-tone-orange{--amh-1:#f4973f;--amh-2:#dc5f2a}.amh-hero.icon-tone-magenta{--amh-1:#bd5cc7;--amh-2:#7048bb}
[data-theme="dark"] .amh-group{background:color-mix(in srgb,var(--surface) 94%,#102a4d)}

.sidebar .amh-nav-group{margin:0;padding:0;border:0}.sidebar .amh-nav-group>summary{list-style:none;cursor:pointer}.sidebar .amh-nav-group>summary::-webkit-details-marker{display:none}.sidebar .amh-nav-group .nav-chevron{margin-left:auto;transition:transform .18s ease}.sidebar .amh-nav-group[open] .nav-chevron{transform:rotate(90deg)}
.sidebar .amh-subnav{display:grid;gap:7px;margin:2px 9px 10px 26px;padding:7px 0 7px 10px;border-left:1px solid rgba(126,177,255,.28)}.sidebar .amh-nav-group:not([open]) .amh-subnav{display:none}.sidebar .amh-subnav-section{display:grid;gap:3px}.sidebar .amh-subnav-label{padding:5px 8px 2px;color:#6686ac;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.sidebar .amh-subnav a{position:relative;box-sizing:border-box;width:100%;min-height:39px;display:flex;align-items:center;gap:9px;padding:5px 8px;border-radius:10px;color:#a9bdd8;font-size:10.5px;font-weight:750;line-height:1.3;text-decoration:none;transition:background .16s ease,color .16s ease,transform .16s ease}.sidebar .amh-subnav-icon{flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;border-radius:9px;color:#fff;background:linear-gradient(145deg,var(--icon-1,#4378df),var(--icon-2,#2d5bad));border:1px solid rgba(255,255,255,.14);box-shadow:0 6px 14px var(--icon-glow,rgba(31,77,166,.24)),inset 0 1px 0 rgba(255,255,255,.20)}.sidebar .amh-subnav-icon .ui-icon{width:14px;height:14px}
.sidebar .amh-subnav a:hover{background:rgba(75,133,232,.14);color:#edf5ff;transform:translateX(2px)}.sidebar .amh-subnav a.active{background:linear-gradient(90deg,rgba(24,177,178,.31),rgba(47,115,205,.12));color:#fff;box-shadow:inset 0 0 0 1px rgba(93,213,220,.21)}.sidebar .amh-subnav a.active:before{content:"";position:absolute;left:-15px;width:4px;height:23px;border-radius:999px;background:#21d5c5;box-shadow:0 0 12px rgba(33,213,197,.78)}.app-shell.sidebar-collapsed .amh-subnav{display:none!important}
@media(max-width:1120px){.amh-app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:940px){.sidebar .amh-subnav{margin-left:25px;margin-right:8px}.sidebar .amh-subnav a{min-height:41px;padding-inline:10px;font-size:11px}}
@media(max-width:680px){.amh-hero{grid-template-columns:auto 1fr;padding:19px}.amh-hero-icon{width:58px;height:58px;border-radius:18px}.amh-hero-icon .ui-icon{width:29px;height:29px}.amh-hero-count{display:none}.amh-app-grid{grid-template-columns:1fr}.amh-group{padding:14px}.amh-app-card{min-height:84px;padding:12px}.amh-app-icon{width:48px;height:48px}}

/* v0.11.6.23 — installed PWA mobile application shell (teacher and student only) */
.pwa-launcher-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 20px;padding:0 4px 15px;border-bottom:1px solid var(--line)}
.pwa-launcher-head>div{min-width:0}.pwa-launcher-head span{color:var(--primary);font-size:8px;font-weight:950;letter-spacing:.13em}.pwa-launcher-head h2{margin:3px 0 2px;font-size:22px;line-height:1.2}.pwa-launcher-head p{margin:0;color:var(--muted);font-size:9px}.pwa-launcher-head button{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--text-2);cursor:pointer}.pwa-launcher-head button .ui-icon{width:18px;height:18px}
.pwa-launcher-groups{display:grid;gap:22px}.pwa-launcher-group{display:grid;gap:10px}.pwa-launcher-group-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px}.pwa-launcher-group-title h3{margin:0;font-size:12px}.pwa-launcher-group-title span{padding:4px 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:8px;font-weight:850}
.pwa-launcher-group .pwa-launcher-grid{margin:0!important}

@media(max-width:940px){
  html.installed-pwa body[data-shell-role="teacher"] .app-shell,
  html.installed-pwa body[data-shell-role="student"] .app-shell{display:block!important;grid-template-columns:1fr!important;min-height:100dvh}
  html.installed-pwa body[data-shell-role="teacher"] .sidebar,
  html.installed-pwa body[data-shell-role="student"] .sidebar,
  html.installed-pwa body[data-shell-role="teacher"] .sidebar-overlay,
  html.installed-pwa body[data-shell-role="student"] .sidebar-overlay{display:none!important}
  html.installed-pwa body[data-shell-role="teacher"] .main,
  html.installed-pwa body[data-shell-role="student"] .main{width:100%;min-width:0}
  html.installed-pwa body[data-shell-role="teacher"] .topbar,
  html.installed-pwa body[data-shell-role="student"] .topbar{top:0;min-height:62px;padding:calc(7px + env(safe-area-inset-top)) 12px 8px;border-radius:0;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 8px 24px rgba(20,45,86,.07)}
  html.installed-pwa body[data-shell-role="teacher"] .menu-btn,
  html.installed-pwa body[data-shell-role="student"] .menu-btn{display:none!important}
  html.installed-pwa body[data-shell-role="teacher"] .content,
  html.installed-pwa body[data-shell-role="student"] .content{width:100%;padding:14px 12px calc(92px + env(safe-area-inset-bottom));overflow:hidden}
  html.installed-pwa body[data-shell-role="teacher"] .mobile-nav,
  html.installed-pwa body[data-shell-role="student"] .mobile-nav{left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));min-height:64px;padding:6px;border-radius:20px;background:color-mix(in srgb,var(--surface) 96%,transparent)!important;border:1px solid color-mix(in srgb,var(--line) 82%,transparent)!important;box-shadow:0 16px 42px rgba(18,43,82,.18)!important;backdrop-filter:blur(22px) saturate(145%)}
  html.installed-pwa body[data-shell-role="teacher"] .mobile-nav a,
  html.installed-pwa body[data-shell-role="teacher"] .mobile-nav button,
  html.installed-pwa body[data-shell-role="student"] .mobile-nav a,
  html.installed-pwa body[data-shell-role="student"] .mobile-nav button{position:relative;min-width:0;padding:4px 1px;color:var(--muted);font-size:7.5px;font-weight:800}
  html.installed-pwa body[data-shell-role="teacher"] .mobile-nav button[data-menu] .ui-icon,
  html.installed-pwa body[data-shell-role="student"] .mobile-nav button[data-menu] .ui-icon{width:29px!important;height:29px!important;padding:5px;border-radius:10px;color:#fff;background:linear-gradient(145deg,#64748b,#3f526e);box-shadow:0 5px 13px rgba(42,62,91,.22)}
  html.installed-pwa body[data-shell-role="teacher"] .floating-launcher-backdrop,
  html.installed-pwa body[data-shell-role="student"] .floating-launcher-backdrop{display:flex;align-items:flex-end;padding:0;background:rgba(5,16,34,.42)!important;backdrop-filter:blur(7px)!important}
  html.installed-pwa body[data-shell-role="teacher"] .floating-launcher-stage,
  html.installed-pwa body[data-shell-role="student"] .floating-launcher-stage{position:relative!important;inset:auto!important;top:auto!important;left:auto!important;right:auto!important;width:100%!important;max-width:none!important;max-height:calc(100dvh - 46px)!important;margin:0;padding:20px 14px calc(28px + env(safe-area-inset-bottom))!important;border:1px solid var(--line);border-bottom:0;border-radius:28px 28px 0 0;background:var(--surface)!important;box-shadow:0 -22px 60px rgba(6,23,51,.24);overflow:auto}
  html.installed-pwa .pwa-launcher-head{position:sticky;top:-20px;z-index:3;margin-inline:-2px;padding:20px 6px 14px;background:color-mix(in srgb,var(--surface) 97%,transparent);backdrop-filter:blur(15px)}
  html.installed-pwa .pwa-launcher-groups{gap:24px}.pwa-launcher-group .pwa-launcher-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:15px 7px!important}
  html.installed-pwa .pwa-launcher-group .floating-launcher-app{min-height:94px!important}
}
@media(max-width:390px){html.installed-pwa .pwa-launcher-group .pwa-launcher-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* v0.11.6.23-r2 — launcher spacing and vivid per-app color polish */
@media(max-width:940px){
  body:not([data-shell-role="admin"]) .floating-launcher-stage{top:68px!important;max-height:calc(100dvh - 170px)!important;padding:16px 12px 24px!important;border:1px solid color-mix(in srgb,var(--line) 86%,transparent)!important;border-radius:24px!important;background:color-mix(in srgb,var(--surface) 97%,#eef5ff)!important;box-shadow:0 22px 54px rgba(10,34,72,.24)!important;overscroll-behavior:contain}
  body:not([data-shell-role="admin"]) .pwa-launcher-head{position:sticky;top:-16px;z-index:5;margin:0 -2px 18px;padding:16px 6px 13px;background:color-mix(in srgb,var(--surface) 97%,#eef5ff);border-radius:18px 18px 0 0}
  body:not([data-shell-role="admin"]):has(.floating-launcher-backdrop.open) .mobile-nav{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(18px)}
  body:not([data-shell-role="admin"]) .mobile-nav{transition:opacity .16s ease,visibility .16s ease,transform .16s ease}
  .pwa-launcher-group .floating-launcher-app{box-sizing:border-box!important;min-height:104px!important;padding:4px 1px 7px!important;gap:6px!important;overflow:visible!important}
  .pwa-launcher-group .floating-launcher-icon{width:56px!important;height:56px!important;flex:0 0 56px!important;margin:0!important;border-radius:18px!important}
  .pwa-launcher-group .floating-launcher-app b{box-sizing:border-box!important;width:min(100%,78px)!important;max-width:78px!important;min-height:32px!important;margin:0!important;padding:7px 5px!important;border-radius:12px!important;line-height:1.2!important;overflow-wrap:normal!important;word-break:normal!important}
  .pwa-launcher-group .floating-launcher-app b::before{display:none!important}
}
@media(max-width:430px){
  .pwa-launcher-group .pwa-launcher-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px 10px!important}
  .pwa-launcher-group .floating-launcher-app b{width:min(100%,92px)!important;max-width:92px!important}
}
@media(max-width:340px){
  .pwa-launcher-group .pwa-launcher-grid{gap-inline:6px!important}
  .pwa-launcher-group .floating-launcher-icon{width:52px!important;height:52px!important;flex-basis:52px!important}
  .pwa-launcher-group .floating-launcher-app b{font-size:8.5px!important}
}

/* v0.11.6.23-r3 — compact student dashboard on phone screens */
.student-r6-chart-grid-single{grid-template-columns:minmax(0,1fr)}
.student-r6-hero-no-average{grid-template-columns:minmax(0,1fr)}
.student-r6-overview-grid-single{grid-template-columns:minmax(0,1fr)}
.srb24424r4-term-picker{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.srb24424r4-term-picker label{display:grid;gap:4px;min-width:210px}
.srb24424r4-term-picker label>span{color:var(--muted);font-size:8px;font-weight:850}
.srb24424r4-term-picker select{min-height:38px;padding:6px 32px 6px 10px!important;border-radius:11px!important;font-size:10px!important}
.srb24424r4-history-pill{padding:5px 8px;border-radius:999px;background:#fff2d8;color:#a76b00;font-size:8px;font-weight:900;white-space:nowrap}
.student-r6-certificates>.student-r6-card-head p{margin:4px 0 0;color:var(--muted);font-size:9px}
.student-r6-certificate-head-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.student-r6-certificate-head-actions>a{color:var(--primary);font-size:10px;font-weight:850;text-decoration:none;white-space:nowrap}
.student-r6-certificate-arrows{display:flex;gap:5px}
.student-r6-certificate-arrows button{width:34px;height:34px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--text);font-size:21px;line-height:1;cursor:pointer;box-shadow:0 5px 13px rgba(39,72,116,.07)}
.student-r6-certificate-arrows button:hover{border-color:#8eb8ee;color:#276aca;background:#f2f7ff}
.student-r6-certificate-track{padding:3px 2px 7px;scroll-padding-inline:2px;overscroll-behavior-inline:contain}
.student-r6-certificate-track>*{flex-basis:min(390px,88%)}
.student-r6-certificate-card{overflow:hidden;border:1px solid #dbe6f3;border-radius:20px;background:var(--surface);box-shadow:0 12px 28px rgba(29,62,104,.09)}
.student-r6-certificate-preview{position:relative;overflow:hidden;display:grid;place-items:center;align-content:center;gap:4px;aspect-ratio:1.55;padding:18px;text-align:center;text-decoration:none;color:#163d73;background:linear-gradient(135deg,#edf7ff,#fff 47%,#eef4ff)}
.student-r6-certificate-preview:before,.student-r6-certificate-preview:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;border:18px solid rgba(52,117,225,.09)}
.student-r6-certificate-preview:before{left:-61px;bottom:-65px}.student-r6-certificate-preview:after{right:-64px;top:-67px}
.student-r6-certificate-card.competition .student-r6-certificate-preview{color:#704c08;background:linear-gradient(135deg,#fff5d9,#fffdf5 48%,#fff0c2)}
.student-r6-certificate-card.competition .student-r6-certificate-preview:before,.student-r6-certificate-card.competition .student-r6-certificate-preview:after{border-color:rgba(226,165,40,.13)}
.student-r6-certificate-brand{position:absolute;left:13px;top:11px;color:#245fc7;font-size:12px;font-weight:950;letter-spacing:.04em}.student-r6-certificate-brand small{font-size:6px;color:#7c91ad}
.student-r6-certificate-ribbon{position:absolute;right:13px;top:9px;font-size:22px;filter:drop-shadow(0 5px 8px rgba(68,83,111,.12))}
.student-r6-certificate-kicker{font-size:7px;font-weight:950;letter-spacing:.16em;opacity:.7}
.student-r6-certificate-preview strong{z-index:1;display:-webkit-box;max-width:86%;overflow:hidden;font-size:16px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.student-r6-certificate-seal{z-index:1;width:28px;height:28px;display:grid;place-items:center;margin-top:4px;border-radius:50%;background:linear-gradient(145deg,#f4bf43,#e7951f);color:#fff;font-size:13px;font-weight:950;box-shadow:0 6px 13px rgba(205,135,25,.24)}
.student-r6-certificate-preview>i{position:absolute;left:20%;right:20%;bottom:17px;height:1px;background:rgba(72,101,144,.17)}.student-r6-certificate-preview>i:last-child{left:29%;right:29%;bottom:12px}
.student-r6-certificate-copy{padding:14px}.student-r6-certificate-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.student-r6-certificate-meta span,.student-r6-certificate-meta em{padding:4px 8px;border-radius:999px;font-size:7.5px;font-weight:900;font-style:normal}.student-r6-certificate-meta span{background:#e9f8f2;color:#18855e}.student-r6-certificate-card.competition .student-r6-certificate-meta span{background:#fff1d2;color:#9a6200}.student-r6-certificate-meta em{background:var(--surface-2);color:var(--muted)}
.student-r6-certificate-copy h4{display:-webkit-box;overflow:hidden;margin:9px 0 3px;font-size:13px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.student-r6-certificate-copy>p{height:28px;overflow:hidden;margin:0;color:var(--muted);font-size:9px;line-height:1.45}
.student-r6-certificate-copy dl{display:grid;gap:5px;margin:11px 0}.student-r6-certificate-copy dl>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px}.student-r6-certificate-copy dt{color:var(--muted);font-size:8px}.student-r6-certificate-copy dd{overflow:hidden;margin:0;color:var(--text-2);font-size:8.5px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.student-r6-certificate-copy footer{display:grid;grid-template-columns:.78fr 1.22fr;gap:7px;margin-top:12px}.student-r6-certificate-copy footer .button{min-height:38px!important;padding:7px!important;justify-content:center;font-size:8.5px!important}
@media(max-width:940px){
  body[data-shell-role="teacher"] .sidebar,
  body[data-shell-role="student"] .sidebar,
  body[data-shell-role="teacher"] .sidebar-overlay,
  body[data-shell-role="student"] .sidebar-overlay{display:none!important}
  body[data-shell-role="teacher"] .menu-btn,
  body[data-shell-role="student"] .menu-btn{display:none!important}
  body[data-shell-role="teacher"] .app-shell,
  body[data-shell-role="student"] .app-shell{display:block!important;grid-template-columns:minmax(0,1fr)!important}
  body[data-shell-role="teacher"] .main,
  body[data-shell-role="student"] .main{width:100%;min-width:0}
}
@media(max-width:640px){
  body[data-page="student-home"][data-shell-role="student"] .page-intro{display:none!important}
  body[data-page="student-home"][data-shell-role="student"] .content{padding-top:8px!important}
  body[data-page="student-home"][data-shell-role="student"] .student-r6-hero{gap:10px!important;padding:14px!important}
  body[data-page="student-home"][data-shell-role="student"] .student-r6-hero-copy h2{font-size:22px!important;line-height:1.25!important}
  body[data-page="student-home"][data-shell-role="student"] .student-r6-actions{
    width:calc(100% + 72px);margin:12px 0 0 -72px!important;
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important
  }
  body[data-page="student-home"][data-shell-role="student"] .student-r6-actions .button{
    min-width:0!important;min-height:40px!important;padding:8px 6px!important;font-size:8.5px!important
  }
  body[data-page="student-home"][data-shell-role="student"] .student-r6-actions .button.secondary{
    color:#fff!important;border-color:transparent!important;
    background:linear-gradient(135deg,#2687ed,#5268ec)!important;
    box-shadow:0 7px 16px rgba(43,104,222,.20)!important
  }
  body[data-page="student-home"][data-shell-role="student"] .student-r6-actions .button.secondary:last-child{
    background:linear-gradient(135deg,#17aa92,#258fd4)!important;
    box-shadow:0 7px 16px rgba(29,143,158,.18)!important
  }
  body[data-page="student-home"][data-shell-role="student"] .student-r6-grade-card{
    display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;
    gap:4px 7px!important;padding:12px 14px!important
  }
  body[data-page="student-home"][data-shell-role="student"] .student-r6-grade-card>span{font-size:10px!important}
  body[data-page="student-home"][data-shell-role="student"] .student-r6-grade-card>b{margin:0!important;font-size:29px!important}
  body[data-page="student-home"][data-shell-role="student"] .student-r6-grade-card>small{align-self:end;margin-bottom:3px}
  body[data-page="student-home"][data-shell-role="student"] .student-r6-grade-value{margin:0!important;padding:0!important;border:0!important;gap:6px!important}
  body[data-page="student-home"][data-shell-role="student"] .student-r6-grade-value strong{font-size:19px!important}
  body[data-page="student-home"][data-shell-role="student"] .student-r6-grade-value span{font-size:9px!important;margin:0!important}
  body[data-page="student-home"][data-shell-role="student"] .student-r6-grade-card>p{
    grid-column:2/4;margin:0!important;text-align:right;font-size:8.5px!important
  }
  body[data-page="student-home"][data-shell-role="student"] .student-r6-chart-grid{margin-top:10px!important}
  body[data-page="student-home"][data-shell-role="student"] .srb24424r3-subject-head{align-items:stretch!important}
  body[data-page="student-home"][data-shell-role="student"] .srb24424r4-term-picker{width:100%;justify-content:space-between;align-items:end}
  body[data-page="student-home"][data-shell-role="student"] .srb24424r4-term-picker label{min-width:0;flex:1}
  body[data-page="student-home"][data-shell-role="student"] .srb24424r4-term-picker select{width:100%;font-size:11px!important}
  body[data-page="student-home"][data-shell-role="student"] .student-r6-certificates>.student-r6-card-head{align-items:stretch;flex-direction:column;margin-bottom:10px}
  body[data-page="student-home"][data-shell-role="student"] .student-r6-certificate-head-actions{justify-content:space-between}
  body[data-page="student-home"][data-shell-role="student"] .student-r6-certificate-track>*{flex-basis:88%}
  body[data-page="student-home"][data-shell-role="student"] .student-r6-certificate-preview{padding:14px}
  body[data-page="student-home"][data-shell-role="student"] .student-r6-certificate-preview strong{font-size:14px}
  body[data-page="student-home"][data-shell-role="student"] .student-r6-certificate-copy{padding:12px}
}
.ol64-early-term{margin-top:24px;padding:20px;border:1px solid #b8ddf5;border-radius:24px;background:linear-gradient(135deg,#eaf8ff,#f5f0ff 68%,#fff);box-shadow:0 12px 30px rgba(32,91,149,.08)}
.ol64-early-term>.ol64-course-grid{margin-top:16px}
.ol64-early-term h2{margin:4px 0 6px;color:#163c74;font-size:clamp(20px,2vw,27px)}
.ol64-early-term p{margin:0;color:#526b86;line-height:1.55}
.ol64-course-hero .ol64-early-detail-note{margin-top:12px;padding:10px 13px;border-radius:12px;background:#e7f6ff;color:#206198;font-weight:700}
@media(max-width:760px){.ol64-early-term{padding:14px;border-radius:19px}}
/* Roadmap 8: keep empty chart overlay hidden when real data exists. */
.student-r6-chart-empty[hidden]{display:none!important}
.student-r6-chart-empty{background:var(--surface);color:var(--muted)}
.student-r6-learning-item,
.student-r6-certificate-empty{background:var(--surface-2);border-color:var(--line);color:var(--text)}
.student-r6-learning-title small,
.student-r6-learning-foot,
.student-r6-certificate-empty p{color:var(--muted)}
