.auth-shell { margin-block:12px 40px; }.auth-layout { display:grid; grid-template-columns:minmax(340px,.9fr) minmax(0,1.1fr); border:1px solid var(--line); align-items:stretch; }
.auth-panel { min-width:0; }.auth-card { padding:42px; }.auth-card__top { padding-bottom:24px; }.auth-logo { width:54px; height:65px!important; object-fit:contain; margin-bottom:24px; }
[data-theme=dark] .auth-logo { filter:invert(1); }
.auth-card__eyebrow,.auth-story__kicker { font:10px var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:12px; }
.public-page .auth-card__title { font-size:64px; margin-bottom:16px; }.auth-card__subtitle { color:var(--muted); font-size:14px; }
.auth-form { display:grid; gap:20px; }.auth-form-group { position:relative; }.auth-form-group label,.auth-form .label { display:block; font:11px var(--mono); margin-bottom:10px; }
.auth-form input:not([type=checkbox]):not([type=hidden]),.auth-form select { width:100%; padding:14px; min-height:48px; background:var(--paper); }
.auth-form input[type=password],.auth-form input[data-password-visible] { padding-right:86px!important; }
.password-field { position:relative; }.password-field label { display:block; }.password-toggle { position:absolute; bottom:4px; right:4px; min-height:40px; padding:8px 10px; background:transparent; border:0; color:var(--muted); font:10px var(--mono); }
.auth-form-row { display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:12px; flex-wrap:wrap; }.auth-checkbox { display:flex!important; align-items:center; gap:10px; font:12px/1.6 system-ui!important; }.auth-checkbox input { accent-color:var(--accent); width:17px; height:17px; flex:none; }.auth-checkbox label { margin:0; font:inherit; }.auth-checkbox--top { align-items:flex-start; }
.auth-submit { width:100%; }.auth-card__footer-note { border-top:1px solid var(--line); padding-top:20px; margin-top:8px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:12px; }.auth-card__footer-note a,.auth-link { text-decoration:underline; text-underline-offset:4px; }
.auth-story { height:100%; min-height:630px; padding:42px; color:#eeeee5; background:linear-gradient(0deg,#161d19f5 0%,#161d19ba 45%,#161d190d 100%),url('/images/station/chalk-v2/departure.webp') 65% center/cover; display:flex; flex-direction:column; justify-content:flex-end; gap:22px; }
.auth-story__kicker { color:#d2d6ce; margin-top:80px; }.public-page .auth-story__title { font-size:46px; max-width:16ch; }.auth-story__text { font-size:14px; color:#d1d5cc; max-width:55ch; }
.auth-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #bcc1b348; padding-top:20px; gap:18px; }.auth-metric__value { display:block; font:30px var(--heading); }.auth-metric__label { font:9px/1.6 var(--mono); color:#c0c7bb; text-transform:uppercase; }.auth-story__quote { border-left:2px solid #b8bfb8; padding-left:16px; font-size:12px; color:#c0c7bb; }
.auth-feature-list { display:grid; gap:16px; }.auth-feature { border-top:1px solid #bcc1b348; padding-top:16px; }.auth-feature__title { font:18px var(--heading); }.auth-feature p { color:#c0c7bb; font-size:12px; margin-top:6px; }
.password-hints { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; font-size:11px; color:var(--muted); }.password-hint { border-left:2px solid var(--line); padding-left:8px; }.password-hint.is-valid { color:var(--ink); border-color:var(--accent); }
.auth-form small,.form-help { display:block; font-size:11px; color:var(--muted); margin-top:8px; }.auth-alert,.auth-form ul { color:var(--accent); padding:14px; border:1px solid var(--accent); font-size:12px; list-style:none; }
.availability-feedback { font-size:11px; min-height:1.6em; margin-top:8px; }.availability-feedback.is-error { color:var(--accent); }.availability-feedback.is-success { color:var(--ink); }.availability-feedback.is-loading { color:var(--muted); }
.auth-copy { margin-bottom:28px; }.auth-copy p { color:var(--muted); }.cf-turnstile { min-height:65px; max-width:100%; }
@media(max-width:1100px) { .auth-card,.auth-story { padding:28px; }.auth-layout { grid-template-columns:minmax(320px,1fr) minmax(0,1fr); }.auth-metrics { gap:10px; }.auth-metric__value { font-size:24px; }.public-page .auth-story__title { font-size:38px; } }
@media(max-width:850px) { .auth-layout { grid-template-columns:minmax(0,1fr); }.auth-story { min-height:360px; padding-top:140px; }.auth-card { max-width:600px; margin:auto; }.auth-story__kicker { margin-top:0; } }
@media(max-width:600px) { .auth-card { padding:24px 18px; }.public-page .auth-card__title { font-size:44px; }.auth-logo { margin-bottom:20px; }.auth-story { padding:24px; padding-top:100px; min-height:420px; }.public-page .auth-story__title { font-size:36px; }.auth-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }.auth-metric__value { font-size:22px; }.password-hints { grid-template-columns:1fr; } }
@media(min-width:851px) { .auth-panel--content { align-self:start; position:sticky; top:24px; }.auth-story { height:auto; min-height:720px; } }
