/* ============================================================
   DMS 设计系统 — CSS 变量（现代简约 · 明暗双模式）
   ============================================================ */

:root {
  /* ────────── 主色板：医疗绿 ────────── */
  /* 品牌主色 RGB 三元组（供 rgba(var(--primary-rgb), a) 拼接；zcode 主题在下方覆写） */
  --primary-rgb: 5, 150, 105;
  /* 主色底上的前景文字色（v2.86.0）：主按钮 / page-hero 等主色底场景必须引用它，
     不能硬编码 #fff——graphite 深色主色反转为近白、archive 深色主色为琥珀金，
     白字在这两套上会不可读。 */
  --on-primary: #FFFFFF;
  --color-primary-50:  #ECFDF5;
  --color-primary-100: #D1FAE5;
  --color-primary-200: #A7F3D0;
  --color-primary-300: #6EE7B7;
  --color-primary-400: #34D399;
  --color-primary:     #059669;
  --color-primary-hover: #047857;
  --color-primary-700: #047857;
  --color-primary-dark:  #065F46;
  --color-primary-900: #064E3B;
  --color-primary-950: #022C22;
  --color-primary-light: #D1FAE5;

  /* ────────── 功能色 ────────── */
  --color-success:       #10B981;
  --color-success-light: #D1FAE5;
  --color-warning:       #F59E0B;
  --color-warning-light: #FEF3C7;
  --color-danger:        #EF4444;
  --color-danger-light:  #FEE2E2;
  --color-info:          #3B82F6;
  --color-info-light:    #DBEAFE;

  /* ────────── 中性色 ────────── */
  --color-gray-50:  #F8FAFC;
  --color-gray-100: #F1F5F9;
  --color-gray-200: #E2E8F0;
  --color-gray-300: #CBD5E1;
  --color-gray-400: #94A3B8;
  --color-gray-500: #64748B;
  --color-gray-600: #475569;
  --color-gray-700: #334155;
  --color-gray-800: #1E293B;
  --color-gray-900: #0F172A;

  /* ────────── 语义化表面色 ────────── */
  --surface-0: #F8FAFC;   /* 页面背景 */
  --surface-1: #FFFFFF;   /* 卡片 / 面板背景 */
  --surface-2: #F1F5F9;   /* 提升 / 凹陷背景 */
  --surface-3: #E2E8F0;   /* 遮罩 / 分割背景 */

  /* ────────── 侧边栏 ────────── */
  --sidebar-bg:           #111827;
  --sidebar-hover:        #1F2937;
  --sidebar-active:       #059669;
  --sidebar-text:         #E2E8F0;
  --sidebar-text-muted:   #94A3B8;
  --sidebar-width:        240px;
  --sidebar-width-collapsed: 72px;

  /* ────────── 顶部栏 ────────── */
  --topbar-bg:      #FFFFFF;
  --topbar-height:  64px;

  /* ────────── 文字 ────────── */
  --text-primary:   #1E293B;
  --text-secondary: #64748B;
  --text-muted:     #94A3B8;
  --text-disabled:  #CBD5E1;

  /* ────────── 边框 ────────── */
  --border-color:      #E2E8F0;
  --border-color-strong: #CBD5E1;
  --border-radius-sm:  6px;
  --border-radius:     8px;
  --border-radius-lg:  12px;
  --border-radius-xl:  16px;
  --border-radius-2xl: 20px;
  --border-radius-full: 9999px;

  /* ────────── 间距系统 ────────── */
  --space-0:   0;
  --space-0-5: 2px;
  --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;
  --space-16:  64px;

  /* ────────── 阴影 ────────── */
  --shadow-sm:    0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow:       0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md:    0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -1px rgba(0, 0, 0, 0.04);
  --shadow-lg:    0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.03);
  --shadow-xl:    0 20px 25px -5px rgba(0, 0, 0, 0.08), 0 8px 10px -6px rgba(0, 0, 0, 0.03);
  --shadow-inner: inset 0 2px 4px rgba(0, 0, 0, 0.06);
  --shadow-ring:  0 0 0 3px rgba(5, 150, 105, 0.15);
  --shadow-primary: 0 4px 14px rgba(5, 150, 105, 0.2);

  /* ────────── 过渡 / 动画 ────────── */
  --transition-fast: 0.12s ease;
  --transition:      0.2s ease;
  --transition-slow: 0.3s ease;
  --duration-fast:   100ms;
  --duration-normal: 200ms;
  --duration-slow:   300ms;
  --ease-default:    cubic-bezier(0.4, 0, 0.2, 1);
  --ease-in:         cubic-bezier(0.4, 0, 1, 1);
  --ease-out:        cubic-bezier(0, 0, 0.2, 1);
  --ease-bounce:     cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ────────── 字体 ────────── */
  --font-sans: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, sans-serif;
  /* 展示层/阅读层衬线（v4.85.0，PLAN-dms-global-font-ziliu.md G2，ziliu.online 对标）：
     @font-face 供给见 fonts-noto-serif-sc.css（base.html/login.html 全局挂载，
     unicode-range 分片按需加载、运行时零外网）；缺失时回退系统宋体链（A3）。
     施加面=标题/品牌/面板头/文档阅读层；界面功能文字保持 --font-sans（混合制）。 */
  --font-serif-sc: "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;
  --font-mono: "JetBrains Mono", "SF Mono", Consolas, monospace;

  /* ────────── 字号 ────────── */
  --text-xs:      12px;
  --text-sm:      13px;
  --text-base:    14px;
  --text-lg:      16px;
  --text-xl:      20px;
  --text-2xl:     24px;
  --text-3xl:     30px;
  --text-display: 36px;

  /* ────────── 行高 / 字间距 ────────── */
  --leading-none:    1;
  --leading-tight:   1.25;
  --leading-snug:    1.375;
  --leading-normal:  1.5;
  --leading-relaxed: 1.625;
  --leading-loose:   2;
  --tracking-tight:  -0.025em;
  --tracking-normal: 0;
  --tracking-wide:   0.025em;

  /* ────────── 背景（向后兼容） ────────── */
  --bg-page: var(--surface-0);
  --bg-card: var(--surface-1);

  /* ────────── z-index ────────── */
  --z-sidebar:  100;
  --z-topbar:   200;
  --z-dropdown: 300;
  --z-modal:    400;
  --z-tooltip:  500;

  /* ==================== 速记别名（向后兼容 pages.css / pages-enhanced.css） ==================== */
  --primary:       var(--color-primary);
  --primary-hover: var(--color-primary-hover);
  --primary-light: var(--color-primary-light);
  --primary-dark:  var(--color-primary-dark);
  --success:       var(--color-success);
  --success-light: var(--color-success-light);
  --warning:       var(--color-warning);
  --warning-light: var(--color-warning-light);
  --danger:        var(--color-danger);
  --danger-light:  var(--color-danger-light);
  --info:          var(--color-info);
  --info-light:    var(--color-info-light);
  --gray-50:       var(--color-gray-50);
  --gray-100:      var(--color-gray-100);
  --gray-200:      var(--color-gray-200);
  --gray-300:      var(--border-color);
  --gray-400:      var(--color-gray-400);
  --gray-500:      var(--text-secondary);
  --gray-600:      var(--text-secondary);
  --gray-700:      var(--text-primary);
  --gray-800:      var(--text-primary);
  --gray-900:      var(--text-primary);
  --radius:        var(--border-radius);
  --radius-lg:     var(--border-radius-lg);
  --radius-sm:     var(--border-radius-sm);
}

