/* ============================================
   通用 BI 系统 - Design System Tokens
   遵循开发手册 13A 规范
   ============================================ */

:root {
  color-scheme: light;
  --control-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.92));
  --control-disabled-bg: #f1f5f9;
  /* === 主色调 === */
  --color-primary: #2563eb;
  --color-primary-hover: #1d4ed8;
  --color-primary-light: #dbeafe;
  --color-primary-bg: #eff6ff;

  /* === 功能色 === */
  --color-success: #16a34a;
  --color-success-light: #dcfce7;
  --color-danger: #dc2626;
  --color-danger-hover: #b91c1c;
  --color-danger-light: #fee2e2;
  --color-warning: #f59e0b;
  --color-warning-light: #fef3c7;
  --color-info: #64748b;

  /* === 中性色 === */
  --color-white: #ffffff;
  --color-bg: #f1f5f9;
  --color-bg-panel: #ffffff;
  --color-border: #e2e8f0;
  --color-border-light: #f1f5f9;

  /* === 文字色 === */
  --color-text-primary: #0f172a;
  --color-text-secondary: #475569;
  --color-text-tertiary: #94a3b8;
  --color-text-inverse: #ffffff;
  --color-text-link: #2563eb;

  /* === 导航色 === */
  --color-nav-bg: #1e293b;
  --color-nav-text: #cbd5e1;
  --color-nav-text-active: #ffffff;
  --color-nav-hover: #334155;
  --color-nav-active: #2563eb;

  /* === 表格色 === */
  --color-table-header-bg: #f1f5f9;
  --color-table-header-text: #475569;
  --color-table-row-hover: #f8fafc;
  --color-table-border: #e2e8f0;

  /* === 字体 === */
  --font-family-base: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC',
    'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial,
    sans-serif;
  --font-family-mono: 'SF Mono', 'Fira Code', 'Fira Mono', 'Roboto Mono',
    'Consolas', 'Monaco', monospace;

  --font-size-xs: 11px;
  --font-size-sm: 12px;
  --font-size-base: 13px;
  --font-size-md: 14px;
  --font-size-lg: 16px;
  --font-size-xl: 20px;
  --font-size-2xl: 24px;
  --font-size-3xl: 30px;

  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --font-weight-black: 900;

  /* === 特殊色（总览页） === */
  --color-chart-bg: #eef2f7;
  --color-danger-alt: #ef4444;

  /* === 间距 === */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;

  /* === 圆角 === */
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;

  /* === 阴影 === */
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  --shadow-dropdown: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);

  /* === 控件尺寸 === */
  --control-height: 34px;
  --control-height-sm: 28px;
  --control-height-lg: 40px;

  /* === 布局 === */
  --sidebar-width: 220px;
  --sidebar-collapsed-width: 60px;
  --topbar-height: 52px;

  /* === 过渡 === */
  --transition-fast: 150ms ease;
  --transition-normal: 250ms ease;
}

:root[data-theme='dark'] {
  color-scheme: dark;
  --control-surface: linear-gradient(180deg, rgba(30, 41, 59, 0.92), rgba(15, 23, 42, 0.88));
  --control-disabled-bg: #1e293b;

  /* === 主色调 === */
  --color-primary: #60a5fa;
  --color-primary-hover: #93c5fd;
  --color-primary-light: rgba(96, 165, 250, 0.2);
  --color-primary-bg: rgba(37, 99, 235, 0.16);

  /* === 功能色 === */
  --color-success: #4ade80;
  --color-success-light: rgba(34, 197, 94, 0.18);
  --color-danger: #f87171;
  --color-danger-hover: #fca5a5;
  --color-danger-light: rgba(248, 113, 113, 0.18);
  --color-warning: #fbbf24;
  --color-warning-light: rgba(245, 158, 11, 0.18);
  --color-info: #94a3b8;

  /* === 中性色 === */
  --color-white: #111827;
  --color-bg: #0b1120;
  --color-bg-panel: #111827;
  --color-border: #334155;
  --color-border-light: #1f2937;

  /* === 文字色 === */
  --color-text-primary: #e5edf7;
  --color-text-secondary: #cbd5e1;
  --color-text-tertiary: #7f8ea3;
  --color-text-inverse: #020617;
  --color-text-link: #93c5fd;

  /* === 导航色 === */
  --color-nav-bg: #020617;
  --color-nav-text: #94a3b8;
  --color-nav-text-active: #f8fafc;
  --color-nav-hover: #111827;
  --color-nav-active: #2563eb;

  /* === 表格色 === */
  --color-table-header-bg: #172033;
  --color-table-header-text: #cbd5e1;
  --color-table-row-hover: #162033;
  --color-table-border: #2b3748;

  /* === 特殊色（总览页） === */
  --color-chart-bg: #182235;
  --color-danger-alt: #fb7185;

  /* === 阴影 === */
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.35);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.28);
  --shadow-lg: 0 18px 46px rgba(0, 0, 0, 0.36);
  --shadow-dropdown: 0 18px 48px rgba(0, 0, 0, 0.44);
}
