.auth-body { min-height: 100vh; }
.auth-split { display: grid; grid-template-columns: 1fr 1fr; min-height: 100vh; }
.auth-brand {
  display: flex; align-items: center; justify-content: center;
  padding: var(--space-7); color: #fff; text-align: center;
  background: radial-gradient(120% 120% at 20% 10%, rgba(255,255,255,0.18), transparent 60%), var(--route);
}
.auth-brand-inner { max-width: 26rem; }
.auth-logo { width: 96px; height: 96px; border-radius: 50%; box-shadow: 0 0.5rem 1.5rem rgba(0,0,0,0.18); }
.auth-wordmark { margin-top: var(--space-4); font-size: 2.25rem; font-weight: 700; letter-spacing: -0.02em; }
.auth-tagline { margin-top: var(--space-3); font-size: 1.1rem; opacity: 0.92; }
.auth-form-pane { display: flex; align-items: center; justify-content: center; padding: var(--space-6); }
.auth-card { width: 100%; max-width: 22rem; }
.auth-card-title { font-size: 1.5rem; font-weight: 600; margin-bottom: var(--space-2); }
.auth-sub { color: var(--ink-3); margin-bottom: var(--space-4); }
.auth-card .form-label { font-weight: 500; }
.auth-card .btn-primary { width: 100%; margin-top: var(--space-2); }
@media (max-width: 48rem) {
  .auth-split { grid-template-columns: 1fr; }
  .auth-brand { min-height: 28vh; padding: var(--space-5); }
  .auth-logo { width: 72px; height: 72px; }
}
