/* Layout only. Fields and actions retain their native Unfold appearance. */
.auth-page { min-height: 100vh; min-height: 100svh; }
.auth-main { display: flex; flex: 1 1 0; flex-direction: column; min-width: 0; }
.auth-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1rem; padding: 1rem clamp(1rem, 3vw, 2rem); }
.auth-return { min-width: 0; }
.auth-preferences { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: .25rem; margin-inline-start: auto; }
.auth-preference { position: static; }
.auth-preference-popup { position: absolute; inset-inline-end: 0; top: calc(100% + .5rem); z-index: 80; width: min(19rem, calc(100vw - 2rem)); padding: .35rem; }
.auth-theme-popup { width: min(14rem, calc(100vw - 2rem)); }
.auth-preference-heading { padding: .5rem .625rem; font-size: .75rem; line-height: 1.5; }
.auth-language-list { max-height: min(22rem, 60vh); overflow-y: auto; overscroll-behavior: contain; }
.auth-language-list form { display: flex; }
.auth-language-list button, .auth-theme-popup button { justify-content: start; }
.auth-language-code { margin-inline-start: auto; font-size: .7rem; }
.auth-theme-check { margin-inline-start: auto; }
.auth-stage { display: grid; flex: 1 0 auto; place-items: center; padding: clamp(2rem, 6vh, 5rem) 1rem; }
.auth-content { width: 100%; max-width: 27rem; min-width: 0; }
.auth-image { flex: 1 1 0; }
@media (max-width: 420px) { .auth-header { gap: .5rem; } .auth-stage { padding-block: 1.75rem; } }
