/* Shared feedback contract for every CRM layout, including server validation. */
:is(.kt-alert-danger, .kt-alert-error, .kt-alert-destructive, .kt-toast-danger, .kt-toast-error, .kt-toast-destructive, .toast-error, [data-crm-feedback="error"]) {
    background: #b91c1c !important;
    color: #fff !important;
    border: 1px solid #991b1b !important;
    border-left: 6px solid #7f1d1d !important;
    border-radius: 10px;
    box-shadow: 0 4px 16px rgb(153 27 27 / 20%);
    padding: 16px 18px;
    gap: 12px;
    font-size: 14px;
    line-height: 1.55;
    opacity: 1 !important;
}
:is(.kt-alert-danger, .kt-alert-error, .kt-alert-destructive, .kt-toast-danger, .kt-toast-error, .kt-toast-destructive, .toast-error, [data-crm-feedback="error"]) :is(i, svg, p, span, li, strong, a, .kt-alert-title, .kt-alert-description, .kt-alert-close) {
    color: #fff !important;
    opacity: 1;
}
:is(.kt-alert-danger, .kt-alert-error, .kt-alert-destructive) > i { font-size: 24px; flex-shrink: 0; }
:is(.kt-alert-danger, .kt-alert-error, .kt-alert-destructive) a { text-decoration: underline; text-underline-offset: 3px; }
:is(.kt-alert-danger, .kt-alert-error, .kt-alert-destructive):focus { outline: 3px solid #f87171; outline-offset: 3px; }
.kt-alert-success { background: #ecfdf5; color: #065f46; border: 1px solid #6ee7b7; border-left: 5px solid #047857; }
.kt-alert-warning { background: #fffbeb; color: #78350f; border: 1px solid #fbbf24; border-left: 5px solid #b45309; }
.kt-alert-info { background: #eff6ff; color: #1e3a8a; border: 1px solid #93c5fd; border-left: 5px solid #2563eb; }
:is(input, select, textarea)[aria-invalid="true"], .kt-input:has(input[aria-invalid="true"]) {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 2px rgb(220 38 38 / 16%) !important;
}
.crm-field-error { color: #b91c1c; font-size: 13px; font-weight: 600; line-height: 1.5; }
.dark .crm-field-error { color: #fca5a5; }
