/* ==========================================================================
   Chart Card
   The reusable wrapper around chart content — actual chart rendering logic
   is built alongside the Dashboard/Analytics pages that first need it.
   ========================================================================== */

.chart-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}

.chart-card-titles {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.chart-card-title {
  font-size: var(--font-size-h3);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}

.chart-card-subtitle {
  font-size: var(--font-size-small);
  color: var(--color-text-secondary);
}

.chart-card-actions {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.chart-card-legend {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  margin-top: var(--space-3);
}

.chart-legend-item {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--font-size-small);
  color: var(--color-text-secondary);
}

.chart-legend-swatch {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.chart-card-canvas-wrap {
  width: 100%;
  min-height: 240px;
}
