/* Desktop sign-in. Bootstrap is isolated to this unauthenticated page. */
:root{color-scheme:light;--login-ink:#183149;--login-muted:#647589;--login-line:#dce4eb;--bs-body-font-family:system-ui,-apple-system,"Segoe UI",sans-serif;--bs-body-color:var(--login-ink)}
.login-body{margin:0;min-height:100svh;display:flex;flex-direction:column;background:#f6f8fa;padding:0 clamp(20px,4vw,64px);font-size:14px}
.login-header,.login-footer{width:min(1088px,100%);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.login-header{min-height:100px;padding-block:20px}
.login-product{display:flex;gap:12px;align-items:center}.login-product img{object-fit:contain}.login-product div{display:grid;gap:2px}.login-product span{font-size:18px;font-weight:600;letter-spacing:-.5px}.login-product small{font-size:12px;color:var(--login-muted)}

.login-shell{width:min(1088px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:560px;overflow:hidden;border-radius:24px;background:white;box-shadow:0 18px 70px #17334b0b;border:1px solid #e5ebf0;animation:login-arrive .55s ease-out both}
.login-brand-panel{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;padding:clamp(30px,4vw,58px);background:#173a54;min-height:560px}
.login-brand-panel::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#09253908 10%,#09253940 45%,#092539ed 100%)}
.login-panel-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;animation:login-photo 1.4s ease-out both}
.login-photo-caption{max-width:470px;color:#fff}.login-photo-label{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:#dceaf1}.login-photo-caption h1{font-size:clamp(32px,3.4vw,46px);line-height:1.13;letter-spacing:-1.4px;font-weight:550;margin:18px 0}.login-photo-caption p{font-size:16px;line-height:1.65;margin:0;color:#e3edf4;max-width:370px}
.theme-mode .login-panel-photo{opacity:.22}.login-theme-green{background:#174f43}.login-theme-purple{background:#40325e}.login-theme-blue{background:#164e7e}.login-theme-midnight{background:#101d30}.login-theme-slate{background:#364558}
.login-card{display:flex;align-items:center;justify-content:center;padding:44px clamp(28px,4vw,64px)}.login-card-content{width:100%;max-width:380px}.login-eyebrow{display:block;font-size:10px;letter-spacing:1.7px;font-weight:600;color:#648093;margin-bottom:12px}.login-card h2{font-size:34px;letter-spacing:-1px;font-weight:550;margin:0 0 10px}.login-intro{color:var(--login-muted);margin:0 0 28px;line-height:1.6}
.login-google-button{display:flex;gap:12px;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--login-line);border-radius:9px;font-size:14px;font-weight:500;color:var(--login-ink);background:#fff;transition:background .15s,border-color .15s}.login-google-button:hover{border-color:#a4b5c4;background:#f7f9fb;color:var(--login-ink)}.login-google-button img{flex:none}
.login-divider{display:flex;align-items:center;gap:14px;color:#7b8796;font-size:11px;margin:24px 0}.login-divider::before,.login-divider::after{content:"";height:1px;flex:1;background:#e8edf1}
.login-form{display:grid;gap:18px}.login-form .form-label{font-size:12px;font-weight:500;margin-bottom:8px;color:#354d64}.login-form .form-control{height:48px;font-size:14px;border-color:var(--login-line);border-radius:9px;padding:12px 14px;background:#fbfcfd;color:var(--login-ink)}.login-form .form-control::placeholder{color:#8a97a5}.login-form .form-control:focus{background:white;border-color:#69849a;box-shadow:none}.login-form .form-control[aria-invalid=true]{border-color:#b42332}
.login-password{position:relative}.login-password .form-control{padding-right:50px}.login-password-toggle{position:absolute;right:5px;top:5px;width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:#687e91}.login-password-toggle:hover{background:#eaf0f5}.login-password-toggle svg{width:19px;height:19px}
.login-body .btn-primary{--bs-btn-bg:#183e5b;--bs-btn-border-color:#183e5b;--bs-btn-hover-bg:#102d44;--bs-btn-hover-border-color:#102d44;--bs-btn-active-bg:#102d44;--bs-btn-active-border-color:#102d44;--bs-btn-disabled-bg:#536f84;--bs-btn-disabled-border-color:#536f84;border-radius:9px;font-size:14px;min-height:48px}
.login-submit{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;margin-top:4px}.login-submit svg{width:20px;height:20px}.login-validation{font-size:12px;line-height:1.5;min-block-size:3em;color:#b42332;margin:0}.login-assistance{font-size:11px;color:#8894a2;text-align:center;margin:22px 0 0}
.login-footer{font-size:11px;color:#778797;min-height:78px;padding-block:20px;flex-wrap:wrap}.login-footer b{font-weight:500;margin-left:6px;color:#405b71}.login-skip{position:absolute;left:20px;top:-80px;z-index:20;background:white;padding:12px}.login-skip:focus{top:12px}
.login-server-error{border:1px solid #ecd1d3;background:#fff7f7;border-radius:9px;padding:14px;margin:0 0 20px;color:#8e2631;font-size:12px}.login-server-error strong{display:block;font-weight:600;margin-bottom:5px}.login-server-error p{margin:0}.login-server-error small{display:block;margin-top:10px}
.login-body [hidden]{display:none}.login-body :is(a,button):focus-visible{outline:2px solid #59798f;outline-offset:3px}
@keyframes login-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes login-photo{from{transform:scale(1.035)}to{transform:scale(1)}}
@media(max-width:900px){.login-body{padding-inline:24px}.login-shell{grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}.login-brand-panel{padding:28px}.login-card{padding:32px}.login-photo-caption h1{font-size:32px}}
@media(max-width:650px){.login-body{padding-inline:16px}.login-header{min-height:80px}.login-shell{grid-template-columns:1fr;min-height:0}.login-brand-panel{min-height:200px;padding:26px}.login-photo-caption h1{font-size:26px;margin:10px 0}.login-photo-caption p{font-size:13px}.login-photo-label{font-size:9px}.login-card{padding:30px 24px}.login-card h2{font-size:28px}.login-footer{font-size:10px;gap:8px;justify-content:center;text-align:center}.login-footer span{width:100%}}
@media(prefers-reduced-motion:reduce){.login-shell,.login-panel-photo{animation:none}.login-body *{scroll-behavior:auto;transition:none}}
