/* CSS SECTION — FORGOT PASSWORD: Page styles. Search this label to find the page code. */
body > a[href*="login"],
  body > .back-to-login,
  body > .login-link {
    display: none !important;
  }

/* Match the public forms canvas and honor the saved app theme. */
body.login-page.signup-page.forgot-password-page {
  background: #edf2f3 !important;
}
body.login-page.signup-page.forgot-password-page::before,
body.login-page.signup-page.forgot-password-page::after {
  display: none !important;
}
body.login-page.signup-page.forgot-password-page .card {
  box-sizing: border-box !important;
  background: rgba(255, 255, 255, 0.97) !important;
  border: 1px solid rgba(255, 255, 255, 0.95) !important;
  color: #122023 !important;
  overflow-y: auto !important;
}
body.login-page.signup-page.forgot-password-page .card h3,
body.login-page.signup-page.forgot-password-page .card label {
  color: #122023 !important;
}
body.login-page.signup-page.forgot-password-page .card .signup-note,
body.login-page.signup-page.forgot-password-page .card small {
  color: #5a6a6e !important;
}
body.login-page.signup-page.forgot-password-page .card input {
  background: #fff !important;
  border: 1px solid #cbd5d9 !important;
  color: #122023 !important;
}
body.login-page.signup-page.forgot-password-page .card input::placeholder {
  color: #77858b !important;
}
body.login-page.signup-page.forgot-password-page .card input:focus-visible {
  outline: 3px solid #83c9ba !important;
  outline-offset: 1px;
}
body.login-page.signup-page.forgot-password-page .card input[aria-invalid="true"] {
  border-color: #ef7474 !important;
}
body.login-page.signup-page.forgot-password-page .card .reset-field-error {
  color: #a32222 !important;
  font-size: 13px;
  font-weight: 700;
  margin: 5px 0 0;
}
body.login-page.signup-page.forgot-password-page .card .reset-field-error[hidden] {
  display: none !important;
}
body.login-page.signup-page.forgot-password-page .card .login-messages p {
  background: #fff0f0 !important;
  border-left-color: #d93636 !important;
  color: #8f1d1d !important;
}
body.login-page.signup-page.forgot-password-page .card .login-messages p.success {
  background: #eaf8f2 !important;
  border-left-color: #319477 !important;
  color: #145b48 !important;
}
body.login-page.signup-page.forgot-password-page .card .signup-close {
  background: #edf2f4 !important;
  color: #263840 !important;
}
body.login-page.signup-page.forgot-password-page .card .login-secondary-btn {
  background: transparent !important;
  border-color: #cbd5d9 !important;
  color: #0f766e !important;
}
body.login-page.signup-page.forgot-password-page .card .login-secondary-btn:hover {
  background: #edf5f4 !important;
}

html[data-osa-theme="dark"] body.login-page.signup-page.forgot-password-page {
  background: #101a21 !important;
  color: #e8f1f2 !important;
}
html[data-osa-theme="dark"] body.login-page.signup-page.forgot-password-page .card {
  background: #1b2a33 !important;
  border-color: #40535e !important;
  color: #e8f1f2 !important;
}
html[data-osa-theme="dark"] body.login-page.signup-page.forgot-password-page .card :is(h3, label) {
  color: #e8f1f2 !important;
}
html[data-osa-theme="dark"] body.login-page.signup-page.forgot-password-page .card :is(.signup-note, small) {
  color: #aec2c8 !important;
}
html[data-osa-theme="dark"] body.login-page.signup-page.forgot-password-page .card input {
  background: #13232c !important;
  border-color: #536a75 !important;
  color: #f2f7f8 !important;
  color-scheme: dark;
}
html[data-osa-theme="dark"] body.login-page.signup-page.forgot-password-page .card input::placeholder {
  color: #a9bdc3 !important;
}
html[data-osa-theme="dark"] body.login-page.signup-page.forgot-password-page .card .reset-field-error {
  color: #ffb5b5 !important;
}
html[data-osa-theme="dark"] body.login-page.signup-page.forgot-password-page .card .login-messages p {
  background: #512d35 !important;
  border-left-color: #ff8585 !important;
  color: #fff1f1 !important;
}
html[data-osa-theme="dark"] body.login-page.signup-page.forgot-password-page .card .login-messages p.success {
  background: #20463f !important;
  border-left-color: #80d9c0 !important;
  color: #e7fff6 !important;
}
html[data-osa-theme="dark"] body.login-page.signup-page.forgot-password-page .card .signup-close {
  background: #30454f !important;
  color: #edf6f5 !important;
}
html[data-osa-theme="dark"] body.login-page.signup-page.forgot-password-page .card .login-secondary-btn {
  border-color: #536a75 !important;
  color: #9cddd0 !important;
}
html[data-osa-theme="dark"] body.login-page.signup-page.forgot-password-page .card .login-secondary-btn:hover {
  background: #30454f !important;
}

