.password-field {
  position: relative;
  width: 100%;
}

.password-field > input {
  padding-right: 2.75rem;
}

.password-field__toggle {
  position: absolute;
  top: 50%;
  right: 0.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 0.375rem;
  background: transparent;
  color: var(--gray, #64748b);
  cursor: pointer;
  transform: translateY(-50%);
  transition: color 0.15s ease, background-color 0.15s ease;
}

.password-field__toggle:hover {
  color: var(--charcoal, #0f172a);
  background-color: rgba(15, 23, 42, 0.06);
}

.password-field__toggle:focus-visible {
  outline: none;
  color: var(--charcoal, #0f172a);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.25);
}

.password-field__icon {
  width: 1.125rem;
  height: 1.125rem;
  pointer-events: none;
}

.password-field__icon--hide {
  display: none;
}

.password-field__toggle[aria-pressed="true"] .password-field__icon--show {
  display: none;
}

.password-field__toggle[aria-pressed="true"] .password-field__icon--hide {
  display: block;
}
