/* --- Badges --- */
.bg-soft-primary {
    background-color: rgba(78, 115, 223, 0.1) !important;
    color: #4e73df !important;
}
.bg-soft-success {
    background-color: rgba(25, 135, 84, 0.1) !important;
    color: #198754 !important;
}
.bg-soft-danger {
    background-color: rgba(220, 53, 69, 0.1) !important;
    color: #dc3545 !important;
}
.bg-soft-warning {
    background-color: rgba(255, 193, 7, 0.1) !important;
    color: #856404 !important;
}
.bg-soft-info {
    background-color: rgba(13, 202, 240, 0.1) !important;
    color: #0dcaf0 !important;
}

/* --- Border Radius Utilities --- */
.rounded-xs { border-radius: var(--radius-xs) !important; }
.rounded-sm { border-radius: var(--radius-sm) !important; }
.rounded-md { border-radius: var(--radius-md) !important; }
.rounded-lg { border-radius: var(--radius-lg) !important; }
.rounded-xl { border-radius: var(--radius-xl) !important; }

/* --- Text Utilities --- */
.text-heading { color: var(--text-heading) !important; }
.text-secondary { color: var(--text-secondary) !important; }
.text-placeholder { color: var(--text-placeholder) !important; }
.text-main { color: var(--text-main) !important; }
.text-muted-soft { color: var(--text-muted) !important; }

/* --- Background Utilities --- */
.bg-main { background-color: var(--bg-main) !important; }
.bg-card { background-color: var(--bg-card) !important; }
.bg-input { background-color: var(--bg-input) !important; }
.bg-sidebar { background-color: var(--bg-sidebar) !important; }

/* --- Border Utilities --- */
.border-color { border-color: var(--border-color) !important; }
.border-color-light { border-color: var(--border-color-light) !important; }
.border-color-hover { border-color: var(--border-color-hover) !important; }
.border-dashed { border-style: dashed !important; }

/* --- Soft Background Variants --- */
.bg-soft-secondary {
    background-color: rgba(108, 117, 125, 0.1) !important;
    color: #6c757d !important;
}
.bg-soft-light {
    background-color: rgba(248, 249, 250, 0.5) !important;
    color: #6c757d !important;
}
.bg-soft-dark {
    background-color: rgba(33, 37, 41, 0.1) !important;
    color: #212529 !important;
}

/* --- Gradient Backgrounds --- */
.bg-gradient-blue { background: linear-gradient(135deg, #3b82f6, #1d4ed8) !important; }
.bg-gradient-green { background: linear-gradient(135deg, #10b981, #059669) !important; }
.bg-gradient-amber { background: linear-gradient(135deg, #f59e0b, #d97706) !important; }
.bg-gradient-purple { background: linear-gradient(135deg, #8b5cf6, #6d28d9) !important; }

/* --- Animation Delays --- */
.anim-delay-1 { animation-delay: 0.05s !important; }
.anim-delay-2 { animation-delay: 0.1s !important; }
.anim-delay-3 { animation-delay: 0.15s !important; }
.anim-delay-4 { animation-delay: 0.2s !important; }
.anim-delay-5 { animation-delay: 0.25s !important; }
.anim-delay-6 { animation-delay: 0.3s !important; }
.anim-delay-7 { animation-delay: 0.35s !important; }
.anim-delay-8 { animation-delay: 0.4s !important; }
.anim-delay-9 { animation-delay: 0.45s !important; }
.anim-delay-10 { animation-delay: 0.5s !important; }

/* --- Spec Color Text --- */
.text-spec-blue { color: var(--spec-blue) !important; }
.text-spec-amber { color: var(--spec-amber) !important; }
.text-spec-red { color: var(--spec-red) !important; }
.text-spec-green { color: var(--spec-green) !important; }
.text-spec-teal { color: var(--spec-teal) !important; }

/* --- Size Utilities --- */
.w-50px { width: 50px !important; }
.size-40 { width: 40px !important; height: 40px !important; }
.size-45 { width: 45px !important; height: 45px !important; }
.min-h-600 { min-height: 600px !important; }

/* --- Font Sizes --- */
.fs-7 { font-size: 0.85rem !important; }
.fs-8 { font-size: 0.78rem !important; }
.fs-9 { font-size: 0.72rem !important; }

/* --- Spacing Utilities --- */
.gap-1 { gap: var(--space-xs) !important; }
.gap-2 { gap: var(--space-sm) !important; }
.gap-3 { gap: var(--space-md) !important; }
.gap-4 { gap: var(--space-lg) !important; }
.gap-5 { gap: var(--space-xl) !important; }
