/* Public entry and authentication share the workspace's light palette. */
html body.sa-login-page[data-sa-palette="light-v1"] {
  --auth-ink: var(--sa-light-ink, #263b4c);
  --auth-muted: var(--sa-light-muted, #52697c);
  --auth-panel: var(--sa-light-paper, #fff);
  --auth-blue: var(--sa-light-brand, #365469);
  --auth-blue-hover: var(--sa-light-brand-dark, #2c4659);
  --sa-biz-ink: var(--sa-light-ink, #263b4c);
  --sa-biz-ink-strong: var(--sa-light-ink, #263b4c);
  --sa-biz-muted: var(--sa-light-muted, #52697c);
  --sa-biz-brand: var(--sa-light-brand, #365469);
  --sa-biz-brand-dark: var(--sa-light-brand-dark, #2c4659);
  --sa-biz-line: var(--sa-light-line, #d2dee8);
  color: var(--sa-light-ink, #263b4c) !important;
  background: var(--sa-light-canvas, #f3f6f8) !important;
  color-scheme: light;
}

html body.sa-login-page[data-sa-palette="light-v1"] .medicalLoginHeader {
  border-bottom: 1px solid var(--sa-light-line, #d2dee8) !important;
  background: #dfe8ef !important;
  box-shadow: 0 2px 14px rgba(32, 57, 67, .025) !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .medicalLoginHeader nav :is(a, button) {
  color: var(--sa-light-ink, #263b4c) !important;
  font-size: 13px !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .medicalLoginHeader nav :is(a, button):hover {
  color: var(--sa-light-brand-dark, #2c4659) !important;
  background: var(--sa-light-soft, #edf2f6) !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] :is(main.shell, .panel.promo, .referencePromo, .referenceDashboard) {
  background-color: var(--sa-light-soft, #edf2f6) !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .referencePromo::after {
  background: linear-gradient(90deg, #f3f5f8 0%, rgba(243, 248, 247, .98) 25%, rgba(243, 248, 247, .9) 37%, rgba(237, 246, 245, .12) 60%, transparent 74%) !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .landingBannerVisual::after {
  background: none !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .referenceDashboard {
  z-index: auto !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .landingBannerVisual img {
  filter: saturate(.82) !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .referencePromoCopy {
  width: min(540px, 44vw) !important;
  padding-top: 44px !important;
  padding-bottom: 32px !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .referenceEyebrow {
  color: var(--sa-light-brand-dark, #2c4659) !important;
  font-size: 10px !important;
  line-height: 1.65 !important;
  letter-spacing: .14em !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .referencePromoCopy h1 {
  color: var(--sa-light-ink, #263b4c) !important;
  font-size: clamp(46px, 4.6vw, 72px) !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em !important;
  text-shadow: none !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .referencePromoCopy p {
  max-width: 410px !important;
  color: var(--sa-light-muted, #52697c) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .referenceCapabilityList > span {
  color: var(--sa-light-ink, #263b4c) !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .referenceCapabilityList > span::before {
  color: var(--sa-light-brand-dark, #2c4659) !important;
  background: var(--sa-light-selected, #dce6ef) !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .referenceFeature {
  min-height: 58px !important;
  border-color: var(--sa-light-line, #d2dee8) !important;
  color: var(--sa-light-ink, #263b4c) !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 6px 20px rgba(32, 57, 67, .035) !important;
  backdrop-filter: none !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .referenceFeature b {
  color: var(--sa-light-ink, #263b4c) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .referenceFeatureIcon {
  color: var(--sa-light-brand-dark, #2c4659) !important;
  background: var(--sa-light-soft, #edf2f6) !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .referenceCopyright {
  color: var(--sa-light-muted, #52697c) !important;
  font-size: 11px !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .landingBannerContent {
  border-color: var(--sa-light-line, #d2dee8) !important;
  background: rgba(255, 255, 255, .97) !important;
  box-shadow: 0 12px 32px rgba(32, 57, 67, .08) !important;
  backdrop-filter: none !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .referencePromoDots .referencePromoDot {
  color: var(--sa-light-muted, #52697c) !important;
  background: transparent !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .referencePromoDots .referencePromoDot::after {
  content: attr(aria-label) !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-size: 11px !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .referencePromoDots .referencePromoDot:hover {
  border-color: var(--sa-light-line, #d2dee8) !important;
  color: var(--sa-light-brand-dark, #2c4659) !important;
  background: var(--sa-light-soft, #edf2f6) !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .referencePromoDots .referencePromoDot.is-active {
  border-color: #b4c6d7 !important;
  color: var(--sa-light-brand-dark, #2c4659) !important;
  background: var(--sa-light-selected, #dce6ef) !important;
  box-shadow: none !important;
}

/* Strong actions and quiet secondary controls remain distinct. */
html body.sa-login-page[data-sa-palette="light-v1"] :is(.medicalLoginHeaderActions .medicalLoginOpen, .landingDemoButton, .loginBox #btn, .loginBox #resetBtn, .demoRequestSubmit, .documentationModalFooter a, .productModalFooter a) {
  min-height: 46px !important;
  border: 1px solid var(--sa-light-brand, #365469) !important;
  border-radius: 11px !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: var(--sa-light-brand, #365469) !important;
  box-shadow: 0 7px 18px rgba(8, 127, 120, .13) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .landingDemoButton {
  min-height: 50px !important;
  padding-inline: 26px !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] :is(.medicalLoginHeaderActions .medicalLoginOpen, .landingDemoButton, .loginBox #btn, .loginBox #resetBtn, .demoRequestSubmit, .documentationModalFooter a, .productModalFooter a):hover {
  border-color: var(--sa-light-brand-dark, #2c4659) !important;
  background: var(--sa-light-brand-dark, #2c4659) !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] :is(.loginBox #sendResetCode.secondaryBtn, .landingExploreButton) {
  min-height: 44px !important;
  border: 1px solid var(--sa-light-line, #d2dee8) !important;
  color: var(--sa-light-brand-dark, #2c4659) !important;
  background: var(--sa-light-soft, #edf2f6) !important;
  box-shadow: none !important;
  font-size: 13px !important;
}

/* Opaque form surfaces protect text contrast above the artwork. */
html body.sa-login-page[data-sa-palette="light-v1"] #loginModal .loginBox,
html body.sa-login-page[data-sa-palette="light-v1"] :is(.demoRequestCard, .productModalCard, .documentationModalCard) {
  border-color: var(--sa-light-line, #d2dee8) !important;
  color: var(--sa-light-ink, #263b4c) !important;
  background: var(--sa-light-paper, #fff) !important;
  box-shadow: 0 28px 90px rgba(32, 57, 67, .2) !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] :is(.demoRequestModal, .productModal) {
  background: rgba(32, 57, 67, .28) !important;
  backdrop-filter: blur(7px) !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .loginModalBackdrop {
  background: rgba(32, 57, 67, .28) !important;
  backdrop-filter: blur(7px) !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] section#loginModal.loginPanel {
  background: rgba(32, 57, 67, .28) !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .loginBox .referenceAccess :is(button, a) {
  color: var(--sa-light-brand-dark, #2c4659) !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] :is(.loginTitle, .demoRequestHeading h2) {
  color: var(--sa-light-ink, #263b4c) !important;
  font-size: 30px !important;
  line-height: 1.15 !important;
  letter-spacing: -.025em !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] :is(.edition, .demoRequestHeading > span, .productModalBrand span, .documentationModalBrand span) {
  color: var(--sa-light-brand-dark, #2c4659) !important;
  font-size: 10px !important;
  line-height: 1.5 !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] :is(.loginSub, .demoRequestHeading p) {
  color: var(--sa-light-muted, #52697c) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] :is(#loginForm > label, #resetForm > label, .demoRequestForm label) {
  color: var(--sa-light-ink, #263b4c) !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.5 !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] :is(.field input, .demoRequestForm input) {
  min-height: 48px !important;
  border: 1px solid #bbc3cb !important;
  color: var(--sa-light-ink, #263b4c) !important;
  -webkit-text-fill-color: var(--sa-light-ink, #263b4c) !important;
  caret-color: var(--sa-light-brand-dark, #2c4659) !important;
  background: #fff !important;
  box-shadow: none !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] :is(.field input, .demoRequestForm input)::placeholder {
  color: #636e78 !important;
  -webkit-text-fill-color: #636e78 !important;
  opacity: 1 !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] :is(.field input, .demoRequestForm input):focus {
  outline: none !important;
  border-color: var(--sa-light-brand, #365469) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(8, 127, 120, .14) !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] :is(.field input, .demoRequestForm input):-webkit-autofill {
  -webkit-text-fill-color: var(--sa-light-ink, #263b4c) !important;
  -webkit-box-shadow: 0 0 0 1000px #f1f4f8 inset !important;
  caret-color: var(--sa-light-brand-dark, #2c4659) !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] :is(.field input, .demoRequestForm input):user-invalid {
  border-color: #bd5260 !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] :is(.field > svg, .eye, .linkBtn) {
  color: var(--sa-light-brand-dark, #2c4659) !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] :is(.rememberLogin, .linkBtn) {
  color: var(--sa-light-ink, #263b4c) !important;
  font-size: 12px !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] .linkBtn {
  color: var(--sa-light-brand-dark, #2c4659) !important;
  text-underline-offset: 3px;
}
html body.sa-login-page[data-sa-palette="light-v1"] .linkBtn:hover { text-decoration: underline; }
html body.sa-login-page[data-sa-palette="light-v1"] .rememberLogin input { accent-color: var(--sa-light-brand, #365469); }
html body.sa-login-page[data-sa-palette="light-v1"] .resetBox { border-color: var(--sa-light-line, #d2dee8) !important; background: transparent !important; }
html body.sa-login-page[data-sa-palette="light-v1"] :is(.msg, .demoRequestError) {
  color: #a62e42 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] :is(.msg.ok, .demoRequestError.is-success) { color: #123c66 !important; }
html body.sa-login-page[data-sa-palette="light-v1"] .demoRequestForm > small {
  color: var(--sa-light-muted, #52697c) !important;
  font-size: 11px !important;
  line-height: 1.6 !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] #loginModal .loginModalClose,
html body.sa-login-page[data-sa-palette="light-v1"] :is(.demoRequestClose, .productModalClose) {
  color: var(--sa-light-ink, #263b4c) !important;
  border-color: var(--sa-light-line, #d2dee8) !important;
  background: var(--sa-light-canvas, #f3f6f8) !important;
}

html body.sa-login-page[data-sa-palette="light-v1"] :is(.productModalHeader, .documentationModalHeader, .productCard, .documentationSteps li) {
  border-color: var(--sa-light-line, #d2dee8) !important;
  background: #fff !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] :is(.productModalBrand h2, .documentationModalBrand h2, .productCard h3, .documentationSteps li b) {
  color: var(--sa-light-ink, #263b4c) !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] :is(.productModalLead, .documentationModalLead, .productCard p, .productCard ul, .documentationSteps li span, .documentationModalFooter span, .productModalFooter strong, .productModalFooter span) {
  color: var(--sa-light-muted, #52697c) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] :is(.productCard h3, .documentationSteps li b) { font-size: 15px !important; }
html body.sa-login-page[data-sa-palette="light-v1"] :is(.productModalFooter, .documentationModalFooter) {
  border-color: var(--sa-light-line, #d2dee8) !important;
  background: var(--sa-light-soft, #edf2f6) !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] :is(button, a, input):focus-visible {
  outline: 3px solid #365469 !important;
  outline-offset: 3px !important;
}
html body.sa-login-page[data-sa-palette="light-v1"] button:disabled {
  opacity: .7 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

@media (max-width: 900px) {
  html body.sa-login-page[data-sa-palette="light-v1"] .referencePromo::after {
    background: linear-gradient(90deg, rgba(243, 248, 247, .97), rgba(243, 248, 247, .94) 50%, rgba(243, 248, 247, .68)) !important;
  }
  html body.sa-login-page[data-sa-palette="light-v1"] .referencePromoCopy {
    width: auto !important;
    max-width: 580px !important;
  }
}
@media (max-width: 620px) {
  html body.sa-login-page[data-sa-palette="light-v1"] .medicalLoginBrand {
    width: 184px !important;
    min-width: 184px !important;
    background-size: 266px 178px !important;
    background-position: -46px -60px !important;
  }
  html body.sa-login-page[data-sa-palette="light-v1"] .referencePromoCopy {
    padding-top: 32px !important;
    padding-bottom: 24px !important;
  }
  html body.sa-login-page[data-sa-palette="light-v1"] .referencePromoCopy h1 { font-size: clamp(40px, 10vw, 54px) !important; }
  html body.sa-login-page[data-sa-palette="light-v1"] .referencePromoCopy p { font-size: 14px !important; }
  html body.sa-login-page[data-sa-palette="light-v1"] .referenceFeatures { padding-bottom: 94px !important; }
  html body.sa-login-page[data-sa-palette="light-v1"] .referencePromoDots .referencePromoDot { padding-inline: 5px !important; }
  html body.sa-login-page[data-sa-palette="light-v1"] .referencePromoDots .referencePromoDot::after {
    font-size: 10px !important;
    white-space: normal !important;
    line-height: 1.3 !important;
  }
  html body.sa-login-page[data-sa-palette="light-v1"] :is(.field input, .demoRequestForm input) { font-size: 16px !important; }
  html body.sa-login-page[data-sa-palette="light-v1"] :is(.loginTitle, .demoRequestHeading h2) { font-size: 27px !important; }
}
@media (prefers-reduced-motion: reduce) {
  html body.sa-login-page[data-sa-palette="light-v1"] :is(button, a, .landingBannerVisual img) { transition: none !important; }
}
