.toggle-password-button {
  display: inline-flex;
  width: 1.3125rem;
  height: 1.3125rem;
  align-items: center;
  justify-content: center;
  padding: 0;
  line-height: 1;
  color: var(--bs-body-color);
  background: transparent;
}

.toggle-password-button:hover,
.toggle-password-button:focus-visible {
  color: var(--bs-primary);
}

.toggle-password-button-icon,
.toggle-password-icon {
  display: block;
  width: 100%;
  height: 100%;
}

.input-group-sm .toggle-password-button {
  width: 1rem;
  height: 1rem;
}

.input-group-lg .toggle-password-button {
  width: 1.75rem;
  height: 1.75rem;
}

.input-group:has(input.is-valid) .input-group-text {
  border-color: var(--bs-form-valid-border-color);
}

.input-group:has(input.is-invalid) .input-group-text {
  border-color: var(--bs-form-invalid-border-color);
}