/* ============================================================
   Fusion — Charts & Reports
   ============================================================ */

.chart-container {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: var(--sp-5);
}

.chart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--sp-4);
}

.chart-title {
  font-size: var(--text-base);
  font-weight: var(--fw-semibold);
  color: var(--text-primary);
}

.chart-subtitle {
  font-size: var(--text-xs);
  color: var(--text-muted);
  margin-top: 2px;
}

.chart-canvas-wrapper {
  position: relative;
  width: 100%;
}

.chart-canvas-wrapper canvas {
  max-width: 100%;
}

/* Date Range Picker */
.date-range-picker {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  background: var(--bg-elevated);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  padding: var(--sp-1) var(--sp-2);
}

.date-range-picker input[type="date"] {
  background: none;
  color: var(--text-primary);
  font-size: var(--text-xs);
  padding: var(--sp-1);
  border-radius: var(--radius-sm);
  cursor: pointer;
}

.date-range-picker .range-sep {
  color: var(--text-muted);
  font-size: var(--text-xs);
}

/* Report Table */
.report-table-container {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

/* KPI Block */
.kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: var(--sp-3);
}

.kpi-card {
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: var(--sp-4);
  text-align: center;
}

.kpi-value {
  font-size: var(--text-2xl);
  font-weight: var(--fw-extrabold);
  color: var(--text-primary);
  margin-bottom: var(--sp-1);
}

.kpi-label {
  font-size: var(--text-xs);
  color: var(--text-muted);
}

/* Occupancy Heatmap */
.occupancy-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}

.occupancy-cell {
  aspect-ratio: 1;
  border-radius: var(--radius-sm);
  transition: transform var(--transition-fast);
  cursor: default;
}

.occupancy-cell:hover { transform: scale(1.2); }
.occupancy-cell.occ-0 { background: var(--bg-elevated); }
.occupancy-cell.occ-1 { background: rgba(46, 204, 113, 0.2); }
.occupancy-cell.occ-2 { background: rgba(46, 204, 113, 0.4); }
.occupancy-cell.occ-3 { background: rgba(46, 204, 113, 0.6); }
.occupancy-cell.occ-4 { background: rgba(46, 204, 113, 0.8); }
.occupancy-cell.occ-5 { background: var(--success); }
