:root{
  --bg:#f5f7fb;--surface:#fff;--surface-2:#f8fafc;--text:#172033;--muted:#6b7280;
  --line:#e5e7eb;--primary:#4f46e5;--primary-2:#7c3aed;--primary-soft:#eef2ff;
  --success:#16a34a;--success-soft:#ecfdf3;--danger:#dc2626;--danger-soft:#fff1f2;
  --warning:#d97706;--shadow:0 14px 35px rgba(15,23,42,.08);--radius:18px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.muted{color:var(--muted)}.small{font-size:12px}.nowrap{white-space:nowrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 14px;border:1px solid transparent;border-radius:11px;background:#eef2f7;color:#263247;font-weight:700;cursor:pointer;transition:.18s ease}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 8px 20px rgba(79,70,229,.22)}.btn.danger{background:var(--danger-soft);color:var(--danger);border-color:#fecdd3}.btn.success{background:var(--success-soft);color:var(--success);border-color:#bbf7d0}.btn.ghost{background:transparent;border-color:var(--line)}.btn.sm{padding:7px 10px;font-size:13px;border-radius:9px}.btn.block{width:100%}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid #dbe1ea;border-radius:11px;background:#fff;color:var(--text);outline:none;transition:.15s}input:focus,select:focus,textarea:focus{border-color:#818cf8;box-shadow:0 0 0 4px rgba(99,102,241,.1)}textarea{min-height:90px;resize:vertical}label{display:block;font-weight:700;margin:10px 0 6px;font-size:14px}.grid{display:grid;gap:15px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.wrap{max-width:1180px;margin:auto;padding:24px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:18px;box-shadow:0 5px 20px rgba(15,23,42,.035)}.card h1,.card h2,.card h3{margin-top:0}.card.soft{background:var(--surface-2)}
.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;background:#eef2ff;color:#4338ca}.badge.success{background:var(--success-soft);color:var(--success)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.warning{background:#fff7ed;color:var(--warning)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{padding:12px 13px;border-bottom:1px solid #edf0f5;text-align:left;vertical-align:middle}.table th{background:#f8fafc;color:#536074;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.table tr:last-child td{border-bottom:0}.actions{display:flex;flex-wrap:wrap;gap:7px}
.notice{padding:12px 14px;border-radius:12px;margin-bottom:14px;font-weight:600}.notice.error{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.notice.success{background:#ecfdf3;color:#15803d;border:1px solid #bbf7d0}
/* Login */
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#ddd6fe,transparent 35%),radial-gradient(circle at bottom right,#bfdbfe,transparent 30%),#f8fafc}.login-card{width:min(430px,100%);background:#fff;border:1px solid rgba(255,255,255,.8);box-shadow:0 25px 70px rgba(30,41,59,.14);border-radius:26px;padding:30px}.login-logo{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;margin:auto;background:linear-gradient(135deg,#4f46e5,#7c3aed);font-size:36px;box-shadow:0 12px 30px rgba(79,70,229,.25)}
/* Admin */
.admin-body{background:#f6f7fb}.admin-shell{min-height:100vh}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:264px;padding:22px 16px;background:linear-gradient(180deg,#111827 0%,#171a2d 100%);color:#dbe4f0;display:flex;flex-direction:column;z-index:20}.admin-brand{display:flex;align-items:center;gap:12px;padding:4px 8px 22px}.admin-brand-logo{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#6366f1,#a855f7);display:grid;place-items:center;font-size:22px}.admin-brand b{display:block;color:#fff}.admin-brand span{font-size:12px;color:#94a3b8}.admin-nav{display:grid;gap:6px}.admin-nav a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:12px;color:#cbd5e1;font-weight:650}.admin-nav a:hover,.admin-nav a.active{background:rgba(255,255,255,.09);color:#fff}.admin-nav .icon{width:24px;text-align:center}.admin-user{margin-top:auto;padding:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.05);border-radius:15px}.admin-main{margin-left:264px;min-height:100vh}.admin-topbar{height:76px;position:sticky;top:0;z-index:15;background:rgba(246,247,251,.86);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid rgba(226,232,240,.8)}.admin-topbar h1{font-size:22px;margin:0}.admin-content{padding:26px 28px 40px;max-width:1500px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.stat-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 9px 25px rgba(15,23,42,.05)}.stat-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-35px;top:-35px;background:linear-gradient(135deg,rgba(99,102,241,.15),rgba(168,85,247,.08))}.stat-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--primary-soft);font-size:20px;margin-bottom:13px}.stat-value{font-size:28px;font-weight:850}.stat-label{color:var(--muted);font-size:13px}.span-2{grid-column:span 2}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-title h2{margin:0;font-size:18px}.hero-admin{background:linear-gradient(135deg,#312e81,#5b21b6 58%,#7e22ce);color:#fff;border:0;box-shadow:0 22px 50px rgba(79,70,229,.23)}.hero-admin p{color:#ddd6fe;max-width:680px}.admin-group-card{border:1px solid #e6e9f1;border-radius:16px;padding:16px;margin-bottom:14px;background:#fbfcfe}.admin-group-card h3{margin:0 0 12px}.mobile-admin-toggle{display:none}
/* icon picker */
.icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:7px}.ico{font-size:27px;padding:8px;border:2px solid transparent;border-radius:11px;background:#f1f4f8;cursor:pointer;min-height:50px}.ico.sel{border-color:#6366f1;background:#eef2ff;box-shadow:0 0 0 3px rgba(99,102,241,.08)}
/* Student mobile */
.student-body{background:#f3f5fb;min-height:100vh;padding-bottom:104px}.student-app{width:min(760px,100%);margin:auto;min-height:100vh}.student-top{position:sticky;top:0;z-index:14;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid #e9edf4;padding:14px 16px;display:flex;align-items:center;justify-content:space-between}.student-top .title{font-weight:850}.student-content{padding:16px}.student-hero{background:linear-gradient(135deg,#4338ca,#7c3aed);color:white;border-radius:24px;padding:22px;box-shadow:0 18px 40px rgba(79,70,229,.22);margin-bottom:16px}.student-hero p{color:#e0e7ff;margin-bottom:0}.student-card{background:#fff;border:1px solid #e7eaf0;border-radius:20px;padding:17px;margin-bottom:14px;box-shadow:0 7px 24px rgba(15,23,42,.045)}.student-card h2,.student-card h3{margin-top:0}.student-bottom-nav{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);width:min(720px,calc(100% - 24px));height:72px;background:rgba(17,24,39,.96);backdrop-filter:blur(18px);border-radius:23px;padding:7px 8px;display:grid;grid-template-columns:repeat(5,1fr);z-index:30;box-shadow:0 18px 45px rgba(15,23,42,.28);border:1px solid rgba(255,255,255,.08)}.student-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#9ca3af;font-size:10px;font-weight:700;border-radius:16px}.student-bottom-nav a .nav-icon{font-size:20px;line-height:1}.student-bottom-nav a.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.student-bottom-nav a.home-tab{transform:translateY(-10px);background:#fff;color:#4f46e5;border:5px solid #f3f5fb;border-radius:50%;width:58px;height:58px;justify-self:center;box-shadow:0 10px 24px rgba(79,70,229,.22)}.student-bottom-nav a.home-tab.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.exam-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.exam-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}.mini-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.mini-stat{background:#f8fafc;border:1px solid #edf0f4;border-radius:14px;padding:11px;text-align:center}.mini-stat b{display:block;font-size:18px}.mini-stat span{font-size:11px;color:var(--muted)}
/* Exam */
.exam-shell{width:min(820px,100%);margin:auto}.exam-status{display:flex;justify-content:space-between;gap:10px;align-items:center}.timer{font-size:25px;font-weight:900;font-variant-numeric:tabular-nums;color:#fff;background:#111827;border-radius:12px;padding:7px 11px}.timer.warning{background:#b45309}.timer.danger{background:#b91c1c}.master{font-size:42px;text-align:center;display:flex;justify-content:center;gap:14px;margin:18px;flex-wrap:wrap}.display{font-size:49px;text-align:center;display:flex;justify-content:center;gap:17px;margin:22px;flex-wrap:wrap}.options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.option{font-size:31px;padding:13px 7px;border:2px solid #e5e7eb;background:#fff;border-radius:15px;cursor:pointer;min-height:82px}.option:hover{border-color:#818cf8;background:#f5f3ff}.qnav{display:flex;flex-wrap:wrap;gap:6px}.qnav a{display:block}.qnav button{width:34px;height:34px;border:0;border-radius:9px;background:#eef2f7;font-weight:800}.qnav button.done{background:#dcfce7;color:#15803d}.qnav button.active{background:#4f46e5!important;color:#fff}.progress{height:8px;background:#e8edf5;border-radius:8px;overflow:hidden}.progress div{height:100%;background:linear-gradient(90deg,#4f46e5,#8b5cf6)}
.empty-state{text-align:center;padding:28px 18px;color:var(--muted)}.avatar{width:52px;height:52px;border-radius:17px;background:linear-gradient(135deg,#c7d2fe,#ddd6fe);display:grid;place-items:center;font-weight:900;color:#4338ca;font-size:19px}
@media(max-width:1050px){.stat-grid{grid-template-columns:repeat(2,1fr)}.admin-sidebar{width:220px}.admin-main{margin-left:220px}.admin-content{padding:22px}.admin-topbar{padding:0 22px}}
@media(max-width:760px){.g2,.g3,.g4,.stat-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.admin-sidebar{position:static;width:auto;min-height:auto;padding:13px 12px}.admin-brand{padding-bottom:10px}.admin-nav{display:flex;overflow:auto;padding-bottom:3px}.admin-nav a{min-width:max-content}.admin-user{display:none}.admin-main{margin-left:0}.admin-topbar{height:auto;padding:14px 16px;position:static}.admin-topbar h1{font-size:18px}.admin-content{padding:16px}.wrap{padding:16px}.card{padding:16px;border-radius:16px}.options{grid-template-columns:repeat(5,1fr);gap:6px}.option{font-size:25px;min-height:68px}.master{font-size:34px;gap:9px}.display{font-size:38px;gap:10px}.table th,.table td{padding:10px 9px;font-size:13px}.student-content{padding:14px}.student-card{border-radius:18px}.student-bottom-nav{bottom:10px;height:68px}.timer{font-size:19px}.exam-status{align-items:flex-start}.exam-status .small{font-size:11px}}

/* =========================================================
   PREMIUM V2.2 - compact typography, premium student UI,
   60-icon admin picker, distraction-free sequential exam.
   ========================================================= */
body{font-size:14px;letter-spacing:-.008em}
h1{font-size:26px}h2{font-size:19px}h3{font-size:16px}
.small{font-size:11.5px}.btn{padding:9px 13px;font-size:13px;border-radius:10px}
input,select,textarea{padding:9px 11px;font-size:13.5px;border-radius:10px}label{font-size:12.5px;margin:9px 0 5px}
.card{padding:17px;border-radius:16px}.section-title h2{font-size:17px}.admin-topbar h1{font-size:20px}.stat-value{font-size:24px}
.admin-group-card{padding:14px;border-radius:14px}.admin-group-card h3{font-size:15px}.table th,.table td{font-size:12.5px}

/* Shared icon rendering: same glyph, color vs grayscale */
.app-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-style:normal;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji","Segoe UI Symbol",sans-serif}
.icon-color{filter:none;color:#4f46e5}
.icon-bw{filter:grayscale(1) saturate(0) contrast(1.22);color:#111827}

/* Admin project icon picker */
.icon-picker{border:1px solid #e6eaf1;background:#fff;border-radius:14px;padding:12px;max-height:430px;overflow:auto}
.icon-picker-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;font-weight:800;letter-spacing:.035em;text-transform:uppercase;color:#596579;margin:1px 1px 8px}
.icon-picker-label b{font-size:10px;color:#6366f1;background:#eef2ff;padding:4px 7px;border-radius:999px}
.icon-picker-label.mono{margin-top:14px;padding-top:12px;border-top:1px dashed #dfe4ec}
.icon-picker-label.mono b{color:#334155;background:#f1f5f9}
.icons{grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:5px}
.ico{font-size:21px;padding:5px;border-width:1.5px;border-radius:9px;min-height:38px;max-height:42px;background:#f7f8fb}
.ico .app-icon{font-size:21px}
.ico:hover{border-color:#a5b4fc;background:#f5f3ff}
.ico.sel{border-color:#6366f1;background:#eef2ff;box-shadow:0 0 0 2px rgba(99,102,241,.08)}
.selection-info{margin-top:7px;display:inline-flex;align-items:center;gap:3px;background:#f5f7ff;color:#4338ca;border:1px solid #e0e7ff;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}
.form-actions{position:sticky;bottom:12px;z-index:9;background:rgba(246,247,251,.9);backdrop-filter:blur(12px);padding:10px;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 12px 32px rgba(15,23,42,.09)}

/* Student shell */
.student-body{
  --student-ink:#111827;--student-muted:#7a8495;--student-primary:#5b5cf0;--student-primary-2:#7c4dff;
  background:
    radial-gradient(circle at 12% -4%,rgba(99,102,241,.16),transparent 28%),
    radial-gradient(circle at 92% 18%,rgba(168,85,247,.10),transparent 25%),
    linear-gradient(180deg,#f9faff 0%,#f3f5fa 100%);
  color:var(--student-ink);padding-bottom:102px;font-size:13.5px
}
.student-app{width:min(820px,100%);position:relative}
.student-top{height:72px;padding:11px 18px;background:rgba(255,255,255,.78);border-bottom:1px solid rgba(226,232,240,.75);box-shadow:0 6px 24px rgba(15,23,42,.035)}
.student-brand-mini{display:flex;align-items:center;gap:10px;min-width:0}
.student-brand-mark{width:39px;height:39px;border-radius:13px;background:linear-gradient(145deg,#5b5cf0,#8b5cf6);box-shadow:0 9px 21px rgba(91,92,240,.24);display:grid;place-items:center;color:#fff;font-weight:900;font-size:18px;flex:0 0 auto;position:relative;overflow:hidden}
.student-brand-mark:after{content:"";position:absolute;width:28px;height:28px;background:rgba(255,255,255,.17);border-radius:50%;right:-9px;top:-8px}
.student-eyebrow{font-size:8.5px;font-weight:900;letter-spacing:.15em;color:#9aa3b1;line-height:1.3}
.student-top .title{font-size:14px;max-width:270px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.02em}
.focus-chip,.student-header-action{display:inline-flex;align-items:center;gap:6px;border:1px solid #e5e7eb;background:rgba(255,255,255,.82);color:#536074;padding:7px 10px;border-radius:999px;font-size:10.5px;font-weight:800;box-shadow:0 4px 12px rgba(15,23,42,.035)}
.focus-chip i{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.10)}
.student-content{padding:18px 16px 22px}
.student-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#3f46cc 0%,#6554df 55%,#7c3aed 100%);border-radius:24px;padding:22px 21px;box-shadow:0 18px 38px rgba(79,70,229,.20);margin-bottom:15px;border:1px solid rgba(255,255,255,.15)}
.student-hero:before,.student-hero:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.09);pointer-events:none}.student-hero:before{width:155px;height:155px;right:-52px;top:-78px}.student-hero:after{width:88px;height:88px;right:54px;bottom:-60px}
.student-hero h1{font-size:25px;line-height:1.13;letter-spacing:-.035em}.student-hero h2{font-size:20px}.student-hero p{font-size:12px;color:#e7e9ff}
.student-card{position:relative;background:rgba(255,255,255,.92);border:1px solid rgba(226,232,240,.9);border-radius:18px;padding:15px;margin-bottom:12px;box-shadow:0 9px 26px rgba(15,23,42,.045)}
.student-card h2{font-size:17px}.student-card h3{font-size:14.5px}
.exam-card-head h3{font-size:14.5px}.exam-meta{margin:8px 0 11px}.badge{font-size:10.5px;padding:4px 8px}
.mini-stat-grid{gap:7px}.mini-stat{background:rgba(255,255,255,.92);border-color:#e8ebf1;border-radius:13px;padding:10px;box-shadow:0 5px 15px rgba(15,23,42,.025)}.mini-stat b{font-size:16px}.mini-stat span{font-size:9.5px}
.avatar{border-radius:16px;box-shadow:0 9px 22px rgba(79,70,229,.12)}

/* Premium floating mobile navigation */
.student-bottom-nav{bottom:12px;width:min(700px,calc(100% - 22px));height:69px;background:rgba(255,255,255,.93);border:1px solid rgba(226,232,240,.95);box-shadow:0 16px 42px rgba(15,23,42,.16);border-radius:22px;padding:6px 7px}
.student-bottom-nav a{color:#8a94a5;font-size:9px;font-weight:800;gap:3px;border-radius:14px;transition:.16s ease}
.student-bottom-nav .nav-icon{width:20px;height:20px;display:grid;place-items:center}.student-bottom-nav .nav-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.student-bottom-nav a.active{background:#f0f1ff;color:#5557df;box-shadow:none}
.student-bottom-nav a.home-tab{transform:translateY(-9px);background:linear-gradient(145deg,#5b5cf0,#7c4dff);color:#fff;border:5px solid #f5f6fb;width:56px;height:56px;box-shadow:0 12px 24px rgba(91,92,240,.25)}
.student-bottom-nav a.home-tab.active{background:linear-gradient(145deg,#4f46e5,#7c3aed)}

/* Distraction-free premium exam */
.premium-exam{width:min(760px,100%)}
.exam-status-card{padding:14px 15px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(249,250,255,.97))}
.exam-status{align-items:center}.exam-status h2{font-size:15px;margin:4px 0 2px}.exam-kicker{font-size:9px;text-transform:uppercase;letter-spacing:.11em;font-weight:900;color:#6366f1}.exam-submeta{display:flex;align-items:center;gap:7px;color:#8a94a5;font-size:10.5px}.exam-submeta i{width:3px;height:3px;border-radius:50%;background:#c4cad4}
.timer-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.timer-label{font-size:8.5px;text-transform:uppercase;letter-spacing:.08em;color:#9aa3b1;font-weight:900}.timer{font-size:18px;line-height:1;font-weight:900;border-radius:10px;padding:8px 10px;min-width:70px;text-align:center;background:#171b2f;box-shadow:0 7px 18px rgba(17,24,39,.14)}
.exam-progress{margin-top:12px;height:5px;background:#eceefa}.exam-progress div{background:linear-gradient(90deg,#5b5cf0,#8b5cf6)}
.question-card{padding:18px 15px 17px;text-align:center;overflow:hidden}.question-number{display:inline-flex;align-items:baseline;gap:4px;color:#353b4a;font-size:12.5px;font-weight:750;background:#f6f7fb;border:1px solid #e8eaf1;padding:6px 11px;border-radius:999px}.question-number strong{color:#5b5cf0;font-size:15px}.question-hint{font-size:10.5px;color:#8a94a5;margin:10px auto 15px;max-width:480px}
.reference-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;max-width:500px;margin:0 auto 16px}.reference-item{background:linear-gradient(180deg,#fff,#f8f9fc);border:1px solid #e5e8ef;border-radius:13px;padding:10px 5px 7px;box-shadow:0 5px 14px rgba(15,23,42,.035)}.reference-icon{height:34px;display:grid;place-items:center}.reference-icon .app-icon{font-size:28px}.reference-label{width:22px;height:22px;border-radius:7px;margin:5px auto 0;display:grid;place-items:center;background:#eef0ff;color:#5557df;font-size:10.5px;font-weight:900;border:1px solid #e0e3ff}
.question-divider{display:flex;align-items:center;gap:9px;color:#a0a8b5;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin:4px 0 5px}.question-divider:before,.question-divider:after{content:"";height:1px;background:#edf0f4;flex:1}
.question-display{margin:12px auto 15px;display:flex;justify-content:center;gap:12px;flex-wrap:nowrap}.question-icon{width:62px;height:58px;border:1px solid #e5e8ef;border-radius:14px;display:grid;place-items:center;background:#fff;box-shadow:0 6px 16px rgba(15,23,42,.04)}.question-icon .app-icon{font-size:31px}
.answer-copy{display:flex;flex-direction:column;gap:2px;margin:4px 0 11px}.answer-copy strong{font-size:13px}.answer-copy span{font-size:10px;color:#929baa}
.letter-options{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;max-width:440px;margin:0 auto}.letter-option{height:46px;border:1.5px solid #e1e5ed;border-radius:12px;background:#fff;color:#323a4a;font-size:15px;font-weight:900;cursor:pointer;box-shadow:0 4px 12px rgba(15,23,42,.025);transition:.15s ease}.letter-option:hover,.letter-option:focus{border-color:#7778ef;color:#5557df;background:#f5f5ff;transform:translateY(-1px);outline:none}.letter-option:active{transform:scale(.98)}

@media(max-width:760px){
  body{font-size:13.5px}.admin-topbar h1{font-size:17px}.section-title h2{font-size:15.5px}.admin-content{padding:13px}.card{padding:14px}.admin-group-card{padding:12px}
  .icons{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}.ico{font-size:19px;min-height:34px;padding:4px}.ico .app-icon{font-size:19px}.icon-picker{padding:9px;max-height:360px}
  .student-content{padding:14px 12px 20px}.student-top{height:66px;padding:9px 13px}.student-brand-mark{width:36px;height:36px;border-radius:12px}.student-top .title{font-size:13px;max-width:205px}.student-hero{padding:19px 17px;border-radius:21px}.student-hero h1{font-size:22px}.student-card{padding:14px;border-radius:17px}
  .student-bottom-nav{height:66px;bottom:9px;border-radius:20px}.student-bottom-nav a.home-tab{width:53px;height:53px}
  .exam-status-card{padding:12px}.timer{font-size:16px;min-width:64px}.question-card{padding:16px 10px}.reference-grid{gap:5px}.reference-item{padding:8px 3px 6px;border-radius:11px}.reference-icon{height:30px}.reference-icon .app-icon{font-size:24px}.reference-label{width:20px;height:20px;font-size:9.5px;border-radius:6px}.question-display{gap:7px}.question-icon{width:55px;height:52px;border-radius:12px}.question-icon .app-icon{font-size:27px}.letter-options{gap:6px}.letter-option{height:43px;font-size:14px;border-radius:11px}
}
@media(max-width:430px){
  .icons{grid-template-columns:repeat(8,minmax(0,1fr))}.student-eyebrow{font-size:7.5px}.focus-chip{padding:6px 8px}.student-top .title{max-width:175px}.reference-grid{gap:4px}.reference-item{padding-left:2px;padding-right:2px}.reference-icon .app-icon{font-size:22px}.question-icon{width:51px;height:50px}.question-icon .app-icon{font-size:25px}.student-bottom-nav{width:calc(100% - 16px)}
}

/* V2.2.2 - Student profile & password security */
.profile-hero-card{display:flex;align-items:center;gap:13px;padding:16px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(246,247,255,.96));overflow:hidden}
.profile-avatar-wrap{position:relative;flex:0 0 auto}.profile-avatar{margin:0;width:58px;height:58px;font-size:20px;border-radius:18px}.profile-online-dot{position:absolute;right:-1px;bottom:1px;width:15px;height:15px;background:#22c55e;border:3px solid #fff;border-radius:50%}
.profile-identity{min-width:0;flex:1}.profile-identity h2{font-size:17px;margin:2px 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-subtitle{font-size:10.5px;color:#8993a3}.profile-status{flex:0 0 auto}
.profile-section-heading,.security-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.profile-section-heading h3,.security-heading h3{margin:2px 0 0;font-size:14.5px}.profile-section-kicker{display:block;font-size:8.5px;font-weight:900;letter-spacing:.13em;color:#7c83ef}
.profile-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}.profile-info-item{padding:11px 12px;border:1px solid #ebedf3;border-radius:13px;background:#fafbfe;min-width:0}.profile-info-item span{display:block;color:#8d96a5;font-size:9.5px;margin-bottom:3px}.profile-info-item strong{display:block;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-active-text{color:#16a34a!important}
.security-card{padding:16px}.security-heading{justify-content:flex-start}.security-icon{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#eef0ff,#f6f1ff);color:#5b5cf0;border:1px solid #e1e4ff}.security-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.security-heading p{font-size:10.5px;color:#8c95a4;margin:4px 0 0}
.password-form{margin-top:14px;padding-top:13px;border-top:1px solid #eef0f4}.password-form label{font-size:11.5px;margin-top:10px}.password-control{position:relative}.password-control input{padding-right:72px;background:#fbfcff}.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:#f0f1ff;color:#5758dc;padding:6px 9px;border-radius:8px;font-size:9.5px;font-weight:850;cursor:pointer}.password-toggle:hover{background:#e7e8ff}.password-helper{margin:5px 2px 0;color:#969dac;font-size:9.5px}.password-submit{margin-top:14px;min-height:42px}
.student-alert{display:flex;align-items:flex-start;gap:10px;border-radius:14px;padding:11px 12px;margin-bottom:12px;border:1px solid}.student-alert-icon{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;font-weight:900;flex:0 0 auto}.student-alert div{display:flex;flex-direction:column;gap:1px}.student-alert strong{font-size:11.5px}.student-alert span:not(.student-alert-icon){font-size:10.5px}.student-alert.success{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.student-alert.success .student-alert-icon{background:#dcfce7;color:#15803d}.student-alert.danger{background:#fff1f2;border-color:#fecdd3;color:#9f1239}.student-alert.danger .student-alert-icon{background:#ffe4e6;color:#be123c}
.profile-logout-card{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-logout-card>div{display:flex;flex-direction:column;min-width:0}.profile-logout-card strong{font-size:11.5px}.profile-logout-card span{font-size:9.5px;color:#939baa}
@media(max-width:430px){.profile-info-grid{grid-template-columns:1fr 1fr}.profile-hero-card{gap:10px}.profile-avatar{width:53px;height:53px}.profile-identity h2{font-size:15.5px}.profile-status{display:none}.security-card{padding:14px}.profile-logout-card{align-items:center}}

/* =========================================================
   ADMIN PREMIUM V2.2.3 - refined typography & visual system
   ========================================================= */
.admin-body{
  --admin-ink:#172033;--admin-muted:#7c8798;--admin-line:#e8ecf3;--admin-soft:#f8faff;
  --admin-sidebar:#101828;--admin-sidebar-2:#161f32;--admin-accent:#5b5cf0;
  font-family:"Segoe UI Variable Text","Segoe UI Variable","Inter","Manrope","Segoe UI",Roboto,Arial,sans-serif;
  font-size:13px;line-height:1.46;letter-spacing:-.006em;color:var(--admin-ink);background:#f4f6fa;
  font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;
}
.admin-body h1,.admin-body h2,.admin-body h3,.admin-body b,.admin-body strong{letter-spacing:-.018em}
.admin-body .admin-sidebar{width:248px;padding:18px 14px;background:linear-gradient(180deg,var(--admin-sidebar) 0%,var(--admin-sidebar-2) 100%);box-shadow:10px 0 35px rgba(15,23,42,.035)}
.admin-body .admin-main{margin-left:248px}
.admin-body .admin-brand{gap:10px;padding:3px 7px 18px;margin-bottom:5px;border-bottom:1px solid rgba(255,255,255,.07)}
.admin-body .admin-brand-logo{width:37px;height:37px;border-radius:11px;background:linear-gradient(145deg,#6d6ef5,#7758de);box-shadow:0 8px 20px rgba(91,92,240,.28)}
.admin-body .admin-brand-logo svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.admin-body .admin-brand-copy b{display:block;color:#fff;font-size:14px;font-weight:750;line-height:1.2}
.admin-body .admin-brand-copy span{display:block;margin-top:3px;color:#7f8da5;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.admin-nav-caption{padding:11px 11px 6px;color:#64748b;font-size:8.5px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.admin-body .admin-nav{gap:4px}
.admin-body .admin-nav a{position:relative;gap:10px;padding:9px 10px;border-radius:10px;color:#aeb8c8;font-size:12.5px;font-weight:600;letter-spacing:-.005em;transition:background .15s,color .15s,transform .15s}
.admin-body .admin-nav a:hover{background:rgba(255,255,255,.055);color:#f8fafc;transform:translateX(1px)}
.admin-body .admin-nav a.active{background:linear-gradient(135deg,rgba(91,92,240,.22),rgba(124,58,237,.13));color:#fff;box-shadow:inset 0 0 0 1px rgba(129,140,248,.16)}
.admin-body .admin-nav a.active:before{content:"";position:absolute;left:-4px;top:9px;bottom:9px;width:2px;border-radius:3px;background:#8b8df8;box-shadow:0 0 10px rgba(139,141,248,.8)}
.admin-menu-icon{width:19px;height:19px;display:grid;place-items:center;flex:0 0 auto;color:#8190a8}
.admin-menu-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.admin-body .admin-nav a.active .admin-menu-icon{color:#aeb2ff}
.admin-body .admin-user{display:flex;align-items:center;gap:9px;margin-top:auto;padding:10px;border:1px solid rgba(255,255,255,.075);background:rgba(255,255,255,.04);border-radius:13px}
.admin-user-avatar{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto;background:linear-gradient(145deg,#303b54,#202b40);color:#d8dcff;font-size:12px;font-weight:800;border:1px solid rgba(255,255,255,.07)}
.admin-user-copy{min-width:0;display:flex;flex-direction:column;line-height:1.24}.admin-user-copy span{font-size:8px;color:#718096;text-transform:uppercase;letter-spacing:.09em;font-weight:700}.admin-user-copy b{margin-top:2px;color:#f8fafc;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-user-copy small{margin-top:1px;color:#75839a;font-size:9px}
.admin-logout-icon{margin-left:auto;width:28px;height:28px;display:grid;place-items:center;border-radius:9px;color:#8190a8;transition:.15s}.admin-logout-icon:hover{background:rgba(248,113,113,.1);color:#fca5a5}.admin-logout-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.admin-body .admin-topbar{height:68px;padding:0 24px;background:rgba(244,246,250,.9);border-bottom:1px solid rgba(226,232,240,.82);backdrop-filter:blur(18px)}
.admin-page-kicker{margin-bottom:2px;color:#98a2b3;font-size:8.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.admin-body .admin-topbar h1{font-size:17px;font-weight:730;line-height:1.2;color:#1d2939}
.admin-top-actions{display:flex;align-items:center;gap:9px}.admin-status-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid #e4e8ee;border-radius:999px;background:rgba(255,255,255,.7);color:#667085;font-size:9.5px;font-weight:650}.admin-status-pill i{width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.1)}
.admin-body .admin-content{padding:21px 24px 36px;max-width:1460px;margin:0 auto;width:100%}
.admin-body .card{padding:16px;margin-bottom:15px;border:1px solid var(--admin-line);border-radius:15px;box-shadow:0 5px 16px rgba(15,23,42,.028);background:#fff}
.admin-body .card h1{font-size:20px}.admin-body .card h2{font-size:15px;font-weight:720}.admin-body .card h3{font-size:13.5px;font-weight:700}.admin-body .card p{font-size:12px;line-height:1.55}
.admin-body .section-title{gap:12px;margin-bottom:12px}.admin-body .section-title h2{font-size:15px;line-height:1.26}.section-kicker{margin-bottom:3px;color:#6869e8;font-size:8.5px;line-height:1.2;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.admin-body .small{font-size:10.5px}.admin-body .muted{color:#8490a0}
.admin-body label{margin:8px 0 5px;color:#475467;font-size:11px;font-weight:680;letter-spacing:.005em}
.admin-body input,.admin-body select,.admin-body textarea{padding:9px 10px;border-color:#dfe4ec;border-radius:9px;font-size:12px;line-height:1.35;color:#344054;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.02)}
.admin-body input,.admin-body select{min-height:38px}.admin-body textarea{min-height:78px}.admin-body input:focus,.admin-body select:focus,.admin-body textarea:focus{border-color:#8b8df3;box-shadow:0 0 0 3px rgba(91,92,240,.09)}
.admin-body .btn{min-height:36px;padding:8px 12px;border-radius:9px;font-size:11.5px;font-weight:700;letter-spacing:-.005em;box-shadow:none}.admin-body .btn.sm{min-height:30px;padding:6px 9px;border-radius:8px;font-size:10.5px}.admin-body .btn.primary{background:linear-gradient(135deg,#5b5cf0,#7657e6);box-shadow:0 5px 13px rgba(91,92,240,.17)}.admin-body .btn.primary:hover{box-shadow:0 7px 16px rgba(91,92,240,.22)}.admin-body .btn.ghost{background:#fff;border-color:#e2e7ee;color:#475467}.admin-body .btn.ghost:hover{border-color:#cfd6e0;background:#f9fafb}.admin-body .btn.danger{background:#fff7f7;border-color:#ffd6d9;color:#c43645}.admin-body .btn.success{background:#f2fbf5;border-color:#cdeed8;color:#16834a}
.admin-body .btn.reset{background:#fff9ed;border-color:#f6ddb0;color:#a5630a}.admin-body .btn.reset:hover{background:#fff4dc;border-color:#efcb8b;color:#8b5206}.reset-icon{font-size:13px;line-height:1;font-weight:800}
.admin-body .badge{padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.01em;background:#f0f1ff;color:#5657d7}.admin-body .badge.success{background:#eefaf2;color:#16834a}.admin-body .badge.warning{background:#fff7e9;color:#b1680c}.admin-body .badge.danger{background:#fff1f2;color:#c43645}
.admin-body .table-wrap{border-color:#e7ebf1;border-radius:12px}.admin-body .table{font-size:11.5px}.admin-body .table th,.admin-body .table td{padding:10px 11px;border-bottom-color:#eef1f5}.admin-body .table th{background:#f8f9fc;color:#7b8797;font-size:8.5px;font-weight:800;letter-spacing:.075em}.admin-body .table tbody tr{transition:background .12s}.admin-body .table tbody tr:hover{background:#fbfcfe}.table-primary{font-size:11.5px;font-weight:700;color:#344054}.table-secondary{margin-top:2px;color:#98a2b3;font-size:9.5px}.score-value{display:inline-flex;align-items:center;justify-content:center;min-width:39px;padding:3px 7px;border-radius:8px;background:#f1f2ff;color:#5556d6;font-size:10.5px;font-weight:850;font-variant-numeric:tabular-nums}
.admin-body .actions{gap:5px;align-items:center}.nowrap-actions{flex-wrap:nowrap}.admin-body .actions form{margin:0}
.admin-body .notice{padding:10px 12px;margin-bottom:13px;border-radius:10px;font-size:11px;font-weight:650}.admin-body .empty-state{padding:22px 14px;font-size:11px}
.admin-body .stat-grid{gap:12px;margin-bottom:15px}.admin-body .stat-card{padding:15px;border-radius:15px;border-color:var(--admin-line);box-shadow:0 5px 16px rgba(15,23,42,.03)}.admin-body .stat-icon{width:35px;height:35px;border-radius:10px;margin-bottom:10px;font-size:16px}.admin-body .stat-value{font-size:22px;font-weight:780}.admin-body .stat-label{font-size:10.5px;color:#8490a0}
.admin-body .hero-admin{position:relative;padding:20px 21px;border:0;background:linear-gradient(135deg,#32348f 0%,#4d3db1 56%,#653eb6 100%);box-shadow:0 14px 30px rgba(72,61,177,.16);overflow:hidden}.admin-body .hero-admin:after{content:"";position:absolute;right:-60px;top:-95px;width:250px;height:250px;border-radius:50%;border:42px solid rgba(255,255,255,.055);pointer-events:none}.admin-body .hero-admin .badge{background:rgba(255,255,255,.1)!important;color:#e9e8ff!important;border:1px solid rgba(255,255,255,.09)}.admin-body .hero-admin p{margin:5px 0 0;max-width:650px;color:#deddf8;font-size:11.5px}.admin-hero-title{margin:8px 0 4px!important;font-size:20px!important;font-weight:750!important}.admin-hero-art{position:relative;z-index:1;width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.13)}.admin-hero-art svg{width:29px;height:29px;fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.admin-hero-cta{position:relative;z-index:1;margin-top:13px!important;background:#fff!important;color:#4647bd!important}
.admin-body .admin-group-card{padding:13px;border-radius:13px;background:#fbfcfe}.admin-body .admin-group-card h3{font-size:13px}.admin-body .icon-picker{border-radius:12px;padding:10px}.admin-body .icon-picker-label{font-size:9px}.admin-body .icon-picker-label b{font-size:8.5px}.admin-body .selection-info{font-size:11px}
.admin-filter-card{padding-bottom:15px!important}.admin-filter-grid{align-items:end}.admin-filter-action{align-self:end}.admin-detail-card .section-title{align-items:flex-start}

@media(max-width:1050px){
  .admin-body .admin-sidebar{width:218px}.admin-body .admin-main{margin-left:218px}.admin-body .admin-content{padding:18px}.admin-body .admin-topbar{padding:0 18px}
}
@media(max-width:760px){
  .admin-body .admin-sidebar{position:static;width:auto;padding:11px;box-shadow:none}.admin-body .admin-main{margin-left:0}.admin-body .admin-brand{padding-bottom:11px}.admin-nav-caption{display:none}.admin-body .admin-nav{display:flex;overflow-x:auto;gap:5px;padding-bottom:2px}.admin-body .admin-nav a{min-width:max-content;padding:8px 9px}.admin-body .admin-nav a.active:before{display:none}.admin-body .admin-user{display:none}.admin-body .admin-topbar{height:auto;min-height:58px;padding:11px 13px}.admin-body .admin-topbar h1{font-size:15px}.admin-status-pill{display:none}.admin-body .admin-content{padding:12px}.admin-body .card{padding:13px;border-radius:13px}.admin-body .section-title h2{font-size:13.5px}.admin-body .table th,.admin-body .table td{padding:9px 8px}.admin-body .table{font-size:11px}.admin-body .stat-grid{grid-template-columns:repeat(2,1fr)}.admin-body .stat-value{font-size:19px}.admin-body .hero-admin{padding:17px}.admin-hero-title{font-size:17px!important}.admin-hero-art{display:none}.nowrap-actions{flex-wrap:wrap}
}
.admin-body .stat-icon svg{width:18px;height:18px;fill:none;stroke:#5b5cf0;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* =========================================================
   STUDENT PREMIUM PRO V2.2.4
   ========================================================= */
.student-pro-body{
  --pro-bg:#f4f6fb;
  --pro-surface:#ffffff;
  --pro-surface-soft:#f8f9fd;
  --pro-ink:#101828;
  --pro-text:#344054;
  --pro-muted:#8791a4;
  --pro-line:#e7eaf1;
  --pro-indigo:#5b5cf0;
  --pro-indigo-2:#7a5af8;
  --pro-navy:#0c1224;
  --pro-green:#17a673;
  --pro-amber:#d58b19;
  --pro-red:#d94b5f;
  font-family:"Segoe UI Variable Text","Segoe UI Variable","Inter","Manrope","Segoe UI",Roboto,Arial,sans-serif;
  color:var(--pro-ink);
  background:
    radial-gradient(circle at 10% -5%,rgba(91,92,240,.15),transparent 30%),
    radial-gradient(circle at 96% 15%,rgba(122,90,248,.09),transparent 25%),
    linear-gradient(180deg,#fafbff 0%,var(--pro-bg) 46%,#f2f4f8 100%);
  font-size:13px;
  line-height:1.5;
  letter-spacing:-.006em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  padding-bottom:104px;
}
.student-pro-body h1,.student-pro-body h2,.student-pro-body h3,.student-pro-body strong,.student-pro-body b{letter-spacing:-.025em}
.student-pro-app{width:min(840px,100%);margin:0 auto;min-height:100vh}
.pro-student-top{height:68px;padding:10px 16px;background:rgba(249,250,253,.86);border-bottom:1px solid rgba(226,230,238,.82);box-shadow:0 8px 28px rgba(16,24,40,.035);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.pro-brand{display:flex;align-items:center;gap:9px;min-width:0}.pro-brand-mark{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#242b66,#6157dc 60%,#8558ef);box-shadow:0 9px 20px rgba(76,70,192,.23);position:relative;overflow:hidden}.pro-brand-mark:after{content:"";position:absolute;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.12);right:-10px;top:-10px}.pro-brand-mark svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;position:relative;z-index:1}.pro-brand-copy{display:flex;flex-direction:column;line-height:1.1}.pro-brand-copy b{font-size:13.5px;font-weight:760;color:#1d2939}.pro-brand-copy small{margin-top:3px;color:#8c95a6;font-size:7.5px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}
.pro-top-actions{display:flex;align-items:center;gap:7px}.pro-account-chip{display:flex;align-items:center;gap:8px;padding:4px 4px 4px 10px;border:1px solid #e7eaf1;border-radius:999px;background:rgba(255,255,255,.8);box-shadow:0 4px 12px rgba(16,24,40,.025);max-width:220px}.pro-account-copy{min-width:0;display:flex;flex-direction:column;line-height:1.15;text-align:right}.pro-account-copy small{font-size:7px;color:#98a2b3;text-transform:uppercase;letter-spacing:.09em;font-weight:800}.pro-account-copy b{margin-top:2px;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9.5px;color:#475467;font-weight:720}.pro-mini-avatar{width:29px;height:29px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#edf0ff,#f5efff);border:1px solid #e2e5ff;color:#5557d9;font-size:10.5px;font-weight:850}.pro-icon-button{width:34px;height:34px;border:1px solid #e7eaf1;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.82);color:#8590a2}.pro-icon-button:hover{color:#d14357;background:#fff4f5;border-color:#ffd9df}.pro-icon-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.pro-focus-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#effaf5;border:1px solid #d8f0e5;color:#26815f;font-size:9px;font-weight:800}.pro-focus-pill i{width:6px;height:6px;border-radius:50%;background:#24b47e;box-shadow:0 0 0 4px rgba(36,180,126,.10)}
.pro-student-content{padding:17px 16px 22px}

/* Shared pro icon language */
.pro-page-icon,.pro-stat-icon,.pro-info-icon,.pro-security-icon,.pro-note-icon,.pro-logout-icon,.pro-about-logo{display:grid;place-items:center;flex:0 0 auto}.pro-page-icon svg,.pro-stat-icon svg,.pro-info-icon svg,.pro-security-icon svg,.pro-note-icon svg,.pro-logout-icon svg,.pro-about-logo svg,.pro-primary-cta svg,.pro-secondary-cta svg,.pro-card-action svg,.pro-date-label svg,.pro-mini-meta svg,.pro-detail-pills svg,.pro-status-chip svg,.pro-result-copy p svg,.pro-profile-shield svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pro-overline,.pro-section-kicker{display:block;font-size:8px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.pro-overline{color:#aeb5c4}.pro-section-kicker{color:#6b6de4;margin-bottom:3px}

/* Home welcome */
.pro-welcome-card{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 170px;align-items:center;gap:16px;min-height:244px;padding:26px 27px;margin-bottom:13px;border-radius:26px;background:linear-gradient(128deg,#10172c 0%,#1b2550 47%,#4a3ab0 100%);color:#fff;box-shadow:0 22px 44px rgba(31,36,90,.19);border:1px solid rgba(255,255,255,.08)}.pro-welcome-card:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(255,255,255,.045),transparent 40%);pointer-events:none}.pro-welcome-orb{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.08);pointer-events:none}.orb-one{width:240px;height:240px;right:-75px;top:-105px;box-shadow:inset 0 0 0 34px rgba(255,255,255,.025)}.orb-two{width:110px;height:110px;right:95px;bottom:-76px;background:rgba(255,255,255,.035)}.pro-welcome-copy{position:relative;z-index:2;max-width:505px}.pro-welcome-card .pro-overline{margin-top:16px;color:#a9b1d7}.pro-welcome-card h1{margin:4px 0 5px;font-size:27px;line-height:1.13;font-weight:760;color:#fff}.pro-welcome-text{max-width:470px;margin:0;color:#c8cee7;font-size:11.5px;line-height:1.65}.pro-live-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.10);color:#e5e9ff;font-size:8.5px;font-weight:750}.pro-live-badge i{width:6px;height:6px;border-radius:50%;background:#5ee3ad;box-shadow:0 0 0 4px rgba(94,227,173,.11)}.pro-id-row{display:flex;align-items:center;gap:8px;margin-top:10px;color:#aeb6d4;font-size:9.5px;font-weight:650}.pro-id-row i{width:3px;height:3px;border-radius:50%;background:#7580a3}.pro-hero-actions{display:flex;gap:8px;margin-top:17px}.pro-primary-cta,.pro-secondary-cta{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;padding:8px 13px;border-radius:11px;font-size:10.5px;font-weight:760;transition:.16s ease;cursor:pointer;border:0}.pro-primary-cta{background:linear-gradient(135deg,#696af0,#8b5cf6);color:#fff;box-shadow:0 8px 18px rgba(91,92,240,.20)}.pro-welcome-card .pro-primary-cta{background:#fff;color:#30387d;box-shadow:0 8px 20px rgba(4,8,25,.16)}.pro-secondary-cta{background:#fff;border:1px solid #e2e6ee;color:#475467}.pro-welcome-card .pro-secondary-cta{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12);color:#eef0ff}.pro-primary-cta:hover,.pro-secondary-cta:hover{transform:translateY(-1px)}.pro-primary-cta svg,.pro-secondary-cta svg,.pro-card-action svg{width:14px;height:14px}.pro-primary-cta.full,.pro-secondary-cta.full{width:100%}
.pro-identity-badge{position:relative;z-index:2;justify-self:end;width:130px;height:155px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.pro-id-halo{position:absolute;width:128px;height:128px;border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 0 0 18px rgba(255,255,255,.025)}.pro-big-avatar{position:relative;width:72px;height:72px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.18);box-shadow:0 18px 30px rgba(5,8,28,.18);font-size:24px;font-weight:800}.pro-identity-badge small{position:relative;color:#aab3d6;font-size:7px;letter-spacing:.16em;font-weight:850}

/* Summary statistics */
.pro-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:20px}.pro-stat-card{display:flex;align-items:center;gap:10px;padding:12px 13px;border:1px solid var(--pro-line);border-radius:15px;background:rgba(255,255,255,.91);box-shadow:0 7px 20px rgba(16,24,40,.035)}.pro-stat-icon{width:34px;height:34px;border-radius:11px}.pro-stat-icon.indigo{background:#eff0ff;color:#5b5cdf}.pro-stat-icon.amber{background:#fff7e8;color:#c27b11}.pro-stat-icon.green{background:#edf9f4;color:#17825d}.pro-stat-icon svg{width:17px;height:17px}.pro-stat-card div{display:flex;flex-direction:column;line-height:1.2}.pro-stat-card strong{font-size:17px;font-weight:780;color:#202939}.pro-stat-card span:not(.pro-stat-icon){margin-top:3px;color:#8b95a6;font-size:8.5px;font-weight:620}

/* Section headers and empty states */
.pro-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:4px 1px 10px}.pro-section-head.compact{margin-top:19px}.pro-section-head h2{margin:0;font-size:15px;font-weight:740;color:#202939}.pro-section-head>a{display:inline-flex;align-items:center;gap:4px;color:#5a5cda;font-size:9.5px;font-weight:750}.pro-section-head>a svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8}.pro-empty-state{padding:32px 18px;border:1px dashed #dbe0e8;border-radius:17px;background:rgba(255,255,255,.68);display:flex;flex-direction:column;align-items:center;text-align:center}.pro-empty-state>span{width:40px;height:40px;border-radius:13px;background:#eef0ff;color:#5b5cdf;display:grid;place-items:center}.pro-empty-state>span svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}.pro-empty-state strong{margin-top:9px;font-size:11.5px}.pro-empty-state p{margin:4px 0 0;color:#929bab;font-size:9.5px}

/* Exam cards */
.pro-exam-list,.pro-score-list{display:flex;flex-direction:column;gap:10px}.pro-exam-card{position:relative;overflow:hidden;display:flex;border:1px solid var(--pro-line);border-radius:17px;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(16,24,40,.035)}.pro-exam-accent{width:4px;flex:0 0 auto;background:#6869eb}.pro-exam-accent.green{background:#28a876}.pro-exam-accent.amber{background:#d79a32}.pro-exam-main{flex:1;min-width:0;padding:14px 15px}.pro-exam-card-large .pro-exam-main{padding:16px}.pro-exam-topline{display:flex;align-items:center;justify-content:space-between;gap:10px}.pro-date-label{display:inline-flex;align-items:center;gap:5px;color:#8d97a8;font-size:8.8px;font-weight:650}.pro-date-label svg{width:13px;height:13px}.pro-status-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:999px;background:#f0f1ff;color:#5759d8;border:1px solid #e6e7ff;font-size:8px;font-weight:820;white-space:nowrap}.pro-status-chip.success{background:#eef9f4;color:#1a845f;border-color:#d8efe4}.pro-status-chip.warning{background:#fff7e8;color:#aa6d10;border-color:#f6e6c7}.pro-status-chip svg{width:11px;height:11px}.pro-exam-card h3{margin:7px 0 4px;font-size:13.5px;font-weight:740;color:#202939}.pro-exam-card p{margin:0;color:#8a94a5;font-size:9.8px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pro-exam-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid #eff1f5}.pro-mini-meta{display:inline-flex;align-items:center;gap:4px;color:#8d96a5;font-size:8.8px}.pro-mini-meta svg{width:12px;height:12px}.pro-card-action{display:inline-flex;align-items:center;gap:5px;color:#5557d6;font-size:9.5px;font-weight:800}.pro-card-action.wide{justify-content:flex-end;width:100%;margin-top:11px;padding-top:10px;border-top:1px solid #eef1f5}.pro-detail-pills{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 12px}.pro-detail-pills span{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border:1px solid #e8ebf1;border-radius:8px;background:#fafbfc;color:#7d8797;font-size:8.5px}.pro-detail-pills svg{width:12px;height:12px}

/* Page banners */
.pro-page-banner{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:21px 22px;margin-bottom:10px;border-radius:22px;background:linear-gradient(135deg,#12182e,#273261 60%,#4c3aaa);color:#fff;box-shadow:0 16px 34px rgba(37,43,94,.14)}.pro-page-banner:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;border:30px solid rgba(255,255,255,.035);right:-65px;top:-85px}.pro-page-banner>div{position:relative;z-index:1}.pro-page-banner .pro-page-icon{width:33px;height:33px;border-radius:11px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.11);margin-bottom:11px}.pro-page-banner .pro-page-icon svg{width:17px;height:17px}.pro-page-banner .pro-overline{color:#aeb7d7}.pro-page-banner h1{margin:3px 0 4px;font-size:21px;color:#fff}.pro-page-banner p{margin:0;max-width:510px;color:#c4cbe3;font-size:10px}.pro-banner-count{position:relative;z-index:1;width:70px;height:70px;flex:0 0 auto;border-radius:21px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:21px;font-weight:800}.pro-banner-count small{margin-top:1px;color:#bac2df;font-size:7px;text-transform:uppercase;letter-spacing:.11em}
.pro-compact-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 18px}.pro-compact-summary>div{padding:9px 8px;border:1px solid #e6eaf0;border-radius:12px;background:rgba(255,255,255,.88);text-align:center;box-shadow:0 5px 15px rgba(16,24,40,.025)}.pro-compact-summary b{display:block;font-size:14px;color:#293245}.pro-compact-summary span{display:block;margin-top:2px;color:#8e98a8;font-size:8px}

/* Score pages */
.pro-score-hero,.pro-result-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:21px 22px;margin-bottom:10px;border-radius:22px;background:linear-gradient(135deg,#11172b 0%,#24315f 55%,#523ead 100%);color:#fff;box-shadow:0 17px 36px rgba(37,43,94,.15)}.pro-score-hero:after,.pro-result-hero:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;border:28px solid rgba(255,255,255,.035);right:-62px;top:-86px}.pro-score-copy,.pro-result-copy{position:relative;z-index:2;min-width:0}.pro-score-copy .pro-page-icon{width:33px;height:33px;border-radius:11px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.11);margin-bottom:10px}.pro-score-copy .pro-page-icon svg{width:17px;height:17px}.pro-score-hero .pro-overline,.pro-result-hero .pro-overline{color:#aeb7d7;margin-top:4px}.pro-score-hero h1,.pro-result-hero h1{margin:3px 0 4px;font-size:21px;color:#fff}.pro-score-hero p,.pro-result-hero p{margin:0;color:#c3cae2;font-size:9.8px}.pro-score-ring,.pro-result-score{--score:0;position:relative;z-index:2;width:84px;height:84px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#8f83ff calc(var(--score) * 1%),rgba(255,255,255,.13) 0);box-shadow:0 12px 25px rgba(3,7,24,.16)}.pro-score-ring:before,.pro-result-score:before{content:"";position:absolute;inset:7px;border-radius:50%;background:#1c2445;border:1px solid rgba(255,255,255,.08)}.pro-score-ring>div,.pro-result-score>div{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.pro-score-ring strong,.pro-result-score strong{font-size:17px;line-height:1;color:#fff}.pro-score-ring span,.pro-result-score span{margin-top:4px;color:#aeb7d7;font-size:7px;text-transform:uppercase;letter-spacing:.07em}.pro-score-card{padding:14px 15px;border:1px solid var(--pro-line);border-radius:17px;background:rgba(255,255,255,.94);box-shadow:0 8px 23px rgba(16,24,40,.035)}.pro-score-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.pro-score-card h3{margin:6px 0 0;font-size:13.5px;color:#202939}.pro-score-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}.pro-score-metrics>div{padding:9px 8px;border-radius:11px;background:#f8f9fc;border:1px solid #edf0f4;display:flex;flex-direction:column}.pro-score-metrics>div.emphasis{background:#f2f2ff;border-color:#e4e4ff}.pro-score-metrics span{font-size:7.8px;color:#8f98a7}.pro-score-metrics strong{margin-top:3px;font-size:12px;color:#374151}.pro-score-metrics .emphasis strong{color:#5658d8}.pro-score-progress{height:4px;background:#eef0f4;border-radius:999px;overflow:hidden;margin-top:10px}.pro-score-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5b5cf0,#8b5cf6)}
.pro-result-copy .pro-status-chip{margin-bottom:8px;background:rgba(65,211,154,.11);border-color:rgba(102,226,178,.16);color:#b8f1d9}.pro-result-copy p{display:flex;align-items:center;gap:5px}.pro-result-copy p svg{width:12px;height:12px}.pro-result-list{display:flex;flex-direction:column;gap:7px}.pro-result-row{display:grid;grid-template-columns:37px 1fr auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--pro-line);border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 5px 16px rgba(16,24,40,.025)}.pro-group-number{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#eef0ff;color:#585ad9;font-size:9.5px;font-weight:850}.pro-result-row-main{min-width:0}.pro-result-row-main>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.pro-result-row-main strong{font-size:10.5px;color:#344054}.pro-result-row-main span{font-size:8.3px;color:#929bab;white-space:nowrap}.pro-result-mini-bar{margin-top:5px;height:3px;background:#edf0f4;border-radius:999px;overflow:hidden}.pro-result-mini-bar span{display:block;height:100%;background:linear-gradient(90deg,#5b5cf0,#8b5cf6);border-radius:inherit}.pro-result-value{min-width:44px;text-align:right;color:#4f51cf;font-size:12px;font-weight:850}.back-action{margin-top:10px}

/* Profile */
.pro-profile-card{position:relative;overflow:hidden;min-height:225px;padding:23px 24px;border-radius:24px;background:linear-gradient(128deg,#11172b 0%,#222e59 52%,#4d3bab 100%);color:#fff;box-shadow:0 18px 40px rgba(37,43,94,.16)}.pro-profile-pattern{position:absolute;width:260px;height:260px;border-radius:50%;right:-90px;top:-120px;border:38px solid rgba(255,255,255,.035);box-shadow:0 0 0 22px rgba(255,255,255,.02)}.pro-profile-head{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between}.pro-profile-avatar{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.07));border:1px solid rgba(255,255,255,.16);box-shadow:0 14px 28px rgba(3,7,24,.18);font-size:20px;font-weight:800}.pro-profile-active{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.07);color:#dbe1f7;font-size:8px;font-weight:750}.pro-profile-active i{width:6px;height:6px;border-radius:50%;background:#5ee3ad}.pro-profile-copy{position:relative;z-index:1;margin-top:14px}.pro-profile-copy .pro-overline{color:#aeb7d7}.pro-profile-copy h1{margin:3px 0 2px;font-size:20px;color:#fff}.pro-profile-copy p{margin:0;color:#c3cae2;font-size:9.5px}.pro-profile-footer{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:18px;padding-top:13px;border-top:1px solid rgba(255,255,255,.10)}.pro-profile-footer>span:first-child{display:flex;flex-direction:column}.pro-profile-footer small{color:#929cbe;font-size:7px;text-transform:uppercase;letter-spacing:.09em}.pro-profile-footer b{margin-top:2px;color:#eef1ff;font-size:10px}.pro-profile-shield{display:inline-flex;align-items:center;gap:5px;color:#c4cbe2;font-size:8px;font-weight:650}.pro-profile-shield svg{width:13px;height:13px;color:#70e2b3}
.pro-info-panel,.pro-security-panel,.pro-logout-panel{border:1px solid var(--pro-line);border-radius:17px;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(16,24,40,.035)}.pro-info-panel{overflow:hidden}.pro-info-row{display:flex;align-items:center;gap:10px;padding:11px 13px;border-bottom:1px solid #eef1f5}.pro-info-row:last-child{border-bottom:0}.pro-info-icon{width:32px;height:32px;border-radius:10px;background:#f0f1ff;color:#5d5fda}.pro-info-icon.success{background:#eef9f4;color:#21825f}.pro-info-icon svg{width:16px;height:16px}.pro-info-row>div{display:flex;flex-direction:column;min-width:0}.pro-info-row small{font-size:7.8px;color:#939cac}.pro-info-row strong{margin-top:2px;font-size:10.5px;color:#344054;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pro-success-text{color:#20835f!important}
.pro-security-panel{padding:15px}.pro-security-intro{display:flex;align-items:flex-start;gap:10px}.pro-security-icon{width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#eef0ff,#f6f1ff);border:1px solid #e1e4ff;color:#595bda}.pro-security-icon svg{width:19px;height:19px}.pro-security-intro>div{min-width:0}.pro-security-intro strong{display:block;font-size:11.5px;color:#344054}.pro-security-intro p{margin:3px 0 0;color:#8d96a5;font-size:9px}.pro-password-form{margin-top:13px;padding-top:12px;border-top:1px solid #eef1f5}.pro-password-form label{margin:9px 0 5px;font-size:9.5px;font-weight:720;color:#667085}.pro-password-control{position:relative}.pro-password-control input{height:40px;padding:9px 64px 9px 37px;border:1px solid #e1e5ec;border-radius:11px;background:#fafbfc;color:#344054;font-size:10px;box-shadow:none}.pro-password-control input:focus{border-color:#8e90ef;box-shadow:0 0 0 3px rgba(91,92,240,.08);background:#fff}.pro-input-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:#8b95a6;z-index:2}.pro-input-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}.pro-password-control .password-toggle{right:5px;padding:5px 7px;border-radius:7px;font-size:8.5px}.pro-password-form .password-helper{font-size:8px;color:#9aa3b1}.pro-password-form .password-submit{margin-top:13px}.pro-alert .student-alert-icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}.pro-logout-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;margin-top:10px}.pro-logout-panel>div{display:flex;align-items:center;gap:10px;min-width:0}.pro-logout-icon{width:32px;height:32px;border-radius:10px;background:#fff2f4;color:#cf4357}.pro-logout-icon svg{width:16px;height:16px}.pro-logout-panel strong{display:block;font-size:10.5px}.pro-logout-panel p{margin:2px 0 0;color:#9099a8;font-size:8.2px}.pro-logout-panel>a{padding:6px 9px;border-radius:8px;background:#fff4f5;border:1px solid #ffdce1;color:#c83d51;font-size:9px;font-weight:760}

/* About */
.pro-about-hero{position:relative;overflow:hidden;padding:25px 23px;border-radius:24px;background:linear-gradient(135deg,#11172b,#283462 58%,#4d3baa);color:#fff;text-align:center;box-shadow:0 18px 38px rgba(37,43,94,.15)}.pro-about-hero:before{content:"";position:absolute;width:210px;height:210px;border-radius:50%;border:32px solid rgba(255,255,255,.035);left:-90px;top:-110px}.pro-about-logo{position:relative;margin:0 auto 11px;width:48px;height:48px;border-radius:16px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);color:#fff}.pro-about-logo svg{width:23px;height:23px}.pro-about-hero .pro-overline{position:relative;color:#aeb7d7}.pro-about-hero h1{position:relative;margin:4px 0 5px;font-size:21px;color:#fff}.pro-about-hero>p{position:relative;max-width:560px;margin:0 auto;color:#c4cbe3;font-size:10px;line-height:1.65}.pro-about-pills{position:relative;display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:14px}.pro-about-pills span{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);color:#d6dcf1;font-size:8px}.pro-about-pills svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.7}.pro-steps{display:flex;flex-direction:column;gap:7px}.pro-step{display:flex;align-items:flex-start;gap:11px;padding:12px 13px;border:1px solid var(--pro-line);border-radius:14px;background:rgba(255,255,255,.93);box-shadow:0 5px 16px rgba(16,24,40,.025)}.pro-step>span{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#eef0ff;color:#5b5dda;font-size:8.5px;font-weight:900}.pro-step strong{display:block;font-size:10.5px}.pro-step p{margin:2px 0 0;color:#8e98a8;font-size:8.8px;line-height:1.5}.pro-note-card{display:flex;align-items:flex-start;gap:10px;padding:13px;margin-top:10px;border:1px solid #dde8f5;border-radius:15px;background:#f5f9ff}.pro-note-icon{width:34px;height:34px;border-radius:10px;background:#e9f2ff;color:#4775b6}.pro-note-icon svg{width:17px;height:17px}.pro-note-card strong{font-size:10.5px}.pro-note-card p{margin:3px 0 0;color:#72829a;font-size:8.8px;line-height:1.5}

/* Exam screen integration */
.student-pro-body .student-card{border-color:var(--pro-line);background:rgba(255,255,255,.95);box-shadow:0 8px 24px rgba(16,24,40,.035)}.student-pro-body .exam-status-card{border-radius:17px;padding:13px 14px}.student-pro-body .question-card{border-radius:19px;padding:17px 14px 16px}.student-pro-body .exam-kicker{color:#6466df}.student-pro-body .timer{background:#10172b;border-radius:10px;box-shadow:0 7px 17px rgba(16,23,43,.14)}.student-pro-body .exam-progress div{background:linear-gradient(90deg,#5b5cf0,#8b5cf6)}.student-pro-body .question-number{background:#f3f4ff;border-color:#e7e7ff;color:#475467}.student-pro-body .question-number strong{color:#5557d8}.student-pro-body .reference-item,.student-pro-body .question-icon{border-color:#e6e9ef;box-shadow:0 5px 14px rgba(16,24,40,.028)}.student-pro-body .reference-label{background:#eef0ff;color:#5557d8}.student-pro-body .letter-option{border-color:#dfe4ec}.student-pro-body .letter-option:hover,.student-pro-body .letter-option:focus{border-color:#7779e9;color:#5153d2;background:#f4f4ff}

/* Floating dock pro */
.pro-bottom-dock{width:min(700px,calc(100% - 22px));height:68px;bottom:11px;padding:6px 7px;border-radius:21px;background:rgba(11,16,32,.94);border:1px solid rgba(255,255,255,.07);box-shadow:0 18px 44px rgba(15,23,42,.24);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.pro-bottom-dock a{position:relative;color:#78839a;font-size:8px;font-weight:730;border-radius:13px;gap:3px}.pro-bottom-dock .nav-icon{width:19px;height:19px}.pro-bottom-dock .nav-icon svg{width:18px;height:18px;stroke-width:1.75}.pro-bottom-dock a.active{background:rgba(112,101,244,.16);color:#d4d1ff}.pro-bottom-dock a.active:after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:#8c83ff}.pro-bottom-dock a.home-tab{width:54px;height:54px;transform:translateY(-9px);background:linear-gradient(145deg,#5b5cf0,#8057ed);border:5px solid #f4f6fb;color:#fff;box-shadow:0 11px 25px rgba(91,92,240,.28)}.pro-bottom-dock a.home-tab.active{background:linear-gradient(145deg,#5153db,#7a53e4)}.pro-bottom-dock a.home-tab:after{display:none}

@media(max-width:760px){
  .pro-student-top{height:64px;padding:8px 12px}.pro-brand-mark{width:34px;height:34px;border-radius:11px}.pro-brand-copy b{font-size:12.5px}.pro-account-copy{display:none}.pro-account-chip{padding:3px}.pro-mini-avatar{width:29px;height:29px}.pro-icon-button{width:32px;height:32px}.pro-student-content{padding:13px 12px 20px}
  .pro-welcome-card{grid-template-columns:1fr 110px;min-height:220px;padding:21px 19px;border-radius:22px}.pro-welcome-card h1{font-size:23px}.pro-welcome-text{font-size:10.5px}.pro-identity-badge{width:100px;height:130px}.pro-id-halo{width:100px;height:100px}.pro-big-avatar{width:62px;height:62px;border-radius:19px}.pro-hero-actions{margin-top:14px}.pro-primary-cta,.pro-secondary-cta{min-height:37px;font-size:10px}
  .pro-stat-card{padding:10px;gap:8px}.pro-stat-icon{width:31px;height:31px}.pro-stat-card strong{font-size:15px}.pro-stat-card span:not(.pro-stat-icon){font-size:7.8px}
  .pro-page-banner,.pro-score-hero,.pro-result-hero{padding:18px 17px;border-radius:20px}.pro-page-banner h1,.pro-score-hero h1,.pro-result-hero h1{font-size:19px}.pro-banner-count{width:62px;height:62px;border-radius:18px}.pro-score-ring,.pro-result-score{width:76px;height:76px}
  .pro-profile-card{padding:20px 18px;border-radius:21px;min-height:215px}.pro-profile-avatar{width:57px;height:57px;border-radius:18px}.pro-profile-copy h1{font-size:18px}
  .pro-bottom-dock{height:66px;bottom:9px;width:calc(100% - 16px);border-radius:20px}.pro-bottom-dock a.home-tab{width:52px;height:52px}
}

@media(max-width:480px){
  .student-pro-body{font-size:12.5px}.pro-student-content{padding:12px 10px 18px}.pro-focus-pill span{display:none}.pro-focus-pill{width:31px;height:31px;padding:0;justify-content:center}.pro-focus-pill i{margin:0}.pro-welcome-card{grid-template-columns:1fr;min-height:auto;padding:20px 17px 18px}.pro-identity-badge{display:none}.pro-welcome-card h1{font-size:22px}.pro-welcome-text{max-width:100%}.pro-hero-actions{display:grid;grid-template-columns:1fr 1fr}.pro-stat-grid{gap:6px}.pro-stat-card{display:block;padding:10px 9px}.pro-stat-icon{width:29px;height:29px;margin-bottom:7px}.pro-stat-card strong{font-size:15px}.pro-section-head h2{font-size:14px}.pro-exam-main,.pro-exam-card-large .pro-exam-main{padding:13px}.pro-exam-card h3{font-size:12.8px}.pro-page-banner{align-items:flex-start}.pro-page-banner p{font-size:9.3px}.pro-banner-count{width:56px;height:56px;font-size:18px}.pro-score-hero,.pro-result-hero{padding:17px 15px}.pro-score-ring,.pro-result-score{width:70px;height:70px}.pro-score-ring strong,.pro-result-score strong{font-size:15px}.pro-score-metrics{gap:5px}.pro-score-metrics>div{padding:8px 6px}.pro-result-row{grid-template-columns:34px 1fr auto;padding:10px}.pro-result-row-main>div:first-child{display:block}.pro-result-row-main span{display:block;margin-top:2px;white-space:normal}.pro-profile-card{padding:18px 16px}.pro-profile-footer{align-items:flex-start}.pro-profile-shield{font-size:7.5px}.pro-info-row{padding:10px 11px}.pro-security-panel{padding:13px}.pro-about-hero{padding:21px 16px}.pro-about-hero h1{font-size:19px}.pro-bottom-dock a{font-size:7.5px}
}

@media(max-width:350px){
  .pro-brand-copy small{display:none}.pro-hero-actions{grid-template-columns:1fr}.pro-stat-grid{grid-template-columns:1fr}.pro-stat-card{display:flex}.pro-exam-topline{align-items:flex-start;flex-direction:column;gap:5px}.pro-score-hero,.pro-result-hero{align-items:flex-start}.pro-score-ring,.pro-result-score{width:62px;height:62px}.pro-compact-summary{gap:4px}.pro-compact-summary>div{padding:8px 5px}.pro-bottom-dock{width:calc(100% - 10px)}
}


/* ===== Student Pro V2.2.5 - Exam Session Lock ===== */
.pro-brand-locked{cursor:default;user-select:none}
.exam-nav-locked{cursor:not-allowed}
.pro-bottom-dock a.is-disabled{pointer-events:none;cursor:not-allowed;opacity:.32;background:transparent!important;color:#667085!important;box-shadow:none!important;filter:saturate(.35)}
.pro-bottom-dock a.is-disabled:after{display:none!important}
.pro-bottom-dock a.home-tab.is-disabled{background:#202839!important;color:#667085!important;border-color:#f4f6fb!important;box-shadow:none!important;transform:translateY(-9px)}
.exam-session-lock{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:10px;padding:8px 10px;border-radius:11px;background:#f7f5ff;border:1px solid #e8e3ff;color:#6258b7;font-size:9.5px;font-weight:760;letter-spacing:.01em}
.exam-session-lock svg,.pro-exam-rule-note svg,.pro-locked-cta svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.pro-exam-rule-note{display:flex;gap:9px;align-items:flex-start;margin:8px 0 16px;padding:11px 12px;border:1px solid #e8e3ff;background:linear-gradient(135deg,#faf9ff,#f4f3ff);border-radius:14px;color:#686b7a;font-size:9.5px;line-height:1.55}
.pro-exam-rule-note>svg{color:#6960d7;margin-top:1px}.pro-exam-rule-note strong{color:#313449;font-weight:820}
.pro-locked-cta{display:flex;align-items:center;justify-content:center;gap:7px;min-height:39px;padding:9px 13px;border-radius:12px;background:#f2f4f7;border:1px solid #e4e7ec;color:#8a94a5;font-size:10px;font-weight:800;cursor:not-allowed;user-select:none}
.pro-card-action.disabled{pointer-events:none;color:#98a2b3!important;background:#f2f4f7!important;border-color:#e4e7ec!important;box-shadow:none!important}
.pro-card-action.disabled svg{width:14px;height:14px}
.exam-locked-body .student-content{user-select:none}.exam-locked-body input,.exam-locked-body button{user-select:auto}
@media(max-width:520px){.exam-session-lock{font-size:8.8px;padding:7px 9px}.pro-exam-rule-note{font-size:8.8px;padding:10px 11px}}

/* V2.2.6: saat ujian berlangsung footer disembunyikan, jadi ruang bawah tidak diperlukan */
.exam-locked-body{padding-bottom:0}
.exam-locked-body .pro-student-content{padding-bottom:20px}
@media(max-width:520px){.exam-locked-body .pro-student-content{padding-bottom:14px}}

/* V2.3 - standardized SVG icon assets & confirmation */
.app-icon-img{display:block;width:1em;height:1em;object-fit:contain;pointer-events:none;user-select:none}
.exam-confirm-card{max-width:680px;margin:18px auto 0;padding:20px;border-radius:22px;background:linear-gradient(145deg,#fff,#f8f9ff);border:1px solid #e6e8f1;box-shadow:0 18px 50px rgba(16,24,40,.08)}
.exam-confirm-card h1{font-size:22px;line-height:1.22;margin:8px 0 7px;color:#101828}.exam-confirm-card p{font-size:13px;line-height:1.65;color:#667085;margin:0}
.exam-confirm-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0}.exam-confirm-meta>div{padding:12px;border-radius:14px;background:#fff;border:1px solid #e7e9f0}.exam-confirm-meta span{display:block;font-size:10px;color:#98a2b3;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.exam-confirm-meta b{display:block;margin-top:4px;font-size:13px;color:#1d2939}
.exam-confirm-rules{padding:13px 14px;border-radius:14px;background:#f5f5ff;border:1px solid #e3e4ff;color:#475467;font-size:12px;line-height:1.6}.exam-confirm-rules strong{color:#3f42c8}
.exam-confirm-actions{display:flex;gap:9px;margin-top:16px}.exam-confirm-actions .pro-primary-cta{border:0;cursor:pointer;justify-content:center;flex:1}.countdown-badge{display:none;margin-left:8px;min-width:25px;height:25px;border-radius:999px;background:rgba(255,255,255,.18);place-items:center;font-weight:900}.start-counting .countdown-badge{display:grid}
.exam-window-note{font-size:11px;color:#667085;margin-top:8px;display:flex;gap:6px;align-items:flex-start}.exam-window-note svg{width:14px;height:14px;flex:none}
@media(max-width:520px){.exam-confirm-card{margin-top:10px;padding:16px;border-radius:18px}.exam-confirm-card h1{font-size:19px}.exam-confirm-meta{grid-template-columns:1fr;gap:6px}.exam-confirm-meta>div{padding:10px 11px}.exam-confirm-actions{flex-direction:column-reverse}}

/* =========================================================
   V2.3.1 - Premium login experience
   ========================================================= */
.login-pro-page{padding:0!important;display:block!important;background:#eef1f7!important;min-height:100vh;color:#152033}
.login-pro-shell{width:100%;min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.03fr) minmax(430px,.97fr);background:#fff;overflow:hidden}
.login-pro-visual{position:relative;min-height:100vh;padding:42px clamp(40px,5vw,76px);display:flex;flex-direction:column;overflow:hidden;color:#fff;background:linear-gradient(148deg,#161d4d 0%,#252b69 43%,#40338e 72%,#6550c8 100%)}
.login-pro-visual:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:1px solid rgba(255,255,255,.08);right:-230px;top:-215px;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 145px rgba(255,255,255,.018)}
.login-pro-visual:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.42),rgba(139,92,246,0) 70%);left:-75px;bottom:-90px;filter:blur(1px)}
.login-pro-grid{position:absolute;inset:0;opacity:.15;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 83%)}
.login-pro-brand,.login-pro-copy,.login-pro-features,.login-pro-visual-foot{position:relative;z-index:2}
.login-pro-brand{display:flex;align-items:center;gap:12px}.login-pro-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto;background:linear-gradient(145deg,#7c78ff,#9b75ff);box-shadow:0 11px 30px rgba(13,18,55,.28),inset 0 1px 0 rgba(255,255,255,.26)}.login-pro-mark svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.login-pro-brand strong,.login-pro-mobile-brand strong{display:block;font-size:15px;line-height:1.15;letter-spacing:-.02em}.login-pro-brand>div>span,.login-pro-mobile-brand>div>span{display:block;margin-top:4px;font-size:8px;line-height:1;text-transform:uppercase;letter-spacing:.18em;font-weight:850;color:#aeb7db}
.login-pro-copy{margin:auto 0 34px;max-width:610px}.login-pro-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.07);backdrop-filter:blur(10px);font-size:10px;font-weight:750;color:#dbe2ff}.login-pro-kicker i{width:7px;height:7px;border-radius:50%;background:#75e3ad;box-shadow:0 0 0 4px rgba(117,227,173,.12)}.login-pro-copy h1{margin:18px 0 14px;font-size:clamp(34px,4vw,56px);line-height:1.03;letter-spacing:-.052em;font-weight:800}.login-pro-copy h1 span{color:#c8c9ff}.login-pro-copy p{margin:0;max-width:530px;color:#c6cee9;font-size:13.5px;line-height:1.75}
.login-pro-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:38px}.login-pro-feature{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border-radius:15px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055);backdrop-filter:blur(12px)}.login-pro-feature>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.1);flex:0 0 auto}.login-pro-feature svg{width:18px;height:18px;fill:none;stroke:#e6e9ff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.login-pro-feature b{display:block;font-size:11.5px;color:#fff}.login-pro-feature small{display:block;margin-top:3px;font-size:9.5px;line-height:1.5;color:#aeb8dc}.login-pro-visual-foot{display:flex;align-items:center;justify-content:space-between;color:#9fa9ce;font-size:9px;font-weight:700}.login-pro-visual-foot>span{display:flex;align-items:center;gap:6px}.login-pro-visual-foot i{width:6px;height:6px;border-radius:50%;background:#67d6a0}.login-pro-visual-foot small{font-size:8px;letter-spacing:.14em;text-transform:uppercase}
.login-pro-panel{min-height:100vh;display:grid;place-items:center;padding:42px clamp(32px,5vw,74px);background:linear-gradient(180deg,#fff 0%,#fbfcff 100%)}.login-pro-form-wrap{width:min(420px,100%)}.login-pro-mobile-brand{display:none;align-items:center;gap:10px;margin-bottom:32px}.login-pro-mobile-brand .login-pro-mark{width:40px;height:40px;border-radius:12px}.login-pro-mobile-brand>div>span{color:#8d96a8}.login-pro-heading{margin-bottom:24px}.login-pro-overline{font-size:9px;font-weight:850;letter-spacing:.16em;color:#6965d8}.login-pro-heading h2{margin:7px 0 7px;font-size:27px;line-height:1.1;letter-spacing:-.035em;color:#172033}.login-pro-heading p{margin:0;color:#7d8798;font-size:12px;line-height:1.65;max-width:390px}
.login-pro-alert{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;margin-bottom:17px;border-radius:12px}.login-pro-alert.error{background:#fff5f6;border:1px solid #ffdadd;color:#a92c3f}.login-pro-alert>span{width:23px;height:23px;border-radius:8px;display:grid;place-items:center;background:#ffe2e5;font-size:11px;font-weight:900;flex:0 0 auto}.login-pro-alert b{display:block;font-size:11px}.login-pro-alert small{display:block;margin-top:2px;font-size:9.5px;line-height:1.45;color:#b15161}
.login-pro-form label{font-size:11px;color:#3c475a;font-weight:750;margin:0 0 6px}.login-pro-label-row{margin-top:15px}.login-pro-input{position:relative}.login-pro-input>svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:17px;height:17px;fill:none;stroke:#9da6b6;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.login-pro-input input{height:47px;padding:0 44px 0 41px;border:1px solid #dde2eb;border-radius:12px;background:#fff;font-size:12.5px;color:#172033;box-shadow:0 1px 1px rgba(15,23,42,.02);transition:border-color .16s,box-shadow .16s,background .16s}.login-pro-input input::placeholder{color:#b1b8c5}.login-pro-input input:focus{border-color:#7774e6;background:#fff;box-shadow:0 0 0 4px rgba(99,102,241,.085)}.login-pro-input:focus-within>svg{stroke:#625fd3}.login-pro-eye{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:#929bad;display:grid;place-items:center;cursor:pointer}.login-pro-eye:hover{background:#f3f4f8;color:#5d6171}.login-pro-eye svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.login-pro-eye .eye-closed{display:none}.login-pro-eye.showing .eye-open{display:none}.login-pro-eye.showing .eye-closed{display:block}
.login-pro-submit{width:100%;height:47px;margin-top:20px;border:0;border-radius:12px;background:linear-gradient(135deg,#4f51c9,#6755d9 56%,#7953df);color:#fff;display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 11px 24px rgba(74,70,190,.22);transition:transform .16s,box-shadow .16s,filter .16s}.login-pro-submit:hover{transform:translateY(-1px);box-shadow:0 15px 28px rgba(74,70,190,.27);filter:saturate(1.06)}.login-pro-submit:active{transform:translateY(0)}.login-pro-submit svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login-pro-help{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:17px;padding:10px;border-radius:11px;background:#f7f8fb;color:#7e8797;font-size:9.5px}.login-pro-help svg{width:15px;height:15px;fill:none;stroke:#929aaa;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.login-pro-footer{margin-top:30px;padding-top:15px;border-top:1px solid #edf0f4;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#a1a8b4;font-size:8.5px;font-weight:650}.login-pro-secure{display:flex;align-items:center;gap:5px}.login-pro-secure i{width:6px;height:6px;border-radius:50%;background:#4cc78a;box-shadow:0 0 0 3px rgba(76,199,138,.1)}
@media(max-width:920px){.login-pro-shell{grid-template-columns:1fr}.login-pro-visual{display:none}.login-pro-panel{min-height:100vh;padding:34px 22px}.login-pro-mobile-brand{display:flex}.login-pro-form-wrap{width:min(430px,100%)}}
@media(max-width:520px){.login-pro-panel{place-items:start center;padding:25px 18px 24px}.login-pro-mobile-brand{margin-bottom:31px}.login-pro-heading{margin-bottom:21px}.login-pro-heading h2{font-size:24px}.login-pro-heading p{font-size:11.5px}.login-pro-input input{height:46px}.login-pro-submit{height:46px}.login-pro-footer{margin-top:25px}.login-pro-page{background:#fff!important}}

/* V2.3.2 - pagination + transisi submit cepat */
.app-pagination{display:flex;align-items:center;justify-content:center;gap:9px;margin:18px auto 4px;flex-wrap:wrap}
.app-pagination a,.app-pagination span{min-height:36px;padding:8px 12px;border-radius:12px;border:1px solid rgba(148,163,184,.2);background:rgba(15,23,42,.72);color:#e2e8f0;font-size:12px;font-weight:750;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.app-pagination a:hover{background:rgba(30,41,59,.95);border-color:rgba(129,140,248,.45)}
.app-pagination .page-info{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-color:transparent;color:#fff}
.app-pagination .disabled{opacity:.4;cursor:not-allowed}
.question-card.question-updated{animation:questionRefresh .18s ease}
@keyframes questionRefresh{from{transform:translateY(2px);opacity:.72}to{transform:none;opacity:1}}
.letter-option:disabled{opacity:.55;cursor:wait;transform:none!important}

/* =========================================================
   STUDENT PREMIUM PRO V2.3.3 - refreshed visual system
   ========================================================= */
.student-pro-body{
  --pro-bg:#f3f6fb;
  --pro-surface:#ffffff;
  --pro-surface-soft:#f8faff;
  --pro-ink:#12203b;
  --pro-text:#40506b;
  --pro-muted:#7f8ba3;
  --pro-line:#e4eaf4;
  --pro-indigo:#5264e8;
  --pro-indigo-2:#7868f5;
  --pro-cyan:#18a9c5;
  --pro-navy:#0a1534;
  --pro-green:#14a979;
  background:
    radial-gradient(circle at 8% 0%,rgba(80,102,232,.14),transparent 27%),
    radial-gradient(circle at 96% 12%,rgba(24,169,197,.11),transparent 23%),
    linear-gradient(180deg,#fbfcff 0%,#f3f6fb 54%,#eef3f9 100%);
  font-size:13.5px;
  padding-bottom:110px;
}
.pro-student-top{
  height:70px;padding:10px 16px;
  background:linear-gradient(115deg,rgba(10,21,52,.98),rgba(25,39,87,.96) 60%,rgba(21,86,116,.93));
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 12px 32px rgba(9,21,50,.16);
}
.pro-brand-mark{background:linear-gradient(145deg,#6574ff,#6e5df3 58%,#19b0c9);box-shadow:0 10px 24px rgba(45,65,190,.35)}
.pro-brand-copy b{color:#fff;font-size:14px}.pro-brand-copy small{color:#aab9df;font-size:8px}
.pro-account-chip{border-color:rgba(255,255,255,.10);background:rgba(255,255,255,.08);box-shadow:none}.pro-account-copy small{color:#9fb0d3}.pro-account-copy b{color:#f4f7ff}.pro-mini-avatar{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.14);color:#fff}.pro-icon-button{border-color:rgba(255,255,255,.10);background:rgba(255,255,255,.08);color:#d3ddf4}.pro-icon-button:hover{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.18)}
.pro-focus-pill{background:rgba(20,169,121,.14);border-color:rgba(106,233,184,.24);color:#bff5df}.pro-focus-pill i{background:#63e0b3}
.pro-student-content{padding:20px 16px 24px}
.pro-welcome-card{background:linear-gradient(128deg,#0a1534 0%,#203576 48%,#5361d9 73%,#1595b3 112%);box-shadow:0 24px 52px rgba(22,42,94,.22);border-color:rgba(255,255,255,.10)}
.pro-welcome-card .pro-primary-cta{color:#23356f}.pro-primary-cta{background:linear-gradient(135deg,#5367e9,#715ff0 58%,#1aa6c4);box-shadow:0 10px 22px rgba(73,83,205,.20)}
.pro-page-banner{background:linear-gradient(135deg,#fff,#f7f9ff 62%,#eef9fc);border-color:#e1e8f4;box-shadow:0 10px 28px rgba(31,52,98,.055)}
.pro-page-icon{background:linear-gradient(145deg,#edf0ff,#e8f7fb)!important;color:#4f61d4!important}
.pro-stat-card,.pro-exam-card,.pro-score-card,.pro-result-row,.pro-info-row,.pro-security-panel{border-color:#e2e8f2;box-shadow:0 9px 26px rgba(30,50,90,.045)}
.pro-stat-icon{background:linear-gradient(145deg,#edf1ff,#edf9fb)!important;color:#5264df!important}
.pro-status-chip{font-size:8.8px;padding:5px 8px}.pro-date-label,.pro-mini-meta{font-size:9.4px}.pro-exam-card p{font-size:10.4px}.pro-exam-card h3{font-size:14px}.pro-card-action{font-size:10px}

/* Confirmation + exam access code */
.exam-start-form{margin-top:14px}.exam-code-panel{display:grid;grid-template-columns:42px minmax(0,1fr) minmax(150px,210px);align-items:center;gap:11px;padding:12px;border:1px solid #dfe6f2;border-radius:16px;background:linear-gradient(145deg,#fbfcff,#f2f6fd);box-shadow:inset 0 1px 0 #fff}.exam-code-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#5264e8,#19a8c4);box-shadow:0 8px 18px rgba(72,96,202,.20)}.exam-code-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.exam-code-copy label{display:block;margin:0 0 2px;font-size:11px;font-weight:820;color:#263653}.exam-code-copy small{display:block;color:#7f8ba0;font-size:9px;line-height:1.4}.exam-code-input{height:42px!important;margin:0!important;border:1px solid #d9e1ef!important;border-radius:12px!important;background:#fff!important;text-align:center;font-size:13px!important;font-weight:850!important;letter-spacing:.08em!important;color:#273b76!important;box-shadow:0 4px 12px rgba(27,45,80,.04)!important}.exam-code-input:focus{border-color:#6677e9!important;box-shadow:0 0 0 4px rgba(82,100,232,.10)!important}.exam-confirm-actions{margin-top:11px}

/* Floating premium navigation */
.pro-bottom-dock{
  width:min(720px,calc(100% - 22px));height:74px;bottom:12px;padding:7px 8px;border-radius:24px;
  background:linear-gradient(120deg,rgba(8,18,46,.98),rgba(20,32,76,.97) 58%,rgba(15,63,87,.96));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 22px 54px rgba(8,18,46,.30),inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
}
.pro-bottom-dock:before{content:"";position:absolute;left:25%;right:25%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(120,130,255,.75),rgba(77,217,224,.65),transparent)}
.pro-bottom-dock a{min-width:0;color:#8796b8;font-size:8.8px;font-weight:760;border-radius:15px;gap:4px;transition:.18s ease}
.pro-bottom-dock .nav-icon{width:25px;height:25px;border-radius:9px;display:grid;place-items:center;transition:.18s ease}.pro-bottom-dock .nav-icon svg{width:18px;height:18px;stroke-width:1.8}
.pro-bottom-dock a.active{color:#fff;background:linear-gradient(135deg,rgba(95,111,255,.24),rgba(29,181,202,.15));box-shadow:inset 0 0 0 1px rgba(142,157,255,.10)}
.pro-bottom-dock a.active .nav-icon{background:linear-gradient(145deg,rgba(105,117,255,.34),rgba(27,179,203,.24));color:#eff4ff;box-shadow:0 6px 14px rgba(0,0,0,.14)}
.pro-bottom-dock a.active:after{bottom:4px;width:14px;height:2px;border-radius:999px;background:linear-gradient(90deg,#7d89ff,#4bd5dc);box-shadow:0 0 8px rgba(92,186,255,.40)}
.pro-bottom-dock a.home-tab{width:58px;height:58px;transform:translateY(-10px);background:linear-gradient(145deg,#5e70f1,#7360ef 52%,#18acc8);border:5px solid #f3f6fb;color:#fff;box-shadow:0 13px 28px rgba(63,79,196,.34)}
.pro-bottom-dock a.home-tab .nav-icon{width:22px;height:22px;background:transparent;box-shadow:none}.pro-bottom-dock a.home-tab.active{background:linear-gradient(145deg,#4e62e0,#6957e6 52%,#159cb8)}

/* PWA install controls */
.pro-pwa-install{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border-radius:11px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.09);color:#eaf0ff;font:inherit;font-size:9px;font-weight:800;cursor:pointer}.pro-pwa-install svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.pro-pwa-install:hover{background:rgba(255,255,255,.15)}
.login-pro-install{width:100%;margin-top:10px;min-height:42px;border:1px solid #dfe4ef;border-radius:12px;background:#f7f9fd;color:#40507d;font-weight:760;cursor:pointer}.login-pro-install:hover{background:#eef2ff;border-color:#ccd5f3}.login-pro-install[hidden],.pro-pwa-install[hidden]{display:none!important}

@media(max-width:760px){
  .pro-student-top{height:66px;padding:8px 11px}.pro-student-content{padding:15px 12px 21px}.pro-bottom-dock{height:70px;bottom:9px;width:calc(100% - 16px);border-radius:22px}.pro-bottom-dock a{font-size:8.4px}.pro-bottom-dock a.home-tab{width:54px;height:54px;transform:translateY(-9px)}.pro-pwa-install{width:33px;padding:0;justify-content:center}.pro-pwa-install span{display:none}.exam-code-panel{grid-template-columns:38px 1fr}.exam-code-icon{width:38px;height:38px}.exam-code-input{grid-column:1/-1;width:100%}.exam-code-copy small{font-size:9.2px}
}
@media(max-width:420px){
  .student-pro-body{font-size:13px}.pro-brand-copy small{display:block;font-size:7px}.pro-bottom-dock{width:calc(100% - 10px);padding-left:5px;padding-right:5px}.pro-bottom-dock a{font-size:8px}.pro-bottom-dock .nav-icon{width:23px;height:23px}.pro-bottom-dock a.home-tab{width:52px;height:52px}.pro-exam-card h3{font-size:13.3px}.pro-exam-card p{font-size:10px}
}

/* =========================================================
   V2.3.3.1 - Student light banner contrast fix
   The V2.3.3 student theme switched the page banner to a light
   background; these rules explicitly reset text and counter colors
   so headings remain readable on all student pages.
   ========================================================= */
.student-pro-body .pro-page-banner{
  color:var(--pro-ink);
  border:1px solid #dfe7f3;
  background:linear-gradient(135deg,#ffffff 0%,#f7f9ff 58%,#edf8fc 100%);
}
.student-pro-body .pro-page-banner:after{
  border-color:rgba(82,100,232,.075);
  background:rgba(24,169,197,.025);
}
.student-pro-body .pro-page-banner .pro-overline{
  color:#5869c9;
}
.student-pro-body .pro-page-banner h1{
  color:#14213d;
}
.student-pro-body .pro-page-banner p{
  color:#66758f;
}
.student-pro-body .pro-page-banner .pro-page-icon{
  border-color:#dce5f4;
}
.student-pro-body .pro-banner-count{
  color:#ffffff;
  background:linear-gradient(145deg,#5264e8 0%,#7164ef 58%,#18a9c5 118%);
  border-color:rgba(82,100,232,.22);
  box-shadow:0 12px 26px rgba(67,82,187,.20);
}
.student-pro-body .pro-banner-count small{
  color:#e7edff;
}
@media(max-width:520px){
  .student-pro-body .pro-page-banner .pro-overline{font-size:8.2px}
  .student-pro-body .pro-page-banner h1{font-size:19px}
  .student-pro-body .pro-page-banner p{font-size:10px;line-height:1.55}
}

/* V2.4 - Device lock & connection heartbeat */
.exam-session-lock{justify-content:flex-start}.exam-connection-state{margin-left:auto;display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;font-size:8.5px;font-weight:850;white-space:nowrap}.exam-connection-state i{width:6px;height:6px;border-radius:50%}.exam-connection-state.online{background:#ecfdf5;color:#047857}.exam-connection-state.online i{background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.12)}.exam-connection-state.slow{background:#fff7ed;color:#b45309}.exam-connection-state.slow i{background:#f59e0b}.exam-connection-state.offline{background:#fff1f2;color:#be123c}.exam-connection-state.offline i{background:#ef4444}
.device-lock-card{width:min(620px,100%);margin:26px auto 100px;background:linear-gradient(145deg,#fff,#f7f8ff);border:1px solid #e6e9f3;border-radius:24px;padding:28px;text-align:center;box-shadow:0 20px 60px rgba(15,23,42,.10)}.device-lock-icon{width:66px;height:66px;margin:0 auto 14px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(145deg,#eef2ff,#ecfeff);color:#4f46e5;border:1px solid #dce4ff}.device-lock-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8}.device-lock-card h1{font-size:24px;margin:7px 0 9px;color:#172033}.device-lock-card>p{font-size:13px;line-height:1.65;color:#667085;margin:0 0 16px}.device-lock-card .notice{text-align:left;margin:0 0 16px}.device-lock-card .pro-primary-cta{justify-content:center}
@media(max-width:520px){.exam-session-lock{flex-wrap:wrap}.exam-connection-state{margin-left:0}.device-lock-card{padding:20px 16px;border-radius:20px;margin-top:14px}.device-lock-card h1{font-size:20px}}
