/* Reports — Demo tokens */
.rep-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 18px; }
.rep-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 14px; }
.rep-card { padding: 20px 24px; }
.rep-card h3 { font-size: 16px; font-weight: 700; margin: 0 0 12px; }
.compare-num { font-size: 30px; font-weight: 700; letter-spacing: -0.04em; font-variant-numeric: tabular-nums; }
.donut-wrap { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.donut { width: 150px; height: 150px; border-radius: 50%; flex: none; }
.donut-legend { font-size: 13px; display: flex; flex-direction: column; gap: 7px; }
.donut-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 7px; }
.heat-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 5px; }
.heat-cell { aspect-ratio: 1.4; border-radius: 6px; display: flex; align-items: flex-end; justify-content: center; font-size: 10px; color: var(--muted-2); padding-bottom: 3px; }
.heat-labels { display: flex; justify-content: space-between; font-size: 11px; color: var(--muted-2); margin-top: 6px; }
.hour-row { display: flex; align-items: center; gap: 10px; font-size: 13px; padding: 4px 0; }
.hour-row span:first-child { width: 52px; color: var(--muted); }
@media (max-width: 1000px) {
  .rep-stats { grid-template-columns: repeat(2, 1fr); }
  .rep-grid { grid-template-columns: 1fr; }
}
