.auth-layout { min-height:100svh; display:grid; grid-template-columns:1fr; }
.auth-story { display:none; background:#11110F; color:#FAFAFA; padding:64px; }
.auth-story .brand { color:#FAFAFA; }
.auth-story-copy { margin:auto 0; max-width:440px; }
.auth-story h2 { font-size:clamp(32px,3vw,48px); letter-spacing:-.035em; line-height:1.15; font-weight:600; }
.auth-story p { color:#A3A3A3; line-height:1.8; }
.auth-story .story-mark { width:60px; height:3px; background:var(--gold); margin:28px 0; }
.auth-side { display:flex; flex-direction:column; padding:28px 24px; }
.auth-top { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.auth-top a:last-child { font-size:13px; color:var(--text-soft); text-decoration:none; }
.auth-card { width:100%; max-width:390px; margin:auto; padding:60px 0; }
.auth-card h1 { margin:12px 0; font-size:32px; letter-spacing:-.035em; line-height:1.2; }
.auth-intro,.auth-note { color:var(--text-soft); font-size:14px; line-height:1.7; }
.auth-form { margin-top:30px; }
.auth-field { display:grid; gap:9px; margin-bottom:20px; }
.auth-field label { font-size:13px; font-weight:500; }
.auth-field input { width:100%; min-width:0; padding:13px 14px; border:1px solid var(--line); border-radius:8px; background:var(--paper-card); color:var(--text); font:inherit; font-size:14px; }
.auth-field input:focus { outline:2px solid var(--gold); outline-offset:2px; }
.auth-password { position:relative; }
.auth-password input { padding-right:76px; }
.auth-password button { position:absolute; right:10px; top:0; bottom:0; background:none; border:0; color:var(--text-soft); font:inherit; font-size:12px; cursor:pointer; }
.auth-submit { width:100%; border:0; cursor:pointer; min-height:46px; font-family:inherit; }
.auth-submit:disabled { opacity:.55; cursor:wait; }
.auth-message { font-size:13px; line-height:1.7; padding:12px 14px; border-radius:8px; background:#F5EBD3; border:1px solid #E4D4A9; margin:20px 0; overflow-wrap:anywhere; }
.auth-message[data-kind=error] { background:#FEF2F2; border-color:#FECACA; color:#991B1B; }
.auth-message[hidden] { display:none; }
.auth-links { font-size:13px; text-align:center; margin-top:24px; }
.auth-links a { color:var(--text); font-weight:600; text-underline-offset:4px; }
.auth-secondary { background:none; border:0; font:inherit; color:var(--text-soft); text-decoration:underline; text-underline-offset:4px; cursor:pointer; margin-top:16px; }
.auth-footer { color:var(--text-soft); font-size:12px; text-align:center; }
.auth-gate { max-width:440px; margin:15vh auto; padding:24px; font:14px/1.7 Inter,sans-serif; }
.auth-gate h1 { font-size:26px; }
.account-box { padding:16px; border-top:1px solid var(--line); font-size:12px; }
.account-box p { overflow-wrap:anywhere; color:var(--text-soft); }
.account-box button { margin-top:8px; }
@media(min-width:960px) { .auth-layout { grid-template-columns:1fr 1fr; } .auth-story { display:flex; flex-direction:column; } .auth-side { padding:36px 48px; } .auth-top>.brand { display:none; } .auth-top { justify-content:flex-end; } }
@media(prefers-reduced-motion:no-preference) { .auth-submit { transition:opacity .15s; } }

#account-admin[hidden]{display:none!important}

.auth-field input{font-size:16px;min-height:46px}
.auth-password button{min-width:54px;min-height:44px}
.auth-submit:disabled{cursor:not-allowed}
.auth-secondary{min-height:44px}
.auth-message[data-kind=success]{color:var(--text);background:var(--paper-card);border-color:var(--line)}
[hidden]{display:none!important}
@media(max-width:540px){.auth-top{flex-wrap:wrap;gap:12px}.auth-card{padding:40px 0}}
@media(prefers-color-scheme:dark){
 body[data-auth-page],body[data-recovery]{--paper:#0A0A0A;--paper-card:#141414;--text:#FAFAFA;--text-soft:#A3A3A3;--line:#262626;--gold:#D4A93E;color-scheme:dark}
 .auth-message[data-kind=error]{background:#2B1717;border-color:#713535;color:#FECACA}
 .language-select{border-color:var(--line)}
}
.auth-age{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.6;color:var(--text-soft)}.auth-age input{width:18px;height:18px;flex:0 0 18px;margin-top:2px;accent-color:var(--gold)}
