/* Visual-summary styles shared by /deepdive and /deepdivehistory.
   KPI stat cards + Chart.js chart frames on the dark theme. */
.vizwrap { margin: 6px 0 14px; }

.kpis { display: flex; flex-wrap: wrap; gap: 10px; margin: 8px 0 14px; }
.kpi {
  flex: 1 1 130px; min-width: 130px;
  background: #11151c; border: 1px solid var(--border, #262b36); border-radius: 10px;
  padding: 12px 14px;
}
.kpi-val { font-size: 20px; font-weight: 700; color: var(--text, #e6e9ef); line-height: 1.2; }
.kpi-lbl { font-size: 12px; color: var(--muted, #8b94a7); margin-top: 3px; }
.kpi-chg { font-size: 12px; font-weight: 600; margin-top: 6px; }
.kpi-chg.up { color: #36e0a4; }
.kpi-chg.down { color: #ff6b8a; }

.vgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.vtitle { font-size: 13px; color: var(--muted, #8b94a7); margin: 2px 0 6px; font-weight: 600; }
.vchart {
  position: relative; width: 100%; height: 240px;
  background: #11151c; border: 1px solid var(--border, #262b36); border-radius: 10px; padding: 10px 12px 6px;
}
.vchart-sm { max-width: 320px; margin: 0 auto; }
