/* ============================================================
   DTvpn 分流中台 — Design Tokens (SSOT)
   style_id: saas-dark-web   ·   ref: paico-financeai-suite V3.0.12
   本文件是唯一允许出现视觉字面量的地方（check:literals 豁免）。
   业务样式一律通过 var(--...) 引用，禁止字面量。
   值 1:1 取自 reference/dashboard-design-tokens.raw.json + 截图。
   ============================================================ */
:root {
  /* -------- 颜色 · 基色 (primitive) -------- */
  --color-app-bg:          #0a0e1a; /* rgb(10,14,26)  页面底 */
  --color-sidebar-bg:      #0b1020; /* 侧栏底(略深) */
  --color-surface:         #111827; /* rgb(17,24,39)  卡片/面板 */
  --color-surface-2:       #151d30; /* 表头/内嵌略亮 */
  --color-surface-3:       #1a2338; /* hover 略亮 */
  --color-border:          #1e293b; /* rgb(30,41,59)  描边 */
  --color-border-strong:   #26324a; /* 强描边 */

  --color-text-primary:    #e2e8f0; /* rgb(226,232,240) */
  --color-text-muted:      #64748b; /* rgb(100,116,139) */
  --color-text-on-accent:  #ffffff;

  --color-brand:           #8b5cf6; /* rgb(139,92,246) 紫 主强调 */
  --color-brand-strong:    #7c3aed;
  --color-success:         #22c55e; /* rgb(34,197,94) */
  --color-teal:            #14b8a6; /* rgb(20,184,166) */
  --color-warning:         #f59e0b; /* rgb(245,158,11) */
  --color-danger:          #ef4444; /* rgb(239,68,68) */
  --color-info:            #3b82f6; /* rgb(59,130,246) */

  /* -------- 颜色 · 语义半透明底 (chip / soft) -------- */
  --color-brand-soft:      rgba(139, 92, 246, 0.12);
  --color-brand-softer:    rgba(139, 92, 246, 0.10);
  --color-success-soft:    rgba(34, 197, 94, 0.12);
  --color-teal-soft:       rgba(20, 184, 166, 0.12);
  --color-warning-soft:    rgba(245, 158, 11, 0.14);
  --color-danger-soft:     rgba(239, 68, 68, 0.12);
  --color-info-soft:       rgba(59, 130, 246, 0.12);
  --color-white-a02:       rgba(255, 255, 255, 0.02);
  --color-white-a06:       rgba(255, 255, 255, 0.06);
  --color-overlay-scrim:   rgba(0, 0, 0, 0.55);
  --color-focus-ring:      rgba(139, 92, 246, 0.55);

  /* -------- 渐变 (本 style 声明的合法视觉语言) -------- */
  --gradient-brand:        linear-gradient(135deg, #8b5cf6 0%, #6366f1 100%);
  --gradient-glow:         radial-gradient(circle at 30% 20%, rgba(139, 92, 246, 0.18), transparent 60%);

  /* -------- 地图 (ECharts, 品牌紫序列色阶) -------- */
  --map-area-base:  #1c2540; /* 无数据省份底色(可见深板岩) */
  --map-border:     #46507a; /* 省界(可见亮边) */
  --map-scale-lo:   #4a3a8c; /* 低密度(少节点) 暗紫 */
  --map-scale-hi:   #b39dff; /* 高密度(多节点) 亮紫 */
  --map-region-hi:  #8b5cf6; /* hover 高亮 */

  /* -------- 字体 -------- */
  --font-family-sans: Inter, -apple-system, "PingFang SC", "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;
  --font-family-mono: ui-monospace, "Cascadia Code", Consolas, monospace;

  --font-size-2xs:  11px;
  --font-size-xs:   12px;
  --font-size-sm:   13px;
  --font-size-base: 14px;
  --font-size-md:   16px;
  --font-size-lg:   18px;
  --font-size-xl:   20px;
  --font-size-2xl:  24px;

  --font-weight-normal:   400;
  --font-weight-medium:   500;
  --font-weight-semibold: 600;
  --font-weight-bold:     700;

  --line-height-tight:  1.2;
  --line-height-normal: 1.5;

  /* -------- 间距 (2/4/6/8/10/12/16/20/24/32/36) -------- */
  --space-2xs: 2px;
  --space-xs:  4px;
  --space-sm:  6px;
  --space-md:  8px;
  --space-lg:  10px;
  --space-xl:  12px;
  --space-2xl: 16px;
  --space-3xl: 20px;
  --space-4xl: 24px;
  --space-5xl: 32px;
  --space-6xl: 36px;

  /* -------- 圆角 -------- */
  --focus-width:     2px;   /* 焦点环宽 + 偏移 + 细指示条 */
  --indicator-width: 3px;   /* 选中导航左侧指示条 */

  --radius-sm:   8px;
  --radius-md:   10px;
  --radius-lg:   12px;
  --radius-xl:   16px;
  --radius-full: 9999px;

  /* -------- 阴影 -------- */
  --shadow-card: 0 4px 24px rgba(0, 0, 0, 0.4);
  --shadow-pop:  0 6px 24px rgba(0, 0, 0, 0.5);
  --shadow-glow: 0 0 20px rgba(139, 92, 246, 0.25);

  /* -------- 动效 -------- */
  --motion-fast: 120ms;
  --motion-base: 180ms;
  --motion-slow: 240ms;
  --motion-ease: cubic-bezier(0.4, 0, 0.2, 1);

  /* -------- 布局尺寸 -------- */
  --size-sidebar:     240px;
  --size-topbar:      64px;
  --size-dot:         8px;
  --size-avatar:      36px;
  --size-avatar-sm:   28px;
  --size-nav-icon:    18px;
  --size-logo:        36px;
  --size-hit:         32px;   /* 最小命中区(桌面) */
  --width-search:     280px;
  --width-login:      340px;
  --width-modal:      380px;
  --table-min-width:  980px;
}
