.password-control { position: relative; width: 100%; min-width: 0; }
.password-control > input { display: block; width: 100%; padding-right: 56px !important; margin-bottom: 0 !important; border-radius: 32px !important; }
.password-control .password-toggle {
  position: absolute; top: 50%; right: 8px; transform: translateY(-50%);
  display: grid; place-items: center; width: 38px; height: 38px; min-height: 0;
  padding: 0; margin: 0; border: 0; border-radius: 50%; background: transparent;
  color: #53687c; box-shadow: none; cursor: pointer;
}
.password-toggle svg { display: block; width: 21px; height: 21px; }
.password-control .password-toggle:hover { background: #edf3f8; color: #06203a; }
.password-control .password-toggle:focus-visible { outline: 2px solid #f5a039; outline-offset: 1px; }
.password-strength { display: grid; gap: 5px; margin: 5px 4px 0; color: #53687c; }
.password-strength[hidden] { display: none !important; }
.password-strength-bars { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 5px; height: 4px; }
.password-strength-bars span { border-radius: 99px; background: #e1e8ee; }
.password-strength[data-score='1'] .password-strength-bars span:nth-child(-n+1) { background: #b52f36; }
.password-strength[data-score='2'] .password-strength-bars span:nth-child(-n+2) { background: #b77914; }
.password-strength[data-score='3'] .password-strength-bars span:nth-child(-n+3) { background: #287d6a; }
.password-strength[data-score='4'] .password-strength-bars span { background: #287d6a; }
.password-strength-caption, .password-strength-hint { margin: 0; font: 500 12px/1.45 'Manrope', system-ui, sans-serif; }
.password-strength-caption { color: #06203a; font-weight: 700; }
.password-strength-hint { color: #53687c; }