/* An expired reset URL is only a status notice, not another action screen. */
body.login-page.signup-page.reset-password-page .card .reset-link-expired {
  margin: 12px 0 0 !important;
  padding: 12px 14px !important;
  border: 1px solid #ef7474 !important;
  border-left: 5px solid #ef4444 !important;
  border-radius: 10px !important;
  background: #fff0f0 !important;
  color: #8f1d1d !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  text-align: left !important;
}
html[data-osa-theme="dark"] body.login-page.signup-page.reset-password-page .card .reset-link-expired {
  background: #512d35 !important;
  color: #ffb5b5 !important;
}

/* The shared password-visibility control must stay inside each reset field. */
body.login-page.signup-page.reset-password-page .card .osa-password-toggle {
  position: absolute !important;
  top: 50% !important;
  right: 9px !important;
  display: grid !important;
  place-items: center !important;
  transform: translateY(-50%) !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #b9d8da !important;
  box-shadow: none !important;
}
body.login-page.signup-page.reset-password-page .card .osa-password-toggle:hover {
  background: #30454f !important;
  color: #edf6f5 !important;
}

/* Keep the short forgot-password result dialog compact. */
html body.login-page.signup-page.reset-password-page .card .osa-password-warning {
  color: #b32626 !important;
}
html body.login-page.signup-page.reset-password-page .card .osa-password-match {
  color: #16805b !important;
}

body.forgot-password-page #appFeedbackOverlay .feedback-popup-card {
  box-sizing: border-box !important;
  flex: 0 1 auto !important;
  width: calc(100vw - 32px) !important;
  max-width: 360px !important;
  padding: 20px 22px !important;
}
/* Explicit positioning prevents the generated dialog from becoming a second
   flex item beside the reset form in mobile/in-app browsers. */
body.forgot-password-page #appFeedbackOverlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  box-sizing: border-box !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 16px !important;
  background: rgba(15, 23, 42, 0.46) !important;
  overflow: hidden !important;
}
body.forgot-password-page #appFeedbackOverlay.show {
  display: flex !important;
}
body.forgot-password-page #appFeedbackOverlay .feedback-popup-close {
  top: 12px !important;
  right: 12px !important;
}
body.forgot-password-page #appFeedbackOverlay .feedback-popup-mark {
  width: 46px !important;
  height: 46px !important;
  margin: 0 auto 10px !important;
}
body.forgot-password-page #appFeedbackOverlay .feedback-popup-card h3 {
  margin: 0 40px 6px !important;
  font-size: 21px !important;
}
body.forgot-password-page #appFeedbackOverlay .feedback-popup-messages p {
  margin: 0 !important;
  line-height: 1.4 !important;
}
body.forgot-password-page #appFeedbackOverlay .feedback-popup-actions {
  margin-top: 14px !important;
}
body.forgot-password-page #appFeedbackOverlay .feedback-popup-ok {
  width: auto !important;
  min-width: 120px !important;
  margin: 0 !important;
  padding: 9px 24px !important;
}

