/* Login and OAuth consent: server-rendered pages that share tokens, base and components with the app. */
body.auth { display: grid; grid-template-columns: minmax(0, 1fr); place-items: center; padding: var(--sp-4); background: var(--c-bg-wash); }
.auth-card {
  width: min(420px, 100%); background: var(--c-bg-elevation); border-radius: var(--r-xl); box-shadow: var(--shadow-floating);
  padding: var(--sp-8); display: flex; flex-direction: column; gap: var(--sp-4);
}
.auth-brand {
  width: 44px; height: 44px; border-radius: var(--r-pill); background: var(--c-accent); color: var(--c-on-accent);
  display: grid; place-items: center; font-weight: var(--fw-bold); font-size: var(--fs-lg); letter-spacing: -0.03em;
}
.auth-card h1 { font-size: var(--fs-h2); }
.auth-card p:not(.banner) { color: var(--c-text-neutral); }
.auth-card form { display: flex; flex-direction: column; gap: var(--sp-4); }
.auth-card .field input { background: var(--c-bg); }
.auth-actions { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.auth-actions button { flex: 1; }
