/* --- Safeguard Validation Styles --- */

.ch-input-error, .input-error {
    border-color: #ef4444 !important;
    background-color: #fef2f2 !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
}

.ch-field-error, .field-error {
    display: block;
    color: #ef4444;
    font-size: 12px;
    font-weight: 600;
    margin-top: 6px;
    animation: fieldErrorIn 0.2s ease-out forwards;
}

.ch-field-error::before {
    content: "\F33A";
    /* bi-exclamation-circle */
    font-family: "bootstrap-icons";
    font-size: 0.8rem;
    margin-right: 4px;
}

@keyframes fieldErrorIn {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

.ch-form-banner {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-radius: 10px;
    margin-bottom: 20px;
    font-size: 0.9rem;
    font-weight: 500;
}

.ch-form-banner.error {
    background-color: #FEF2F2;
    color: #991B1B;
    border: 1px solid #FEE2E2;
}

.ch-form-banner.success {
    background-color: #F0FDF4;
    color: #166534;
    border: 1px solid #DCFCE7;
}