/* ============================================================
   暗色模式 — [data-theme="dark"]
   ============================================================ */
[data-theme="dark"] {
  /* 语义化表面色 */
  --surface-0: #0F172A;
  --surface-1: #1E293B;
  --surface-2: #334155;
  --surface-3: #475569;

  /* 背景（向后兼容） */
  --bg-page: #0F172A;
  --bg-card: #1E293B;

  /* 中性色翻转 */
  --color-gray-50:  #0F172A;
  --color-gray-100: #1E293B;
  --color-gray-200: #334155;
  --color-gray-300: #475569;

  /* 文字 */
  --text-primary:   #F1F5F9;
  --text-secondary: #94A3B8;
  --text-muted:     #64748B;
  --text-disabled:  #475569;

  /* 边框 */
  --border-color:      #334155;
  --border-color-strong: #475569;

  /* 侧边栏 — 保持深色，微调区分度 */
  --sidebar-bg:     #0F172A;
  --sidebar-hover:  #1E293B;

  /* 顶部栏 */
  --topbar-bg: #1E293B;

  /* 阴影（暗色模式下增强） */
  --shadow-sm:    0 1px 2px rgba(0, 0, 0, 0.2);
  --shadow:       0 1px 3px rgba(0, 0, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2);
  --shadow-md:    0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  --shadow-lg:    0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -2px rgba(0, 0, 0, 0.15);
  --shadow-xl:    0 20px 25px -5px rgba(0, 0, 0, 0.3), 0 8px 10px -6px rgba(0, 0, 0, 0.15);
  --shadow-inner: inset 0 2px 4px rgba(0, 0, 0, 0.2);
  --shadow-ring:  0 0 0 3px rgba(5, 150, 105, 0.25);
  --shadow-primary: 0 4px 14px rgba(5, 150, 105, 0.25);

  /* 功能色 — 暗色变体 */
  --color-success-light: #064E3B;
  --color-warning-light: #78350F;
  --color-danger-light:  #7F1D1D;
  --color-info-light:    #1E3A5F;

  /* 主色板 — 暗色变体 */
  --color-primary-light: #064E3B;
  --color-primary-50:    #022C22;
  --color-primary-100:   #064E3B;
  --color-primary-200:   #065F46;

  /* 边框圆角 */
  --border-radius-sm:  6px;
  --border-radius:     8px;
  --border-radius-lg:  12px;
}

/* 保留旧版 prefers-color-scheme 兼容（已由 JS data-theme 替代） */
@media (prefers-color-scheme: dark) {
  :root.auto-dark {
    --bg-page: #0F172A;
    --bg-card: #1E293B;
    --text-primary: #F1F5F9;
    --text-secondary: #94A3B8;
    --border-color: #334155;
  }
}

