/* Login layout: one vertical flow, no icons anchored to variable-height fields. */
body.login-active, body.login-active #loginView {
  background: linear-gradient(120deg, rgba(16,185,129,.42), transparent 34%), linear-gradient(250deg, rgba(20,184,166,.36), transparent 36%), #0f172a !important;
  font-family: "Segoe UI", Arial, sans-serif !important;
}
body.login-active #loginView {
  position: fixed !important; inset: 0 !important;
  width: 100% !important; height: 100dvh !important; min-height: 0 !important;
  padding: 28px 16px !important; box-sizing: border-box !important;
  overflow-y: auto !important; display: flex !important;
  flex-direction: column !important; align-items: center !important;
}
body.login-active .login-card {
  flex: 0 0 auto; width: min(400px, 100%) !important;
  height: auto !important; min-height: 0 !important; max-height: none !important;
  margin: auto !important; padding: 32px !important;
  box-sizing: border-box !important; gap: 18px !important;
  border-radius: 16px !important; box-shadow: 0 12px 36px #0f172a0d !important;
  overflow: visible !important;
}
body.login-active .login-card-icon { display: none !important; }
body.login-active .login-card-title h1 { font: 700 28px/1.25 "Segoe UI", Arial, sans-serif !important; }
body.login-active .login-card-title p { font: 400 14px/1.5 "Segoe UI", Arial, sans-serif !important; color: #64748b !important; }
body.login-active .login-field { position: relative !important; gap: 8px !important; margin: 0 !important; min-width: 0 !important; }
body.login-active .login-field label { font: 600 13px/18px "Segoe UI", Arial, sans-serif !important; text-transform: none !important; color: #334155 !important; }
body.login-active .login-input-icon { display: none !important; }
body.login-active .login-field input, body.login-active .login-field select {
  box-sizing: border-box !important; width: 100% !important; height: 46px !important;
  padding: 0 12px !important; font: 400 15px/1.4 "Segoe UI", Arial, sans-serif !important;
  background: white !important;
}
body.login-active #loginPassword { padding-right: 48px !important; }
body.login-active .login-field-action { top: 26px !important; bottom: auto !important; right: 2px !important; width: 42px !important; height: 46px !important; transform: none !important; }
body.login-active .login-database-alias { display: none !important; }
body.login-active .recover-password-link { font: 600 13px/1.5 "Segoe UI", Arial, sans-serif !important; margin: -6px 0 0 !important; }
body.login-active .login-button { min-height: 46px !important; box-shadow: none !important; font: 600 15px/1.4 "Segoe UI", Arial, sans-serif !important; }
body.login-active .login-progress, body.login-active .login-loading-text { display: none !important; }
body.login-active .login-card.is-loading .login-loading-text { display: block !important; }
body.login-active .login-message:empty { display: none !important; }
body.login-active .login-message, body.login-active .login-loading-text { position: static !important; overflow-wrap: anywhere; font: 400 13px/1.5 "Segoe UI", Arial, sans-serif !important; }
body.login-active .login-message { color: #b42318 !important; }
@media(max-width: 440px) { body.login-active .login-card { padding: 24px !important; } }
