:root{--navy:#073b74;--navy2:#052d59;--blue:#0b63b6;--gold:#c99a28;--bg:#f3f6fa;--text:#1f2937;--muted:#64748b;--border:#d9e2ec;--white:#fff;--green:#087443;--red:#b42318}*{box-sizing:border-box}body{margin:0;font-family:"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.shell{min-height:100vh;display:flex}.sidebar{width:270px;background:linear-gradient(180deg,var(--navy2),var(--navy));color:#fff;display:flex;flex-direction:column;min-height:100vh;box-shadow:4px 0 16px rgba(5,45,89,.08)}.side-brand{padding:21px 18px;display:flex;gap:12px;align-items:center;border-bottom:1px solid rgba(255,255,255,.13)}.crest,.crest-xl{display:grid;place-items:center;font-weight:800;color:#fff;background:rgba(255,255,255,.08);border:2px solid var(--gold);border-radius:50%}.crest{width:43px;height:43px;font-size:12px}.crest-xl{width:72px;height:72px;margin:0 auto;font-size:13px}.side-brand b{display:block;font-size:12px;letter-spacing:.7px}.side-brand small{display:block;color:#cbd8e8;margin-top:5px;font-size:11px}.side-section{font-size:10px;letter-spacing:1.3px;color:#91afd0;padding:20px 18px 7px}.nav{display:flex;gap:12px;align-items:center;padding:11px 18px;color:#dce7f4;font-size:13px;border-left:3px solid transparent}.nav:hover,.nav.active{background:rgba(255,255,255,.09);border-left-color:var(--gold);color:#fff}.side-bottom{margin-top:auto;padding:18px;color:#8fa9c6;font-size:11px;border-top:1px solid rgba(255,255,255,.1)}.main{flex:1;min-width:0}.topbar{height:84px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 30px;gap:18px}.topbar h2{margin:4px 0 0;font-size:20px;color:var(--navy2)}.crumb,.eyebrow{font-size:10px;letter-spacing:1.1px;color:var(--muted);font-weight:700}.hamb{display:none;background:none;border:0;font-size:22px;color:var(--navy)}.user{margin-left:auto;text-align:right}.user span{display:block;font-weight:700;font-size:13px}.user small{color:var(--muted);font-size:10px}.content{padding:28px;max-width:1450px;margin:auto}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:#fff;border:1px solid var(--border);border-radius:7px;padding:20px;box-shadow:0 2px 8px rgba(15,38,66,.04)}.stat{border-top:3px solid var(--blue)}.stat-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.7px}.stat-value{font-size:29px;font-weight:800;color:var(--navy);margin-top:8px}.stat-note{font-size:10px;color:#8a98a8;margin-top:5px}.section-title{font-size:16px;color:var(--navy2);margin:4px 0 15px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--border);border-radius:7px}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:12px 13px;border-bottom:1px solid #edf1f5;text-align:left;white-space:nowrap}th{background:#f6f8fb;color:#52657c;font-size:10px;text-transform:uppercase;letter-spacing:.5px}tr:last-child td{border-bottom:0}.btn{display:inline-block;border:0;border-radius:5px;padding:10px 15px;font-weight:700;cursor:pointer;font-size:12px}.btn-primary{background:var(--blue);color:#fff}.btn-secondary{background:#e8eef6;color:var(--navy2)}.full{width:100%}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-field{display:block;margin-bottom:15px}.form-field span{display:block;font-size:11px;font-weight:700;color:#475569;margin-bottom:7px}.form-field input,.form-field select,.form-field textarea{width:100%;padding:11px 12px;border:1px solid #cbd6e2;border-radius:5px;background:#fff;font:inherit;font-size:13px}.form-field textarea{min-height:90px;resize:vertical}.form-actions{margin-top:15px;display:flex;gap:10px}.student-box{position:relative}.student-results{position:absolute;z-index:10;left:0;right:0;top:100%;background:#fff;border:1px solid var(--border);border-radius:0 0 7px 7px;box-shadow:0 8px 20px rgba(15,38,66,.12)}.student-result{display:block;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f5;padding:12px;cursor:pointer}.student-result:hover{background:#f4f8fc}.student-result b,.student-result span{display:block}.student-result b{font-size:13px;color:var(--navy)}.student-result span{font-size:11px;color:var(--muted);margin-top:4px}.selected{padding:12px;background:#eef5fc;border-left:4px solid var(--blue);border-radius:5px;margin-top:10px}.selected b,.selected span{display:block}.selected span{font-size:11px;color:var(--muted);margin-top:4px}.hint{padding:12px;font-size:12px;color:var(--muted)}.danger-text{color:var(--red)}.badge{display:inline-block;padding:5px 8px;border-radius:99px;background:#edf2f7;font-size:10px;font-weight:700}.alert{padding:12px 14px;border-radius:6px;margin-bottom:16px;font-size:12px}.alert.danger{background:#fff0f0;color:#a61b1b}.alert.success{background:#edf9f1;color:#176b3a}.notice{padding:13px 15px;margin-bottom:16px;background:#eef5fc;border:1px solid #cfe0f1;border-left:4px solid var(--blue);border-radius:6px;color:#36516e;font-size:12px;line-height:1.55}.hero{background:linear-gradient(110deg,var(--navy2),var(--blue));color:#fff;border-radius:8px;padding:27px;margin-bottom:18px}.hero-kicker{font-size:10px;letter-spacing:1.3px;color:#bcd5ee;margin-bottom:7px}.hero h1{margin:0 0 6px;font-size:25px}.hero p{margin:0;color:#d9e8f7;font-size:13px}.login-bg{background:linear-gradient(135deg,#edf3fa,#fff)}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(445px,100%);background:#fff;border:1px solid var(--border);border-radius:10px;padding:32px;box-shadow:0 14px 45px rgba(15,38,66,.12)}.institution{text-align:center;color:var(--blue);font-weight:800;font-size:11px;letter-spacing:1.3px;margin-bottom:20px}.login-card h1{text-align:center;font-size:21px;color:var(--navy);margin:10px 0 5px}.login-sub{text-align:center;color:var(--blue);font-weight:700}.center{text-align:center}.muted{color:var(--muted);font-size:12px}.login-footer{text-align:center;color:#8290a0;font-size:10px;margin-top:22px;line-height:1.6}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}footer{padding:20px 28px;color:#7b8a9d;font-size:10px;border-top:1px solid var(--border)}@media(max-width:900px){.sidebar{position:fixed;left:-270px;z-index:20;transition:.2s}.sidebar.show{left:0}.hamb{display:block}.grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}}@media(max-width:600px){.grid,.grid2{grid-template-columns:1fr}.content{padding:18px}.topbar{padding:0 18px}.user{display:none}}
