/* ═══════════════════════════════════════════════════════════
   苏河汇 · 设计令牌（全站唯一定义处；新增色值/圆角/层级先加 token）
   主题：:root = 亮色基准；[data-theme="dark"] = 暗色覆盖。
   颜色类 token 暗色必须全量重定义（test_style_lint 奇偶校验守护）；
   非颜色 token（圆角/字体/层级/动效）两主题共用，dark 块不重复。
   切换：partials/theme_init.html（防闪烁）+ common.js toggleTheme。
   ═══════════════════════════════════════════════════════════ */

:root {
  color-scheme: light;
  --fg: #1a1a1a; --fg2: #6b6b6b; --fg3: #b0b0b0;
  --bg: #fafaf8; --surface: #fff; --line: #e8e8e4;
  --green: #10b981; --amber: #f59e0b; --blue: #3b82f6; --red: #ef4444;
  /* 语义色阶（浅底/深字/描边）——badge/toast/行底色统一引用 */
  --success-bg: #ecfdf5; --success-text: #059669; --success-line: #a7f3d0;
  --danger-bg: #fef2f2; --danger-text: #dc2626; --danger-line: #fecaca;
  --warn-bg: #fffbeb; --warn-text: #d97706;
  --yellow: #ca8a04; --yellow-bg: #fefce8;   /* 第四态：未匹配/缺数据（与 warn 橙区分） */
  --info-bg: #eff6ff; --info-text: #2563eb; --info-line: #bfdbfe;
  /* 对比页业务功能色（系统侧/员工侧/审计归因——功能语义，非装饰色） */
  --sys-side: #1a56db; --emp-side: #0e7490; --audit-accent: #8e44ad;
  /* 灰阶交互系（hover/填充/浅底——值取全站现用值） */
  --fill: #f0f0ea; --fill-soft: #f5f5f0; --fill-hover: #f6f6f2; --bg-subtle: #fafaf7;
  --fg-hover: #333; --line-strong: #ccc;
  /* 语义深档（hover 深字/警示深字/信息深字） */
  --danger-strong: #b91c1c; --warn-deep: #92400e; --info-deep: #1e40af;
  --warn-bg-deep: #fef3c7; --warn-line: #fde68a;
  /* 双差信号（审计 fg-signal.both-bad：系统+员工双侧异常） */
  --both-bad: #7c3aed; --both-bad-bg: #faf5ff; --both-bad-line: #e9d5ff;
  /* 反白字：var(--fg) 底 / 饱和彩底之上的文字（暗色随底亮转深，白字对比才不塌） */
  --fg-invert: #fff;
  /* 浮层：遮罩两档（抽屉/弹窗）+ 加载遮罩 + 下拉面板阴影（暗色需加深否则不可见） */
  --overlay: rgba(0,0,0,0.15); --overlay-strong: rgba(0,0,0,0.2);
  --overlay-loading: rgba(255,255,255,0.6);
  --shadow-panel: 0 8px 24px rgba(0,0,0,0.10);
  /* 圆角三档（收敛 5/6→s、8/10→m、12→l） */
  --radius-s: 6px; --radius-m: 8px; --radius-l: 12px;
  /* 字体栈（等宽用于金额/编号） */
  --font-sans: "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", sans-serif;
  --font-mono: "SF Mono", "Menlo", monospace;
  /* 层级：下拉 < 遮罩 < 抽屉 < 弹窗/Toast */
  --z-dropdown: 50; --z-overlay: 100; --z-drawer: 150; --z-top: 200;
  /* 动效档位（交互过渡统一律动）：hover/微反馈走 fast，位移/展开走 slow */
  --t-fast: 0.15s ease; --t-slow: 0.3s ease;
}

/* ═══ 暗色主题（语义色深底浅字，同 Tailwind 色阶对位推导）═══ */
[data-theme="dark"] {
  color-scheme: dark;
  --fg: #ececea; --fg2: #a0a09e; --fg3: #6e6e6c;
  --bg: #131312; --surface: #1c1c1b; --line: #2c2c2b;
  --green: #34d399; --amber: #fbbf24; --blue: #60a5fa; --red: #f87171;
  --success-bg: #0a2e22; --success-text: #34d399; --success-line: #0f5c42;
  --danger-bg: #3a1417; --danger-text: #f87171; --danger-line: #7a2226;
  --warn-bg: #32240a; --warn-text: #fbbf24;
  --yellow: #eab308; --yellow-bg: #2c260b;
  --info-bg: #14263f; --info-text: #60a5fa; --info-line: #1f4d8f;
  --sys-side: #93c5fd; --emp-side: #22d3ee; --audit-accent: #c084fc;
  --fill: #242423; --fill-soft: #202020; --fill-hover: #292928; --bg-subtle: #191918;
  --fg-hover: #f6f6f4; --line-strong: #4c4c4b;
  --danger-strong: #fca5a5; --warn-deep: #fcd34d; --info-deep: #93c5fd;
  --warn-bg-deep: #3a2a0c; --warn-line: #7a5410;
  --both-bad: #a78bfa; --both-bad-bg: #251b3d; --both-bad-line: #4c3378;
  --fg-invert: #131312;
  --overlay: rgba(0,0,0,0.55); --overlay-strong: rgba(0,0,0,0.65);
  --overlay-loading: rgba(19,19,18,0.6);
  --shadow-panel: 0 8px 24px rgba(0,0,0,0.55);
}
