/* Guest login uses the workspace palette without changing authentication. */
body .wlcrm-login-page {
  --login-ink: #24344d;
  --login-muted: #61728a;
  --login-blue: #315fca;
  --login-blue-dark: #224cae;
  --login-line: #dce5f1;
  color: var(--login-ink) !important;
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif !important;
}
body.wlcrm-page:has(.wlcrm-login-page) { background: #f3f6fd !important; }
body.wlcrm-page:has(.wlcrm-login-page) .wlcrm-login-page {
  width: min(825px, calc(100vw - 28px)) !important;
  padding: 6px !important;
  border-color: #dfe7f3 !important;
  border-radius: 19px !important;
  background: #fff !important;
  box-shadow: 0 25px 65px rgba(30, 50, 96, .16) !important;
}
body .wlcrm-login-page .wlcrm-login-shell {
  min-height: 445px !important;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
  border-color: #e6ecf7 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}
body .wlcrm-login-page .wlcrm-login-brand {
  padding: 26px 29px !important;
  background: linear-gradient(145deg, #edf3ff 0%, #f7f9ff 65%, #f4f7ff 100%) !important;
}
body .wlcrm-login-page .wlcrm-login-brand::after { display: none !important; }
body .wlcrm-login-page .wlcrm-login-logo {
  border-color: #d4e1f5 !important;
  border-radius: 12px !important;
  box-shadow: 0 3px 12px rgba(34, 76, 174, .08) !important;
}
body .wlcrm-login-page .wlcrm-login-brand-top { color: var(--login-blue-dark) !important; }
body .wlcrm-login-page .wlcrm-login-kicker,
body .wlcrm-login-page .wlcrm-login-eyebrow { color: var(--login-blue-dark) !important; letter-spacing: .075em !important; }
body .wlcrm-login-page .wlcrm-login-brand h2 {
  color: var(--login-ink) !important;
  font-size: clamp(23px, 2.5vw, 29px) !important;
  line-height: 1.18 !important;
}
body .wlcrm-login-page .wlcrm-login-brand-copy > p { color: #51637d !important; }
body .wlcrm-login-page .wlcrm-login-benefits > span { color: #405777 !important; }
body .wlcrm-login-page .wlcrm-login-benefits b {
  border-color: #bfe2d3 !important;
  background: #eaf8f0 !important;
  color: #18704d !important;
}
body .wlcrm-login-page .wlcrm-login-form-card { padding: 26px 33px !important; border-left-color: #e6ecf7 !important; }
body .wlcrm-login-page .wlcrm-login-form-inner { width: min(100%, 335px) !important; }
body .wlcrm-login-page .wlcrm-login-form-inner h1 { color: var(--login-ink) !important; font-size: 27px !important; }
body .wlcrm-login-page .wlcrm-login-intro { color: var(--login-muted) !important; }
body .wlcrm-login-page form label { color: #405573 !important; }
body .wlcrm-login-page :is(input[type="text"], input[type="email"], input[type="password"]) {
  border-color: #cbd8ea !important;
  border-radius: 9px !important;
  color: var(--login-ink) !important;
  background: #fff !important;
}
body .wlcrm-login-page :is(input[type="text"], input[type="email"], input[type="password"]):hover { border-color: #9eb8e8 !important; }
body .wlcrm-login-page :is(input[type="text"], input[type="email"], input[type="password"]):focus-visible {
  border-color: var(--login-blue) !important;
  box-shadow: 0 0 0 3px rgba(49, 95, 202, .16) !important;
}
body .wlcrm-login-page .login-password .wlcrm-password-toggle:hover { background: #edf3ff !important; color: var(--login-blue-dark) !important; }
body .wlcrm-login-page input[type="submit"] {
  min-height: 42px !important;
  border-color: var(--login-blue) !important;
  border-radius: 9px !important;
  background: var(--login-blue) !important;
  box-shadow: 0 4px 12px rgba(34, 76, 174, .16) !important;
  transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
body .wlcrm-login-page input[type="submit"]:hover { background: var(--login-blue-dark) !important; box-shadow: 0 6px 16px rgba(34, 76, 174, .2) !important; }
body .wlcrm-login-page input[type="submit"]:disabled { opacity: .58 !important; cursor: wait !important; box-shadow: none !important; }
body .wlcrm-login-page .wlcrm-login-links { border-top-color: #e7edf7 !important; }
body .wlcrm-login-page .wlcrm-login-links a { color: var(--login-blue-dark) !important; }
body .wlcrm-login-page .wlcrm-login-error {
  border-color: #f1bec4 !important;
  border-radius: 9px !important;
  background: #fff1f2 !important;
  color: #a3293b !important;
}
body .wlcrm-login-page :is(input, button, a):focus-visible { outline: 2px solid var(--login-blue) !important; outline-offset: 2px !important; }
body .wlcrm-login-page :is(input[type="text"], input[type="email"], input[type="password"])[aria-invalid="true"],
body .wlcrm-login-page :is(input[type="text"], input[type="email"], input[type="password"])[aria-invalid="true"]:hover,
body .wlcrm-login-page :is(input[type="text"], input[type="email"], input[type="password"])[aria-invalid="true"]:focus-visible {
  border-color: #b93849 !important;
  box-shadow: 0 0 0 3px rgba(185, 56, 73, .16) !important;
}
body .wlcrm-login-page :is(input[type="text"], input[type="email"], input[type="password"])[aria-invalid="true"]:focus-visible {
  outline-color: #b93849 !important;
}
@media (max-width: 820px) {
  body.wlcrm-page:has(.wlcrm-login-page) .wlcrm-login-page { width: min(510px, calc(100vw - 18px)) !important; }
  body .wlcrm-login-page .wlcrm-login-shell { min-height: 0 !important; grid-template-columns: 1fr !important; }
  body .wlcrm-login-page .wlcrm-login-brand { padding: 13px 20px !important; }
  body .wlcrm-login-page .wlcrm-login-form-card { padding: 19px 24px !important; border-top-color: #e6ecf7 !important; }
}
@media (max-width: 480px) {
  body.wlcrm-page:has(.wlcrm-login-page) .wlcrm-login-page { width: min(380px, calc(100vw - 12px)) !important; }
  body .wlcrm-login-page .wlcrm-login-brand { padding: 9px 16px !important; }
  body .wlcrm-login-page .wlcrm-login-form-card { padding: 16px 18px !important; }
}
@media (max-height: 620px) {
  body .wlcrm-login-page .wlcrm-login-shell { min-height: 0 !important; }
  body .wlcrm-login-page .wlcrm-login-brand,
  body .wlcrm-login-page .wlcrm-login-form-card { padding-top: 16px !important; padding-bottom: 16px !important; }
}
@media (max-height: 540px) {
  body.wlcrm-page:has(.wlcrm-login-page) .wlcrm-login-page { overflow-y: auto !important; }
}
@media (prefers-reduced-motion: reduce) {
  body .wlcrm-login-page :is(input, button, a) { animation: none !important; transition: none !important; }
}
