/* =====================================================================
   fm-tokens.css —— 四端共用的设计令牌（前台 / 用户中心 / 商家中心 / 平台后台）。
   全站只有这一处 :root。front.css、admin.css 只写组件规则，
   theme.css 只把 <html data-bs-*> 档位映射成同一批令牌的覆盖值，
   三套皮肤不再各自发一遍默认值——这正是"前台墨绿、后台天蓝"那种半套皮肤的来源。
   口径：墨绿品牌 + 琥珀强调 + 带绿意的中性灰；圆角收在 12/8/16（控件/卡片/浮层），
   阴影三级但不叠用；间距走 4px 网格。
   元素级 reset（a / h1-h4 / :focus-visible）仍留在各皮肤里，因为要在
   bootstrap/tabler 之后生效，排在本文件前面就赢不了模板的 reboot。
   ===================================================================== */
:root{
  color-scheme:light;

  /* 中性色：文字四级 + 分隔线两级 + 页面三层底 */
  --ink-900:#26303c; --ink-700:#3d4a59; --ink-500:#5d6b7a; --ink-400:#7f8d9b; --ink-300:#a7b3bf;
  --line:#e3e9f0; --line-strong:#cfd8e2;
  --bg:#f5f7fa; --bg-soft:#eef2f7; --card:#fff;

  /* 品牌色分工：--brand 只做填充，填充之上的文字用 --on-brand，
     浅底上的文字用 --brand-text（暗一档，保证 AA），暗底上的文字用 --brand-text-d。 */
  --brand:#3f82d4; --brand-700:#2f6cbb;
  --brand-text:#2f6cbb; --brand-text-d:#9cc3ec; --on-brand:#fff;
  --brand-tint:#eaf1fb; --brand-100:var(--brand-tint); --brand-a12:rgba(63,130,212,.14);

  /* 语义色：-100 是浅底背景，-text / -line 是「浅底上的正文与描边」加深档——
     直接拿 --danger 或 --warn 写字，在 -100 背景上只有 3.7:1，撑不住 13px 的表单错误提示。
     深色档由 theme.css 把 -100 换成同色相透明层、把 -text 反相变亮。 */
  --accent:#b0763a; --accent-100:#f6efe3; --accent-text:#8a5a26;
  --danger:#c0392b; --danger-100:#fdeceb; --danger-text:#98271c; --danger-line:#f3cdc8; --on-danger:#fff;
  --ok:#1a7f4b; --ok-100:#e7f5ed; --ok-text:#146039; --ok-line:#c8e3d2;
  --warn:#a87200; --warn-100:#fdf3e0; --warn-text:#8a5300; --warn-line:#f3ddb9;
  --brand-line:#cfe0f2;

  /* 圆角三档 + 胶囊；写死的 999px / 9px / 14px 全部收到这里 */
  --radius-sm:8px; --radius:12px; --radius-lg:16px; --pill:999px;

  /* 反相面：toast、深色提示条。暗底下模态必须比页面亮才分得开，所以这三项在深色档是"提亮"而不是"压暗"。 */
  --inverse-bg:#1f2b3a; --inverse-fg:#eef2f7; --scrim:rgba(15,25,40,.5);

  /* 间距：4px 网格，页面只允许用这几档 */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:20px; --s-6:24px; --s-8:32px; --s-10:40px;

  /* 阴影：贴地 / 悬浮 / 浮层 */
  --shadow-1:0 1px 2px rgba(31,43,58,.05), 0 1px 3px rgba(31,43,58,.04);
  --shadow-2:0 6px 18px rgba(31,43,58,.08), 0 2px 6px rgba(31,43,58,.05);
  --shadow-3:0 18px 44px rgba(31,43,58,.14);

  /* 尺寸：前台正文限宽、后台侧栏与顶栏 */
  --wrap:1180px; --side-w:240px; --side-w-mini:64px; --top-h:64px;

  /* 导航面：平台后台是深墨蓝；用户/商家中心由 theme.css 按档位改成浅底 */
  --nav-bg:#1a2f47; --nav-fg:#c6d6e8; --nav-fg-hover:#fff; --nav-line:rgba(255,255,255,.1);
  --nav-group:#8aa3bd; --nav-hover:rgba(255,255,255,.08); --nav-active-bg:var(--brand); --nav-active-fg:#fff;
  --nav-muted:#a6bdd4; --nav-toggle-bg:rgba(255,255,255,.1); --nav-toggle-fg:#dbe7f3; --nav-toggle-hover:rgba(255,255,255,.18);

  /* 字体：只用系统栈，不加载外部字体 */
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC",sans-serif;
  --mono:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;
}
