.password-toggle-wrap {
    position: relative;
    width: 100%;
    display: block;
}

.password-toggle-wrap .password-toggle-input {
    padding-right: 48px !important;
}

.password-toggle-btn {
    position: absolute;
    top: 50%;
    right: 8px;
    width: 36px;
    height: 36px;
    transform: translateY(-50%);
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #64748b;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
    z-index: 2;
}

.password-toggle-btn:hover {
    background: rgba(2, 70, 46, 0.08);
    color: #02462E;
}

.password-toggle-btn:focus-visible {
    outline: 2px solid rgba(2, 70, 46, 0.35);
    outline-offset: 2px;
}

.password-toggle-btn:active {
    transform: translateY(-50%) scale(0.96);
}

.password-toggle-btn svg {
    width: 18px;
    height: 18px;
    display: block;
    stroke: currentColor;
}

.login-card .password-toggle-btn,
.register-card .password-toggle-btn,
.auth-card .password-toggle-btn,
.password-toggle-wrap-auth .password-toggle-btn {
    color: rgba(255, 255, 255, 0.68);
}

.login-card .password-toggle-btn:hover,
.register-card .password-toggle-btn:hover,
.auth-card .password-toggle-btn:hover,
.password-toggle-wrap-auth .password-toggle-btn:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
}

.login-card .password-toggle-btn:focus-visible,
.register-card .password-toggle-btn:focus-visible,
.auth-card .password-toggle-btn:focus-visible,
.password-toggle-wrap-auth .password-toggle-btn:focus-visible {
    outline-color: rgba(255, 255, 255, 0.45);
}
