/* Páginas de autenticação (Shield) e de erro — só tokens */
.auth {
  min-height: 100vh; background: var(--color-bg);
  background-image: radial-gradient(60rem 28rem at 50% -8rem, var(--color-brand-gold-soft), transparent 70%);
}
.auth__main {
  min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: var(--space-5); padding: var(--space-6) var(--space-4);
}
.auth__card {
  width: 100%; max-width: 26rem; padding: var(--space-8) var(--space-7);
  background: var(--color-surface); border: 1px solid var(--color-border);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-md);
  display: flex; flex-direction: column; gap: var(--space-4);
}
.auth__brand { align-self: center; border-radius: 50%; line-height: 0; box-shadow: var(--shadow-sm); }
.auth__brand img { border-radius: 50%; display: block; }
.auth__title {
  font-family: var(--font-display); font-size: var(--text-xl); letter-spacing: var(--tracking-display);
  text-align: center; margin: 0;
}
.auth__lead { text-align: center; color: var(--color-text-2); margin: calc(var(--space-2) * -1) 0 0; }
.auth__form { gap: var(--space-4); }
.auth__alt { text-align: center; color: var(--color-text-2); font-size: var(--text-sm); margin: 0; }
.auth__alt a { color: var(--color-accent-text); font-weight: var(--weight-medium); }
.auth__foot { color: var(--color-text-3); font-size: var(--text-xs); margin: 0; }
.auth__code input { text-align: center; letter-spacing: 0.3em; font-variant-numeric: tabular-nums; }

/* Páginas de erro */
.auth__error-code {
  font-family: var(--font-display); font-size: var(--text-4xl); font-weight: var(--weight-bold);
  color: var(--color-brand-gold-text); text-align: center; line-height: 1; margin: 0;
  font-variant-numeric: tabular-nums;
}
@media (max-width: 480px) { .auth__card { padding: var(--space-6) var(--space-5); } }
