.landing .auth{
  background:radial-gradient(1100px 480px at 82% -10%, var(--surface-2), transparent 60%), var(--bg);
  display:flex;
  align-items:center;
  justify-content:center;
}
.landing .auth-wrap{ display:flex; justify-content:center; width:100%; }
.landing .auth-card{
  background:var(--surface);
  color:var(--ink);
  width:100%;
  max-width:440px;
  padding:44px 40px;
  box-shadow:var(--shadow);
  border:1px solid var(--line);
}
.landing .auth-card h1{ font-size:1.8rem; margin-top:10px; }
.landing .auth-card .auth-sub{ color:var(--muted); font-size:.95rem; margin-top:10px; }

.landing .auth-form{ margin-top:32px; }
.landing .auth-form .form-label{
  font-family:'PT Sans',sans-serif; font-weight:700; font-size:.85rem; color:var(--ink);
  margin-bottom:6px; display:inline-block;
}
.landing .auth-form .form-control{
  width:100%; border:1px solid var(--line); border-radius:2px; padding:10px 12px;
  font-family:'PT Sans',sans-serif; font-size:.95rem; color:var(--ink); background:var(--surface);
}
.landing .auth-form .form-control:focus{
  outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(14,110,92,.15);
}
.landing .auth-form .form-control.is-invalid{ border-color:#B3261E; }
.landing .auth-form .invalid-feedback{ color:#B3261E; font-size:.82rem; margin-top:4px; }
.landing .auth-form .form-text{ color:var(--muted); font-size:.8rem; margin-top:6px; }
.landing .auth-form .form-text ul{ padding-left:18px; margin:4px 0 0; }
.landing .auth-form .mb-3{ margin-bottom:18px; }
.landing .auth-form .form-check{ display:flex; align-items:center; gap:8px; margin-bottom:20px; }
.landing .auth-form .form-check-input{ width:16px; height:16px; accent-color:var(--primary); }
.landing .auth-form .form-check-label{ font-size:.9rem; color:var(--muted); }
.landing .auth-submit{ width:100%; justify-content:center; margin-top:8px; }

.landing .auth-switch{ margin-top:24px; text-align:center; font-size:.92rem; color:var(--muted); }
.landing .auth-switch a{ color:var(--primary); font-weight:700; text-decoration:underline; }
