.login-page{color:#f4f7fc;background:#091626;grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.login-brand,.login-panel{flex-direction:column;justify-content:center;padding:clamp(2rem,7vw,7rem);display:flex}.login-brand img{filter:brightness(0)invert();width:170px;height:auto;margin-bottom:1.5rem}.login-brand span,.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#a9bad1;font-size:.75rem}.login-brand h1{margin:2rem 0;font-size:clamp(2.6rem,5vw,5.8rem);line-height:.96}.login-brand p{color:#b9c8dc;max-width:35rem}.login-panel{color:#10233b;background:#f4f7fc}.login-card{width:min(100%,430px);margin:auto}.login-card h2{margin:.6rem 0;font-size:2.5rem}.login-card>p{color:#53667f;margin-bottom:2rem}.login-card form{gap:1.2rem;display:grid}.login-card label{gap:.5rem;font-weight:650;display:grid}.login-card input{color:#10233b;font:inherit;background:#fff;border:1px solid #b9c8dc;border-radius:8px;padding:.9rem 1rem}.login-card button{color:#fff;font:inherit;cursor:pointer;background:#1b304b;border:0;border-radius:8px;padding:1rem;font-weight:700}.login-card button:disabled{opacity:.65}.login-card>a{color:#243e62;margin-top:1.3rem;display:inline-block}.login-error{color:#8b2828;background:#fbe9e7;border-radius:6px;padding:.8rem}.login-panel footer{color:#6f788a;text-align:center;margin-top:3rem;font-size:.75rem}@media (max-width:760px){.login-page{grid-template-columns:1fr}.login-brand{min-height:35vh;padding:2rem}.login-brand h1{margin:1rem 0;font-size:2.6rem}.login-panel{padding:3rem 1.5rem}}.password-input-row{align-items:stretch;gap:8px;display:flex}.password-input-row input{flex:1;min-width:0}.login-card .password-input-row button{color:#243e62;background:#e1e8f1;padding:.6rem .75rem;font-size:.8rem}.password-help{margin:0 0 .6rem;font-size:.9rem}.password-rules{gap:.45rem;margin:0;padding:0;font-size:.86rem;list-style:none;display:grid}.password-rules li{align-items:baseline;gap:.5rem;display:flex}.password-rules .missing,.password-match.missing{color:#b42332}.password-rules .passed,.password-match.passed{color:#17613c}.password-match{margin:0;font-size:.85rem}.login-card .password-feedback{border-radius:10px;margin:1rem 0;padding:1rem;line-height:1.5}.password-feedback.error{color:#a51d2d;background:#fff0f0;border:1px solid #efc7cd}.password-feedback.success{color:#17613c;background:#eaf7ef;border:1px solid #bfdfc9}.password-feedback p{margin:.5rem 0}.password-recovery{color:#fff;background:#1b304b;border-radius:8px;margin-top:.5rem;padding:.75rem 1rem;text-decoration:none;display:inline-block}
