:root {
  /* プライマリカラー（青系グラデーション） */
  --primary-gradient-start: #1e3a5f;
  --primary-gradient-end: #2d5a87;
  --primary-blue: #0d6efd;
  --primary-blue-light: #3d8bfd;
  --primary-blue-dark: #0a58ca;

  /* セカンダリカラー */
  --secondary-gray: #6c757d;
  --secondary-gray-light: #adb5bd;

  /* 背景色 */
  --bg-main: #f4f6f9;
  --bg-card: #ffffff;
  --bg-sidebar: #1e3a5f;

  /* テキスト */
  --text-primary: #212529;
  --text-secondary: #6c757d;
  --text-on-primary: #ffffff;

  /* KPIカード色（前年比） */
  --kpi-positive: #28a745;
  --kpi-negative: #dc3545;

  /* グラフカラーパレット */
  --chart-color-1: #0d6efd;
  --chart-color-2: #6610f2;
  --chart-color-3: #6f42c1;
  --chart-color-4: #d63384;
  --chart-color-5: #dc3545;
  --chart-color-6: #fd7e14;
  --chart-color-7: #ffc107;
  --chart-color-8: #20c997;
  --chart-color-9: #0dcaf0;
  --chart-color-10: #6c757d;

  /* ボーダー・シャドウ */
  --border-radius-card: 0.5rem;
  --box-shadow-card: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --box-shadow-hover: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);

  /* スペーシング */
  --spacing-xs: 0.25rem;
  --spacing-sm: 0.5rem;
  --spacing-md: 1rem;
  --spacing-lg: 1.5rem;
  --spacing-xl: 2rem;
}

body {
  background-color: var(--bg-main);
  color: var(--text-primary);
}
