#view-login{min-height:100dvh;box-sizing:border-box;display:grid;place-items:center;padding:48px 24px;background:#edf1f6;color:#172033}
#view-login[hidden]{display:none}
.login-surface{width:100%;max-width:460px}
.login-brand{display:flex;align-items:center;gap:16px;margin-bottom:40px}.login-brand img{width:125px;height:auto}.login-brand span{font-size:13px;color:#485c76}
.login-card{background:#fff;border:1px solid #c5d0df;border-radius:12px;padding:36px}
.login-card h1{font-size:28px;line-height:1.3;margin:0 0 10px;font-weight:750}.login-lead{margin:0 0 28px;color:#52647e;font-size:14px}
.login-types{display:flex;padding:4px;gap:4px;background:#edf1f6;border-radius:8px;margin-bottom:28px}.login-types button{flex:1;min-height:44px;border:0;border-radius:5px;background:transparent;color:#52647e;font:inherit;font-size:14px;font-weight:650;cursor:pointer}.login-types button[aria-selected=true]{background:#0D1B3D;color:#fff}
.login-section h2{font-size:17px;margin:0 0 10px}.login-section p{font-size:14px;line-height:1.7;color:#52647e;margin:0 0 24px}
.login-primary{width:100%;min-height:48px;padding:12px 16px;border:1px solid #0D1B3D;border-radius:6px;background:#0D1B3D;color:white;font:inherit;font-weight:650;cursor:pointer}.login-primary:hover{background:#001945}
#partner-login-form label{display:block;font-size:14px;font-weight:600;margin-bottom:18px}#partner-login-form input{display:block;width:100%;box-sizing:border-box;min-height:46px;padding:12px;border:1px solid #b5c4d7;border-radius:6px;margin-top:8px;font:inherit;font-size:14px;color:#172033;background:white;caret-color:#0D1B3D}#partner-login-form input::placeholder{color:#64748b}
.login-password{position:relative;display:block}.login-password input{padding-right:66px!important}.login-password button{position:absolute;right:8px;top:7px;min-height:32px;border:0;background:white;color:#425d7c;font:inherit;font-size:12px;padding:4px 8px;cursor:pointer}
.login-link{display:block;margin:18px auto 0;border:0;background:none;color:#315781;font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
#login-feedback{font-size:14px;color:#8c3030;line-height:1.6;margin:20px 0 0}#login-feedback:empty{display:none}
.login-footer{text-align:center;font-size:12px;color:#52647e;margin:24px 0 0}
#view-login :is(button,input):focus-visible{outline:2px solid #0D1B3D;outline-offset:3px}
@media(max-width:520px){#view-login{padding:32px 16px;align-items:start}.login-brand{margin:20px 0 28px;gap:12px}.login-card{padding:28px 22px}.login-types button{font-size:13px}.login-card h1{font-size:26px}}

/* Center the brand lockup and make first-time access easy to find. */
#view-login .login-brand{flex-direction:column;justify-content:center;gap:12px;margin:0 0 32px;text-align:center}
#view-login .login-brand span{font-size:14px}
#login-first-toggle{width:100%;min-height:46px;box-sizing:border-box;margin-top:14px;padding:12px 16px;border:1px solid #9aadc7;border-radius:6px;background:#edf2f8;color:#0D1B3D;text-decoration:none;font-size:14px;font-weight:650}
#login-first-toggle:hover{background:#e1e9f3;border-color:#0D1B3D}
@media(max-width:520px){#view-login .login-brand{margin:16px 0 28px}}

#google-login{display:flex;align-items:center;justify-content:center;gap:12px}
#google-login .google-logo{display:grid;place-items:center;width:20px;height:20px;flex-shrink:0;background:transparent}
#google-login img{display:block;width:20px;height:20px;object-fit:contain}