/* ============================================================
   色彩主题：ZCode 蓝（v2.84.0）
   配色来源：zcode.z.ai 官网设计体系（Apple 风蓝 + 炭黑中性色）。
   与明暗模式正交：<html data-palette="zcode"> + data-theme 组合生效。
   仅覆写品牌/中性 token，success 语义绿色跨主题保留（与官网一致）。
   ============================================================ */

/* ---------- ZCode 蓝 · 浅色（Apple 风 #0071E3 + #F5F5F7 灰阶） ---------- */
[data-palette="zcode"] {
  --primary-rgb: 0, 113, 227;

  /* 主色板：ZCode 蓝 */
  --color-primary-50:  #EAF4FF;
  --color-primary-100: #D6EAFF;
  --color-primary-200: #B0D4FF;
  --color-primary-300: #7FB8FF;
  --color-primary-400: #4D9AFF;
  --color-primary:     #0071E3;
  --color-primary-hover: #0077ED;
  --color-primary-700: #006EDB;
  --color-primary-dark:  #0058B0;
  --color-primary-900: #003D7A;
  --color-primary-950: #00254D;
  --color-primary-light: #D6EAFF;

  /* 功能色：Apple 系统色 */
  --color-success:       #34C759;
  --color-success-light: #DFF5E5;
  --color-warning:       #FEBC2E;
  --color-warning-light: #FFF3D6;
  --color-danger:        #FF3B30;
  --color-danger-light:  #FFE0DE;
  --color-info:          #0071E3;
  --color-info-light:    #D6EAFF;

  /* 中性色：Apple 灰阶 */
  --color-gray-50:  #F5F5F7;
  --color-gray-100: #E8E8ED;
  --color-gray-200: #D2D2D7;
  --color-gray-300: #C7C7CC;
  --color-gray-400: #AEAEB2;
  --color-gray-500: #86868B;
  --color-gray-600: #6E6E73;
  --color-gray-700: #48484A;
  --color-gray-800: #3A3A3C;
  --color-gray-900: #1D1D1F;

  /* 语义化表面色 */
  --surface-0: #F5F5F7;
  --surface-1: #FFFFFF;
  --surface-2: #E8E8ED;
  --surface-3: #D2D2D7;

  /* 背景（向后兼容） */
  --bg-page: var(--surface-0);
  --bg-card: var(--surface-1);

  /* 侧边栏 — Apple 黑 */
  --sidebar-bg:         #1D1D1F;
  --sidebar-hover:      #2C2C2E;
  --sidebar-active:     #0071E3;
  --sidebar-text:       #F5F5F7;
  --sidebar-text-muted: #86868B;

  /* 文字 */
  --text-primary:   #1D1D1F;
  --text-secondary: #6E6E73;
  --text-muted:     #86868B;
  --text-disabled:  #C7C7CC;

  /* 边框 */
  --border-color:        #E8E8ED;
  --border-color-strong: #D2D2D7;

  /* 阴影中的品牌色 */
  --shadow-ring:    0 0 0 3px rgba(0, 113, 227, 0.15);
  --shadow-primary: 0 4px 14px rgba(0, 113, 227, 0.2);
}

/* ---------- ZCode 蓝 · 深色（官网炭黑 #0D0D0F + 强调青 #00A5EF） ---------- */
[data-palette="zcode"][data-theme="dark"] {
  --primary-rgb: 0, 165, 239;

  /* 语义化表面色：炭黑层次 */
  --surface-0: #0D0D0F;
  --surface-1: #161616;
  --surface-2: #242428;
  --surface-3: #2C2C2E;

  /* 背景（向后兼容） */
  --bg-page: #0D0D0F;
  --bg-card: #161616;

  /* 中性色翻转 */
  --color-gray-50:  #0D0D0F;
  --color-gray-100: #161616;
  --color-gray-200: #2C2C2E;
  --color-gray-300: #48484A;

  /* 文字 */
  --text-primary:   #F5F5F7;
  --text-secondary: #A1A1A6;
  --text-muted:     #86868B;
  --text-disabled:  #48484A;

  /* 边框 */
  --border-color:        #2C2C2E;
  --border-color-strong: #3A3A3C;

  /* 侧边栏 */
  --sidebar-bg:    #0D0D0F;
  --sidebar-hover: #1D1D1F;
  --sidebar-active: #00A5EF;

  /* 顶部栏 */
  --topbar-bg: #161616;

  /* 主色板：暗色下提亮为官网强调青蓝 */
  --color-primary:       #00A5EF;
  --color-primary-hover: #33B7F2;
  --color-primary-700:   #0091D5;
  --color-primary-dark:  #007BB5;
  --color-primary-light: #05334D;
  --color-primary-50:    #04202F;
  --color-primary-100:   #05334D;
  --color-primary-200:   #0A4A6E;

  /* 功能色 — 暗色变体 */
  --color-success-light: #0D3320;
  --color-warning-light: #3D2E05;
  --color-danger-light:  #3B0A0A;
  --color-info-light:    #05334D;

  /* 阴影中的品牌色 */
  --shadow-ring:    0 0 0 3px rgba(0, 165, 239, 0.25);
  --shadow-primary: 0 4px 14px rgba(0, 165, 239, 0.25);
}

