.password-visibility-field {
    position: relative;
    display: block;
    width: 100%;
}

.password-visibility-field > input {
    width: 100%;
    padding-right: 3.45rem !important;
}

.password-visibility-field .password-visibility-toggle {
    position: absolute;
    top: 50%;
    right: 0.4rem;
    display: inline-grid;
    width: 2.5rem;
    height: 2.5rem;
    min-height: 0;
    margin: 0;
    padding: 0;
    place-items: center;
    box-sizing: border-box;
    border: 1px solid transparent;
    border-radius: 0.7rem;
    outline: none;
    background: transparent;
    color: #aebbd2;
    cursor: pointer;
    transform: translateY(-50%) !important;
    transition: color 160ms ease, border-color 160ms ease, background 160ms ease;
}

.password-visibility-field .password-visibility-toggle:is(:hover, :focus-visible),
.password-visibility-field .password-visibility-toggle[aria-pressed="true"] {
    border-color: rgba(245, 158, 11, 0.34);
    background: rgba(245, 158, 11, 0.12);
    color: #fbbf24;
    transform: translateY(-50%) !important;
}

.password-visibility-field .password-visibility-toggle:focus-visible {
    outline: 2px solid #fbbf24;
    outline-offset: 2px;
}

.password-visibility-field .password-visibility-toggle i {
    pointer-events: none;
}