@media (max-width: 700px) {
  body.login-page.signup-page.forgot-password-page {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px !important;
  }
  body.login-page.signup-page.forgot-password-page > main.card {
    flex: 0 1 auto !important;
    width: calc(100vw - 24px) !important;
    max-width: 500px !important;
    min-width: 0 !important;
  }
  body.forgot-password-page #appFeedbackOverlay .feedback-popup-card {
    width: calc(100vw - 32px) !important;
    max-width: 340px !important;
    margin: 0 auto !important;
    padding: 20px !important;
    overflow: hidden !important;
  }
  body.forgot-password-page #appFeedbackOverlay .feedback-popup-card h3,
  body.forgot-password-page #appFeedbackOverlay .feedback-popup-messages,
  body.forgot-password-page #appFeedbackOverlay .feedback-popup-messages p {
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
  body.forgot-password-page #appFeedbackOverlay .feedback-popup-ok {
    width: 120px !important;
  }
}

/* Keep reset-result feedback tight even when shared popup rules load later. */
html body.login-page.signup-page.forgot-password-page #appFeedbackOverlay .feedback-popup-card {
  box-sizing: border-box !important;
  flex: 0 1 auto !important;
  width: min(360px, calc(100vw - 32px)) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: calc(100dvh - 32px) !important;
  padding: 18px 22px 16px !important;
  overflow-y: auto !important;
}
html body.login-page.signup-page.forgot-password-page #appFeedbackOverlay .feedback-popup-mark {
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
  margin: 0 auto 8px !important;
  font-size: 22px !important;
}
html body.login-page.signup-page.forgot-password-page #appFeedbackOverlay .feedback-popup-card h3 {
  margin: 0 40px 6px !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
}
html body.login-page.signup-page.forgot-password-page #appFeedbackOverlay .feedback-popup-messages {
  margin: 0 0 12px !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}
html body.login-page.signup-page.forgot-password-page #appFeedbackOverlay .feedback-popup-actions {
  margin-top: 0 !important;
}
html body.login-page.signup-page.forgot-password-page #appFeedbackOverlay .feedback-popup-ok {
  min-height: 40px !important;
  padding: 8px 22px !important;
}

/* Load this page-specific override after popup-uniform.css: the reset result
   must stay a small content-sized dialog and never cover the form buttons. */
html body.login-page.signup-page.forgot-password-page #appFeedbackOverlay .feedback-popup-card {
  display: block !important;
  box-sizing: border-box !important;
  flex: 0 1 360px !important;
  width: min(360px, calc(100vw - 32px)) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-width: min(360px, calc(100vw - 32px)) !important;
  max-height: calc(100dvh - 32px) !important;
  margin: auto !important;
  padding: 18px 22px 16px !important;
  overflow: visible !important;
}
html body.login-page.signup-page.forgot-password-page #appFeedbackOverlay .feedback-popup-close {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
}
html body.login-page.signup-page.forgot-password-page #appFeedbackOverlay .feedback-popup-mark {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 auto 8px !important;
  border-radius: 50% !important;
  background: #e2f4ed !important;
  color: #287f75 !important;
  font-size: 0 !important;
}
html body.login-page.signup-page.forgot-password-page #appFeedbackOverlay .feedback-popup-mark::before {
  content: "✓" !important;
  font-size: 25px !important;
  line-height: 1 !important;
}
html body.login-page.signup-page.forgot-password-page #appFeedbackOverlay .feedback-popup-card h3 {
  margin: 0 36px 6px !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
  text-align: center !important;
}
html body.login-page.signup-page.forgot-password-page #appFeedbackOverlay .feedback-popup-messages {
  margin: 0 0 12px !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  text-align: center !important;
}
html body.login-page.signup-page.forgot-password-page #appFeedbackOverlay .feedback-popup-actions {
  display: flex !important;
  justify-content: center !important;
  margin: 0 !important;
}
html body.login-page.signup-page.forgot-password-page #appFeedbackOverlay .feedback-popup-ok {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 120px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 8px 22px !important;
}