/* ============================================================
   色彩主题：琥珀档案（archive，v2.86.0）
   配色来源：档案卷宗的暖纸与棕金——证书、公文、图书借阅都在
   本系统里，暖色呼应"档案"的本质。浅色暖纸底（非冷灰），
   深色深咖底。与明暗模式正交：<html data-palette="archive">。
   ============================================================ */

/* ---------- 琥珀档案 · 浅色（琥珀棕 #B45309 + 暖纸灰阶） ---------- */
[data-palette="archive"] {
  --primary-rgb: 180, 83, 9;

  /* 主色板：琥珀棕 */
  --color-primary-50:  #FFFBEB;
  --color-primary-100: #FEF3C7;
  --color-primary-200: #FDE68A;
  --color-primary-300: #FCD34D;
  --color-primary-400: #FBBF24;
  --color-primary:     #B45309;
  --color-primary-hover: #92400E;
  --color-primary-700: #92400E;
  --color-primary-dark:  #78350F;
  --color-primary-900: #78350F;
  --color-primary-950: #451A03;
  --color-primary-light: #FEF3C7;

  /* 功能色：低饱和暖调 */
  --color-success:       #15803D;
  --color-success-light: #DCFCE7;
  --color-warning:       #CA8A04;
  --color-warning-light: #FEF9C3;
  --color-danger:        #DC2626;
  --color-danger-light:  #FEE2E2;
  --color-info:          #0284C7;
  --color-info-light:    #E0F2FE;

  /* 中性色：暖灰（stone） */
  --color-gray-50:  #FAFAF9;
  --color-gray-100: #F5F5F4;
  --color-gray-200: #E7E5E4;
  --color-gray-300: #D6D3D1;
  --color-gray-400: #A8A29E;
  --color-gray-500: #78716C;
  --color-gray-600: #57534E;
  --color-gray-700: #44403C;
  --color-gray-800: #292524;
  --color-gray-900: #1C1917;

  /* 语义化表面色：暖纸 */
  --surface-0: #FAF9F7;
  --surface-1: #FFFFFF;
  --surface-2: #F5F3EF;
  --surface-3: #EAE6DF;

  /* 背景（向后兼容） */
  --bg-page: var(--surface-0);
  --bg-card: var(--surface-1);

  /* 侧边栏 — 深棕黑 */
  --sidebar-bg:         #292524;
  --sidebar-hover:      #44403C;
  --sidebar-active:     #B45309;
  --sidebar-text:       #E7E5E4;
  --sidebar-text-muted: #A8A29E;

  /* 文字 */
  --text-primary:   #292524;
  --text-secondary: #57534E;
  --text-muted:     #78716C;
  --text-disabled:  #D6D3D1;

  /* 边框 */
  --border-color:        #E7E5E4;
  --border-color-strong: #D6D3D1;

  /* 阴影中的品牌色 */
  --shadow-ring:    0 0 0 3px rgba(180, 83, 9, 0.15);
  --shadow-primary: 0 4px 14px rgba(180, 83, 9, 0.2);
}

/* ---------- 琥珀档案 · 深色（深咖 #1C1917 + 琥珀金强调） ---------- */
[data-palette="archive"][data-theme="dark"] {
  --primary-rgb: 245, 158, 11;
  /* 主色提亮为琥珀金，白字对比不足，主色底场景配深棕字 */
  --on-primary: #451A03;

  /* 语义化表面色：深咖层次 */
  --surface-0: #1C1917;
  --surface-1: #292524;
  --surface-2: #44403C;
  --surface-3: #57534E;

  /* 背景（向后兼容） */
  --bg-page: #1C1917;
  --bg-card: #292524;

  /* 中性色翻转 */
  --color-gray-50:  #1C1917;
  --color-gray-100: #292524;
  --color-gray-200: #44403C;
  --color-gray-300: #57534E;

  /* 文字 */
  --text-primary:   #FAFAF9;
  --text-secondary: #A8A29E;
  --text-muted:     #78716C;
  --text-disabled:  #57534E;

  /* 边框 */
  --border-color:        #44403C;
  --border-color-strong: #57534E;

  /* 侧边栏 */
  --sidebar-bg:    #1C1917;
  --sidebar-hover: #292524;
  --sidebar-active: #F59E0B;

  /* 顶部栏 */
  --topbar-bg: #292524;

  /* 主色板：暗色下提亮为琥珀金 */
  --color-primary:       #F59E0B;
  --color-primary-hover: #FBBF24;
  --color-primary-700:   #D97706;
  --color-primary-dark:  #B45309;
  --color-primary-light: #451A03;
  --color-primary-50:    #2A1503;
  --color-primary-100:   #451A03;
  --color-primary-200:   #78350F;

  /* 功能色 — 暗色变体 */
  --color-success-light: #14351F;
  --color-warning-light: #3D3205;
  --color-danger-light:  #431414;
  --color-info-light:    #0C2D44;

  /* 阴影中的品牌色 */
  --shadow-ring:    0 0 0 3px rgba(245, 158, 11, 0.25);
  --shadow-primary: 0 4px 14px rgba(245, 158, 11, 0.25);
}

/* ============================================================
   色彩主题：黛紫（violet，v2.86.0）
   配色来源：现代 SaaS 的冷静紫罗兰——与青绿/科技蓝差异最大
   的个性方向，深紫黑侧边栏保证专业感。
   ============================================================ */

