body { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 100vh; padding: 24px; }

.auth-card {
  width: min(100%, 420px);
  background: var(--glass-3);
  border: 1px solid var(--glass-stroke);
  border-radius: var(--r-xl);
  padding: 36px;
  box-shadow: var(--shadow-glass-lg);
}

.auth-brand {
  display: flex; align-items: center; gap: 10px;
  text-decoration: none; margin-bottom: 32px;
}
.auth-brand:hover { color: inherit; }

.auth-title {
  font: 400 clamp(28px, 6vw, 36px)/1.08 var(--font-display);
  letter-spacing: -.01em;
  color: var(--ink-900);
  margin-bottom: 6px;
}
.auth-title em { font-style: italic; color: var(--brand-ink); }

.auth-sub { font: 400 14px var(--font-sans); color: var(--ink-500); margin-bottom: 28px; }

.auth-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.auth-field label { font: 500 12px var(--font-sans); color: var(--ink-600, var(--ink-500)); }
.auth-field .input { width: 100%; }

.auth-actions { display: flex; flex-direction: column; gap: 8px; margin-top: 20px; }

.auth-notice {
  display: none; padding: 11px 14px; border-radius: var(--r-sm);
  font: 400 13px var(--font-sans); line-height: 1.5; margin-bottom: 16px;
}
.auth-notice.error   { background: var(--stop-soft);  color: var(--stop);  border: 1px solid rgba(220,38,38,.25); }
.auth-notice.success { background: var(--ok-soft);    color: var(--ok);    border: 1px solid rgba(5,150,105,.25); }

.auth-footer { margin-top: 22px; text-align: center; font: 400 13px var(--font-sans); color: var(--ink-400); }
.auth-footer a { color: var(--brand-ink); font-weight: 600; }

.consent-panel { display: none; }
.consent-lead { font: 400 14px/1.55 var(--font-sans); color: var(--ink-700, var(--ink-600, var(--ink-500))); margin-bottom: 10px; }
.consent-lead strong { color: var(--ink-900); font-weight: 600; }
.consent-dest { font: 400 13px/1.5 var(--font-sans); color: var(--ink-500); margin-bottom: 4px; }
.consent-host { font-family: var(--font-mono, monospace); color: var(--brand-ink); word-break: break-all; }

.auth-topbar {
  position: absolute; top: 16px; right: 16px;
  display: flex; gap: 8px; align-items: center;
}
