/* Presentation only. Loaded after the existing auth stylesheet. */
.auth-page:has(.auth-layout) { max-width:1120px; width:100%; box-sizing:border-box; padding:48px 24px 80px; }
.auth-layout, .auth-layout * { box-sizing:border-box; }
.auth-layout { display:grid; grid-template-columns:0.9fr 1.1fr; min-height:600px; border:1px solid #dce2e9; border-radius:22px; overflow:hidden; box-shadow:0 20px 65px #0f20371a; font-family:"Segoe UI",Arial,sans-serif; animation:auth-arrive .35s ease-out; }
.auth-brand { padding:42px; background:radial-gradient(ellipse at bottom left,#264966,transparent 75%),#0f2037; color:white; display:flex; flex-direction:column; justify-content:space-between; gap:48px; border-top:5px solid #ffc300; }
.auth-brand-name { display:flex; gap:14px; align-items:center; font-size:11px; font-weight:700; letter-spacing:1.1px; line-height:1.8; }
.auth-brand-name small { font-size:9px; color:#bbcbdc; letter-spacing:1px; }
.auth-emblem { display:grid; place-items:center; width:54px; height:60px; flex-shrink:0; border:1px solid #ffc30080; border-radius:12px 12px 22px 22px; color:#ffc300; font-size:16px; letter-spacing:1px; }
.auth-eyebrow { color:#ffc300; font-size:11px; font-weight:700; letter-spacing:2.5px; margin:0 0 20px; }
.auth-brand h2 { color:#fff; font-size:clamp(34px,4vw,52px); line-height:1.08; letter-spacing:-1.8px; font-weight:700; margin:0 0 22px; }
.auth-brand-copy > p:last-child { color:#cad5e1; line-height:1.8; font-size:16px; max-width:290px; margin:0; }
.auth-home { color:#d3dfec; text-decoration:none; font-size:14px; width:fit-content; }
.auth-home:hover { color:#ffc300; }
.auth-layout .auth-form-panel { min-width:0; border:0; border-radius:0; background:#fff; color:#14283e; padding:40px 44px; box-shadow:none; }
.auth-tabs { display:flex; padding:5px; background:#edf1f5; border-radius:12px; margin:0 0 32px; gap:5px; }
.auth-tabs a { flex:1; text-align:center; padding:12px 8px; color:#536378; text-decoration:none; font-size:14px; font-weight:650; border-radius:8px; transition:background .18s,color .18s; }
.auth-tabs a[aria-current] { background:#0f2037; color:white; box-shadow:0 3px 8px #0f20371a; }
.auth-tabs a:not([aria-current]):hover { background:#dfe6ee; color:#0f2037; }
.auth-layout .auth-title { text-align:left; font-size:30px; font-weight:700; color:#0f2037; letter-spacing:-.7px; margin:0 0 9px; }
.auth-intro { font-size:15px; color:#617084; line-height:1.6; margin:0 0 26px; }
.auth-layout label { color:#23374d; font-size:14px; margin:20px 0 8px; font-weight:650; }
.auth-layout input[type=text],.auth-layout input[type=email],.auth-layout input[type=password] { min-height:54px; padding:14px 16px; font:inherit; font-size:16px; background:#f8fafc; border:1px solid #cbd5df; border-radius:10px; transition:border-color .18s,box-shadow .18s,background .18s; }
.auth-layout input:focus { border-color:#536c88; background:#fff; outline:3px solid #ffc30055; outline-offset:1px; }
.auth-password { position:relative; }
.auth-layout .auth-password input { padding-right:78px; }
.auth-reveal { position:absolute; right:8px; top:7px; min-height:40px; padding:8px 10px; color:#304c6a; background:transparent; border:0; border-radius:6px; cursor:pointer; font-size:13px; font-weight:650; }
.auth-reveal:hover { background:#e5ebf2; }
.auth-layout .auth-hint { color:#617084; line-height:1.5; }
.auth-layout .auth-button { min-height:54px; border-radius:10px; margin-top:28px; transition:box-shadow .18s,transform .18s; }
.auth-layout .auth-button:hover { box-shadow:0 5px 16px #d69b0033; transform:translateY(-1px); }
.auth-layout .auth-button:active { transform:translateY(0); }
.auth-layout .auth-button:disabled { cursor:wait; opacity:.75; transform:none; }
.auth-layout .auth-switch { color:#617084; margin-top:24px; line-height:1.7; }
.auth-layout .auth-switch a { color:#153e65; text-underline-offset:3px; }
.auth-layout .auth-errors { color:#852638; background:#fff1f2; border-color:#eab8c1; margin:20px 0; line-height:1.6; }
.auth-layout .auth-notice { background:#fff8dc; color:#624e13; border-color:#e8cd75; margin:22px 0; line-height:1.6; }
.auth-layout .auth-welcome { color:#617084; font-size:16px; margin-top:16px; line-height:1.6; overflow-wrap:anywhere; }
.auth-layout .auth-welcome strong { color:#0f2037; }
.auth-layout .auth-details { margin:26px 0; }
.auth-layout .auth-details dt { color:#617084; font-size:12px; text-transform:uppercase; letter-spacing:1px; margin-top:20px; }
.auth-layout .auth-details dd { color:#14283e; padding-bottom:15px; border-bottom:1px solid #e7ecf1; margin-top:6px; }
.auth-layout .auth-button-quiet { color:#30465e; background:#f1f4f7; border:1px solid #dce2e9; margin-top:12px; }
.auth-layout :is(a,button):focus-visible { outline:3px solid #ba8500; outline-offset:3px; }
@keyframes auth-arrive { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@media(max-width:760px) { .auth-page:has(.auth-layout) { padding:24px 16px 48px; } .auth-layout { grid-template-columns:1fr; border-radius:16px; min-height:0; } .auth-brand { padding:26px; gap:24px; } .auth-brand h2 { font-size:34px; margin-bottom:12px; } .auth-brand-copy > p:last-child { max-width:none; font-size:14px; } .auth-eyebrow { margin-bottom:12px; } .auth-home { font-size:13px; } .auth-layout .auth-form-panel { padding:28px 24px; } .auth-tabs { margin-bottom:25px; } }
@media(prefers-reduced-motion:reduce) { .auth-layout { animation:none; } .auth-layout * { transition:none !important; } }
