:root{color-scheme:light;--navy:#10213f;--ink:#14213d;--muted:#607089;--line:#d6dfed;--blue:#155eef}
.department-identity{display:block;width:100%;height:auto;margin:0 0 24px}
.department-mobile{display:none}
@media(max-width:420px){.department-identity{display:none}.department-mobile{display:flex;align-items:center;gap:8px;margin:0 0 24px;color:#343c50;font-size:13px;font-weight:700;line-height:1.15}.department-emblem{position:relative;display:block;flex:0 0 60px;height:76px;overflow:hidden}.department-emblem img{position:absolute;top:-6px;left:-12px;width:350px;max-width:none;height:auto}}
*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:linear-gradient(135deg,#eaf1fd 0%,#f6f8fc 48%,#e9f3f3 100%);color:var(--ink);font:15px/1.5 Arial,sans-serif}.login-shell{width:min(510px,calc(100% - 32px));margin:0 auto;padding:clamp(42px,10vh,94px) 0 48px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--navy);text-decoration:none}.brand img{width:44px;height:44px;object-fit:contain}.brand span{display:grid;line-height:1.2}.brand strong{font-size:19px}.brand small{margin-top:3px;color:var(--muted);font-size:12px}.login-card{margin-top:28px;padding:clamp(24px,6vw,42px);border:1px solid #d4dff0;border-radius:18px;background:#fff;box-shadow:0 20px 50px #10213f12}.eyebrow{margin:0 0 10px;color:#31588c;font-size:11px;font-weight:700;letter-spacing:.12em}h1{margin:0;font-size:clamp(25px,6vw,34px);line-height:1.2}.intro,.help,.alternate{color:var(--muted)}.intro{margin:13px 0 26px}.help{margin:22px 0 0;font-size:13px}form{display:grid;gap:8px}label{margin-top:10px;font-size:13px;font-weight:700}input{width:100%;min-height:46px;padding:10px 13px;border:1px solid #b8c8de;border-radius:9px;background:#fff;color:var(--ink);font:inherit}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #f0af38;outline-offset:2px}button{min-height:46px;margin-top:16px;border:0;border-radius:9px;background:var(--blue);color:#fff;font:700 15px Arial,sans-serif;cursor:pointer}button:hover{background:#0f4dc5}.error{margin:0 0 18px;border:1px solid #f2b7ad;border-radius:8px;padding:11px 13px;background:#fff2f0;color:#8c261c}.alternate{margin:24px 0;text-align:center;font-size:13px}.alternate a{color:#1357cd;font-weight:700}
