// =============================================================================
// DashboardPage — KPI tile grid + a grid of small trend charts + a couple of
// breakdown lists. Colocated with DashboardPage.tsx.
// =============================================================================

.kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
  gap: var(--space-sm);
  margin-bottom: var(--space-xl);
}

.kpi-tile {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: var(--space-md);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);

  &__value {
    font-family: var(--font-display);
    font-size: var(--font-size-xl);
    font-weight: 700;
    color: var(--color-text);
    font-variant-numeric: tabular-nums;
  }

  &__label {
    font-size: var(--font-size-xs);
    color: var(--color-text-muted);
  }
}

.chart-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
  gap: var(--space-md);
  margin-bottom: var(--space-xl);
}

.chart-card {
  padding: var(--space-md);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);

  &__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-sm);
    margin-bottom: var(--space-sm);

    h2 {
      font-size: var(--font-size-md);
    }
  }

  &__total {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    font-variant-numeric: tabular-nums;
  }
}

.breakdown {
  margin-bottom: var(--space-lg);

  h2 {
    font-size: var(--font-size-md);
    margin-bottom: var(--space-sm);
  }

  &__list {
    list-style: none;
    margin: 0;
    padding: 0;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    max-width: 30rem;

    li {
      display: flex;
      justify-content: space-between;
      gap: var(--space-md);
      padding: var(--space-sm) var(--space-md);
      border-bottom: 1px solid var(--color-border);
      font-size: var(--font-size-sm);

      &:last-child {
        border-bottom: none;
      }

      span:last-child {
        font-variant-numeric: tabular-nums;
        color: var(--color-text-muted);
      }
    }
  }
}
