:root {
  --bg-body: #e3e9f7;
  --bg-sidebar: #ffffff;
  --bg-card: #ffffff;
  --bg-input: #ffffff;
  --text-primary: #0a0a0a;
  --text-secondary: #6b6b6b;
  --text-on-accent: #e3e9f7;
  --border-color: #e3e9f7;
  --border-input: #ccc;
  --accent: #4f46e5;
  --accent-hover: #4338ca;
  --hover-bg: #e3e9f7;
  --shadow: rgba(0,0,0,0.08);
  --table-stripe: #f8f9ff;
}

body.dark {
  --bg-body: #0f172a;
  --bg-sidebar: #1e293b;
  --bg-card: #1e293b;
  --bg-input: #334155;
  --text-primary: #e2e8f0;
  --text-secondary: #94a3b8;
  --text-on-accent: #e2e8f0;
  --border-color: #334155;
  --border-input: #475569;
  --accent: #6366f1;
  --accent-hover: #818cf8;
  --hover-bg: #334155;
  --shadow: rgba(0,0,0,0.3);
  --table-stripe: #1e293b;
}

body.dark .filtro-bar,
body.dark .tabela-wrap,
body.dark .grafico-wrap,
body.dark .cards .card { background: var(--bg-card) !important; }

body.dark .filtro-bar input,
body.dark .filtro-bar select { background: var(--bg-input) !important; color: var(--text-primary) !important; border-color: var(--border-input) !important; }

body.dark .filtro-bar label { color: var(--text-secondary) !important; }

body.dark .tabela-wrap th { color: var(--text-secondary) !important; border-bottom-color: var(--border-color) !important; }
body.dark .tabela-wrap td { border-bottom-color: var(--border-color) !important; }
body.dark .tabela-wrap tr:hover td { background: var(--hover-bg) !important; }

body.dark .grafico-wrap h3 { color: var(--text-primary) !important; }

body.dark .info-header span { color: var(--text-primary) !important; }
body.dark .info-header strong { color: var(--accent) !important; }

body.dark .filtros label { background: var(--bg-card) !important; border-color: var(--border-color) !important; color: var(--text-primary) !important; }

body.dark .legend { background: var(--bg-card) !important; color: var(--text-primary) !important; }

body.dark .cards .card .rotulo { color: var(--text-secondary) !important; }
body.dark .cards .card .num { color: var(--accent) !important; }

body.dark h2 { color: var(--text-primary); }
body.dark main p, body.dark main span:not(.item-description) { color: var(--text-primary); }

