.password-visibility {
    position: relative;
    display: inline-flex;
    max-width: 100%;
    vertical-align: middle;
}

.vlog-auth-field .password-visibility,
.admin-login-input .password-visibility {
    display: block;
    width: 100%;
}

.password-visibility > input {
    box-sizing: border-box;
    max-width: 100%;
    padding-right: 48px !important;
}

.password-visibility > input::-ms-reveal { display: none; }

.password-visibility .password-visibility__toggle {
    position: absolute;
    top: 50%;
    right: 3px;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    max-height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--login-muted, var(--body-quiet-color, #655d70));
    cursor: pointer;
    box-shadow: none;
}

.password-visibility .password-visibility__toggle:hover {
    background: rgba(125, 95, 190, .12);
}

.password-visibility .password-visibility__toggle:focus-visible {
    outline: 2px solid var(--login-violet, #7646d8);
    outline-offset: -3px;
}

.password-visibility .password-visibility__toggle:disabled {
    opacity: .45;
    cursor: default;
}

.password-visibility__toggle svg {
    display: block;
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none;
}

.password-visibility__toggle .password-visibility__slash { display: none; }
.password-visibility__toggle[aria-pressed="true"] .password-visibility__slash { display: block; }
