/* Account screens inherit the existing theme, typography and .btn system. */
body.auth-pending > .app, body.auth-pending > .modal { display: none; }
.auth-shell { min-height: 100dvh; display: grid; place-items: center; padding: 24px; background: var(--body-bg); }
.auth-card { width: min(100%, 480px); background: var(--panel); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); overflow: hidden; }
.auth-brand { display: flex; align-items: center; gap: 12px; padding: 24px; background: var(--sidebar-bg); color: var(--sidebar-ink); }
.auth-brand img { width: 48px; height: 48px; object-fit: contain; }
.auth-brand h1 { font-family: var(--font-brand); font-size: inherit; margin: 0; }
.auth-content { display: grid; gap: 16px; padding: 24px; }
.auth-content h2, .auth-content p { margin: 0; }
.auth-content h2 { font-family: var(--font-brand); font-size: inherit; }
.auth-content form, .auth-choices { display: grid; gap: 12px; }
.auth-content label { display: grid; gap: 8px; }
.auth-content input, .auth-content select { width: 100%; font: inherit; }
.auth-content .btn { white-space: normal; min-height: 44px; }
.auth-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.auth-row > * { flex: 1; }
.auth-message { color: var(--muted); overflow-wrap: anywhere; }
.auth-message[data-error="true"] { color: var(--danger); }
.auth-progress { width: 100%; accent-color: var(--accent); }
.auth-choice[aria-pressed="true"] { border-color: var(--accent); background: var(--hover-bg); }
.auth-dialog { padding: 0; color: var(--ink); max-height: calc(100dvh - 48px); }
.auth-dialog::backdrop { background: color-mix(in srgb, var(--bg-2) 60%, transparent); }
.auth-dialog .auth-card { border: 0; box-shadow: none; }
.auth-card [hidden], .auth-shell[hidden] { display: none; }
.auth-local-note { color: var(--muted); }
body[data-account-mode="cloud"] #settingsForm,
body[data-account-mode="cloud"] .settings-section:has(#subscriptionTierSelect),
body[data-account-mode="cloud"] .settings-section:has(#settingsForm) { display: none; }
body[data-account-mode="cloud"] #genModel,
body[data-account-mode="cloud"] .kicker:has(+ #genModel) { display: none; }
@media (max-width: 520px) {
  .auth-shell { padding: 12px; }
  .auth-content, .auth-brand { padding: 16px; }
  .auth-dialog { max-width: calc(100% - 24px); }
}
