/* Wrapper and input padding */
.jpwt-field-wrapper { position: relative; }
.jpwt-has-toggle { padding-right: 2.5rem; }

/* Button is positioned over the input (JS sets top/height to match input) */
.jpwt-eye-toggle{
  position: absolute;
  right: .5rem;
  border: none;
  background: transparent;
  width: 1.75rem;
  cursor: pointer;
  line-height: 1;
  color: inherit;
  opacity: .5;
  display: flex;
  align-items: center;
  justify-content: center;
}
.jpwt-eye-toggle:hover,
.jpwt-eye-toggle:focus { opacity: 1; outline: none; }

/* Icon size (works for <i> and inline <svg>) */
.jpwt-eye-toggle i { font-size: 1.05rem; pointer-events: none; }
.jpwt-eye-toggle svg { width: 1.05rem; height: 1.05rem; }

/* Force white in overlay if needed */
.ba-overlay-section-backdrop .jpwt-eye-toggle { color: #fff; }

/* Keep gridbox input box-sizing sane */
.ba-account-profile-field-wrapper input.jpwt-has-toggle,
.ba-login-field-wrapper input.jpwt-has-toggle { box-sizing: border-box; }