/* Login-only sizing. Keep the existing branding and dashboard styles intact. */
body.erp-login-body { margin: 0; }
body.erp-login-body .erp-login-shell {
  min-height: 100svh !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
}
body.erp-login-body .erp-login-visual {
  min-height: 0 !important;
  padding: clamp(20px, 4vh, 38px) clamp(20px, 3vw, 42px) !important;
}
body.erp-login-body .erp-login-copy { margin-top: clamp(20px, 7vh, 60px) !important; }
body.erp-login-body .erp-login-copy h1 { font-size: clamp(26px, 3vw, 38px) !important; }
body.erp-login-body .erp-login-panel {
  min-width: 0;
  min-height: 100svh !important;
  padding: 12px !important;
}
body.erp-login-body .erp-login-card {
  width: min(460px, 100%) !important;
  padding: 20px 26px !important;
  margin: 0 !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
}
body.erp-login-body .erp-login-mini-brand { margin-bottom: 8px !important; }
body.erp-login-body .erp-login-mini-brand strong { font-size: 22px !important; }
body.erp-login-body .auth-mode-switch { margin: 10px 0 14px !important; position: static; }
body.erp-login-body .erp-login-card h2 { font-size: 24px !important; }
body.erp-login-body .erp-login-card .form-label { margin-bottom: 4px !important; }
body.erp-login-body .erp-login-card .mb-3 { margin-bottom: 10px !important; }
body.erp-login-body .erp-login-card .form-control,
body.erp-login-body .erp-login-card .form-select,
body.erp-login-body .erp-login-card .input-group-text,
body.erp-login-body .erp-login-card .input-group .btn {
  min-height: 40px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
body.erp-login-body .erp-login-card .btn-premium { min-height: 42px !important; height: auto !important; }
body.erp-login-body .validation-summary-errors { font-size: 12px; margin-bottom: 10px; }
body.erp-login-body .validation-summary-errors ul { margin: 0; padding-left: 18px; }
body.erp-login-body .erp-registration-scroll { max-height: calc(100svh - 160px) !important; overflow: auto; }
@media (max-width: 1000px) {
  body.erp-login-body .erp-login-shell { grid-template-columns: minmax(0, 1fr) !important; }
  body.erp-login-body .erp-login-visual { display: none !important; }
}
@media (max-height: 700px) {
  body.erp-login-body .erp-login-panel { padding: 8px !important; }
  body.erp-login-body .erp-login-card { padding: 14px 20px !important; }
  body.erp-login-body .erp-login-card .mb-3 { margin-bottom: 7px !important; }
  body.erp-login-body .auth-mode-switch { margin: 8px 0 10px !important; }
  body.erp-login-body .erp-login-benefits { gap: 9px !important; }
  body.erp-login-body .erp-login-quote { font-size: 16px !important; }
}
/* Allow natural scrolling for keyboard/zoom or unusually short screens rather
   than hiding login controls. Normal desktop and portrait phone screens fit. */
body.erp-login-body .validation-summary-valid { display: none !important; }
