/* =============================================================================
   ALERT PRIMITIVE
   Единый компонент для информационных блоков.
   Унифицирует: .psr-alert, .ps-available-suppliers__alert, .errors (register)
   Использует токены из /css/filament/tokens.css.
   ============================================================================= */

.alert {
    border-radius: var(--radius-lg);
    border: 1px solid;
    padding: var(--space-4);
    line-height: var(--line-height-relaxed);
    font-size: var(--font-size-base);
}

.alert__title {
    margin: 0;
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
}

.alert__body {
    margin: 0.75rem 0 0;
    line-height: var(--line-height-relaxed);
}

/* --- Semantic variants --- */

.alert--warning {
    border-color: var(--color-warning-border);
    background: var(--color-warning-bg);
    color: var(--color-warning-text);
}

.alert--danger {
    border-color: var(--color-danger-border);
    background: var(--color-danger-bg);
    color: var(--color-danger-text);
}

.alert--success {
    border-color: var(--color-success-border);
    background: var(--color-success-bg);
    color: var(--color-success-text);
}

.alert--neutral {
    border-color: var(--color-border-default);
    background: var(--color-surface-subtle);
    color: var(--color-text-body);
}

/* --- Size modifier --- */

.alert--lg {
    padding: var(--space-6);
    border-radius: var(--radius-2xl);
}

/* --- Dark mode --- */

.dark .alert--warning {
    border-color: var(--color-dark-amber-border);
    background: var(--color-dark-amber-bg);
    color: var(--color-dark-amber-text);
}

.dark .alert--success {
    border-color: var(--color-dark-green-border);
    background: var(--color-dark-green-bg);
    color: var(--color-dark-green-text);
}
