.password-visibility-field {
  position: relative;
  display: block;
  min-width: 0;
  width: 100%;
}

.password-visibility-field > input.input[data-password-toggle] {
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  padding-right: 54px;
}

.password-visibility-toggle {
  position: absolute;
  top: 0;
  right: 2px;
  bottom: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  padding: 0;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #526878;
  cursor: pointer;
}

.password-visibility-toggle:hover {
  color: #0c7a8f;
  background: #e9f7f8;
}

.password-visibility-toggle:focus-visible {
  outline: 2px solid #0c7a8f;
  outline-offset: -4px;
}

.password-visibility-toggle[aria-pressed="false"] .password-visibility-slash {
  display: none;
}

input[data-password-toggle]::-ms-reveal { display: none; }
