/* Account entry pages only. Storefront branding and authentication remain shared. */
body.auth-screen { min-height:100dvh; background:radial-gradient(ellipse at 10% 0%,var(--primary-soft),transparent 55%),var(--bg-primary); }
.auth-screen .header-shell { min-height:68px; max-width:1100px; }
.auth-screen .site-header { position:relative; background:var(--surface); }
.auth-screen .theme-menu { width:42px; height:42px; border-radius:13px; }
.auth-screen .auth-shell { width:min(1000px,calc(100% - 48px)); min-height:0; margin:40px auto; border:1px solid var(--border); border-radius:24px; box-shadow:var(--shadow-md); background:var(--surface); grid-template-columns:.9fr 1.1fr; }
.auth-screen .auth-visual { padding:40px; gap:20px; background:var(--feature-bg); }
.auth-screen .auth-visual-mark { width:52px; height:52px; border:1px solid var(--banner-line); background:var(--banner-glow); border-radius:16px; }
.auth-screen .auth-kicker { color:var(--feature-muted); font-size:10px; letter-spacing:.17em; font-weight:700; }
.auth-screen .auth-visual h2 { font-size:32px; line-height:1.18; color:var(--feature-ink); }
.auth-screen .auth-visual > p { font-size:14px; line-height:1.65; }
.auth-screen .auth-visual-list { margin-top:22px; }
.auth-screen .auth-shell .page.auth-page { padding:32px; margin:0; justify-content:center; min-width:0; }
.auth-screen .auth-tabs { display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:4px; margin-bottom:26px; background:var(--bg-primary); border:1px solid var(--border); border-radius:13px; }
.auth-screen .auth-tabs a { display:grid; place-items:center; padding:9px 6px; min-height:42px; border-radius:9px; color:var(--text-secondary); font-size:13px; font-weight:650; }
.auth-screen .auth-tabs a[aria-current] { color:var(--primary); background:var(--surface); box-shadow:var(--shadow-sm); }
.auth-screen .auth-tabs a:hover { color:var(--primary); }
.auth-screen .auth-page h1 { font-size:27px; line-height:1.2; margin:0 0 9px; letter-spacing:-.045em; }
.auth-screen .auth-page > .muted { font-size:14px; line-height:1.6; margin-bottom:0; }
.auth-screen .auth-page form.auth-form { margin-top:24px; gap:17px; background:transparent; border:0; padding:0; box-shadow:none; }
.auth-screen .page form.auth-form label { margin:0; color:var(--text-primary); font-size:12px; line-height:1.5; font-weight:600; min-width:0; }
.auth-screen .auth-form input:not([type=checkbox]) { min-height:49px; margin-top:7px; padding:12px 14px; border-radius:11px; background:var(--bg-primary); font-size:16px; transition:border-color .15s,box-shadow .15s; }
.auth-screen .auth-form input::placeholder { font-size:14px; color:var(--text-muted); }
.auth-screen .auth-form input:focus { outline:2px solid var(--primary); outline-offset:2px; }
.auth-screen .auth-form .password-field input { padding-right:49px; }
.auth-screen .auth-form .password-toggle { width:44px; height:44px; right:3px; }
.auth-screen .auth-form-row { gap:17px; }
.auth-screen .auth-field-hint { display:block; margin-top:7px; font-size:11px; font-weight:400; line-height:1.5; color:var(--text-secondary); }
.auth-screen .auth-options { gap:8px; flex-wrap:wrap; margin:0; }
.auth-screen .page form.auth-form .remember-row { gap:8px; min-height:36px; font-size:12px; color:var(--text-secondary); }
.auth-screen .auth-options > a { display:inline-flex; align-items:center; min-height:36px; font-size:12px; }
.auth-screen .auth-form .btn-primary { min-height:50px; padding:12px 18px; border-radius:11px; font-size:14px; justify-content:center; gap:12px; box-shadow:0 6px 16px color-mix(in srgb,var(--brand-violet) 18%,transparent); }
.auth-screen .auth-switch { margin:22px 0 0; font-size:12px; }
.auth-screen .auth-switch a { color:var(--primary); font-weight:650; text-decoration:none; }
.auth-screen .auth-switch a:hover { text-decoration:underline; }
.auth-screen .auth-error,.auth-screen .auth-success { margin:0; font-size:13px; }
.auth-screen .auth-success { margin-top:18px; }
@media(max-width:850px) {
 .auth-screen .auth-shell { width:min(460px,calc(100% - 32px)); display:grid; grid-template-columns:1fr; margin:22px auto 32px; border-radius:22px; }
 .auth-screen .auth-visual { display:block; padding:23px 24px; }
 .auth-screen .auth-visual-mark,.auth-screen .auth-visual-list,.auth-screen .auth-visual>p { display:none; }
 .auth-screen .auth-kicker { font-size:9px; letter-spacing:.14em; }
 .auth-screen .auth-visual h2 { font-size:23px; margin:9px 0 0; line-height:1.2; }
 .auth-screen .auth-visual h2 br { display:none; }
 .auth-screen .auth-visual h2 br::after { content:' '; }
 .auth-screen .auth-shell .page.auth-page { padding:24px; }
 .auth-screen .auth-page h1 { font-size:25px; }
 .auth-screen .auth-tabs { margin-bottom:22px; }
 .auth-screen .auth-page form.auth-form { margin-top:21px; gap:16px; }
 .auth-screen .auth-form-row { grid-template-columns:1fr; gap:16px; }
}
@media(max-width:375px) {
 .auth-screen .header-shell { width:calc(100% - 32px); min-height:64px; gap:12px; }
 .auth-screen .logo { font-size:16px; }
 .auth-screen .auth-shell { width:calc(100% - 24px); margin-top:16px; }
 .auth-screen .auth-shell .page.auth-page { padding:20px 18px; }
 .auth-screen .auth-visual { padding:21px 18px; }
 .auth-screen .auth-visual h2 { font-size:21px; }
 .auth-screen .auth-page h1 { font-size:23px; }
}
@media(prefers-reduced-motion:reduce) { .auth-screen .auth-form input { transition:none; } }
