.password-control { position: relative; width: 100%; min-width: 0; }
.input-group > .password-control { flex: 1 1 0; width: auto; }
.password-control input.password-control__input { width: 100%; box-sizing: border-box; padding-right: 96px; margin-bottom: 0; }
.password-control .password-visibility-button {
  position: absolute; right: 1px; top: 1px; bottom: 1px;
  width: 88px; padding: 0 6px; border: 0; border-radius: 0 8px 8px 0;
  background: transparent; color: #155eef; font: inherit; font-size: 12px;
  font-weight: 600; cursor: pointer;
}
.password-control .password-visibility-button:focus-visible { outline: 2px solid #155eef; outline-offset: -3px; }
.password-control .password-visibility-button:hover { background: #eff6ff; }
@media (max-width: 760px) {
  .password-change-page { min-width: 0; box-sizing: border-box; }
  .password-change-page .card { padding: 20px 16px; min-width: 0; }
  .password-change-page h2, .password-change-page label { overflow-wrap: anywhere; }
  .password-change-actions { flex-direction: column; align-items: stretch; }
  .password-change-actions .btn { width: 100%; min-width: 0; box-sizing: border-box; white-space: normal; text-align: center; }
  .password-control input.password-control__input { min-height: 44px; font-size: 16px; }
}
