.login-overlay { z-index: 1000 !important; padding: 24px !important; background: #eef1f8 !important; }
.login-wrap {
  width: min(1080px, 100%) !important; min-height: 650px; display: grid !important; grid-template-columns: 1.05fr .95fr;
  overflow: hidden; border: 1px solid rgba(255,255,255,.1) !important; border-radius: 20px !important;
  background: var(--rv-surface) !important; box-shadow: 0 28px 80px rgba(11,16,32,.16) !important;
}
.login-brand {
  display: flex !important; padding: 64px !important; align-items: center;
  background:
    radial-gradient(circle at 15% 15%, rgba(98,91,246,.32), transparent 35%),
    radial-gradient(circle at 90% 80%, rgba(21,112,239,.16), transparent 34%),
    var(--rv-sidebar) !important;
}
.login-brand-content { max-width: 430px; }
.login-brand-logo { width: 48px !important; height: 48px !important; margin-bottom: 24px; font-size: 24px !important; }
.login-brand h1 { margin: 0 !important; color: #fff !important; font-size: 36px !important; letter-spacing: -.04em; }
.login-brand-kicker { margin: 5px 0 28px !important; color: #a6afc3 !important; font-size: 13px !important; }
.login-brand-lead { margin: 0 0 32px !important; color: #e7eaf2 !important; font-size: 19px !important; line-height: 1.55 !important; }
.login-brand-features { gap: 13px !important; }
.login-brand-feat { color: #cbd2e2 !important; font-size: 14px !important; }
.login-brand-feat span { width: 23px; height: 23px; display: grid; place-items: center; color: #c8c5ff !important; background: rgba(98,91,246,.2); border-radius: 7px; }
.login-card { width: 100% !important; max-width: 420px; margin: auto; padding: 48px !important; }
.login-card h2 { margin: 0 !important; color: var(--rv-text) !important; font-size: 28px !important; letter-spacing: -.025em; }
.login-card > p { margin: 8px 0 30px !important; color: var(--rv-text-secondary) !important; font-size: 14px !important; }
.login-field { margin-bottom: 18px !important; }
.login-field label { margin-bottom: 7px !important; }
.login-field input { width: 100%; min-height: 44px !important; padding: 10px 12px !important; font-size: 14px !important; }
.login-password-wrap { position: relative; }
.login-password-wrap input { padding-right: 46px !important; }
.login-password-toggle { position: absolute; right: 5px; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 7px; background: transparent; color: var(--rv-text-secondary); }
.login-btn { width: 100%; min-height: 44px !important; margin-top: 6px; }
.login-demo-card {
  margin-top: 22px; padding: 14px 15px; display: grid; gap: 2px;
  border: 1px solid #d9d6ff; border-radius: 10px; background: var(--rv-primary-soft);
  color: var(--rv-text);
}
.login-demo-card strong { font-size: 13px; }
.login-demo-card span { color: var(--rv-primary-hover); font-size: 13px; font-weight: 650; }
.login-demo-card small { color: var(--rv-text-secondary); font-size: 12px; }
.login-error { min-height: 0 !important; margin: 0 0 16px !important; padding: 0 !important; border: 0 !important; background: transparent !important; color: var(--rv-danger) !important; }
.login-error:empty { display: none; }
@media (max-width: 760px) {
  .login-overlay { padding: 0 !important; background: var(--rv-surface) !important; }
  .login-wrap { min-height: 100dvh; grid-template-columns: 1fr; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
  .login-brand { min-height: 235px; padding: 34px 28px !important; align-items: flex-start; }
  .login-brand-logo { margin-bottom: 14px; }
  .login-brand h1 { font-size: 27px !important; }
  .login-brand-kicker { margin-bottom: 14px !important; }
  .login-brand-lead { margin-bottom: 0 !important; font-size: 16px !important; }
  .login-brand-features { display: none !important; }
  .login-card { padding: 34px 26px 46px !important; }
}
