/**
 * Custom color utility classes for Filament panel.
 * These classes are NOT included in Filament's precompiled CSS
 * but are used in custom siswa blade views.
 *
 * Colors follow Tailwind CSS v3 standard color palette.
 */

/* ===== SUCCESS (Green) ===== */
.bg-success-50  { background-color: #f0fdf4 !important; }
.bg-success-100 { background-color: #dcfce7 !important; }
.text-success-400 { color: #4ade80 !important; }
.text-success-500 { color: #22c55e !important; }
.text-success-600 { color: #16a34a !important; }
.text-success-700 { color: #15803d !important; }

/* ===== INFO (Blue) ===== */
.bg-info-50  { background-color: #eff6ff !important; }
.bg-info-100 { background-color: #dbeafe !important; }
.text-info-400 { color: #60a5fa !important; }
.text-info-500 { color: #3b82f6 !important; }
.text-info-600 { color: #2563eb !important; }
.text-info-700 { color: #1d4ed8 !important; }

/* ===== DANGER (Red) ===== */
.bg-danger-50  { background-color: #fef2f2 !important; }
.bg-danger-100 { background-color: #fee2e2 !important; }
.text-danger-700 { color: #b91c1c !important; }

/* ===== WARNING (Amber) ===== */
.bg-warning-50  { background-color: #fffbeb !important; }
.bg-warning-100 { background-color: #fef3c7 !important; }
.text-warning-400 { color: #fbbf24 !important; }
.text-warning-500 { color: #f59e0b !important; }
.text-warning-600 { color: #d97706 !important; }
.text-warning-700 { color: #b45309 !important; }

/* ===== PRIMARY extras ===== */
.text-primary-700 { color: #1d4ed8 !important; }

/* ===== Arbitrary values ===== */
.min-w-\[60px\] { min-width: 60px; }

/* ===== Layout utilities (not in Filament CSS) ===== */
.shrink-0       { flex-shrink: 0 !important; }
.items-start    { align-items: flex-start !important; }
.justify-center { justify-content: center !important; }
.min-w-0        { min-width: 0 !important; }
.w-12           { width: 3rem !important; }
.h-12           { height: 3rem !important; }
.gap-4          { gap: 1rem !important; }
.mt-3           { margin-top: 0.75rem !important; }
.rounded-xl     { border-radius: 0.75rem !important; }

/* ===== Missing spacing/sizing classes ===== */
.p-5            { padding: 1.25rem !important; }
.mt-4           { margin-top: 1rem !important; }
.mb-6           { margin-bottom: 1.5rem !important; }
.text-gray-800  { color: #1e293b !important; }
.text-lg        { font-size: 1.125rem !important; line-height: 1.75rem !important; }
.border-l-2     { border-left-width: 2px !important; border-left-style: solid !important; }
.pl-3           { padding-left: 0.75rem !important; }
.border-primary-300 { border-color: #86efac !important; }
.dark .dark\:border-primary-600 { border-color: #059669 !important; }
.text-primary-600 { color: #059669 !important; }
.bg-primary-50  { background-color: #ecfdf5 !important; }
.text-primary-700 { color: #047857 !important; }

/* ===== Missing grid responsive classes ===== */
@media (min-width: 1024px) {
    .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
    .lg\:col-span-2  { grid-column: span 2 / span 2 !important; }
}

/* ===== Missing dark mode text ===== */
.dark .dark\:text-gray-100 { color: #f1f5f9 !important; }
.dark .dark\:text-gray-200 { color: #e2e8f0 !important; }
.dark .dark\:text-gray-300 { color: #cbd5e1 !important; }
.dark .dark\:bg-gray-800   { background-color: #1e293b !important; }
.dark .dark\:border-gray-700 { border-color: #334155 !important; }

/* ===== Opacity modifiers ===== */
.bg-gray-700\/50 { background-color: rgba(55, 65, 81, 0.5); }

/* ===== DARK MODE VARIANTS ===== */
.dark .dark\:bg-success-900\/30 { background-color: rgba(20, 83, 45, 0.3) !important; }
.dark .dark\:bg-info-900\/30    { background-color: rgba(30, 58, 138, 0.3) !important; }
.dark .dark\:bg-danger-900\/30  { background-color: rgba(127, 29, 29, 0.3) !important; }
.dark .dark\:bg-warning-900\/30 { background-color: rgba(120, 53, 15, 0.3) !important; }

.dark .dark\:bg-success-400\/10 { background-color: rgba(74, 222, 128, 0.1) !important; }
.dark .dark\:bg-danger-400\/10  { background-color: rgba(248, 113, 113, 0.1) !important; }
.dark .dark\:bg-warning-400\/10 { background-color: rgba(251, 191, 36, 0.1) !important; }
.dark .dark\:bg-primary-400\/10 { background-color: rgba(96, 165, 250, 0.1) !important; }
.dark .dark\:bg-gray-700\/50    { background-color: rgba(55, 65, 81, 0.5) !important; }

.dark .dark\:text-success-300 { color: #86efac !important; }
.dark .dark\:text-success-400 { color: #4ade80 !important; }
.dark .dark\:text-info-400    { color: #60a5fa !important; }
.dark .dark\:text-danger-400  { color: #f87171 !important; }
.dark .dark\:text-warning-300 { color: #fcd34d !important; }
.dark .dark\:text-warning-400 { color: #fbbf24 !important; }
.dark .dark\:text-primary-400 { color: #60a5fa !important; }

/* ===== Additional opacity backgrounds (quick-access widget) ===== */
.dark .dark\:bg-warning-500\/10 { background-color: rgba(245, 158, 11, 0.1) !important; }
.dark .dark\:bg-success-500\/10 { background-color: rgba(34, 197, 94, 0.1) !important; }
.dark .dark\:bg-info-500\/10    { background-color: rgba(59, 130, 246, 0.1) !important; }
.dark .dark\:bg-warning-500\/20 { background-color: rgba(245, 158, 11, 0.2) !important; }
.dark .dark\:bg-success-500\/20 { background-color: rgba(34, 197, 94, 0.2) !important; }
.dark .dark\:bg-info-500\/20    { background-color: rgba(59, 130, 246, 0.2) !important; }

/* ===== DASHBOARD STAT CARDS ===== */
.stat-card-row {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}
.stat-card-icon {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    border-radius: 12px !important;
}
.stat-card-text {
    flex: 1 1 0% !important;
    min-width: 0 !important;
}
.stat-card-text .stat-label {
    font-size: 0.875rem !important;
    color: #64748b !important;
    margin: 0 !important;
    line-height: 1.25rem !important;
}
.stat-card-text .stat-value {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    margin: 4px 0 0 0 !important;
    line-height: 2rem !important;
}
.stat-card-footer {
    font-size: 0.75rem !important;
    color: #94a3b8 !important;
    margin-top: 12px !important;
}
.dark .stat-card-text .stat-label { color: #94a3b8 !important; }
.dark .stat-card-text .stat-value { color: #f1f5f9 !important; }
.dark .stat-card-footer { color: #64748b !important; }
