/* Authentication layout, scoped to the signed-out homepage. */
#authPage{display:grid;grid-template-columns:minmax(0,55fr) minmax(0,45fr);align-items:stretch;justify-items:stretch;gap:0;width:100%;max-width:none;margin:0;min-height:100vh;min-height:100dvh;padding:0;background:#fafbf9;color:#21302d;}
.auth-visual{width:100%;min-width:0;margin:0;position:sticky;top:0;align-self:start;height:100vh;height:100dvh;min-height:0;overflow:hidden;background:#191b36;}
.auth-visual .auth-scene{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;}
.auth-panel{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:44px 48px;}
#authPage .auth-card{display:grid;width:min(380px,100%);gap:10px;padding:0;border:0;border-radius:0;background:transparent;}
#authPage .auth-heading{margin-bottom:18px;}
#authPage .auth-heading h1{margin:0;font-size:32px;line-height:1.2;letter-spacing:-.7px;font-weight:700;}
#authPage .auth-heading p{margin:9px 0 0;color:#74817b;font-size:13px;line-height:1.6;}
#authPage .auth-card>label,#authPage #registrationFields>label{font-size:12px;font-weight:500;line-height:1.5;margin-top:8px;}
#authPage .auth-card input:not([type=hidden]),#authPage .auth-card select{height:44px;min-height:44px;padding:10px 12px;border:1px solid #d0dad3;border-radius:7px;background:#fff;color:#21302d;font:13px Manrope,Arial,sans-serif;}
#authPage .auth-card input:disabled{background:#f0f3ef;color:#87948b;}
#authPage .auth-card input::placeholder{color:#8a9690;}
#authPage #registrationFields{gap:8px;}
#authPage .auth-actions{gap:12px;margin-top:18px;}
#authPage .auth-actions>button{height:44px;min-height:44px;margin:0;padding:0 16px;border:1px solid #21302d;border-radius:7px;background:#21302d;color:#fff;font:600 13px Manrope,Arial,sans-serif;}
#authPage .auth-actions>button:hover{background:#34473c;}
#authPage .auth-switch{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:5px;margin:4px 0 0;font-size:12px;line-height:1.7;color:#74817b;}
#authPage .auth-switch button{height:auto;min-height:0;margin:0;padding:2px 0;border:0;border-radius:2px;background:transparent;color:#21302d;font:600 12px Manrope,Arial,sans-serif;}
#authPage .auth-switch button:hover{text-decoration:underline;text-underline-offset:3px;}
#authPage #registrationActions{grid-template-columns:1fr 1.6fr;}
#authPage #backToLogin{border-color:#d0dad3;background:transparent;color:#21302d;}
#authPage #backToLogin:hover{background:#edf2ee;}
#authPage .auth-status{min-height:0;margin:2px 0 0;font-size:12px;line-height:1.6;}
#authPage .auth-status:empty{display:none;}
#authPage :focus-visible{outline:2px solid #81998d;outline-offset:3px;}
#authPage .auth-card button:disabled{opacity:.55;cursor:default;}
@media(max-width:1000px){.auth-panel{padding:36px 30px;}#authPage .auth-heading h1{font-size:28px;}}
body:has(#authPage:not([hidden])) #header-root{display:none;}
.auth-visual::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.17) 0%,rgba(0,0,0,0) 40%,rgba(0,0,0,.12) 65%,rgba(0,0,0,.65) 100%);}
.auth-brand{position:absolute;z-index:1;top:clamp(28px,4vw,64px);left:clamp(28px,4vw,64px);display:inline-flex;}
.auth-brand img{display:block;width:clamp(132px,12vw,180px);height:auto;filter:brightness(0) invert(1);}
.auth-brand-copy{position:absolute;z-index:1;left:clamp(28px,4vw,64px);right:clamp(28px,4vw,64px);bottom:clamp(36px,6vh,76px);color:#fff;}
.auth-brand-copy h2{margin:0;font-size:clamp(30px,3.3vw,56px);font-weight:800;line-height:1.15;letter-spacing:-1.2px;text-wrap:balance;}
.auth-brand-copy p{margin:16px 0 0;font-size:clamp(12px,1.1vw,16px);line-height:1.7;color:rgba(255,255,255,.82);}
.auth-mobile-brand{display:none;}
@media(max-width:700px){#authPage{grid-template-columns:1fr;min-height:100vh;min-height:100dvh;}.auth-visual{display:none;}.auth-panel{padding:32px 24px 40px;align-items:center;}#authPage .auth-card{width:min(420px,100%);}#authPage .auth-heading{margin-bottom:12px;}.auth-mobile-brand{display:block;width:min(420px,100%);margin:0 0 36px;}.auth-mobile-brand img{display:block;width:132px;height:auto;}}

#authPage .auth-forgot-link{justify-self:end;color:#516961;font-size:12px;text-decoration:none;margin:0 0 2px}#authPage .auth-forgot-link:hover{text-decoration:underline}#authPage .recovery-form{display:grid;gap:10px}#authPage .recovery-form label{font:500 12px Manrope,Arial,sans-serif;margin-top:8px}#authPage .auth-switch a{color:#21302d;font-size:12px;text-underline-offset:3px}