/* ---------- 黛紫 · 浅色（紫罗兰 #7C3AED + zinc 中性灰） ---------- */
[data-palette="violet"] {
  --primary-rgb: 124, 58, 237;

  /* 主色板：紫罗兰 */
  --color-primary-50:  #F5F3FF;
  --color-primary-100: #EDE9FE;
  --color-primary-200: #DDD6FE;
  --color-primary-300: #C4B5FD;
  --color-primary-400: #A78BFA;
  --color-primary:     #7C3AED;
  --color-primary-hover: #6D28D9;
  --color-primary-700: #6D28D9;
  --color-primary-dark:  #5B21B6;
  --color-primary-900: #4C1D95;
  --color-primary-950: #2E1065;
  --color-primary-light: #EDE9FE;

  /* 功能色 */
  --color-success:       #10B981;
  --color-success-light: #D1FAE5;
  --color-warning:       #F59E0B;
  --color-warning-light: #FEF3C7;
  --color-danger:        #EF4444;
  --color-danger-light:  #FEE2E2;
  --color-info:          #0EA5E9;
  --color-info-light:    #E0F2FE;

  /* 中性色：纯净灰（zinc） */
  --color-gray-50:  #FAFAFA;
  --color-gray-100: #F4F4F5;
  --color-gray-200: #E4E4E7;
  --color-gray-300: #D4D4D8;
  --color-gray-400: #A1A1AA;
  --color-gray-500: #71717A;
  --color-gray-600: #52525B;
  --color-gray-700: #3F3F46;
  --color-gray-800: #27272A;
  --color-gray-900: #18181B;

  /* 语义化表面色 */
  --surface-0: #FAFAFB;
  --surface-1: #FFFFFF;
  --surface-2: #F4F4F5;
  --surface-3: #E4E4E7;

  /* 背景（向后兼容） */
  --bg-page: var(--surface-0);
  --bg-card: var(--surface-1);

  /* 侧边栏 — 深紫黑 */
  --sidebar-bg:         #231F3A;
  --sidebar-hover:      #2F2A4D;
  --sidebar-active:     #7C3AED;
  --sidebar-text:       #E4E4E7;
  --sidebar-text-muted: #A1A1AA;

  /* 文字 */
  --text-primary:   #27272A;
  --text-secondary: #52525B;
  --text-muted:     #71717A;
  --text-disabled:  #D4D4D8;

  /* 边框 */
  --border-color:        #E4E4E7;
  --border-color-strong: #D4D4D8;

  /* 阴影中的品牌色 */
  --shadow-ring:    0 0 0 3px rgba(124, 58, 237, 0.15);
  --shadow-primary: 0 4px 14px rgba(124, 58, 237, 0.2);
}

/* ---------- 黛紫 · 深色（紫黑 #131019 + 提亮紫） ---------- */
[data-palette="violet"][data-theme="dark"] {
  --primary-rgb: 167, 139, 250;

  /* 语义化表面色：紫黑层次 */
  --surface-0: #131019;
  --surface-1: #1D1926;
  --surface-2: #2A2437;
  --surface-3: #38304A;

  /* 背景（向后兼容） */
  --bg-page: #131019;
  --bg-card: #1D1926;

  /* 中性色翻转 */
  --color-gray-50:  #131019;
  --color-gray-100: #1D1926;
  --color-gray-200: #2A2437;
  --color-gray-300: #38304A;

  /* 文字 */
  --text-primary:   #F4F4F5;
  --text-secondary: #A1A1AA;
  --text-muted:     #71717A;
  --text-disabled:  #52525B;

  /* 边框 */
  --border-color:        #2A2437;
  --border-color-strong: #38304A;

  /* 侧边栏 */
  --sidebar-bg:    #131019;
  --sidebar-hover: #1D1926;
  --sidebar-active: #A78BFA;

  /* 顶部栏 */
  --topbar-bg: #1D1926;

  /* 主色板：暗色下提亮 */
  --color-primary:       #8B5CF6;
  --color-primary-hover: #A78BFA;
  --color-primary-700:   #7C3AED;
  --color-primary-dark:  #6D28D9;
  --color-primary-light: #2E1065;
  --color-primary-50:    #1E1233;
  --color-primary-100:   #2E1065;
  --color-primary-200:   #4C1D95;

  /* 功能色 — 暗色变体 */
  --color-success-light: #0A3226;
  --color-warning-light: #3D2E05;
  --color-danger-light:  #3F1414;
  --color-info-light:    #0C3145;

  /* 阴影中的品牌色 */
  --shadow-ring:    0 0 0 3px rgba(167, 139, 250, 0.25);
  --shadow-primary: 0 4px 14px rgba(167, 139, 250, 0.25);
}

/* ============================================================
   色彩主题：石墨（graphite，v2.86.0）
   配色来源：Vercel / Linear 式单色极简——界面退后，内容当主角。
   浅色主按钮石墨黑，深色反转为主按钮近白；唯一彩色是语义色。
   ============================================================ */

