/* 아이디/비밀번호 위젯 — SSOT 1·11절. 로그인 선택과 같은 공통 카드 패턴. */
.auth-password.login { inline-size: 100%; max-inline-size: var(--sonub-form-width); gap: var(--wa-space-l); padding: clamp(1rem,3vw,2.25rem); border-block-start: 3px solid var(--sonub-accent); border-radius: var(--sonub-radius-panel); background: var(--sonub-surface); }
.auth-password .auth-password-heading { display: flex; align-items: center; gap: var(--wa-space-m); }
.auth-password .auth-password-heading h1 { flex: 1; min-inline-size: 0; margin: 0; padding: 0; overflow-wrap: anywhere; }
.auth-password .form { gap: var(--wa-space-l); }
.auth-password .form label { gap: var(--wa-space-s); font-size: calc(1rem * var(--wa-font-size-scale,1)); }
.auth-password .form input { min-inline-size: 0; inline-size: 100%; min-block-size: 3rem; border-radius: var(--wa-border-radius-m); font-size: calc(1rem * var(--wa-font-size-scale,1)); }
.auth-password .form button[type=submit] { min-block-size: 3rem; border-radius: var(--wa-border-radius-m); font-size: calc(1rem * var(--wa-font-size-scale,1)); }
.auth-password .login-switch { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wa-space-s) var(--wa-space-m); font-size: calc(1rem * var(--wa-font-size-scale,1)); }
.auth-password .login-switch :is(a,button) { display: inline-flex; align-items: center; min-block-size: 2.75rem; padding-inline: var(--wa-space-s); border: 1px solid var(--sonub-border); border-radius: var(--wa-border-radius-m); color: var(--sonub-accent); text-decoration: none; font-size: inherit; }
.auth-password .login-switch :is(a,button):hover { background: var(--wa-color-brand-fill-quiet); border-color: var(--sonub-accent); }
.auth-password :is(.form-errors,.form-status) { overflow-wrap: anywhere; }
.auth-password :is(a,button,input):focus-visible { outline: 2px solid var(--sonub-accent); outline-offset: 3px; }
.auth-password wa-dialog { --width: var(--sonub-form-width); }
.auth-password wa-dialog::part(title) { font-size: calc(1.25rem * var(--wa-font-size-scale,1)); overflow-wrap: anywhere; }
.auth-password wa-dialog::part(body) { font-size: calc(1rem * var(--wa-font-size-scale,1)); line-height: 1.75; }
.auth-password wa-dialog wa-button::part(base) { min-block-size: 2.75rem; font-size: calc(1rem * var(--wa-font-size-scale,1)); }
.auth-password wa-dialog::part(close-button) { min-inline-size: 2.75rem; min-block-size: 2.75rem; }
.auth-password wa-dialog::part(footer) { flex-wrap: wrap; gap: var(--wa-space-s); }
@media (max-width: 599px) { .auth-password.login { margin-block: var(--wa-space-m); } }

/* 재검수 보완: 긴 제목과 로그인 단추. */
.auth-password .auth-password-heading { align-items: flex-start; }
.auth-password .auth-password-heading h1 { font-size: clamp(calc(1.5rem * var(--wa-font-size-scale,1)),3vw,calc(2rem * var(--wa-font-size-scale,1))); line-height: 1.35; }
.auth-password .form button[type=submit] { background: var(--wa-color-brand-fill-loud); color: var(--wa-color-brand-on-loud); border-color: var(--wa-color-brand-fill-loud); }
