/* Password Validation Styles */

.password-validation-rules {
    padding: 0;
    border-radius: 0;
    background-color: transparent;
    border-left: none;
}

.validation-rule {
    font-size: 1rem;
    display: flex;
    align-items: center;
    font-weight: 400;
    margin-bottom: 8px;
    letter-spacing: 0.3px;
}

.validation-rule i {
    font-size: 1rem;
    flex-shrink: 0;
    margin-right: 10px;
    width: 16px;
    text-align: center;
}

.validation-rule.text-success {
    color: #28a745;
}

.validation-rule.text-danger {
    color: #dc3545;
}

/* Password Status Message */
.password-status {
    padding: 12px 0;
    border-radius: 0;
    text-align: center;
    font-weight: 600;
    margin-top: 16px;
}

.password-status h6 {
    margin: 0;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
}

.password-status h6 i {
    margin-right: 8px;
    font-size: 1.1rem;
}

.password-status h6.text-success {
    color: #28a745;
}

.password-status h6.text-danger {
    color: #dc3545;
}

/* Form Control Validation States */
.form-control.is-invalid {
    border-color: #dc3545;
}

.form-control.is-valid {
    border-color: #28a745;
}

/* Validation Feedback */
.invalid-feedback,
.valid-feedback {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.875rem;
    font-weight: 500;
}

.invalid-feedback {
    color: #dc3545;
}

.valid-feedback {
    color: #28a745;
}

/* Password Requirements Container */
.password-requirements {
    list-style: none;
    padding: 0;
    margin: 15px 0;
}

.password-requirements li {
    padding: 8px 0;
    display: flex;
    align-items: center;
    font-size: 0.95rem;
}

.password-requirements li::before {
    content: '✓';
    font-weight: bold;
    margin-right: 10px;
    font-size: 1.1rem;
    color: #28a745;
}

.password-requirements li.invalid::before {
    content: '✕';
    color: #dc3545;
}

/* Alert for password rules */
.password-info-alert {
    background-color: #e7f3ff;
    border: 1px solid #b3d9ff;
    border-radius: 4px;
    padding: 12px;
    margin-bottom: 15px;
    color: #004085;
    font-size: 0.9rem;
}

.password-info-alert strong {
    display: block;
    margin-bottom: 8px;
}

/* Responsive adjustments */
@media (max-width: 576px) {
    .validation-rule {
        font-size: 0.95rem;
    }

    .validation-rule i {
        font-size: 0.95rem;
    }

    .password-status h6 {
        font-size: 1rem;
    }
}