/* ---------- 石墨 · 浅色（石墨黑 #18181B + zinc 阶梯） ---------- */
[data-palette="graphite"] {
  --primary-rgb: 24, 24, 27;

  /* 主色板：单色阶梯（primary 取 zinc-900） */
  --color-primary-50:  #FAFAFA;
  --color-primary-100: #F4F4F5;
  --color-primary-200: #E4E4E7;
  --color-primary-300: #D4D4D8;
  --color-primary-400: #A1A1AA;
  --color-primary:     #18181B;
  --color-primary-hover: #3F3F46;
  --color-primary-700: #3F3F46;
  --color-primary-dark:  #09090B;
  --color-primary-900: #18181B;
  --color-primary-950: #09090B;
  --color-primary-light: #E4E4E7;

  /* 功能色：界面上唯一的彩色，全部保留标准语义 */
  --color-success:       #10B981;
  --color-success-light: #D1FAE5;
  --color-warning:       #F59E0B;
  --color-warning-light: #FEF3C7;
  --color-danger:        #EF4444;
  --color-danger-light:  #FEE2E2;
  --color-info:          #3B82F6;
  --color-info-light:    #DBEAFE;

  /* 中性色：纯净灰（zinc） */
  --color-gray-50:  #FAFAFA;
  --color-gray-100: #F4F4F5;
  --color-gray-200: #E4E4E7;
  --color-gray-300: #D4D4D8;
  --color-gray-400: #A1A1AA;
  --color-gray-500: #71717A;
  --color-gray-600: #52525B;
  --color-gray-700: #3F3F46;
  --color-gray-800: #27272A;
  --color-gray-900: #18181B;

  /* 语义化表面色 */
  --surface-0: #FAFAFA;
  --surface-1: #FFFFFF;
  --surface-2: #F4F4F5;
  --surface-3: #E4E4E7;

  /* 背景（向后兼容） */
  --bg-page: var(--surface-0);
  --bg-card: var(--surface-1);

  /* 侧边栏 — 石墨黑 */
  --sidebar-bg:         #18181B;
  --sidebar-hover:      #27272A;
  --sidebar-active:     #52525B;
  --sidebar-text:       #F4F4F5;
  --sidebar-text-muted: #A1A1AA;

  /* 文字 */
  --text-primary:   #18181B;
  --text-secondary: #52525B;
  --text-muted:     #71717A;
  --text-disabled:  #D4D4D8;

  /* 边框 */
  --border-color:        #E4E4E7;
  --border-color-strong: #D4D4D8;

  /* 阴影：单色主题压淡彩色投影，靠边框分层 */
  --shadow-ring:    0 0 0 3px rgba(24, 24, 27, 0.12);
  --shadow-primary: 0 4px 14px rgba(24, 24, 27, 0.18);
}

/* ---------- 石墨 · 深色（#0A0A0A + 主色反转近白） ---------- */
[data-palette="graphite"][data-theme="dark"] {
  --primary-rgb: 245, 245, 245;
  /* 主色反转为近白，主色底场景必须配深字（黑按钮→白按钮、白字→黑字） */
  --on-primary: #18181B;

  /* 语义化表面色：纯深灰层次 */
  --surface-0: #0A0A0A;
  --surface-1: #171717;
  --surface-2: #262626;
  --surface-3: #333333;

  /* 背景（向后兼容） */
  --bg-page: #0A0A0A;
  --bg-card: #171717;

  /* 中性色翻转 */
  --color-gray-50:  #0A0A0A;
  --color-gray-100: #171717;
  --color-gray-200: #262626;
  --color-gray-300: #404040;

  /* 文字 */
  --text-primary:   #FAFAFA;
  --text-secondary: #A1A1AA;
  --text-muted:     #737373;
  --text-disabled:  #52525B;

  /* 边框 */
  --border-color:        #262626;
  --border-color-strong: #404040;

  /* 侧边栏 */
  --sidebar-bg:    #0A0A0A;
  --sidebar-hover: #1F1F1F;
  --sidebar-active: #404040;

  /* 顶部栏 */
  --topbar-bg: #171717;

  /* 主色板：暗色下主色反转为近白（黑按钮变白按钮） */
  --color-primary:       #FAFAFA;
  --color-primary-hover: #E4E4E7;
  --color-primary-700:   #D4D4D8;
  --color-primary-dark:  #A1A1AA;
  --color-primary-light: #262626;
  --color-primary-50:    #1F1F1F;
  --color-primary-100:   #262626;
  --color-primary-200:   #333333;

  /* 功能色 — 暗色变体 */
  --color-success-light: #0A3226;
  --color-warning-light: #3D2E05;
  --color-danger-light:  #3F1414;
  --color-info-light:    #16324F;

  /* 阴影中的品牌色 */
  --shadow-ring:    0 0 0 3px rgba(250, 250, 250, 0.15);
  --shadow-primary: 0 4px 14px rgba(0, 0, 0, 0.4);
}

/* ============================================================
   色彩主题：清华紫（tsinghua，v2.87.0）
   配色来源：清华大学官方紫（校色，≈#660874）。深官方紫 + slate
   冷灰，学术庄重感；侧边栏深紫黑。与 violet（亮紫罗兰现代感）
   拉开明度与气质差距。
   ============================================================ */

