/* ═══════════════════════════════════════════
   Design Tokens - 家計簿ダッシュボード
   ═══════════════════════════════════════════ */

:root {
  /* ─── Primary Colors ─── */
  --primary: #2563eb;
  --primary-hover: #1d4ed8;
  --primary-light: #eff6ff;
  --primary-gradient: linear-gradient(135deg, #2563eb, #7c3aed);

  /* ─── Semantic Colors ─── */
  --success: #10b981;
  --success-light: #ecfdf5;
  --danger: #ef4444;
  --danger-light: #fef2f2;
  --warning: #f59e0b;
  --warning-light: #fffbeb;

  /* ─── Surface Colors ─── */
  --bg: #f0f2f8;
  --bg-secondary: #e8eaf3;
  --card-bg: rgba(255, 255, 255, 0.72);
  --card-bg-solid: #ffffff;
  --card-border: rgba(255, 255, 255, 0.5);

  /* ─── Text Colors ─── */
  --text-main: #0f172a;
  --text-sub: #475569;
  --text-muted: #94a3b8;

  /* ─── Border ─── */
  --border: rgba(15, 23, 42, 0.08);
  --border-hover: rgba(15, 23, 42, 0.15);

  /* ─── Shadows ─── */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.06), 0 2px 8px rgba(0, 0, 0, 0.04);
  --shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.08), 0 4px 16px rgba(0, 0, 0, 0.04);
  --shadow-glow: 0 0 20px rgba(37, 99, 235, 0.15);

  /* ─── Border Radius ─── */
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 28px;

  /* ─── Glass Effect ─── */
  --glass-bg: rgba(255, 255, 255, 0.6);
  --glass-blur: 20px;
  --glass-border: 1px solid rgba(255, 255, 255, 0.7);

  /* ─── Animation ─── */
  --spring: cubic-bezier(0.32, 0.72, 0, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --trans-fast: 0.2s cubic-bezier(0.32, 0.72, 0, 1);
  --trans-normal: 0.35s cubic-bezier(0.32, 0.72, 0, 1);

  /* ─── Z-Index Scale ─── */
  --z-nav: 9000;
  --z-modal: 10000;
  --z-modal-nested: 10100;
  --z-modal-critical: 10200;
  --z-loader: 99999;
}
