/* ============================================================
   wenfei-erp · L1 设计令牌
   ⚠️ 唯一来源（INV2）：所有颜色 / 字号 / 间距 / 圆角只能来自本文件，
      页面里 ⛔ 不许出现裸色值 / 裸 px。
   来源：④-3 像素级视觉稿 `自研ERP_视觉稿/tokens/design-tokens.css`
         （开工时「按令牌重建」—— INV4：原型 ⛔ 不进本仓库，只搬令牌本身）
   定案出处：Q-SJG8（色板）/ Q-SJG9（字阶·密度）/ Q-SJG11（金额呈现）
   ============================================================ */

:root {
  /* ---------- 主色（Q-SJG8）---------- */
  --c-primary:        #1677FF;
  --c-primary-hover:  #4096FF;
  --c-primary-active: #0958D9;
  --c-primary-bg:     #E6F4FF;

  /* ---------- 中性九阶（Q-SJG8）---------- */
  --c-n0: #FFFFFF;
  --c-n1: #FAFAFA;
  --c-n2: #F5F5F5;
  --c-n3: #F0F0F0;
  --c-n4: #D9D9D9;
  --c-n5: #BFBFBF;
  --c-n6: #8C8C8C;
  --c-n7: #595959;
  --c-n8: #262626;

  /* ---------- 状态五语义（Q-SJG8 · §9.4 状态色铁律）---------- */
  --c-st-error:      #A8071A;  --c-st-error-bg:      #FFF1F0;  /* 异常 */
  --c-st-check:      #AD4E00;  --c-st-check-bg:      #FFF7E6;  /* 待核对 */
  --c-st-progress:   #0958D9;  --c-st-progress-bg:   #E6F4FF;  /* 进行中 */
  --c-st-done:       #237804;  --c-st-done-bg:       #F6FFED;  /* 已完成 */
  --c-st-draft:      #8C8C8C;  --c-st-draft-bg:      #FAFAFA;  /* 草稿·关闭 */

  /* ---------- 语义色 ---------- */
  --c-ok:     #237804;
  --c-warn:   #AD4E00;
  --c-danger: #A8071A;
  --c-info:   #0958D9;

  /* ---------- 图表 8 色（看板用 · 服务端 SVG 取色）---------- */
  --c-ch1: #1677FF;  --c-ch2: #13C2C2;
  --c-ch3: #52C41A;  --c-ch4: #FAAD14;
  --c-ch5: #FA8C16;  --c-ch6: #722ED1;
  --c-ch7: #EB2F96;  --c-ch8: #8C8C8C;

  /* ---------- 文本 / 底 / 线 ---------- */
  --t-1: #262626;
  --t-2: #595959;
  --t-3: #8C8C8C;
  --t-inv: #FFFFFF;

  --bg-page:  #F5F5F5;
  --bg-card:  #FFFFFF;
  --bg-hover: #FAFAFA;
  --bg-head:  #FAFAFA;

  --line:        #F0F0F0;
  --line-strong: #D9D9D9;

  /* ---------- 字阶（Q-SJG9）---------- */
  --fs-12: 12px;   /* 表头 · 最小字号 */
  --fs-13: 13px;   /* 列表正文（默认真身） */
  --fs-14: 14px;
  --fs-16: 16px;
  --fs-20: 20px;
  --fs-24: 24px;
  --lh:    1.5;

  /* ---------- 间距（基数 4 · Q-SJG9）---------- */
  --s1: 4px;   --s2: 8px;   --s3: 12px;  --s4: 16px;
  --s5: 20px;  --s6: 24px;  --s8: 32px;

  /* ---------- 圆角（Q-SJG9）---------- */
  --r4:   4px;    /* 输入 · 徽章 */
  --r8:   8px;    /* 卡片 */
  --r12:  12px;   /* 弹层 */
  --rpill: 999px; /* 药丸徽章 */

  /* ---------- 密度 ---------- */
  --row-h:    36px;   /* 表格行高 · 紧凑（默认） */
  --row-h-lg: 40px;
  --ctl-h:    32px;   /* 控件高 */

  /* ---------- 焦点环 / 阴影 / 遮罩 ---------- */
  --ring:     0 0 0 2px #E6F4FF;
  --shadow-1: 0 1px 2px rgba(0, 0, 0, .04);
  --shadow-2: 0 4px 16px rgba(0, 0, 0, .08);
  --scrim:    rgba(0, 0, 0, .25);   /* 弹层遮罩（批2 · INV2：页面里 ⛔ 不写裸 rgba）*/

  /* ---------- 布局 ---------- */
  --nav-w: 200px;
  --max-w: 1600px;   /* B5：容器最大宽居中 */
  --min-w: 1280px;   /* B5：最小可用 */
  --cb-w:  32px;     /* B2：复选框列宽（冻结位 `--freeze-x` 变体用）*/
  --freeze-x: 140px; /* B2：冻结第 2 列的左侧偏移（默认 = 列表壳双冻结列宽 140+140）*/

  /* ---------- 列宽与线宽（⛔ 页面里不写裸 px 的"集中口子"）---------- */
  --col-key-w:  140px;  /* 单号 / 客户列宽（⚠️ 必须与 --freeze-x 一致，否则冻结位对不上）*/
  --col-min-w:   96px;  /* 最小列宽 */
  --col-num-w:   88px;  /* 数字列最小宽 */
  --col-wide-w: 220px;  /* 宽列（商品名 / 单位名）*/
  --bw:           1px;  /* 边框宽度 */

  /* ---------- 深色位：v1 ⛔ 不写值、只留位（Q-SJG7）---------- */
}

/* 深色模式占位（Q-SJG7：v1 不做、令牌层预留）
[data-theme="dark"] { }   ← 值留给 v2
*/

/* ============================================================
   基础重置（仅重置用到的；⛔ 不引任何外部 CSS / webfont）
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  /* Q-SJG9：中文优先系统栈（⛔ 不引 webfont） */
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI",
               "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",
               "Source Han Sans SC", sans-serif;
  font-size: var(--fs-13);
  line-height: var(--lh);
  color: var(--t-1);
  background: var(--bg-page);
}

h1, h2, h3, h4, p, figure { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
a { color: var(--c-primary); text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
table { border-collapse: collapse; border-spacing: 0; }

/* B13：数字列一律等宽 */
.mono, .num, .tbl td.is-num, .tbl th.is-num {
  font-variant-numeric: tabular-nums;
  font-family: "SF Mono", "Menlo", "Consolas", "Courier New", monospace;
}

/* 焦点可见（键盘可用 · §9.1） */
:focus-visible { outline: none; box-shadow: var(--ring); }
