/* Styles are limited to the sign-in page. */
.auth-login { max-width:1120px; margin:30px auto 12px; color:#142c44; }
.auth-login-card { display:grid; grid-template-columns:1fr 1.04fr; min-height:620px; overflow:hidden; border:1px solid #dfe6ee; border-radius:18px; background:#fff; box-shadow:0 20px 65px -25px #18365238; }
.auth-brand { position:relative; isolation:isolate; display:flex; flex-direction:column; overflow:hidden; padding:38px 42px 30px; background:linear-gradient(145deg,#102f4d 0%,#082238 68%,#0c414b 100%); color:#fff; }
.auth-brand::after { content:""; position:absolute; z-index:-1; width:340px; height:340px; border:1px solid #ffffff0d; border-radius:50%; right:-225px; top:90px; box-shadow:0 0 0 52px #ffffff03,0 0 0 104px #ffffff02; pointer-events:none; }
.auth-brand-top { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.auth-wordmark { font-size:20px; font-weight:800; letter-spacing:.7px; white-space:nowrap; }
.auth-wordmark span { display:block; font-size:9px; font-weight:500; color:#98b4c8; letter-spacing:3.2px; margin-top:3px; }
.auth-edition { font-size:9px; letter-spacing:1.2px; font-weight:600; color:#9ebaca; border:1px solid #ffffff24; border-radius:4px; padding:7px 9px; }
.auth-brand-copy { margin:48px 0 30px; }
.auth-eyebrow { display:block; font-size:10px; font-weight:750; letter-spacing:1.7px; color:#267a83; }
.auth-brand .auth-eyebrow { color:#6bd4cb; }
.auth-brand h1 { font-size:44px; font-weight:650; line-height:1.15; letter-spacing:-1.5px; margin:17px 0; color:#fff; }
.auth-brand h1 span { color:#70d8cb; }
.auth-brand-copy p { max-width:340px; color:#b9cedb; font-size:13px; line-height:1.8; margin:0; }
.auth-features { display:grid; gap:18px; }
.auth-features>div { display:flex; align-items:center; gap:13px; }
.auth-features i { width:33px; height:33px; display:grid; place-items:center; flex-shrink:0; border:1px solid #ffffff17; background:#ffffff07; border-radius:8px; font-size:13px; color:#86d4cd; }
.auth-features span { font-size:12px; font-weight:600; color:#e9f2f7; }
.auth-features small { display:block; margin-top:3px; font-size:10px; font-weight:400; color:#99b6c9; }
.auth-brand-footer { margin-top:auto; padding-top:32px; color:#8faec1; font-size:8px; letter-spacing:1.3px; }
.auth-form-panel { display:flex; align-items:center; padding:42px 48px; }
.auth-form-content { width:100%; min-width:0; }
.auth-form-heading { margin-bottom:29px; }
.auth-form-heading h2 { font-size:29px; font-weight:700; letter-spacing:-.8px; color:#142c44; margin:11px 0 8px; }
.auth-form-heading p { margin:0; color:#6b7d8f; font-size:12px; line-height:1.7; }
.auth-form { display:grid; gap:21px; }
.auth-field { display:grid; gap:9px; }
.auth-field label { color:#243b50; font-weight:650; font-size:12px; }
.auth-label-row { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.auth-login a { text-decoration:none; color:#156e7a; }
.auth-login a:hover { color:#0c4d5d; text-decoration:underline; text-underline-offset:3px; }
.auth-label-row a { font-size:11px; font-weight:600; }
.auth-input { position:relative; }
.auth-input>i { position:absolute; left:15px; top:50%; transform:translateY(-50%); color:#8699aa; font-size:13px; pointer-events:none; }
.auth-input input { display:block; box-sizing:border-box; width:100%; min-width:0; height:49px; padding:0 14px 0 41px; border:1px solid #d8e2ec; background:#fbfcfe; border-radius:7px; color:#142c44; font:inherit; font-size:14px; transition:border-color .15s,box-shadow .15s; }
.auth-input input:focus { outline:none; border-color:#238b94; background:#fff; box-shadow:0 0 0 3px #17868d18; }
.auth-submit { display:flex; align-items:center; justify-content:center; gap:14px; width:100%; height:49px; margin-top:4px; border:1px solid #124153; border-radius:7px; color:#fff; background:#123d52; cursor:pointer; font:inherit; font-size:13px; font-weight:650; box-shadow:0 4px 9px #123d5215; transition:background .15s; }
.auth-submit:hover { background:#0c5363; }
.auth-submit i { font-size:11px; }
.auth-login :is(a,button):focus-visible { outline:3px solid #2ba9a8; outline-offset:4px; }
.auth-register { display:flex; justify-content:center; flex-wrap:wrap; gap:7px; padding:21px 0 24px; font-size:11px; color:#708193; }
.auth-register a { font-weight:650; }
.auth-register i { font-size:9px; margin-left:3px; }
.auth-simulation-note { display:flex; align-items:flex-start; gap:10px; padding:15px; background:#f3f7fa; border:1px solid #e4ecf2; border-radius:7px; }
.auth-simulation-note>i { margin-top:2px; color:#54768f; font-size:13px; }
.auth-simulation-note strong { font-size:11px; font-weight:650; color:#344e63; }
.auth-simulation-note p { margin:5px 0 0; font-size:10px; line-height:1.75; color:#61788b; }
.auth-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; padding:21px 4px; }
.auth-security-note { display:flex; align-items:center; gap:7px; font-size:10px; color:#708193; }
.auth-security-note i { color:#4e7984; }
.auth-footer nav { display:flex; flex-wrap:wrap; gap:17px; }
.auth-footer nav a { font-size:10px; color:#62788b; }
@media(min-width:1600px) { .auth-login { margin-top:55px; } }
@media(max-width:1050px) { .auth-brand { padding:30px; } .auth-form-panel { padding:35px 30px; } .auth-brand h1 { font-size:39px; } .auth-edition { display:none; } }
@media(max-width:760px) {
    .auth-login { max-width:500px; margin:8px auto; }
    .auth-login-card { grid-template-columns:minmax(0,1fr); border-radius:12px; min-height:0; }
    .auth-brand { padding:25px 28px; }
    .auth-brand-top { gap:8px; }
    .auth-edition { display:block; }
    .auth-brand-copy { margin:24px 0 0; }
    .auth-brand h1 { font-size:29px; letter-spacing:-.8px; margin:12px 0; }
    .auth-brand h1 br { display:none; }
    .auth-brand-copy p { max-width:none; font-size:12px; }
    .auth-features,.auth-brand-footer { display:none; }
    .auth-form-panel { padding:30px 28px; }
    .auth-form-heading { margin-bottom:24px; }
    .auth-form-heading h2 { font-size:26px; }
    .auth-footer { justify-content:center; text-align:center; padding-top:18px; }
    .auth-footer nav { justify-content:center; gap:13px; }
}
@media(prefers-reduced-motion:reduce) { .auth-input input,.auth-submit { transition:none; } }
