.password-input-widget {
    display: block;
    width: 100%;
}

.password-input-widget__field {
    position: relative;
    display: block;
    width: 100%;
}

.password-input-widget__input {
    width: 100%;
}

.password-input-widget__input--with-toggle.password-input-widget__input--right {
    padding-right: 3.1rem;
}

.password-input-widget__input--with-toggle.password-input-widget__input--left {
    padding-left: 3.1rem;
}

.password-input-widget__field--sm .password-input-widget__input--with-toggle.password-input-widget__input--right {
    padding-right: 2.7rem;
}

.password-input-widget__field--sm .password-input-widget__input--with-toggle.password-input-widget__input--left {
    padding-left: 2.7rem;
}

.password-input-widget__field--lg .password-input-widget__input--with-toggle.password-input-widget__input--right {
    padding-right: 3.45rem;
}

.password-input-widget__field--lg .password-input-widget__input--with-toggle.password-input-widget__input--left {
    padding-left: 3.45rem;
}

.password-input-widget__input::-ms-reveal,
.password-input-widget__input::-ms-clear {
    display: none;
}

.password-input-widget__input::-webkit-credentials-auto-fill-button,
.password-input-widget__input::-webkit-textfield-decoration-container {
    visibility: hidden;
    pointer-events: none;
}

.password-input-widget__toggle {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(245, 248, 252, 0.92);
    color: #6e8298;
    box-shadow: inset 0 0 0 1px rgba(209, 221, 235, 0.92);
    transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.password-input-widget__field--right .password-input-widget__toggle {
    right: 0.5rem;
}

.password-input-widget__field--left .password-input-widget__toggle {
    left: 0.5rem;
}

.password-input-widget__toggle:hover {
    background: rgba(235, 243, 252, 0.98);
    color: #1c5d97;
    box-shadow: inset 0 0 0 1px rgba(190, 209, 230, 0.96);
}

.password-input-widget__toggle:focus,
.password-input-widget__toggle:focus-visible {
    background: rgba(235, 243, 252, 1);
    color: #184f88;
    box-shadow: inset 0 0 0 1px rgba(157, 185, 214, 0.96), 0 0 0 0.2rem rgba(28, 93, 151, 0.12);
    outline: none;
}

.password-input-widget__toggle[aria-pressed="true"] {
    background: rgba(227, 239, 251, 0.98);
    color: #15528a;
    box-shadow: inset 0 0 0 1px rgba(170, 196, 224, 0.98);
}

.password-input-widget__icon {
    display: inline-flex;
    width: 1rem;
    height: 1rem;
}

.password-input-widget__icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}

.password-input-widget__icon--hidden {
    display: none;
}

.password-input-widget__helper {
    margin-top: 0.45rem;
}
