/* Unified password visibility control. Only the eye graphic changes state. */
.password-visibility-wrap {
  position: relative !important;
}
.password-visibility-wrap input[type="password"],
.password-visibility-wrap input[type="text"] {
  padding-right: 52px !important;
}
.password-visibility-toggle,
.password-visibility-toggle:hover,
.password-visibility-toggle:focus,
.password-visibility-toggle:focus-visible,
.password-visibility-toggle:active {
  position: absolute !important;
  top: 50% !important;
  right: 8px !important;
  z-index: 50 !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: #1d4ed8 !important;
  opacity: 1 !important;
  visibility: visible !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transform: translateY(-50%) !important;
  transition: none !important;
  animation: none !important;
  filter: none !important;
  cursor: pointer !important;
  -webkit-tap-highlight-color: transparent !important;
  touch-action: manipulation !important;
  appearance: none !important;
  pointer-events: auto !important;
}
.password-visibility-toggle::before,
.password-visibility-toggle::after {
  display: none !important;
  content: none !important;
}
.password-visibility-toggle svg {
  width: 23px !important;
  height: 23px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  pointer-events: none !important;
  transition: none !important;
  animation: none !important;
  transform: none !important;
}
/* Hidden password: show the crossed/closed eye only. */
.password-visibility-toggle[aria-pressed="false"] [data-eye-open],
.password-visibility-toggle[data-password-visible="false"] [data-eye-open] {
  display: none !important;
}
.password-visibility-toggle[aria-pressed="false"] [data-eye-closed],
.password-visibility-toggle[data-password-visible="false"] [data-eye-closed] {
  display: block !important;
}
/* Visible password: show the normal/open eye only. */
.password-visibility-toggle[aria-pressed="true"] [data-eye-open],
.password-visibility-toggle[data-password-visible="true"] [data-eye-open] {
  display: block !important;
}
.password-visibility-toggle[aria-pressed="true"] [data-eye-closed],
.password-visibility-toggle[data-password-visible="true"] [data-eye-closed] {
  display: none !important;
}
.password-visibility-toggle:disabled {
  cursor: default !important;
  opacity: .55 !important;
}
@media (max-width: 576px) {
  .password-visibility-toggle,
  .password-visibility-toggle:hover,
  .password-visibility-toggle:focus,
  .password-visibility-toggle:focus-visible,
  .password-visibility-toggle:active {
    right: 6px !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
  }
}
