
:root{
  --navy-950:#031a3f;--navy-900:#05275b;--navy-800:#063875;--navy-700:#07519a;
  --blue:#0a64b7;--green:#62a91f;--green-2:#7bbd2b;--lime:#95cf39;
  --white:#ffffff;--page:#f4f7fb;--soft:#eef3f9;--line:#d8e2ef;
  --ink:#132033;--muted:#64748b;--danger:#bf252c;--gold:#f4c23d;
  --shadow:0 14px 38px rgba(3,39,91,.08);--sidebar:260px;
}
*{box-sizing:border-box}html{background:var(--page);scroll-behavior:smooth}
body{margin:0;background:var(--page);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}
a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}
.app-shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--navy-950),var(--navy-900) 62%,#052c59);padding:19px 14px 15px;display:flex;flex-direction:column;z-index:40;box-shadow:10px 0 35px rgba(2,29,69,.08)}
.sidebar-brand{display:block;padding:0 5px 16px;border-bottom:1px solid rgba(255,255,255,.10)}
.brand-unit{display:grid;gap:5px;width:max-content;max-width:100%}.brand-image-wrap{position:relative;display:block;background:white;border-radius:10px;padding:6px 8px;box-shadow:0 8px 18px rgba(0,0,0,.12)}
.brand-image-wrap img{display:block;width:205px;max-width:100%;height:auto}.brand-image-wrap sup{position:absolute;right:4px;top:2px;font-size:7px;color:var(--navy-900);font-weight:900}.brand-tagline{font-size:8px;color:#b8cae2;font-weight:750;letter-spacing:.15px;padding-left:2px}
.brand-unit.compact .brand-image-wrap img{width:124px}.brand-unit.compact .brand-tagline{display:none}
.side-nav{display:grid;gap:4px;margin-top:17px}.nav-label{font-size:9px;letter-spacing:1.5px;font-weight:900;color:#6f91bb;padding:5px 10px}.admin-label{margin-top:12px}
.side-link{min-height:44px;border-radius:10px;padding:10px 11px;display:flex;align-items:center;gap:10px;color:#c2d2e6;font-size:13px;font-weight:720;transition:.16s background,.16s color,.16s transform}
.side-link:hover{background:rgba(255,255,255,.08);color:white;transform:translateX(1px)}.side-link.active{background:white;color:var(--navy-900);box-shadow:0 8px 20px rgba(0,0,0,.16)}
.nav-ico{width:21px;text-align:center;font-size:16px}.sidebar-foot{margin-top:auto}.sidebar-user{display:grid;grid-template-columns:38px 1fr 18px;align-items:center;gap:9px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);border-radius:12px;padding:9px}.avatar{width:38px;height:38px;border-radius:10px;background:var(--green-2);display:grid;place-items:center;color:white;font-weight:950}.user-copy b,.user-copy small{display:block}.user-copy b{color:white;font-size:12px}.user-copy small{color:#9db3ce;font-size:9px;margin-top:2px}.sidebar-user>a{font-size:20px;color:#9cb4d0}
.main-pane{min-width:0}.topbar{height:68px;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:flex-end;padding:0 24px}.mobile-logo{display:none;background:transparent;border:0;padding:0}.topbar-right{display:flex;align-items:center;gap:8px}.header-stat{height:38px;display:flex;align-items:center;gap:6px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:#fff}.header-stat b{font-size:12px;color:var(--navy-900)}.header-stat small{font-size:9px;color:var(--muted)}.profile-dot{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--navy-900);color:white;font-weight:900}
.page{width:min(1260px,100%);margin:0 auto;padding:25px 28px 82px}.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.page-title h1{margin:3px 0 0;font-size:31px;letter-spacing:-1px;color:var(--navy-950)}.page-title p{margin:5px 0 0;color:var(--muted);font-size:12px}.eyebrow{font-size:9px;letter-spacing:1.55px;font-weight:950;color:var(--green);text-transform:uppercase}
.hero{position:relative;overflow:hidden;border-radius:24px;min-height:280px;padding:30px;background:linear-gradient(118deg,var(--navy-950) 0%,var(--navy-900) 55%,#075449 115%);color:white;box-shadow:0 22px 50px rgba(3,39,91,.17);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);gap:30px;align-items:center}
.hero:before{content:"";position:absolute;right:-100px;top:-130px;width:360px;height:360px;border-radius:50%;border:1px solid rgba(123,189,43,.25);box-shadow:0 0 0 48px rgba(123,189,43,.035),0 0 0 96px rgba(10,100,183,.025)}
.hero-copy{position:relative;z-index:2}.hero-side{position:relative;z-index:2}.hero .eyebrow{color:#9bdc51}.hero h1{font-size:clamp(34px,4.7vw,58px);line-height:1.02;letter-spacing:-2px;margin:9px 0 14px}.hero p{max-width:720px;color:#cfdaea;line-height:1.65;font-size:14px}.hero-kpi{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);border-radius:18px;padding:19px;backdrop-filter:blur(5px)}.hero-kpi .big{font-size:46px;font-weight:950;letter-spacing:-2px}.hero-kpi small{color:#bfd0e5}.hero .btn.secondary{background:rgba(255,255,255,.11);color:white;border-color:rgba(255,255,255,.16)}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;margin-top:14px}.card{grid-column:span 4;background:white;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.card.wide{grid-column:span 8}.card.full{grid-column:1/-1}.card h2,.card h3{margin:0 0 8px;color:var(--navy-950)}.metric{font-size:31px;font-weight:950;color:var(--navy-950);letter-spacing:-1.3px}.metric small{font-size:10px;color:var(--muted);letter-spacing:0}.muted{color:var(--muted);line-height:1.55}.small{font-size:11px}.row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.row.between{justify-content:space-between}.stack{display:grid;gap:10px}
.btn{border:0;border-radius:10px;min-height:43px;padding:10px 15px;background:var(--green);color:white;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;box-shadow:0 8px 18px rgba(98,169,31,.18);transition:.15s}.btn:hover{background:#518e1a;transform:translateY(-1px)}.btn.secondary{background:white;color:var(--navy-900);border:1px solid var(--line);box-shadow:none}.btn.secondary:hover{background:#f7f9fc}.btn.blue{background:var(--navy-800)}.btn.gold{background:var(--gold);color:var(--navy-950)}.btn.ghost{background:transparent;color:var(--navy-800);border:1px solid var(--line);box-shadow:none}.btn.danger{background:var(--danger)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.progress{height:8px;border-radius:99px;background:#e8edf4;overflow:hidden}.progress>i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--green),var(--lime))}
.kpi-card{position:relative;overflow:hidden}.kpi-card:after{content:"";position:absolute;right:-23px;bottom:-28px;width:90px;height:90px;border-radius:50%;background:rgba(10,100,183,.035)}.kpi-head{display:flex;justify-content:space-between;align-items:flex-start}.kpi-icon{width:35px;height:35px;border-radius:10px;display:grid;place-items:center;background:#eff6ff;color:var(--navy-800)}
.subject-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.subject-card{padding:15px;border-radius:14px;background:#fbfcfe;border:1px solid var(--line);transition:.15s}.subject-card:hover{border-color:#aac6e6;box-shadow:0 10px 24px rgba(3,39,91,.07);transform:translateY(-1px)}.subject-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:#edf4fb;color:var(--navy-800);margin-bottom:10px;font-weight:900}.subject-card h4{margin:0 0 5px;color:var(--navy-950);font-size:13px}.subject-card p{margin:0;color:var(--muted);font-size:10px}.subject-card .progress{height:6px;margin-top:10px}
.stat-ring{width:100px;height:100px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) calc(var(--p)*1%),#e8edf4 0);position:relative}.stat-ring:after{content:"";position:absolute;width:75px;height:75px;background:white;border-radius:50%}.stat-ring>div{z-index:2;text-align:center}.stat-ring b{display:block;font-size:21px;color:var(--navy-950)}.stat-ring small{font-size:8px;color:var(--muted)}
.quick-action{display:flex;gap:11px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}.quick-action:hover{border-color:#a9c6e3}.qicon{width:38px;height:38px;border-radius:10px;background:#edf4fb;color:var(--navy-800);display:grid;place-items:center;font-weight:900}.quick-action b{font-size:12px;color:var(--navy-950)}.quick-action small{display:block;margin-top:2px;color:var(--muted);font-size:9px}
.tag,.mini-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#edf3f8;border:1px solid var(--line);font-size:9px;font-weight:850;color:#52667c}.tag.verified,.mini-chip.green{background:#edf8e5;color:#4e8519;border-color:#d3eabb}.tag.review{background:#fff8e7;color:#916e17;border-color:#f0dfab}.tag.rejected{background:#fff0f0;color:#a7242a;border-color:#efcccc}
.topic{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e9eef4}.topic:last-child{border:0}
label{display:block;margin-bottom:6px;font-size:9px;font-weight:900;letter-spacing:.4px;color:#53677e}input,select,textarea{width:100%;border:1px solid #cad7e6;border-radius:10px;background:white;color:var(--ink);padding:11px 12px;outline:none}input:focus,select:focus,textarea:focus{border-color:#6398cc;box-shadow:0 0 0 3px rgba(10,100,183,.08)}textarea{min-height:145px}.field{margin-bottom:13px}
.scroll{overflow:auto}table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px}th{position:sticky;top:0;background:#f1f5fa;color:#63778d;text-transform:uppercase;font-size:9px;letter-spacing:.65px;z-index:1}th,td{padding:10px 9px;text-align:left;vertical-align:top;border-bottom:1px solid #e6edf5}tbody tr:hover{background:#fbfdff}.question-cell{min-width:350px;line-height:1.43}.check{width:18px;height:18px;accent-color:var(--green)}
.bulkbar{position:sticky;top:79px;z-index:25;margin:10px 0 12px;padding:10px;border-radius:12px;background:rgba(255,255,255,.97);backdrop-filter:blur(15px);border:1px solid var(--line);box-shadow:0 12px 29px rgba(3,39,91,.10);display:flex;justify-content:space-between;align-items:center;gap:10px}.bulk-actions{display:flex;gap:7px;flex-wrap:wrap}.filters{display:grid;grid-template-columns:2fr 1fr 1.4fr auto;gap:8px;align-items:end;margin:13px 0}
.notice{padding:11px 13px;border-radius:10px;background:#edf8e5;color:#497b19;border:1px solid #d0e9b8;margin:10px 0}.notice.error{background:#fff0f0;color:#9e252b;border-color:#eec8ca}
.question-wrap{max-width:880px;margin:0 auto}.question-head{display:flex;justify-content:space-between;gap:12px}.timer{font-variant-numeric:tabular-nums;padding:8px 10px;border-radius:10px;background:white;border:1px solid var(--line);font-size:11px}.question{font-size:clamp(21px,3.1vw,29px);line-height:1.4;letter-spacing:-.3px;margin:19px 0;color:var(--navy-950)}.option{width:100%;display:flex;gap:10px;align-items:flex-start;text-align:left;padding:13px;margin:8px 0;background:white;border:1px solid var(--line);border-radius:13px;color:var(--ink);cursor:pointer}.option:hover,.option.selected{border-color:#82b852;background:#f4faee}.option strong{width:29px;height:29px;flex:0 0 29px;border-radius:8px;display:grid;place-items:center;background:#edf4fb;color:var(--navy-800)}
.guest-header{height:84px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:10px max(18px,calc((100vw - 1100px)/2))}.guest-page{width:min(1100px,100%);margin:auto;padding:32px 16px 70px}.auth-logo{margin-bottom:17px}.empty{padding:26px;text-align:center;color:var(--muted);border:1px dashed #c7d5e5;border-radius:13px;background:#fbfcfe}
.mobile-nav{display:none}
@media(max-width:1050px){:root{--sidebar:225px}.brand-image-wrap img{width:170px}.subject-grid{grid-template-columns:repeat(2,1fr)}.card,.card.wide{grid-column:1/-1}.hero{grid-template-columns:1fr}.hero-side{max-width:480px}}
@media(max-width:780px){
 .app-shell{display:block}.sidebar{display:none}.topbar{height:64px;justify-content:space-between;padding:7px 11px}.mobile-logo{display:block}.header-stat{display:none}.page{padding:14px 10px 94px}.hero{padding:20px;min-height:0;border-radius:18px}.hero h1{font-size:34px;letter-spacing:-1.25px}.hero p{font-size:12.5px}.grid{gap:10px}.card{border-radius:15px;padding:15px}.subject-grid{grid-template-columns:1fr 1fr}.page-title{align-items:flex-start;flex-direction:column}
 .mobile-nav{position:fixed;z-index:60;left:50%;bottom:7px;transform:translateX(-50%);width:calc(100% - 14px);display:flex;justify-content:space-around;background:rgba(3,26,63,.97);border:1px solid rgba(255,255,255,.13);border-radius:16px;padding:6px;box-shadow:0 -12px 34px rgba(3,26,63,.22)}
 .mobile-nav a{min-width:52px;text-align:center;color:#a9bdd6;border-radius:10px;padding:5px 6px}.mobile-nav a.active{background:white;color:var(--navy-900)}.mobile-nav span{display:block;font-size:17px}.mobile-nav small{font-size:8px;font-weight:850}
 .filters{grid-template-columns:1fr}.bulkbar{top:70px;flex-direction:column;align-items:flex-start}.bulk-actions{width:100%}.bulk-actions .btn{flex:1;padding:8px}.question-cell{min-width:260px}
}
@media(max-width:440px){.subject-grid{grid-template-columns:1fr}.hero h1{font-size:31px}.brand-unit.compact .brand-image-wrap img{width:108px}}
