/* Scoped styles preserve the surrounding form and existing input appearance. */
.pv-password-control { position: relative; display: block; width: 100%; min-width: 0; }
.pv-password-control > input { box-sizing: border-box; width: 100%; padding-right: 52px !important; }
button.pv-password-toggle {
  position: absolute; right: 2px; top: 50%; transform: translateY(-50%);
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; min-width: 44px; height: 44px; min-height: 0;
  margin: 0; padding: 0; border: 0; border-radius: 6px;
  background: transparent; color: #526174; box-shadow: none;
  cursor: pointer; line-height: 1; transition: color 160ms ease, background 160ms ease;
}
button.pv-password-toggle:hover { background: #f1f5f9; color: #062b63; }
button.pv-password-toggle:focus-visible { outline: 2px solid #062b63; outline-offset: -3px; }
button.pv-password-toggle:disabled { background: transparent; opacity: .45; cursor: not-allowed; }
.pv-password-toggle svg { display: block; width: 20px; height: 20px; pointer-events: none; }
.pv-password-control > input::-ms-reveal, .pv-password-control > input::-ms-clear { display: none; }
