.password-visibility-field {
    display: block;
}

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

.password-visibility-field > input,
.password-visibility-host > input {
    width: 100%;
    padding-right: 48px !important;
}

.password-visibility-toggle {
    position: absolute !important;
    z-index: 2;
    top: 50% !important;
    right: 7px !important;
    width: 35px !important;
    height: 35px !important;
    min-width: 35px !important;
    min-height: 35px !important;
    display: grid !important;
    place-items: center;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    background: #e5f4ef !important;
    color: #087f73 !important;
    box-shadow: none !important;
    transform: translateY(-50%) !important;
    cursor: pointer;
}

.password-visibility-toggle:hover {
    border-color: #add3ca !important;
    background: #d6ece5 !important;
}

.password-visibility-toggle:focus-visible {
    outline: 3px solid #087f7330;
    outline-offset: 1px;
}

.password-visibility-toggle svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.password-eye-hidden,
.password-visibility-toggle.is-visible .password-eye-visible {
    display: none;
}

.password-visibility-toggle.is-visible .password-eye-hidden {
    display: block;
}
