/* ── Dark Theme (shared across all dashboards) ── */
body.dark { background-color: #0f172a; color: #e2e8f0; }
body.dark .bg-gray-50 { background-color: #0f172a !important; }
body.dark .bg-white { background-color: #1e293b !important; }
body.dark .border-b, body.dark .border-t, body.dark .border { border-color: #334155 !important; }
body.dark .border-gray-100 { border-color: #334155 !important; }
body.dark .border-gray-200, body.dark .border-t-2, body.dark .border-b-2 { border-color: #475569 !important; }
body.dark .border-gray-300 { border-color: #475569 !important; }
body.dark .border-white\/20 { border-color: rgba(255,255,255,0.15) !important; }
body.dark .border-accent\/30 { border-color: rgba(34,211,238,0.3) !important; }
body.dark .border-yellow-500\/30 { border-color: rgba(251,191,36,0.3) !important; }
body.dark .text-gray-800 { color: #e2e8f0 !important; }
body.dark .text-gray-600 { color: #94a3b8 !important; }
body.dark .text-gray-500 { color: #94a3b8 !important; }
body.dark .text-gray-400 { color: #64748b !important; }
body.dark .text-gray-300 { color: #475569 !important; }
body.dark .text-dark { color: #f1f5f9 !important; }
body.dark .text-white { color: #f1f5f9 !important; }
body.dark .text-primary { color: #60a5fa !important; }
body.dark .text-accent { color: #22d3ee !important; }
body.dark .text-green { color: #4ade80 !important; }
body.dark .text-green-300 { color: #86efac !important; }
body.dark .text-yellow-600 { color: #fbbf24 !important; }
body.dark .text-purple-600 { color: #c084fc !important; }
body.dark .text-red-300 { color: #fca5a5 !important; }
body.dark .text-red-500 { color: #f87171 !important; }
body.dark .text-orange-300 { color: #fdba74 !important; }
body.dark .text-orange-500 { color: #fb923c !important; }
body.dark .text-blue-200 { color: #93c5fd !important; }
body.dark .text-blue-300 { color: #93c5fd !important; }
body.dark .shadow-sm { box-shadow: 0 1px 3px rgba(0,0,0,0.4) !important; }
body.dark .bg-primary { background-color: #0D47A1 !important; }
body.dark .bg-primary-dark { background-color: #0A3670 !important; }
body.dark .bg-gray-100 { background-color: #334155 !important; }
body.dark .bg-gray-50\/50 { background-color: rgba(30,41,59,0.5) !important; }
body.dark .bg-yellow-100 { background-color: rgba(113,63,18,0.3) !important; }
body.dark .bg-primary\/10 { background-color: rgba(147,197,253,0.15) !important; }
body.dark .bg-accent\/10 { background-color: rgba(34,211,238,0.15) !important; }
body.dark .bg-green\/10 { background-color: rgba(74,222,128,0.15) !important; }
body.dark .bg-white\/20 { background-color: rgba(255,255,255,0.1) !important; }
body.dark .bg-white\/10 { background-color: rgba(255,255,255,0.08) !important; }
body.dark .bg-blue-200 { background-color: rgba(96,165,250,0.3) !important; }
body.dark .filter-btn { background: #334155; color: #cbd5e1; border-color: #475569; }
body.dark .filter-btn:hover { background: #475569; }
body.dark .filter-btn.active { background: #0D47A1; color: #fff; border-color: #0D47A1; }
body.dark .region-btn { background: #334155; color: #cbd5e1; border-color: #475569; }
body.dark .region-btn:hover { background: #475569; }
body.dark .region-btn.active { background: #0D47A1; color: #fff; border-color: #0D47A1; }
body.dark .stage-pop { background: #1e293b; border-color: #334155; box-shadow: 0 10px 30px rgba(0,0,0,0.5); }
body.dark input[type="date"] { background-color: #334155; border-color: #475569; color: #e2e8f0; }
body.dark input[type="text"] { background-color: #334155; border-color: #475569; color: #e2e8f0; }
body.dark input[type="text"]::placeholder { color: #64748b; }
body.dark .sp-filter-btn { background: #334155; color: #cbd5e1; border-color: #475569; }
body.dark .sp-filter-btn:hover { background: #475569; }
body.dark .sp-filter-btn.bg-primary { background: #0D47A1; color: #fff; border-color: #0D47A1; }
body.dark a:not(.bg-gradient-to-br):not(.filter-btn):not(.region-btn) { color: #93c5fd; }
body.dark .hover\:bg-gray-50:hover { background-color: #334155 !important; }
body.dark .hover\:bg-blue-50\/50:hover { background-color: rgba(30,58,138,0.3) !important; }
body.dark .hover\:shadow-md:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.4) !important; }
body.dark .hover\:border-accent\/30:hover { border-color: rgba(34,211,238,0.3) !important; }
body.dark .hover\:border-yellow-500\/30:hover { border-color: rgba(251,191,36,0.3) !important; }
body.dark .hover\:text-primary:hover { color: #60a5fa !important; }
body.dark .hover\:text-gray-600:hover { color: #94a3b8 !important; }
body.dark .hover\:underline:hover { text-decoration-color: #94a3b8 !important; }
body.dark .hover\:bg-primary-dark:hover { background-color: #0A3670 !important; }
body.dark .kpi-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.4) !important; }
body.dark .breakdown-btn { border-color: #475569; color: #cbd5e1; }
body.dark .breakdown-btn:hover { border-color: #60a5fa; background: rgba(96,165,250,0.1); }
body.dark .breakdown-btn.active { border-color: #60a5fa; box-shadow: 0 0 0 2px rgba(96,165,250,0.3); }
body.dark .stage-header-row { background: #1e293b; }
body.dark .stage-header-row:hover { background: #334155; }
body.dark .stage-badge { border-color: #475569; }
body.dark .stage-filter { border-color: #475569; color: #cbd5e1; }
body.dark .stage-filter:hover { border-color: #60a5fa; background: rgba(96,165,250,0.1); }
body.dark .stage-filter.active { border-color: #60a5fa; box-shadow: 0 0 0 2px rgba(96,165,250,0.3); }
body.dark .wa-chip { background: rgba(147,51,234,0.2); color: #c084fc; border-color: rgba(147,51,234,0.3); }
body.dark .wa-chip:hover { background: rgba(147,51,234,0.3); }
body.dark .wa-msg-user { background: rgba(30,58,138,0.3); color: #e2e8f0; }
body.dark .wa-msg-ai { background: #1e293b; border-color: #334155; color: #e2e8f0; }
body.dark .bg-purple-50 { background-color: rgba(147,51,234,0.15) !important; }
body.dark .border-purple-300 { border-color: rgba(147,51,234,0.3) !important; }
body.dark .text-purple-700 { color: #c084fc !important; }
body.dark .hover\:bg-purple-100:hover { background-color: rgba(147,51,234,0.25) !important; }
body.dark table tbody tr:hover { background-color: rgba(51,65,85,0.5) !important; }
body.dark .bg-gradient-to-br { opacity: 0.9; }

/* ── S100 INV "PO: report" red highlight (PO Date missing in Odoo) ── */
.po-report-row { background-color: #fef2f2 !important; box-shadow: inset 3px 0 0 #ef4444; }
.po-report-row:hover { background-color: #fee2e2 !important; }
.po-report-badge { display: inline-block; background: #fee2e2; color: #b91c1c; border: 1px solid #fca5a5; border-radius: 9999px; padding: 0 0.5rem; font-size: 0.65rem; font-weight: 600; line-height: 1.4; vertical-align: middle; white-space: nowrap; }
body.dark .po-report-row { background-color: rgba(248,113,113,0.12) !important; box-shadow: inset 3px 0 0 #f87171; }
body.dark .po-report-row:hover { background-color: rgba(248,113,113,0.2) !important; }
body.dark .po-report-badge { background: rgba(248,113,113,0.18); color: #fca5a5; border-color: rgba(248,113,113,0.4); }

/* ── Inline / hard-coded colors that are not visible on dark backgrounds ── */
/* Dark blue text (stage headers, badges, chart tooltip labels) → light blue */
body.dark [style*="color:#0D47A1"] { color: #60a5fa !important; }
body.dark [style*="color:#0A3670"] { color: #60a5fa !important; }
body.dark [style*="color:#1A1A2E"] { color: #f1f5f9 !important; }
/* Dark blue fills (quarter chart bars, stage/status bar fills, badge tints) → visible blue */
body.dark [style*="background:#0D47A1"] { background-color: #3b82f6 !important; }
body.dark [style*="background:#0D47A122"] { background-color: rgba(96,165,250,0.18) !important; }
body.dark [style*="border-left-color:#0D47A1"] { border-left-color: #3b82f6 !important; }
/* Light tinted backgrounds (orange/red/green pills & group headers) → dark tinted */
body.dark .bg-orange-50 { background-color: rgba(251,146,60,0.15) !important; }
body.dark .bg-orange-100 { background-color: rgba(251,146,60,0.2) !important; }
body.dark .text-orange-600 { color: #fb923c !important; }
body.dark .bg-red-50 { background-color: rgba(248,113,113,0.15) !important; }
body.dark .bg-red-100 { background-color: rgba(248,113,113,0.2) !important; }
body.dark .bg-green\/15 { background-color: rgba(74,222,128,0.15) !important; }
body.dark .bg-blue-50 { background-color: rgba(96,165,250,0.12) !important; }
/* Hover states used by chips/buttons */
body.dark .hover\:bg-gray-100:hover { background-color: #334155 !important; }
body.dark .hover\:bg-gray-50\/60:hover { background-color: rgba(51,65,85,0.6) !important; }
body.dark .hover\:bg-red-50:hover { background-color: rgba(248,113,113,0.15) !important; }
body.dark .bg-green\/5 { background-color: rgba(74,222,128,0.08) !important; }
body.dark .hover\:bg-green\/10:hover { background-color: rgba(74,222,128,0.15) !important; }
body.dark .bg-accent\/5 { background-color: rgba(34,211,238,0.08) !important; }
body.dark .hover\:bg-accent\/10:hover { background-color: rgba(34,211,238,0.15) !important; }
