/* ============================================================
   tokens.css —— 设计令牌（唯一取值处）
   视觉基准：Case 系统原型（Apple 官网语言）
   规则：任何组件不得写魔法值，颜色 / 间距 / 圆角 / 动效一律取变量。
   对齐 Element Plus 的变量名（--el-*），把 EP 默认蓝换成 #0071e3。
   ============================================================ */

:root{
  /* ---------- 品牌与强调色 ---------- */
  --c-primary:#0071e3;
  --c-primary-hover:#0077ed;
  --c-primary-active:#006edb;
  --c-primary-50:#f0f7ff;
  --c-primary-100:#e0efff;

  /* ---------- 中性色阶（Apple Gray） ---------- */
  --c-ink:#1d1d1f;
  --c-ink-2:#424245;
  --c-muted:#6e6e73;
  --c-muted-2:#86868b;
  --c-fill:#f5f5f7;
  --c-fill-2:#fbfbfd;
  --c-bg:#f5f5f7;
  --c-card:#ffffff;
  --c-line:rgba(0,0,0,.08);
  --c-line-2:rgba(0,0,0,.05);
  --c-track:#e8e8ed;

  /* ---------- 侧边栏（近黑） ---------- */
  --c-nav-bg:#1d1d1f;
  --c-nav-bg-2:#131315;
  --c-nav-text:#a1a1a6;
  --c-nav-text-hi:#f5f5f7;
  --c-nav-dim:#6e6e73;
  --c-nav-active:#4da3ff;

  /* ---------- 语义色 ---------- */
  --c-success:#34c759;
  --c-success-text:#248a3d;
  --c-success-50:#eefbf1;
  --c-success-line:#c9f2d4;

  --c-warn:#ff9f0a;
  --c-warn-text:#b25000;
  --c-warn-50:#fff8ec;
  --c-warn-line:#ffe0b8;

  --c-danger:#ff3b30;
  --c-danger-text:#d70015;
  --c-danger-50:#fff0ee;
  --c-danger-line:#ffd4d0;

  --c-info:#0071e3;
  --c-info-text:#0062c4;
  --c-info-50:#f0f7ff;
  --c-info-line:#cfe6ff;

  --c-purple:#af52de;
  --c-purple-text:#8944ab;
  --c-purple-50:#f7f0fc;

  --c-cyan:#32ade6;
  --c-cyan-text:#0071a4;
  --c-cyan-50:#eaf7fd;

  /* ---------- 补充色（悬停 / 描边 / 只读底） ---------- */
  --c-white:#ffffff;
  --c-nav-active-strong:#0a84ff;
  --c-brand-grad-1:#0a84ff;
  --c-brand-grad-2:#0066cc;
  --c-brand-grad-3:#004a99;
  --c-nav-text-soft:#d2d2d7;
  --c-primary-line:#a8d0ff;
  --c-primary-25:#e6f1ff;
  --c-purple-line:#d9bdee;
  --c-purple-line-2:#e8d5f5;
  --c-purple-100:#f2e6fa;
  --c-fill-3:#eeeeef;
  --c-success-hover:#3ddb63;
  --c-success-25:#e4f7ea;
  --c-danger-hover:#ff5247;
  --c-readonly-bg:#eeeff1;

  /* ---------- 字体 ---------- */
  --font-sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;

  --fs-11:11px;   /* 辅助说明 */
  --fs-12:12px;   /* 表格辅助 / 徽标 */
  --fs-13:13px;   /* 正文 / 表格主文 */
  --fs-14:14px;   /* 基准 */
  --fs-16:16px;   /* 卡片标题 */
  --fs-19:19px;   /* 弹窗标题 */
  --fs-24:24px;   /* 抽屉大标题 */
  --fs-30:30px;   /* 页面标题 */

  --lh-tight:1.16;
  --lh-base:1.5;
  --lh-loose:1.65;

  --fw-regular:400;
  --fw-medium:500;
  --fw-bold:600;

  /* ---------- 间距阶（4 的倍数） ---------- */
  --sp-1:4px;
  --sp-2:8px;
  --sp-3:12px;
  --sp-4:16px;
  --sp-5:24px;
  --sp-6:32px;
  --sp-7:48px;

  /* ---------- 圆角 ---------- */
  --r-xs:9px;
  --r-sm:12px;
  --r-md:14px;
  --r-lg:18px;
  --r-xl:22px;
  --r-pill:980px;

  /* ---------- 阴影层级 ---------- */
  --sh-xs:0 1px 2px rgba(0,0,0,.04);
  --sh-sm:0 1px 2px rgba(0,0,0,.04),0 8px 24px -12px rgba(0,0,0,.10);
  --sh-md:0 2px 6px rgba(0,0,0,.05),0 18px 40px -20px rgba(0,0,0,.16);
  --sh-lg:0 12px 32px rgba(0,0,0,.10),0 40px 80px -32px rgba(0,0,0,.28);

  /* ---------- 动效 ---------- */
  --dur-fast:160ms;
  --dur-base:220ms;
  --dur-slow:420ms;
  --ease:cubic-bezier(.4,0,.2,1);
  --ease-out:cubic-bezier(.32,.72,0,1);

  /* ---------- 布局尺寸 ---------- */
  --layout-sidebar:236px;
  --layout-topbar:52px;
  --layout-content-x:32px;
}