/* ---------- 清华紫 · 浅色（官方紫 #660874 + slate 冷灰） ---------- */
[data-palette="tsinghua"] {
  --primary-rgb: 102, 8, 116;

  /* 主色板：清华紫 */
  --color-primary-50:  #F9F3FB;
  --color-primary-100: #F1E3F6;
  --color-primary-200: #E0C6EC;
  --color-primary-300: #C89CDD;
  --color-primary-400: #AC6BC6;
  --color-primary:     #660874;
  --color-primary-hover: #56075F;
  --color-primary-700: #56075F;
  --color-primary-dark:  #44064D;
  --color-primary-900: #380740;
  --color-primary-950: #25032A;
  --color-primary-light: #F1E3F6;

  /* 功能色：标准语义色（紫主色与四语义色距离充足） */
  --color-success:       #10B981;
  --color-success-light: #D1FAE5;
  --color-warning:       #F59E0B;
  --color-warning-light: #FEF3C7;
  --color-danger:        #EF4444;
  --color-danger-light:  #FEE2E2;
  --color-info:          #3B82F6;
  --color-info-light:    #DBEAFE;

  /* 中性色：冷灰（slate，与默认一致，紫主色其上更稳） */
  --color-gray-50:  #F8FAFC;
  --color-gray-100: #F1F5F9;
  --color-gray-200: #E2E8F0;
  --color-gray-300: #CBD5E1;
  --color-gray-400: #94A3B8;
  --color-gray-500: #64748B;
  --color-gray-600: #475569;
  --color-gray-700: #334155;
  --color-gray-800: #1E293B;
  --color-gray-900: #0F172A;

  /* 语义化表面色：微紫冷灰 */
  --surface-0: #FAF9FC;
  --surface-1: #FFFFFF;
  --surface-2: #F1F0F6;
  --surface-3: #E4E2EE;

  /* 背景（向后兼容） */
  --bg-page: var(--surface-0);
  --bg-card: var(--surface-1);

  /* 侧边栏 — 深紫黑 */
  --sidebar-bg:         #241032;
  --sidebar-hover:      #341947;
  --sidebar-active:     #660874;
  --sidebar-text:       #E2E8F0;
  --sidebar-text-muted: #94A3B8;

  /* 文字 */
  --text-primary:   #1E293B;
  --text-secondary: #64748B;
  --text-muted:     #94A3B8;
  --text-disabled:  #CBD5E1;

  /* 边框 */
  --border-color:        #E4E2EE;
  --border-color-strong: #CFCDDD;

  /* 阴影中的品牌色 */
  --shadow-ring:    0 0 0 3px rgba(102, 8, 116, 0.15);
  --shadow-primary: 0 4px 14px rgba(102, 8, 116, 0.2);
}

/* ---------- 清华紫 · 深色（紫黑 + 提亮官紫） ---------- */
[data-palette="tsinghua"][data-theme="dark"] {
  --primary-rgb: 176, 108, 200;

  /* 语义化表面色：紫黑层次 */
  --surface-0: #140B1B;
  --surface-1: #1F1329;
  --surface-2: #2E1F3C;
  --surface-3: #3E2B50;

  /* 背景（向后兼容） */
  --bg-page: #140B1B;
  --bg-card: #1F1329;

  /* 中性色翻转 */
  --color-gray-50:  #140B1B;
  --color-gray-100: #1F1329;
  --color-gray-200: #2E1F3C;
  --color-gray-300: #3E2B50;

  /* 文字 */
  --text-primary:   #F1F5F9;
  --text-secondary: #94A3B8;
  --text-muted:     #64748B;
  --text-disabled:  #475569;

  /* 边框 */
  --border-color:        #2E1F3C;
  --border-color-strong: #3E2B50;

  /* 侧边栏 */
  --sidebar-bg:    #140B1B;
  --sidebar-hover: #1F1329;
  --sidebar-active: #B06CC8;

  /* 顶部栏 */
  --topbar-bg: #1F1329;

  /* 主色板：暗色下提亮为浅官紫（白字对比 ≈4:1，按钮粗体可用） */
  --color-primary:       #A75BBE;
  --color-primary-hover: #B873CC;
  --color-primary-700:   #9649AB;
  --color-primary-dark:  #85409A;
  --color-primary-light: #3A1145;
  --color-primary-50:    #291030;
  --color-primary-100:   #3A1145;
  --color-primary-200:   #571C66;

  /* 功能色 — 暗色变体 */
  --color-success-light: #0A3226;
  --color-warning-light: #3D2E05;
  --color-danger-light:  #3F1414;
  --color-info-light:    #16324F;

  /* 阴影中的品牌色 */
  --shadow-ring:    0 0 0 3px rgba(176, 108, 200, 0.25);
  --shadow-primary: 0 4px 14px rgba(176, 108, 200, 0.25);
}

/* ============================================================
   色彩主题：北大红（pku，v2.87.0）
   配色来源：北京大学官方红「北大红」（≈#94070A）。深正红 +
   中性灰阶，庄重热烈；侧边栏深红黑。深色下提亮为暖砖红。
   ============================================================ */

