/**
 * Minimal Bootstrap 5 overrides: SPA tabs, chart wrappers, KPI cards, tables, nav.
 */
body { font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; padding-bottom: 2rem; }
.card { border-radius: 6px; }
.table th { font-weight: 600; color: #495057; }
.text-muted { font-size: 0.9rem; }
.btn-sm { padding: 0.2rem 0.5rem; font-size: 0.75rem; }
.navbar-dark .navbar-nav .nav-link.active { color: #fff; }
.tab-section:not(.active) { display: none; }
.tab-section.active { display: block; }
.chart-wrap { position: relative; width: 100%; min-height: 220px; max-height: 320px; }
.chart-wrap--wide { min-height: 260px; max-height: 360px; }
.chart-wrap--donut { min-height: 240px; max-height: 280px; max-width: 320px; }
.kpi-card { cursor: pointer; outline: none; }
.kpi-card:hover,
.kpi-card:focus-visible { box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.08) !important; }
.kpi-card.is-active { box-shadow: 0 0 0 2px #0d6efd inset; }
.dash-recent-table th,
.dash-recent-table td { vertical-align: middle; font-size: 0.875rem; }
