/* ============================================================
 * 智企办公 · 商家端设计令牌层（源力设计系统 / Yuanli）
 * ------------------------------------------------------------
 * 位置：public/m/theme.css —— 商家端物理隔离目录，客户端不引用。
 * 依据：源力设计系统（dl_builtin_volcengine）colors_and_type.css，
 *       按本项目实际消费面裁剪，去掉仅供设计库预览页使用的别名段。
 *
 * 🔴 命名隔离（2026-10-06 落地前实测）：
 *   本项目既有令牌是 --pri / --t1..--t5 / --line* / --bd* / --r-* / --sh*；
 *   源力令牌是 --color-* / --primary-1..8 / --text-* / --bg-* / --radius-* / --shadow-*。
 *   两套命名空间零重叠，且全 public/ 目录对 --color-/--text-/--bg-/--border-/
 *   --primary-/--radius-/--shadow-/--space-/--font-size- 的引用数均为 0，
 *   故此处定义 :root 变量不会改变任何既有规则的行为。
 *
 * 设计基准：4px 栅格、32px 操作高度、48px 导航高度、仅亮色模式。
 * ============================================================ */
:root{
  /* ── 主色阶（Notion 蓝 #0075DE，2026-10-25 掌柜拍板；由 hsl(208°,100%,43.5%) 派生八档）──
   * 为什么换：DESIGN.md 规定「#0075de 是系统里唯一的彩色承诺」——饱和到能被读成一个开关，
   *   而其余行动一律走 ghost/文字样式。原源力蓝 #1664FF 同构但色相偏紫、且与 DESIGN.md 的
   *   参照值不一致。派生方法保持与本文件原八档同样的语义（5=hover 亮 / 7=click 暗），
   *   色相恒定 208°、只动亮度，故 hover/focus/press 的相对关系不漂移。
   * 对比度：白字压 #0075DE = 4.57:1（过 WCAG AA 4.5；原 #1664FF 为 4.88）——达标但余量变小，
   *   故主按钮文字必须 ≥14px/500（见 S3），并在验收单留 contrast-calc 复算值。 */
  --primary-1:#EDF4FD; --primary-2:#D8E8FB; --primary-3:#A9CBF4; --primary-4:#6BA2E9;
  --primary-5:#007EF0; --primary-6:#0075DE; --primary-7:#0064C2; --primary-8:#0054A3;

  /* ── 语义：主色与交互态 ── */
  --color-primary:var(--primary-6);
  --color-primary-hover:var(--primary-5);
  --color-primary-click:var(--primary-7);
  --color-primary-bg:var(--primary-1);
  --color-primary-tag-bg:var(--primary-2);
  --color-on-primary:#FFFFFF;
  --color-link:#0075DE;
  --color-link-hover:var(--primary-5);
  --state-hover:rgba(0,117,222,.08);
  --state-focus:rgba(0,117,222,.12);
  --state-press:rgba(0,117,222,.16);

  /* ── 文本四档 ── */
  --color-text-1:#0C0D0E; --color-text-2:#42464E; --color-text-3:#737A87; --color-text-4:#C7CCD6;
  --color-text-disabled:#C7CCD6;

  /* ── 背景与面 ──
   * 🔴 2026-10-25 Notion 重构：`--color-bg-page` 由纯白 #FFFFFF 改为**暖纸底 #F6F5F4**。
   *   这是 DESIGN.md 的签名特征（"warm off-white canvas that feels tactile rather than
   *   clinical"），且商家端 shell.css:21 的 `.shell.hc-m{background:var(--color-bg-page)}`
   *   **已经消费这个令牌** ⇒ 改这一行即全站级联，卡片面 `--color-bg-1` 保持纯白不动
   *   （DESIGN.md 明令：不得把暖卡片放在白页面上颠倒层级）。
   * ⚠️ `--color-bg-4`（hover 浅灰，48 个消费点）与 `--color-table-header-bg` **刻意保持中性**：
   *   实测暖化后 `--color-text-3` 对比度由 4.06 掉到 3.83–3.97，为色相统一牺牲可读性不划算。 */
  --color-bg-1:#FFFFFF; --color-bg-2:#FCFBF9; --color-bg-4:#F6F8FA; --color-bg-5:#F1F3F5;
  --color-bg-page:#F6F5F4; --color-bg-card:#FFFFFF;
  --color-bg-hover:#F2F3F5; --color-bg-subtle:#F6F8FA;

  /* ── 描边三档 ──
   * 🔴 2026-10-25 Notion 重构：改**发丝线**而非固定色值。DESIGN.md 规定卡片分隔一律
   *   `1px solid rgba(0,0,0,.08)`、不用阴影。用 alpha 而非 hex 的好处是随承载面自适应：
   *   压在白卡上得 #EBEBEB、压在暖纸底上自动得 #E4E1DF —— 同一份令牌两种表面都对。
   *   （固定 hex 只能对准其中一个，另一个会发脏。） */
  --color-border:rgba(0,0,0,.14); --color-border-2:rgba(0,0,0,.08); --color-border-3:rgba(0,0,0,.14);

  /* ── 状态色（各配 -bg 弱化底）── */
  --color-success:#2A814B; --color-success-bg:#E1F6E6;
  --color-warning:#BD7E00; --color-warning-bg:#FFF3DC;
  --color-danger:#D7312A;  --color-danger-bg:#FFECEC;
  --color-info:#1664FF;    --color-info-bg:#EBF1FF;

  /* ── 采集来源（2026-10-11 掌柜批准的**唯一色相破例**）──
   * 用途：商家端商品管理列表的「1688货源」徽章（实心底）。
   * 为什么破例：源力约定是「单一主色 + 中性色 + 状态色」，而这枚标记要**一眼认出是 1688**；
   *   掌柜点选橙方案并明确「要的就是一眼就是 1688」⇒ 批准新增此色相。**绿/黄/红/蓝的语义不变**：
   *   这件 badge 落在**名称列**，与状态列（绿·在售 / 黄·缺货 / 红·停用）不共处一行，不构成歧义。
   * 🔴 取值 `#D9480F` 而非 1688 品牌原色 `#FF6A00`：**白字可读性**。压在原色上对比仅 **2.87**（10.5px 粗体
   *   远不够），`#D9480F` 为 **4.30**（高于站内既有徽章 ~3.8 的档位）；再深一档 `#C2410C` 达 5.18，
   *   但已明显偏褐、丢失「一眼是橙」。四档实测对比图：`_assess/tmp/spec-srcbadge/shot-shades2.png`。 */
  --color-source:#D9480F;

  /* ── Notion 彩色卡片族（2026-10-25 掌柜拍板引入，DESIGN.md "Accent Feature Card"）──
   * 用途：给工作台 KPI、快捷磁贴、空状态一类「需要被眼睛先找到」的块提供单色底，
   *   以此替代 DESIGN.md 明令禁止的阴影与渐变来做视觉变化（"paint feature-block
   *   backgrounds with accent hues rather than adding borders or shadows"）。
   * 🔴 三条铁律（照抄 DESIGN.md 的 Do/Don't）：
   *   ① 只做**卡片/磁贴/空状态底色**，绝不填按钮 —— 每屏只有一个实色按钮（=主色），
   *      彩色多样性属于卡片背景，不属于行动面；
   *   ② 墨色除 midnight 用白，其余**一律黑**。实测对比度（WCAG，黑字）：
   *      marigold 11.55 / mocha 6.19 / coral 5.92 / signal-blue 5.20 / vermillion 4.65 /
   *      sky-wash 8.83 / peach 12.7 / midnight 白字 19.05 —— 全部过 AA。
   *      （白字压 marigold 只有 1.82、压 coral 3.55，都不过 ⇒ 黑字是唯一解。）
   *   ③ 不引入第二个蓝：signal-blue #097FE8 与主色 #0075DE 相邻，仅限装饰位，
   *      不得用于任何可点击元素，否则一屏出现两个"像按钮的蓝"。
   * 命名 `--nt-` 前缀：与源力 `--color-*` 零重叠，且全 public/ 原无此命名空间。 */
  --nt-marigold:#FFB110; --nt-saffron:#E89D01; --nt-vermillion:#E32D14;
  --nt-coral:#F64932;   --nt-mocha:#B18164;   --nt-signal-blue:#097FE8;
  --nt-sky-wash:#62AEF0; --nt-sky-tint:#E6F3FE; --nt-peach:#F6D5B8;
  --nt-midnight:#02093A;

  /* ── 表格 ── */
  --color-table-header-bg:#F6F8FA; --color-table-header-text:#42464E;
  --color-table-border:#EAEDF1; --color-table-row-hover:#F2F3F5;
  --color-table-action-primary:#1664FF; --color-table-action-danger:#D7312A;

  /* ── 圆角（4px 基准）──
   * 🔴 2026-10-25 Notion 重构：**删掉 --radius-xl(16px)**。DESIGN.md 明令
   *   "Do not apply border-radius larger than 12px to rectangular content ——
   *    pills (9999px) and cards (12px) are the two shapes"。
   *   原 16px 全库仅 1 个消费点（merchant.css:45 `.feed`），已改用 --radius-lg。
   *   ⇒ 现存四档 4/8/12/9999 与 DESIGN.md 的 buttons 8 / cards 12 / small 4 / pills 9999 **逐值对齐**。 */
  --radius-sm:4px; --radius-md:8px; --radius-lg:12px; --radius-full:9999px;

  /* ── 间距（4px × n）── */
  --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;

  /* ── 阴影五级（静态面只用 1/2；浮层用 3/4）── */
  --shadow-1:0 1px 2px 0 rgba(12,13,14,.05);
  --shadow-2:0 2px 6px 0 rgba(12,13,14,.08);
  --shadow-3:0 5px 15px rgba(12,13,14,.08),0 2px 4px rgba(12,13,14,.04);
  --shadow-4:0 15px 35px -2px rgba(12,13,14,.1),0 5px 15px rgba(12,13,14,.06);

  /* ── 字体与字阶 ──
   * 🔴 2026-10-25 Notion 重构：**八档收敛为六档** {12,14,16,20,22,24}。
   *   收敛口径照 DESIGN.md 的 Type Scale，但只取后台用得到的部分：
   *     · caption 10px → 12px（DESIGN.md 最小档；10px 中文在 100% 缩放下不可读）
   *     · lead    13px → 14px（并入 body-sm；半像素档是历史遗留）
   *     · h2      18px → 20px（并入 subheading）
   *     · 新增 heading-sm 22px（DESIGN.md heading-sm，配 -0.24px 负字距）
   *   body/h4/h3/h1/display 原值即已落在 Notion 档位上，不动。
   * ⚠️ **刻意不引入** DESIGN.md 的 display 40–96px：后台无营销 hero，且会毒化
   *   `merchant-type-scale-smoke.js` 的字号白名单（该守卫无登记入口，只能改数组）。
   * ⚠️ **刻意不上 700 字重**：`deptbuy-guard-smoke.js` 全端禁 font-weight:700，
   *   故标题最高 600（DESIGN.md 允许 600–700，取 600 这一端）。 */
  --font-family:"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  --font-size-display:24px; --font-size-h1:20px; --font-size-heading-sm:22px; --font-size-h2:20px; --font-size-h3:16px;
  --font-size-h4:14px; --font-size-lead:14px; --font-size-body:12px; --font-size-caption:12px;
  --line-height-display:32px; --line-height-h1:28px; --line-height-heading-sm:30px; --line-height-h2:28px; --line-height-h3:24px;
  --line-height-h4:22px; --line-height-lead:22px; --line-height-body:20px; --line-height-caption:18px;
  --tracking-heading-sm:-0.24px;
  --font-weight-regular:400; --font-weight-medium:500; --font-weight-semibold:600;

  /* ── 商家端布局常量 ── */
  --m-side-w:200px;   /* 侧栏宽度（源力规范 200px；>1180px 生效，窄屏仍走 64px 图标栏） */
  --m-nav-h:48px;     /* 导航高度 */
  --m-ctrl-h:32px;    /* 操作控件统一高度 */
}