/* ============================================================
   Element Plus 变量覆盖 —— 让它长得像 Case 系统，而不是 EP 默认蓝
   ============================================================ */
:root{
  --el-color-primary:#0071e3;
  --el-color-primary-light-3:#4d9ceb;
  --el-color-primary-light-5:#80b8f1;
  --el-color-primary-light-7:#b3d4f7;
  --el-color-primary-light-8:#cce0f9;
  --el-color-primary-light-9:#e6f0fc;
  --el-color-primary-dark-2:#005ab6;

  --el-color-success:#34c759;
  --el-color-success-light-9:#eefbf1;
  --el-color-warning:#ff9f0a;
  --el-color-warning-light-9:#fff8ec;
  --el-color-danger:#ff3b30;
  --el-color-danger-light-9:#fff0ee;
  --el-color-error:#ff3b30;
  --el-color-info:#86868b;
  --el-color-info-light-9:#f5f5f7;

  --el-text-color-primary:#1d1d1f;
  --el-text-color-regular:#424245;
  --el-text-color-secondary:#6e6e73;
  --el-text-color-placeholder:#86868b;
  --el-text-color-disabled:#b0b0b5;

  --el-border-color:rgba(0,0,0,.08);
  --el-border-color-light:rgba(0,0,0,.07);
  --el-border-color-lighter:rgba(0,0,0,.05);
  --el-border-color-extra-light:rgba(0,0,0,.04);
  --el-border-color-hover:rgba(0,0,0,.18);

  --el-fill-color:#f5f5f7;
  --el-fill-color-light:#f5f5f7;
  --el-fill-color-lighter:#fbfbfd;
  --el-fill-color-blank:#ffffff;
  --el-bg-color:#ffffff;
  --el-bg-color-page:#f5f5f7;
  --el-bg-color-overlay:#ffffff;

  --el-font-family:var(--font-sans);
  --el-font-size-base:13px;

  --el-border-radius-base:10px;
  --el-border-radius-small:8px;
  --el-border-radius-round:var(--r-pill);

  --el-box-shadow-light:0 1px 2px rgba(0,0,0,.04),0 8px 24px -12px rgba(0,0,0,.10);
  --el-box-shadow:0 2px 6px rgba(0,0,0,.05),0 18px 40px -20px rgba(0,0,0,.16);

  --el-transition-duration:var(--dur-base);
  --el-transition-function-ease-in-out-bezier:var(--ease);
}
