/* ===== Dashboard ===== */
.dashboard-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--spacing-md); margin-bottom: var(--spacing-lg); }
.stat-card { background: #fff; border-radius: var(--border-radius-lg); padding: var(--spacing-lg); box-shadow: var(--shadow-sm); }
.stat-card .stat-label { font-size: 14px; color: var(--text-secondary); margin-bottom: 8px; }
.stat-card .stat-value { font-size: 28px; font-weight: 700; }
.stat-card .stat-sub { font-size: 12px; color: var(--text-tertiary); margin-top: 4px; }
.stat-card .stat-change { font-size: 12px; margin-left: 8px; }
.stat-card .stat-change.up { color: var(--color-success); }
.stat-card .stat-change.down { color: var(--color-error); }

.dashboard-charts { display: grid; grid-template-columns: 1fr 1fr; gap: var(--spacing-md); margin-bottom: var(--spacing-lg); }
.chart-card { background: #fff; border-radius: var(--border-radius-lg); padding: var(--spacing-lg); box-shadow: var(--shadow-sm); }
.chart-card h3 { font-size: 16px; font-weight: 600; margin-bottom: var(--spacing-md); }
.chart-card .chart-wrap { position: relative; height: 300px; }

.dashboard-table-section { background: #fff; border-radius: var(--border-radius-lg); padding: var(--spacing-lg); box-shadow: var(--shadow-sm); }
.dashboard-table-section h3 { font-size: 16px; font-weight: 600; margin-bottom: var(--spacing-md); }

@media (max-width: 768px) {
  .dashboard-charts { grid-template-columns: 1fr; }
}
