/* Public login reuses the approved Signal auth layout, without demo controls. */
.auth-box h1 { margin: 0; font-size: 28px; line-height: 1.2; letter-spacing: -.035em; }
.auth-fields { display: grid; gap: 20px; }
.auth-fields input { min-height: 46px; width: 100%; }
.auth-box form .btn { width: 100%; }
.auth-brand, .auth-mobile-brand { display: flex; align-items: center; gap: 12px; font-size: 22px; font-weight: 650; }
.auth-brand svg, .auth-mobile-brand svg { width: 40px; height: 40px; color: var(--brand-line); }
.auth-note { opacity: .65; position: relative; font-size: 13px; }
.auth-footer { padding-top: 18px; margin-top: 10px; border-top: 1px solid var(--line); font-size: 13px; }
.auth-footer a, .auth-back { color: var(--brand-ink); text-underline-offset: 4px; }
.auth-or { display: flex; align-items: center; gap: 12px; font-size: 13px; }
.auth-or::before, .auth-or::after { content: ''; height: 1px; flex: 1; background: var(--line); }
.auth-mobile-brand { display: none; }
.auth-fields [aria-invalid=true] { border-color: var(--bad); }
@media (max-width: 860px) {
  .auth-mobile-brand { display: flex; margin-bottom: 20px; }
  .auth-mobile-brand svg { color: var(--brand); }
}
