/* Account presentation only. Authentication behavior remains in the existing routes. */
@import url('./fonts.css');
.auth-page { background:#faf9f7; color:#202b36; font-family:'Inter',sans-serif; min-height:100vh; }
.auth-skip { position:absolute; left:20px; top:-80px; z-index:5; padding:10px 16px; background:#fff; }
.auth-skip:focus { top:8px; }
.auth-page::before { content:''; position:fixed; inset:0; pointer-events:none; background:repeating-linear-gradient(0deg,transparent 0 47px,#1a365d09 47px 48px); z-index:-1; }
.auth-page .auth-container { isolation:isolate; position:relative; max-width:1120px; margin:0 auto; padding:32px 40px 48px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,440px); column-gap:80px; align-items:center; }
.auth-masthead { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:28px; margin-bottom:34px; border-bottom:1px solid #dcd9d3; }
.auth-page .auth-wordmark { color:#1a365d; font-size:23px; font-weight:750; letter-spacing:-.8px; text-decoration:none; }
.auth-masthead>span { font-size:12px; color:#526071; }
.auth-context { position:relative; min-width:0; }
.auth-context::before { content:''; position:absolute; inset:10% -8% 0; background:radial-gradient(ellipse,#dce6ed 0,transparent 68%); pointer-events:none; z-index:-1; opacity:.45; animation:ledger-light 18s ease-in-out 2 alternate; }
@keyframes ledger-light { from {opacity:.2} to {opacity:.65} }
.auth-page .auth-eyebrow { text-transform:uppercase; letter-spacing:.14em; font-size:11px; font-weight:650; color:#526071; margin:0 0 16px; }
.auth-context h2 { font-size:clamp(28px,3.3vw,39px); line-height:1.15; letter-spacing:-1.3px; font-weight:600; color:#172c46; margin:0 0 18px; }
.auth-context>p:not(.auth-eyebrow) { font-size:15px; color:#526071; max-width:400px; line-height:1.7; }
.auth-record { background:#fff; border:1px solid #dcd9d3; border-top:3px solid #1a365d; box-shadow:0 12px 32px -20px #1a365d40; padding:20px 24px; margin-top:28px; transform:rotate(-1deg); }
.auth-record-top { display:flex; justify-content:space-between; gap:12px; font-size:10px; text-transform:uppercase; letter-spacing:.07em; color:#526071; }
.auth-record h3 { font-size:15px; margin:18px 0 3px; color:#202b36; }
.auth-page .auth-record-url { font-size:12px; color:#526071; margin:0 0 18px; }
.auth-record ol { list-style:none; margin:0; padding:0; }
.auth-record li { display:flex; gap:16px; padding:11px 0; border-top:1px solid #e8e6e1; font-size:12px; }
.auth-record time { color:#526071; flex:0 0 37px; }
.auth-record strong,.auth-record li span { display:block; }
.auth-record li span { color:#526071; margin-top:3px; }
.auth-page .auth-record-note { font-size:11px; color:#526071; border-top:1px solid #e8e6e1; padding-top:12px; margin:6px 0 0; }
.auth-page .auth-container main { min-width:0; margin:0; padding:32px; border:1px solid #dcd9d3; border-radius:10px; box-shadow:0 16px 40px -28px #1a365d55; background:#fff; }
.auth-page .auth-container h1 { text-align:left; color:#172c46; font-size:28px; letter-spacing:-.7px; margin:0 0 10px; line-height:1.2; }
.auth-page .auth-container .site-subtitle { text-align:left; font-size:14px; color:#526071; line-height:1.6; margin:0 0 26px; }
.auth-page .form-group { margin-bottom:18px; }
.auth-page label { font-size:13px; color:#202b36; }
.auth-page input:not([type=checkbox]):not([type=hidden]) { width:100%; min-height:46px; border:1px solid #8693a1; border-radius:5px; background:#fff; color:#202b36; font-size:16px; }
.auth-page .password-field { max-width:none; }
.auth-page .auth-container .password-toggle { min-width:40px!important; min-height:40px; right:3px; color:#344b64; }
.auth-page a { color:#1a365d; text-decoration:underline; text-underline-offset:3px; }
.auth-page :is(a,button,input):focus-visible { outline:3px solid #2a4a7a; outline-offset:3px; }
.auth-page .auth-container .btn-primary { min-height:46px; background:#1a365d; border:1px solid #1a365d; border-radius:5px; color:#fff; font-size:14px; font-weight:600; }
.auth-page .auth-container .btn-primary:hover { background:#102b4e; }
.auth-page .auth-footer { font-size:13px; margin:18px 0 0; color:#526071; }
.auth-page .form-help { color:#526071; font-size:12px; }
.auth-page .alert { font-size:14px; overflow-wrap:anywhere; }
.auth-page .text-muted { color:#526071; font-size:14px; }
@media(max-width:800px) {
 .auth-page .auth-container { max-width:520px; grid-template-columns:minmax(0,1fr); padding:22px 20px 32px; gap:0; }
 .auth-masthead { margin-bottom:24px; padding-bottom:20px; }
 .auth-masthead>span { display:none; }
 .auth-context { grid-row:3; margin-top:28px; }
 .auth-context h2 { font-size:26px; }
 .auth-context .auth-record { display:none; }
 .auth-page .auth-container main { padding:26px 24px; }
 .auth-context::before { animation:none; inset:0; }
}
@media(prefers-reduced-motion:reduce) { .auth-context::before { animation:none; } }
