.password-entry { display: grid; gap: 8px; min-width: 0; }
.password-entry > label { margin: 0; }
.password-control { position: relative; display: block; min-width: 0; }
.password-control > input { box-sizing: border-box; width: 100%; min-height: 52px; margin: 0; padding-right: 58px; }
.password-control > .password-visibility-button {
  position: absolute; top: 4px; right: 4px; bottom: 4px;
  display: flex; align-items: center; justify-content: center;
  width: 44px; min-width: 44px; min-height: 44px; margin: 0; padding: 10px;
  border: 0; border-radius: 7px; background: transparent;
  color: inherit; box-shadow: none; cursor: pointer;
  touch-action: manipulation;
}
.password-control > .password-visibility-button:hover { background: rgba(128, 128, 128, .2); }
.password-control > .password-visibility-button:focus-visible { outline: 2px solid #f26722; outline-offset: 1px; }
.password-visibility-button svg { width: 24px; height: 24px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.password-visibility-button[aria-pressed="false"] .password-eye-slash { display: none; }
