@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');
:root{--navy:#101c36;--navy2:#1e355e;--blue:#4772e8;--teal:#62d7c1;--ink:#192640;--muted:#8390a6;--line:#e8edf5;--bg:#f4f6fa}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:14px 'DM Sans',sans-serif;color:var(--ink)}h1,h2,h3,b,strong{font-family:'Plus Jakarta Sans',sans-serif}h1{font-size:29px;letter-spacing:-1px}h2{font-size:20px}h3{font-size:16px;margin:0 0 14px}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--navy);color:white;padding:25px 17px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 35px}.brand b,.brand small{display:block}.brand b{letter-spacing:1px}.brand small{font-size:8px;letter-spacing:1px;color:#9babc7;margin-top:4px}.logo{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#5279f3,#59d3bd);color:white;font:800 21px 'Plus Jakarta Sans';flex-shrink:0}.sidebar nav{display:grid;gap:6px}.sidebar nav a{padding:13px 14px;border-radius:9px;text-decoration:none;color:#aebbd2;font-weight:600}.sidebar nav a.active,.sidebar nav a:hover{background:#293c62;color:white}.sidebar nav i{font-style:normal;display:inline-block;width:25px;font-size:17px}.sidefoot{margin-top:auto;border-top:1px solid #2b3b5a;padding:16px 6px 0}.sidefoot b,.sidefoot small{display:block}.sidefoot small{color:#aebbd2;margin:4px 0 12px}.sidefoot button{width:100%;padding:9px;border:1px solid #425271;border-radius:8px;background:none;color:#fff}.main{margin-left:250px;min-height:100vh;display:flex;flex-direction:column}header{height:85px;background:white;border-bottom:1px solid var(--line);padding:17px 4%;display:flex;justify-content:space-between;align-items:center}header small{color:#8a96aa;font-size:9px;letter-spacing:1.4px}header h2{margin:4px 0}.online{font-size:11px;color:#28a783}.content{padding:28px 4%;flex:1}footer{padding:17px 4%;border-top:1px solid var(--line);font-size:10px;color:#9aa4b4}.hero{padding:27px 31px;background:linear-gradient(110deg,#172846,#2b5086);color:white;border-radius:16px;margin-bottom:20px}.hero small,.loginhero small{letter-spacing:2px;color:#8ce3d2;font-weight:700}.hero h1{margin:10px 0}.hero p{color:#c4d2e7;margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:20px}.stat,.panel{background:white;border:1px solid var(--line);border-radius:13px;padding:19px;box-shadow:0 10px 30px #192c4d08}.stat small,.stat span{display:block;color:var(--muted);font-size:11px}.stat strong{display:block;font-size:26px;margin:9px 0 5px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.accent{background:linear-gradient(140deg,#1b2e4f,#315783);color:white}.accent small{color:#8de2d2;letter-spacing:1.5px}.accent p{color:#c6d5e8;line-height:1.6}.bars{display:grid;gap:17px}.bars label{display:flex;justify-content:space-between;font-size:12px}.bar{height:8px;background:#edf1f7;border-radius:9px;margin-top:8px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#4a72e7,#62d7c1);border-radius:9px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;padding:11px 16px;background:linear-gradient(110deg,#416ce2,#6286ee);color:white;font:700 12px 'DM Sans';text-decoration:none;cursor:pointer}.btn.secondary{background:#eef2fb;color:#4563a7}.form{display:grid;gap:13px}.form label{display:grid;gap:6px;font-size:11px;font-weight:700;color:#536079}.form input,.form select,.form textarea,.examrow input{width:100%;border:1px solid #dfe5ef;background:#fbfcfe;border-radius:8px;padding:11px;font:13px 'DM Sans';color:var(--ink)}.form textarea{resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.panel{margin-bottom:18px}.panel p{color:var(--muted);line-height:1.6}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}th{text-align:left;color:#8793a8;font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:12px;border-bottom:1px solid var(--line)}td{padding:13px 12px;border-bottom:1px solid #eff2f6;font-size:12px}td small{display:block;color:var(--muted);margin-top:4px}.picklist{max-height:270px;overflow:auto;background:#f8faff;border:1px solid var(--line);padding:10px;border-radius:9px;display:grid;gap:9px}.picklist label{font-weight:500!important;display:block!important}.picklist input{width:auto!important}.picklist small{color:var(--muted)}.examrow{display:flex;align-items:center;justify-content:space-between;gap:14px}.examrow form{display:flex;gap:7px}.examrow input{width:100px}.examrow p{margin:0}.notice{padding:12px 15px;background:#e7f8f1;color:#147e5d;border-radius:8px;margin:0 0 15px;font-size:12px}.notice.error,.alert.err{background:#fff0ef;color:#b84444}.examtop{display:flex;align-items:center;justify-content:space-between;background:#192b49;color:white;padding:22px 25px;border-radius:14px;margin-bottom:18px}.examtop small{color:#8ce3d2;letter-spacing:1.5px}.examtop h1{font-size:23px;margin:7px 0}.examtop span{color:#c3d0e3;font-size:12px}.examtop strong{font-size:23px;background:white;color:#244574;padding:12px 16px;border-radius:9px}.qcard{padding:21px;background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:14px}.qcard>small{font-size:9px;color:#5878d7;font-weight:800;letter-spacing:1px}.qcard h3{line-height:1.65;margin:14px 0}.stimulus{background:#f3f6fc;border-left:3px solid #59cbb6;padding:14px;border-radius:7px;margin:12px 0;line-height:1.65;white-space:pre-wrap}.qmedia{display:block;max-width:100%;max-height:300px;object-fit:contain;margin:12px 0;border-radius:8px}.answer{display:flex;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;margin:7px 0;cursor:pointer}.answer:has(input:checked){background:#f3f6ff;border-color:#7592ec}.answer input{accent-color:#4772e8}.answer b{color:#4772e8;margin-right:8px}.qcard textarea{width:100%;padding:12px;border:1px solid #dfe5ef;border-radius:8px;font:14px 'DM Sans'}.savehint{display:block;color:#299a7b;font-size:10px;margin-top:10px}.submitbar{position:sticky;bottom:0;background:#ffffffed;backdrop-filter:blur(9px);border:1px solid var(--line);border-radius:10px;padding:13px;display:flex;align-items:center;justify-content:space-between;gap:10px}.login,.setupcard{width:min(930px,100%);display:grid;grid-template-columns:1fr 1fr;background:white;border-radius:20px;overflow:hidden;box-shadow:0 25px 80px #14294a20}.auth,.setup{min-height:100vh;display:grid;place-items:center;padding:22px}.loginhero{padding:55px 45px;background:linear-gradient(145deg,#172744,#2b5086);color:white;display:flex;flex-direction:column;justify-content:center}.loginhero h1{font-size:40px;line-height:1.2}.loginhero em{color:#70ddc7;font-style:normal}.loginhero p{color:#c4d2e7;line-height:1.7}.loginhero div{font-size:9px;letter-spacing:2px;color:#9eb1cf;margin-top:55px}.loginform{padding:48px;display:flex;flex-direction:column;justify-content:center}.loginform h2{margin:25px 0 0}.loginform p,.loginform>small{color:var(--muted);font-size:12px}.loginform form{display:grid;gap:14px;margin:25px 0}.loginform label{display:grid;gap:7px;font-size:11px;font-weight:700}.loginform input{padding:12px;border:1px solid var(--line);border-radius:8px}.setupcard{display:block;padding:35px}.setupcard h1{font-size:23px}.alert.ok{padding:13px;background:#e7f8f1;color:#147e5d;border-radius:8px;margin:15px 0}
@media(max-width:950px){.sidebar{width:205px}.main{margin-left:205px}.stats{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}}
@media(max-width:680px){.sidebar{position:static;width:auto;padding:12px}.brand{padding:0 4px 12px}.sidebar nav{display:flex;overflow:auto}.sidebar nav a{white-space:nowrap;padding:9px;font-size:11px}.sidefoot{display:none}.main{margin:0}header{height:68px;padding:10px 15px}.content{padding:15px}.stats{gap:8px}.stat{padding:13px}.stat strong{font-size:22px}.two{grid-template-columns:1fr}.login{grid-template-columns:1fr}.loginhero{padding:28px;min-height:260px}.loginhero h1{font-size:31px}.loginform{padding:28px}.examtop{padding:16px}.examtop h1{font-size:18px}.examtop strong{font-size:17px;padding:9px}.submitbar{align-items:flex-start;flex-direction:column}.examrow{align-items:flex-start;flex-direction:column}}
@media print{.sidebar,header,footer,.btn,.submitbar{display:none!important}.main{margin:0}.content{padding:0}.panel,.stat{box-shadow:none}}
