.password-control { display: grid; gap: 7px; min-width: 0; }
.login-form .password-control { gap: 8px; }
.password-input { position: relative; min-width: 0; font-size: 11px; font-weight: 650; }
.login-form .password-input { font-weight: 700; }
.password-input input { min-width: 0; min-height: 44px; padding-right: 48px; }
.password-toggle {
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  place-items: center;
  width: 44px;
  height: 100%;
  padding: 0;
  color: var(--muted);
  background: transparent;
  border: 0;
  border-radius: 0 9px 9px 0;
  cursor: pointer;
  transition: color .18s, background .18s;
}
.password-toggle[hidden] { display: none; }
.password-toggle:hover { color: var(--river); background: var(--river-soft); }
.password-toggle:focus-visible { outline: 2px solid var(--river); outline-offset: -3px; }
.password-toggle svg { width: 19px; height: 19px; pointer-events: none; }
.password-toggle .password-icon-hide { display: none; }
.password-toggle[data-visible="true"] .password-icon-show { display: none; }
.password-toggle[data-visible="true"] .password-icon-hide { display: block; }
@media (prefers-reduced-motion: reduce) {
  .password-toggle { transition: none; }
}
