/* Login / register / password reset */
.auth-wrap { min-height: calc(100vh - 56px); display: grid; place-items: center; padding: 60px 24px; position: relative; overflow: hidden; }
.auth-wrap::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse 800px 400px at 50% 0%, rgba(122,167,217,0.10), transparent 60%);
}
.auth-card {
  position: relative; z-index: 1;
  width: 100%; max-width: 440px;
  background: var(--card); border: 1px solid var(--border-strong);
  border-radius: var(--radius-lg); padding: 36px;
}
.auth-card.wide { max-width: 560px; }
.auth-card h1 { font-size: 26px; font-weight: 600; letter-spacing: -0.02em; margin: 0 0 4px; }
.auth-card .lead-sm { color: var(--text-dim); font-size: 14px; margin: 0 0 28px; }
.auth-card form { display: flex; flex-direction: column; gap: 16px; }
.auth-card .btn-primary { justify-content: center; padding: 12px 16px; font-size: 14px; }
.auth-foot { text-align: center; margin-top: 24px; font-size: 13px; color: var(--text-dim); }
.auth-foot a { color: var(--brand); }
.auth-foot a:hover { text-decoration: underline; }
.divider { display: flex; align-items: center; gap: 12px; color: var(--text-mute); font-size: 12px; margin: 16px 0; }
.divider::before, .divider::after { content: ''; flex: 1; height: 1px; background: var(--border); }
.checkbox { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--text-dim); }
.checkbox input { margin-top: 2px; }
