:root {
  --sm-bg: #f5f6f8;
  --sm-nav: #1f3a5f;
  --sm-card: #ffffff;
  --sm-muted: #6b7280;
}
body { background: var(--sm-bg); }
.sm-navbar { background: var(--sm-nav); }
.card { border: 0; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.kpi .card-body { padding: .75rem 1rem; }
.kpi .kpi-label { font-size: .8rem; color: var(--sm-muted); text-transform: uppercase; letter-spacing: .03em; }
.kpi .kpi-value { font-size: 1.6rem; font-weight: 600; line-height: 1.2; }
.kpi .kpi-unit { font-size: .9rem; color: var(--sm-muted); margin-left: .2rem; }
.kpi .kpi-sub { font-size: .8rem; color: var(--sm-muted); }
.chart-box { position: relative; height: 420px; }
.chart-box.small { height: 280px; }
.status-ok { color: #198754; }
.status-alt { color: #b45309; }
.status-leer { color: #dc3545; }
.table-sm td, .table-sm th { vertical-align: middle; }
.sm-toolbar .btn.active { background: var(--sm-nav); color: #fff; border-color: var(--sm-nav); }
.busy { opacity: .6; pointer-events: none; }
