/* ============================================
   GeekOzon ERP - Design Tokens
   设计语言：Linear/Vercel/Stripe 克制现代风
   靛蓝主色 + 炭黑侧栏 + 冷白底 + 4pt 网格
   ============================================ */

:root {
  /* === 主色调（靛蓝 Indigo）=== */
  --color-primary: #6366F1;
  --color-primary-light: #818CF8;
  --color-primary-dark: #4F46E5;
  --color-primary-gradient: linear-gradient(135deg, #6366F1 0%, #818CF8 100%);
  /* RGB 形式，便于 rgba() 使用 */
  --color-primary-rgb: 99, 102, 241;
  --color-primary-light-rgb: 129, 140, 248;

  /* === 辅助/语义色 === */
  --color-accent-blue: #3B82F6;
  --color-accent-green: #10B981;
  --color-accent-red: #EF4444;
  --color-accent-purple: #8B5CF6;
  --color-accent-yellow: #F59E0B;
  --color-accent-cyan: #06B6D4;
  --color-accent-orange: #F97316;

  /* === 背景色 === */
  --bg-body: #F5F6F8;
  --bg-white: #FFFFFF;
  --bg-card: #FFFFFF;
  --bg-sidebar: #FFFFFF;
  --bg-sidebar-hover: #F3F4F6;
  --bg-sidebar-active: rgba(99, 102, 241, 0.08);
  --bg-overlay: rgba(15, 23, 42, 0.55);
  --bg-input: #F3F4F7;
  --bg-secondary: #F7F8FA;
  --bg-hover: #F3F4F7;

  /* === 文字颜色（Slate 灰阶）=== */
  --text-primary: #0F172A;
  --text-secondary: #475569;
  --text-tertiary: #94A3B8;
  --text-inverse: #111827;
  --text-sidebar: #374151;
  --text-sidebar-active: #6366F1;
  --text-link: var(--color-primary);

  /* === 边框与分割线 === */
  --border-color: #E5E7EB;
  --border-color-light: #EEF0F4;
  --border-color-lighter: #F3F4F7;
  --divider-color: #EEF2F6;

  /* === 阴影（精致分层）=== */
  --shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.04);
  --shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.05), 0 1px 2px rgba(15, 23, 42, 0.03);
  --shadow-md: 0 4px 12px rgba(15, 23, 42, 0.06), 0 2px 4px rgba(15, 23, 42, 0.04);
  --shadow-lg: 0 12px 32px rgba(15, 23, 42, 0.10), 0 4px 8px rgba(15, 23, 42, 0.06);
  --shadow-xl: 0 20px 48px rgba(15, 23, 42, 0.14), 0 8px 16px rgba(15, 23, 42, 0.08);
  --shadow-card-hover: 0 12px 32px rgba(99, 102, 241, 0.14), 0 4px 8px rgba(15, 23, 42, 0.06);
  --shadow-primary: 0 4px 14px rgba(99, 102, 241, 0.30);

  /* === 圆角（现代感，略大）=== */
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 20px;
  --radius-2xl: 24px;
  --radius-full: 999px;

  /* === 字体 === */
  --font-display: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'Consolas', monospace;

  /* === 字号 === */
  --text-xs: 11px;
  --text-sm: 13px;
  --text-base: 14px;
  --text-md: 15px;
  --text-lg: 17px;
  --text-xl: 20px;
  --text-2xl: 24px;
  --text-3xl: 30px;

  /* === 间距（4pt 基线网格）=== */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;

  /* === 布局尺寸 === */
  --header-height: 64px;
  --sidebar-width: 256px;
  --sidebar-collapsed-width: 72px;

  /* === 过渡动画 === */
  --transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-sidebar: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --ease-spring: cubic-bezier(0.16, 1, 0.3, 1);
}

/* === 暗色模式变量（预留）=== */
@media (prefers-color-scheme: dark) {
  :root {
    --bg-body: #0B0B11;
    --bg-card: #15151E;
    --bg-input: #1E1E2A;
    --bg-secondary: #1A1A24;
    --bg-hover: #1E1E2A;
    --text-primary: #F1F5F9;
    --text-secondary: #94A3B8;
    --text-tertiary: #64748B;
    --border-color: #2A2A38;
    --border-color-light: #22222E;
    --border-color-lighter: #1E1E2A;
    --divider-color: #1E1E2A;
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.5);
  }
}
