:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#172033;background:#eef5ff}
*{box-sizing:border-box}
body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(135deg,#eef5ff 0%,#f8fbff 55%,#e6f0ff 100%)}
.login-stage{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-card{width:min(430px,100%);padding:42px 44px 36px;background:#fff;border:1px solid #d9e5f5;border-radius:18px;box-shadow:0 24px 70px rgba(18,66,128,.16);text-align:center}
.brand-mark{width:66px;height:66px;margin:0 auto 19px;border-radius:17px;display:grid;place-items:center;background:#0b4ea2;color:#fff;font-size:36px;box-shadow:0 10px 24px rgba(11,78,162,.24)}
.eyebrow{margin:0 0 7px;color:#0b4ea2;font-size:12px;line-height:1.2;font-weight:800;letter-spacing:.14em}
h1{margin:0;font-size:28px;line-height:1.2;color:#172033}
.subtitle{margin:9px 0 28px;color:#718096;font-size:14px}
form{text-align:left}
label{display:block;margin:0 0 7px;color:#344054;font-size:13px;font-weight:700}
input,select{width:100%;height:48px;margin:0 0 17px;padding:0 14px;border:1px solid #cbd8e9;border-radius:10px;background:#fbfdff;color:#172033;font-size:15px;outline:none;transition:.2s}
input:focus,select:focus{border-color:#0b65d8;box-shadow:0 0 0 3px rgba(11,101,216,.12)}
button{width:100%;height:49px;border:0;border-radius:10px;background:#0b4ea2;color:#fff;font-size:15px;font-weight:800;cursor:pointer;box-shadow:0 8px 18px rgba(11,78,162,.2)}
button:hover{background:#083f85}button:disabled{opacity:.65;cursor:wait}
.error{min-height:19px;margin:-4px 0 12px;color:#c52b38;font-size:13px;text-align:center}
small{display:block;margin-top:24px;color:#8b98aa;font-size:12px}
@media(max-height:600px){.login-card{padding:24px 34px}.brand-mark{width:52px;height:52px;margin-bottom:12px}.subtitle{margin-bottom:17px}}