/* ---------- 北大红 · 浅色（官方红 #94070A + 中性灰） ---------- */
[data-palette="pku"] {
  --primary-rgb: 148, 7, 10;

  /* 主色板：北大红 */
  --color-primary-50:  #FDF3F3;
  --color-primary-100: #FBE4E4;
  --color-primary-200: #F6C7C7;
  --color-primary-300: #EE9E9E;
  --color-primary-400: #E26A6A;
  --color-primary:     #94070A;
  --color-primary-hover: #7B0609;
  --color-primary-700: #7B0609;
  --color-primary-dark:  #630507;
  --color-primary-900: #500406;
  --color-primary-950: #330305;
  --color-primary-light: #FBE4E4;

  /* 功能色：danger 与主色同族，加深一档保持可区分（主色深正红 vs danger 亮红） */
  --color-success:       #10B981;
  --color-success-light: #D1FAE5;
  --color-warning:       #F59E0B;
  --color-warning-light: #FEF3C7;
  --color-danger:        #DC2626;
  --color-danger-light:  #FEE2E2;
  --color-info:          #3B82F6;
  --color-info-light:    #DBEAFE;

  /* 中性色：中性灰（neutral，让红独立承担色彩） */
  --color-gray-50:  #FAFAFA;
  --color-gray-100: #F5F5F5;
  --color-gray-200: #E5E5E5;
  --color-gray-300: #D4D4D4;
  --color-gray-400: #A3A3A3;
  --color-gray-500: #737373;
  --color-gray-600: #525252;
  --color-gray-700: #404040;
  --color-gray-800: #262626;
  --color-gray-900: #171717;

  /* 语义化表面色：微暖灰 */
  --surface-0: #FAF9F9;
  --surface-1: #FFFFFF;
  --surface-2: #F5F3F3;
  --surface-3: #E8E4E4;

  /* 背景（向后兼容） */
  --bg-page: var(--surface-0);
  --bg-card: var(--surface-1);

  /* 侧边栏 — 深红黑 */
  --sidebar-bg:         #2B0A0B;
  --sidebar-hover:      #3F1011;
  --sidebar-active:     #94070A;
  --sidebar-text:       #F5F5F5;
  --sidebar-text-muted: #A3A3A3;

  /* 文字 */
  --text-primary:   #262626;
  --text-secondary: #525252;
  --text-muted:     #737373;
  --text-disabled:  #D4D4D4;

  /* 边框 */
  --border-color:        #E5E5E5;
  --border-color-strong: #D4D4D4;

  /* 阴影中的品牌色 */
  --shadow-ring:    0 0 0 3px rgba(148, 7, 10, 0.15);
  --shadow-primary: 0 4px 14px rgba(148, 7, 10, 0.2);
}

/* ---------- 北大红 · 深色（红黑 + 暖砖红） ---------- */
[data-palette="pku"][data-theme="dark"] {
  --primary-rgb: 224, 106, 106;

  /* 语义化表面色：红黑层次 */
  --surface-0: #170C0C;
  --surface-1: #221212;
  --surface-2: #331A1A;
  --surface-3: #452424;

  /* 背景（向后兼容） */
  --bg-page: #170C0C;
  --bg-card: #221212;

  /* 中性色翻转 */
  --color-gray-50:  #170C0C;
  --color-gray-100: #221212;
  --color-gray-200: #331A1A;
  --color-gray-300: #452424;

  /* 文字 */
  --text-primary:   #F5F5F5;
  --text-secondary: #A3A3A3;
  --text-muted:     #737373;
  --text-disabled:  #525252;

  /* 边框 */
  --border-color:        #331A1A;
  --border-color-strong: #452424;

  /* 侧边栏 */
  --sidebar-bg:    #170C0C;
  --sidebar-hover: #221212;
  --sidebar-active: #E26A6A;

  /* 顶部栏 */
  --topbar-bg: #221212;

  /* 主色板：暗色下提亮为暖砖红（白字对比 ≈3.6:1，与 emerald 深色同水平） */
  --color-primary:       #D95757;
  --color-primary-hover: #E26A6A;
  --color-primary-700:   #C74A4A;
  --color-primary-dark:  #B34141;
  --color-primary-light: #451212;
  --color-primary-50:    #330D0D;
  --color-primary-100:   #451212;
  --color-primary-200:   #631B1B;

  /* 功能色 — 暗色变体 */
  --color-success-light: #0A3226;
  --color-warning-light: #3D2E05;
  --color-danger-light:  #3F1414;
  --color-info-light:    #16324F;

  /* 阴影中的品牌色 */
  --shadow-ring:    0 0 0 3px rgba(224, 106, 106, 0.25);
  --shadow-primary: 0 4px 14px rgba(224, 106, 106, 0.25);
}

/* 石墨主题特例：主色为黑/近白时，侧边栏 active 的 rgba(primary,0.15) 底
   在深色侧边栏上不可见（浅色模式 primary=黑），改为中性白透明底，
   竖条同步去主色。暗色模式 primary 反转为近白、透明底自动成立，无需覆写。 */
[data-palette="graphite"]:not([data-theme="dark"]) .nav-item.active {
  background: rgba(255, 255, 255, 0.09);
}
[data-palette="graphite"]:not([data-theme="dark"]) .nav-item.active::before {
  background: #A1A1AA;
}
