.password-validator div:not(.show) > .show-password i:last-child {
    display: none;
}
.password-validator div.show > .show-password i:first-child {
    display: none;
}
.show-password {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    color: var(--bs-primary);
}
.form-control.invalid {
    border-color: var(--bs-form-invalid-border-color);
}
div:has(>.form-control.invalid) .show-password {
    color: var(--bs-form-invalid-border-color);
}
.password-input:focus ~ .password-checklist {
    opacity: 1;
    transform: translateY(0);
}
.password-checklist {
    list-style: none;
    padding-left: 0;
}
.list-item {
    font-size: 14px;
}
.list-item i {
    margin-right: 5px;
}
.list-item:not(.checked) i:last-child {
    display: none;
}
.list-item.checked i:first-child {
    display: none;
}
.list-item i:last-child {
    color: var(--bs-success);
}
.list-item i:first-child {
    color: var(--bs-danger);
}
.list-item.checked {
    opacity: 0.3;
}
