/* Public auth pages share the website shell but keep their form styles isolated. */
.public-auth-page {
  min-height: 480px;
  padding: 64px 20px;
  background: linear-gradient(135deg, #f2f9fd 0%, #fffaf0 100%);
}
.public-auth-card {
  width: min(100%, 620px);
  padding: 40px;
  border: 1px solid #dce9f2;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(8, 43, 76, .10);
}
.public-auth-brand { margin-bottom: 30px; }
.public-auth-brand strong { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 800; }
.public-auth-card h1 {
  margin: 0;
  color: #082b4c;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(25px, 3vw, 32px);
  font-weight: 700;
  letter-spacing: -.03em;
}
.public-auth-card > p { margin: 10px 0 26px; color: #6f8190; line-height: 1.6; }
.public-auth-form { gap: 16px; }
.public-auth-form label { color: #29455a; font-weight: 600; line-height: 1.25; }
.public-auth-form input,
.public-auth-form select,
.public-auth-form textarea { min-height: 46px; font: inherit; color: #152a3b; }
.public-auth-form textarea { resize: vertical; }
.public-auth-button { min-height: 46px; padding: 12px 22px; font-size: 14px; }
.public-auth-actions { margin-top: 8px; }
.public-auth-link { font-size: 13px; }
.public-auth-message { line-height: 1.45; }
@media (max-width: 600px) {
  .public-auth-page { padding: 38px 14px; }
  .public-auth-card { padding: 26px 20px; border-radius: 18px; }
}

/* Keep registration and password reset visually identical to the dashboard login. */
.public-auth-page.login-page { min-height: 560px; padding: 32px; }
.public-auth-page .public-auth-card { width: auto; padding: 40px 46px; border: 0; border-radius: 0; box-shadow: none; }
.public-auth-page .public-auth-brand { display: flex; }
.public-auth-page .public-auth-card h1 { margin: 0 0 9px; font: 800 30px Manrope, sans-serif; letter-spacing: -.03em; }
.public-auth-page .public-auth-card > p { margin: 0 0 28px; color: var(--muted); }
.public-auth-page .public-auth-form { gap: 9px; }
.public-auth-page .public-auth-form label { margin-top: 8px; font-size: 13px; font-weight: 600; color: var(--ink); }
.public-auth-page .public-auth-form input,.public-auth-page .public-auth-form select,.public-auth-page .public-auth-form textarea { border: 1px solid #d7e2ea; border-radius: 10px; background: #fbfdff; }
.public-auth-page .public-auth-actions { margin-top: 14px; }
.public-auth-page .public-auth-button { width: auto; min-width: 125px; border-radius: 10px; background: var(--blue); box-shadow: 0 10px 20px rgba(13,110,253,.18); }
.public-auth-page .public-auth-button:hover { background: #0b5ed7; }
.public-auth-page .public-auth-brand { margin-bottom: 26px; }
@media (max-width: 800px) {
  .public-auth-page.login-page { padding: 0; }
  .public-auth-page .login-shell { grid-template-columns: 1fr; width: min(470px, 100%); }
  .public-auth-page .login-brand-panel { padding: 36px 28px; }
  .public-auth-page .login-brand-panel h1 { font-size: 37px; }
  .public-auth-page .public-auth-card { padding: 38px 28px; }
}
