/* ============================================================================
   polish-v5.css — 君宇AI管理系统 浅紫 Kleon v2 覆写层
   设计参照：Panoply Web Analytics + 宇宙尽 紫色 duotone
   主色：#706EF9（亮紫）  点缀：#A5F3A8（柠檬绿）  背景：#FAFAFA  卡片：#FFFFFF
   落地原则：只改皮肤层，不动 DOM / JS / 业务逻辑
   ============================================================================ */

:root{
  /* === 新主色板（亮紫 + 柠檬绿系统） === */
  --purple:#706EF9;          /* 主品牌色（截图提取亮紫 #706EF9） */
  --purple-d:#5A52E0;         /* 悬停态（深紫） */
  --purple-l:#A094FD;         /* 描边、次级（浅紫） */
  --purple-xl:#C4BFFD;        /* 辅助（更浅紫） */
  --purple-bg:#F0EDFF;        /* 紫色浅背景（chip） */
  --purple-bg2:#E8E4FF;       /* 紫色更浅背景 */

  /* === 柠檬绿点缀色 === */
  --lime:#A5F3A8;            /* 柠檬绿主色 */
  --lime-d:#7DDD81;           /* 深绿 */
  --lime-l:#D4FBD5;           /* 浅绿 */
  --lime-bg:#EDFDED;          /* 极浅绿背景 */

  /* === 背景与表面 === */
  --kleo-bg:#FAFAFA;          /* 页面背景 */
  --kleo-bg-soft:#F4F2FA;     /* 间隙背景 */
  --kleo-surface:#FFFFFF;     /* 卡片白底 */
  --kleo-surface-2:#FAFBFD;   /* 次级背景 */
  --kleo-line:#EEEDFE;        /* 极淡边框 */
  --kleo-border:#E5E9F2;      /* 普通边框 */

  /* === 文字层级（4 阶）— 参考图风格：高对比度 === */
  --kleo-ink:#0F172A;         /* 主文字：近黑 */
  --kleo-ink-2:#334155;       /* 次文字：深灰 */
  --kleo-ink-3:#64748B;       /* 辅助：中灰 */
  --kleo-ink-4:#94A3B8;       /* 占位：浅灰 */

  /* === 状态点缀色（仅 5 类，不滥用） === */
  --kleo-cyan:#0EA5E9;
  --kleo-pink:#EC4899;
  --kleo-green:#10B981;
  --kleo-amber:#F59E0B;
  --kleo-red:#EF4444;

  /* === 高程 4 级 === */
  --sh-1:0 1px 2px rgba(31,42,68,.04);
  --sh-2:0 2px 8px rgba(31,42,68,.05);
  --sh-3:0 6px 24px rgba(112,110,249,.06);
  --sh-4:0 16px 40px rgba(112,110,249,.10);

  /* === 圆角 4 级 === */
  --r-xs:6px;
  --r-sm:10px;
  --r-md:14px;
  --r-lg:20px;

  /* === 兼容旧变量 === */
  --bg:var(--kleo-bg);
  --bg2:var(--kleo-surface);
  --bg3:var(--kleo-surface-2);
  --bg4:var(--kleo-bg-soft);
  --side:var(--kleo-surface);
  --panel:var(--kleo-surface);
  --card:var(--kleo-surface);
  --line:var(--kleo-line);
  --border:var(--kleo-border);
  --border2:var(--kleo-line);
  --ink:var(--kleo-ink);
  --text:var(--kleo-ink);
  --text2:var(--kleo-ink-2);
  --text3:var(--kleo-ink-3);
  --muted:var(--kleo-ink-3);
  --mint:var(--purple);
  --cyan:var(--purple-l);
  --violet:var(--kleo-pink);
  --purple-old:var(--purple);
  --shadow:var(--sh-2);
  --radius:14px;
  --radius-sm:10px;
  --sidebar-w:244px;
}

/* ============================ 强制浅色（覆盖深色霓虹底层） ============================ */
html{background:var(--kleo-bg) !important}
html,body{color:var(--kleo-ink) !important}
body{
  background:
    radial-gradient(ellipse 70% 50% at 15% 0%, rgba(112,110,249,.32) 0%, transparent 60%),
    radial-gradient(ellipse 55% 45% at 88% 8%, rgba(165,243,168,.42) 0%, transparent 55%),
    radial-gradient(ellipse 50% 40% at 50% 100%, rgba(112,110,249,.16) 0%, transparent 60%),
    radial-gradient(circle 380px at 25% 55%, rgba(165,243,168,.28) 0%, transparent 70%),
    radial-gradient(circle 320px at 75% 65%, rgba(165,243,168,.20) 0%, transparent 70%),
    radial-gradient(ellipse 40% 30% at 5% 70%, rgba(165,243,168,.22) 0%, transparent 55%),
    radial-gradient(ellipse 60% 40% at 95% 40%, rgba(165,243,168,.16) 0%, transparent 50%),
    radial-gradient(circle 250px at 45% 85%, rgba(165,243,168,.18) 0%, transparent 60%),
    var(--kleo-bg) !important;
  color:var(--kleo-ink) !important;
  font:15.5px/1.6 Inter,"PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif !important;
  -webkit-font-smoothing:antialiased !important;
  -moz-osx-font-smoothing:grayscale !important;
  text-shadow:none !important;
  animation:pageEnter .3s cubic-bezier(0.16,1,0.3,1) both !important;
}
@keyframes pageEnter{from{opacity:.6}to{opacity:1}}

/* === 装饰色块：让毛玻璃卡片背后有东西可磨 === */
body::before{
  content:'' !important;
  position:fixed !important;
  top:8% !important; left:55% !important;
  width:500px !important; height:500px !important;
  background:radial-gradient(circle, rgba(112,110,249,.22) 0%, transparent 70%) !important;
  border-radius:50% !important;
  pointer-events:none !important;
  z-index:0 !important;
  animation:blobFloat1 18s ease-in-out infinite !important;
}
body::after{
  content:'' !important;
  position:fixed !important;
  top:40% !important; left:3% !important;
  width:480px !important; height:480px !important;
  background:radial-gradient(circle, rgba(165,243,168,.35) 0%, transparent 70%) !important;
  border-radius:50% !important;
  pointer-events:none !important;
  z-index:0 !important;
  animation:blobFloat2 22s ease-in-out infinite !important;
}
/* 第三个浮动色块：右下角紫绿交融 */
body > .app::before{
  content:'' !important;
  position:fixed !important;
  bottom:5% !important; right:8% !important;
  width:380px !important; height:380px !important;
  background:radial-gradient(circle, rgba(165,243,168,.28) 0%, transparent 70%) !important;
  border-radius:50% !important;
  pointer-events:none !important;
  z-index:0 !important;
  animation:blobFloat3 20s ease-in-out infinite !important;
}
@keyframes blobFloat3{
  0%,100%{transform:translate(0,0) scale(1)}
  33%{transform:translate(-50px,30px) scale(1.08)}
  66%{transform:translate(30px,-40px) scale(.95)}
}
/* 第三个浮动色块：柠檬绿右上角 */
body{
  --blob3:radial-gradient(circle, rgba(165,243,168,.25) 0%, transparent 70%);
}
body::before,body::after{
  filter:saturate(1.3) brightness(1.05) !important;
}
@keyframes blobFloat1{
  0%,100%{transform:translate(0,0) scale(1)}
  33%{transform:translate(-60px,40px) scale(1.1)}
  66%{transform:translate(40px,-30px) scale(.95)}
}
@keyframes blobFloat2{
  0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(80px,-50px) scale(1.15)}
}

/* 确保内容容器透明，让 body 背景透过 */
.main-area,.content,.main,.app-main,.page-content,.wrapper{
  background:transparent !important;
  position:relative !important;
  z-index:1 !important;
}

/* 去除所有霓虹光晕 */
*{text-shadow:none !important}
h1,h2,h3,h4,h5,h6,.title,.brand b,.card-title,.label,
.kpi-label,.kpi-val,.stat-num,.num,.digit,.value,.count,.amount,.total,.money,.price{
  color:var(--kleo-ink) !important;
  text-shadow:none !important;
  font-weight:700 !important;
}
/* 20260914 铁律（定版页面豁免）：本条"扫射型"强制配色会碾压定版——
   定版 html 不加载 polish.css 故不受影响，但 content.html / project.html 引用了本文件，
   导致定版白字/彩色字被整页压成 #334155（实测：视频驾驶舱 106 个、项目进度看板 114 个元素变色，
   含 .pname 白字、.pchip mint 绿、.plbl danger 红 等）。
   content.html / project.html 的 body 带 .ct-dingban 类 → 本条在这两页整页豁免，颜色回归定版声明值。
   20260916 追加：项目中心「我的项目 / 项目驾驶舱」v4 定版上线，project.html 已同步加 .ct-dingban。
   其余 6 个页面（index / login / market / finance / resource）行为完全不变。
   若后续新增定版类页面，同样给 <body> 加 class="ct-dingban" 即可自动豁免。 */
body:not(.ct-dingban) p,body:not(.ct-dingban) span,body:not(.ct-dingban) small,body:not(.ct-dingban) div,body:not(.ct-dingban) td,body:not(.ct-dingban) th{color:var(--kleo-ink-2) !important;text-shadow:none !important}
.subtitle,.desc,.note,.caption,.muted,.dim,.text2,.text-secondary,.detail,.info,.meta,.small,.hint,.help{
  color:var(--kleo-ink-3) !important;text-shadow:none !important
}
.text3,.text-tertiary,.light,.faint,.subtle,.ghost{
  color:var(--kleo-ink-4) !important;text-shadow:none !important
}
a{color:var(--purple) !important;text-shadow:none !important}
a:hover{color:var(--purple-d) !important}

/* 滚动条 */
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#D8DEEB !important;border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:#B8C0D4 !important}
*{scrollbar-width:thin;scrollbar-color:#D8DEEB transparent}

/* ============================ 侧边栏（毛玻璃 + 紫品牌）— 参考图风格 ============================ */
.sidebar{
  background:rgba(255,255,255,.72) !important;
  backdrop-filter:blur(24px) saturate(180%) !important;
  -webkit-backdrop-filter:blur(24px) saturate(180%) !important;
  background-image:none !important;
  border-right:1px solid rgba(255,255,255,.60) !important;
  box-shadow:1px 0 0 rgba(255,255,255,.50) !important;
}
.sidebar-header{padding:24px 16px 22px !important}

/* 品牌 Logo 方块：44×44 几何渐变 + 白色「君」字 */
.sidebar-logo{
  width:44px !important;
  height:44px !important;
  border-radius:14px !important;
  background:linear-gradient(135deg,#706EF9 0%,#A094FD 100%) !important;
  background-image:linear-gradient(135deg,#706EF9 0%,#A094FD 100%) !important;
  background-size:100% 100% !important;
  animation:none !important;
  box-shadow:0 4px 12px rgba(112,110,249,.30) !important;
  color:#FFFFFF !important;
  font-weight:800 !important;
  font-size:20px !important;
  letter-spacing:-1px !important;
  position:relative !important;
  overflow:hidden !important;
}
.sidebar-logo::before{
  content:'' !important;
  position:absolute !important;
  top:-50% !important;left:-50% !important;
  width:200% !important;height:200% !important;
  background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.25) 50%,transparent 70%) !important;
  animation:kleoShine 5s ease-in-out infinite !important;
}
@keyframes kleoShine{
  0%{transform:translateX(-100%) translateY(-100%)}
  60%,100%{transform:translateX(100%) translateY(100%)}
}
.sidebar-title{font-size:18px !important;font-weight:700 !important;color:var(--kleo-ink) !important;letter-spacing:-.01em}
.sidebar-sub{font-size:13px !important;color:var(--kleo-ink-3) !important;letter-spacing:.05em;text-transform:uppercase;font-weight:500}

/* 侧边栏导航分组标题 */
.nav-group-title{
  color:var(--kleo-ink-3) !important;
  font-size:13px !important;
  letter-spacing:.16em !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  margin:18px 12px 8px !important;
}

/* 侧边栏导航按钮 */
.nav-btn{
  background:transparent !important;
  color:var(--kleo-ink-2) !important;
  border:0 !important;
  border-radius:10px !important;
  padding:11px 14px !important;
  font-size:16px !important;
  font-weight:500 !important;
  transition:all .18s cubic-bezier(0.16,1,0.3,1) !important;
  text-shadow:none !important;
}
.nav-btn i{
  color:var(--kleo-ink-3) !important;
  width:20px !important;
  text-shadow:none !important;
  transition:color .18s !important;
}
.nav-btn:hover{
  background:var(--kleo-bg-soft) !important;
  color:var(--kleo-ink) !important;
}
.nav-btn:hover i{color:var(--purple) !important}
.nav-btn.on{
  background:var(--purple-bg2) !important;
  color:var(--purple) !important;
  font-weight:600 !important;
  box-shadow:none !important;
  border-radius:10px !important;
}
.nav-btn.on i{
  color:var(--purple) !important;
  text-shadow:none !important;
}
.nav-btn .nav-badge{
  background:var(--kleo-red) !important;
  color:#FFFFFF !important;
  font-size:12px !important;
  padding:2px 6px !important;
  border-radius:10px !important;
  font-weight:600 !important;
}

.sidebar-footer{
  border-top:1px solid var(--kleo-border) !important;
  color:var(--kleo-ink-3) !important;
  font-size:13px !important;
}

/* ============================ 顶栏（白色毛玻璃）— 参考图风格 ============================ */
.header{
  height:64px !important;
  background:rgba(255,255,255,.78) !important;
  backdrop-filter:blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter:blur(20px) saturate(180%) !important;
  border-bottom:1px solid rgba(255,255,255,.60) !important;
  box-shadow:0 1px 3px rgba(31,42,68,.03) !important;
  padding:0 24px !important;
}
.header-page-title{font-size:19px !important;font-weight:700 !important;color:var(--kleo-ink) !important;letter-spacing:-.01em}
.header-sub{font-size:14px !important;color:var(--kleo-ink-3) !important}

/* 顶栏用户胶囊 */
.top-user{
  background:var(--kleo-bg-soft) !important;
  border:1px solid var(--kleo-border) !important;
  border-radius:24px !important;
  padding:5px 14px 5px 5px !important;
  transition:background .18s !important;
}
.top-user:hover{background:var(--purple-bg2) !important}
.account-avatar{
  width:32px !important;
  height:32px !important;
  border-radius:50% !important;
  background:linear-gradient(135deg,#706EF9,#A094FD) !important;
  color:#FFFFFF !important;
  font-weight:700 !important;
  font-size:15px !important;
  box-shadow:0 2px 6px rgba(112,110,249,.25) !important;
}
.top-user b{color:var(--kleo-ink) !important;font-weight:600 !important;font-size:15px !important}
.top-user .muted{color:var(--kleo-ink-3) !important;font-size:13px !important}

/* ============================ 欢迎横幅（毛玻璃渐变）— 参考图风格 ============================ */
.welcome-banner{
  background:linear-gradient(135deg,rgba(112,110,249,.10) 0%,rgba(160,148,253,.06) 50%,rgba(14,165,233,.04) 100%) !important;
  backdrop-filter:blur(18px) saturate(175%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(175%) !important;
  border:1px solid rgba(255,255,255,.65) !important;
  border-radius:var(--r-lg) !important;
  padding:32px 36px !important;
  box-shadow:0 4px 20px rgba(112,110,249,.06),inset 0 1px 0 rgba(255,255,255,.9) !important;
  position:relative !important;
  overflow:hidden !important;
}
.welcome-banner::before{
  content:'' !important;
  position:absolute !important;
  top:-60px !important;right:-60px !important;
  width:200px !important;height:200px !important;
  background:radial-gradient(circle,rgba(112,110,249,.18) 0%,transparent 70%) !important;
  pointer-events:none !important;
}
.welcome-banner::after{
  content:'' !important;
  position:absolute !important;
  bottom:-40px !important;left:-40px !important;
  width:140px !important;height:140px !important;
  background:radial-gradient(circle,rgba(14,165,233,.10) 0%,transparent 70%) !important;
  pointer-events:none !important;
}
.welcome-banner h2{
  font-size:26px !important;
  font-weight:700 !important;
  color:var(--kleo-ink) !important;
  letter-spacing:-.02em !important;
  margin-bottom:8px !important;
}
.welcome-banner p{color:var(--kleo-ink-3) !important;font-size:16px !important}

/* ============================ KPI 指标卡片（6 列）— 参考图风格 ============================ */
.metrics-grid{gap:16px !important;margin-bottom:24px !important}

.metric-card{
  background:rgba(255,255,255,.58) !important;
  backdrop-filter:blur(18px) saturate(175%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(175%) !important;
  background-image:none !important;
  border:1px solid rgba(255,255,255,.70) !important;
  border-radius:var(--r-lg) !important;
  padding:22px 24px !important;
  box-shadow:0 4px 20px rgba(112,110,249,.06),inset 0 1px 0 rgba(255,255,255,.9) !important;
  transition:transform .22s cubic-bezier(0.16,1,0.3,1),border-color .22s,box-shadow .22s !important;
  position:relative !important;
  overflow:hidden !important;
}
.metric-card::before{
  content:none !important;
  background:none !important;
}
.metric-card:hover{
  transform:translateY(-3px) !important;
  border-color:rgba(112,110,249,.15) !important;
  box-shadow:0 8px 32px rgba(112,110,249,.10),inset 0 1px 0 rgba(255,255,255,.9) !important;
  background-image:none !important;
}
.metric-card:hover::before{display:none !important}

/* KPI 图标区 — 参考图风格：大图标 + 渐变背景 */
.metric-card .metric-icon{
  width:40px !important;
  height:40px !important;
  border-radius:12px !important;
  background:linear-gradient(135deg,rgba(112,110,249,.12) 0%,rgba(160,148,253,.08) 100%) !important;
  display:grid !important;
  place-items:center !important;
  font-size:20px !important;
  opacity:1 !important;
  color:var(--purple) !important;
  margin-bottom:14px !important;
}
.metric-card .metric-label{
  font-size:14px !important;
  color:var(--kleo-ink) !important;
  font-weight:600 !important;
  margin-bottom:6px !important;
  letter-spacing:.02em !important;
}
.metric-card .metric-value{
  font-size:30px !important;
  font-weight:700 !important;
  color:var(--kleo-ink) !important;
  letter-spacing:-.02em !important;
  text-shadow:none !important;
  line-height:1.2 !important;
}
.metric-card .metric-unit{
  font-size:15px !important;
  color:var(--kleo-ink-3) !important;
  font-weight:500 !important;
  margin-left:4px !important;
}
.metric-card .metric-trend{
  font-size:13px !important;
  color:var(--kleo-ink-3) !important;
  margin-top:8px !important;
  display:flex !important;
  align-items:center !important;
  gap:4px !important;
}

/* 颜色卡片：左侧色条 + 紫色数字 */
.metric-card.mint,.metric-card.cyan,.metric-card.blue,
.metric-card.green,.metric-card.orange,.metric-card.red{
  border-left:3px solid var(--kleo-border) !important;
  border-radius:var(--r-md) !important;
}
.metric-card.mint{border-left:3px solid var(--purple) !important}
.metric-card.mint .metric-value{color:var(--purple) !important}
.metric-card.cyan{border-left:3px solid var(--kleo-cyan) !important}
.metric-card.cyan .metric-value{color:var(--kleo-cyan) !important}
.metric-card.blue{border-left:3px solid var(--kleo-cyan) !important}
.metric-card.blue .metric-value{color:var(--kleo-cyan) !important}
.metric-card.green{border-left:3px solid var(--kleo-green) !important}
.metric-card.green .metric-value{color:var(--kleo-green) !important}
.metric-card.orange{border-left:3px solid var(--kleo-amber) !important}
.metric-card.orange .metric-value{color:var(--kleo-amber) !important}
.metric-card.red{border-left:3px solid var(--kleo-red) !important}
.metric-card.red .metric-value{color:var(--kleo-red) !important}

/* ============================ 中心卡片 — 参考图风格 ============================ */
.center-cards{gap:16px !important;margin-bottom:24px !important}

.center-card{
  background:rgba(255,255,255,.58) !important;
  backdrop-filter:blur(18px) saturate(175%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(175%) !important;
  background-image:none !important;
  border:1px solid rgba(255,255,255,.70) !important;
  border-radius:var(--r-lg) !important;
  padding:24px !important;
  box-shadow:0 4px 20px rgba(112,110,249,.06),inset 0 1px 0 rgba(255,255,255,.9) !important;
  transition:transform .22s cubic-bezier(0.16,1,0.3,1),border-color .22s,box-shadow .22s !important;
  position:relative !important;
  overflow:hidden !important;
}
.center-card::after{display:none !important}
.center-card:hover{
  transform:translateY(-3px) !important;
  border-color:rgba(112,110,249,.15) !important;
  box-shadow:0 8px 32px rgba(112,110,249,.10),inset 0 1px 0 rgba(255,255,255,.9) !important;
  background-image:none !important;
}
.center-card:active{transform:scale(.98) !important}

/* 中心卡片图标 — 参考图：大圆角渐变块 */
.center-card .cc-icon{
  width:52px !important;
  height:52px !important;
  border-radius:16px !important;
  background:linear-gradient(135deg,rgba(112,110,249,.14) 0%,rgba(160,148,253,.10) 100%) !important;
  color:var(--purple) !important;
  display:grid !important;
  place-items:center !important;
  font-size:26px !important;
  margin-bottom:16px !important;
  box-shadow:0 2px 8px rgba(112,110,249,.10) !important;
}
.center-card h4{
  font-size:18px !important;
  font-weight:700 !important;
  color:var(--kleo-ink) !important;
  margin-bottom:6px !important;
}
.center-card p{
  font-size:14.5px !important;
  color:var(--kleo-ink-3) !important;
  line-height:1.55 !important;
}
.center-card .cc-arrow{
  color:var(--kleo-ink-4) !important;
  transition:color .18s !important;
}
.center-card:hover .cc-arrow{color:var(--purple) !important}

/* ============================ 面板 Panel（毛玻璃）— 参考图风格 ============================ */
.panel{
  background:rgba(255,255,255,.58) !important;
  backdrop-filter:blur(18px) saturate(175%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(175%) !important;
  background-image:none !important;
  border:1px solid rgba(255,255,255,.70) !important;
  border-radius:var(--r-lg) !important;
  padding:24px !important;
  box-shadow:0 4px 20px rgba(112,110,249,.06),inset 0 1px 0 rgba(255,255,255,.9) !important;
  position:relative !important;
  overflow:hidden !important;
}
.panel-head{margin-bottom:20px !important;display:flex !important;align-items:center !important;justify-content:space-between !important}
.panel-head h3{
  font-size:17px !important;
  font-weight:700 !important;
  color:var(--kleo-ink) !important;
}
.panel-head .chip{
  background:var(--purple-bg) !important;
  color:var(--purple) !important;
  border:1px solid var(--purple-bg2) !important;
  border-radius:10px !important;
  font-size:13px !important;
  padding:3px 10px !important;
  font-weight:600 !important;
}

/* ============================ 按钮 — 参考图风格 ============================ */
.btn{
  background:rgba(255,255,255,.58) !important;
  border:1px solid var(--kleo-border) !important;
  color:var(--kleo-ink-2) !important;
  border-radius:var(--r-sm) !important;
  padding:9px 16px !important;
  font-size:15px !important;
  font-weight:600 !important;
  transition:all .18s cubic-bezier(0.16,1,0.3,1) !important;
  backdrop-filter:blur(8px) saturate(150%) !important;
}
.btn:hover{
  border-color:var(--purple-l) !important;
  color:var(--purple) !important;
  transform:translateY(-1px) !important;
  box-shadow:0 4px 12px rgba(112,110,249,.10) !important;
  background:rgba(255,255,255,.85) !important;
}
.btn:active{transform:scale(.97) !important;transition-duration:.08s !important}
.btn:focus-visible{
  outline:2px solid rgba(112,110,249,.35) !important;
  outline-offset:2px !important;
}
.btn .chip{
  font-size:13px !important;
  padding:2px 8px !important;
  border-radius:6px !important;
}

/* 主按钮：紫色 gradient + 柔光 */
.btn.primary{
  background:linear-gradient(135deg,#706EF9 0%,#A094FD 100%) !important;
  border:0 !important;
  color:#FFFFFF !important;
  box-shadow:0 4px 14px rgba(112,110,249,.25) !important;
  font-weight:700 !important;
}
.btn.primary:hover{
  box-shadow:0 6px 20px rgba(112,110,249,.35) !important;
  transform:translateY(-1px) !important;
}
.btn.primary:active{transform:scale(.97) !important;transition-duration:.08s !important}

/* ============================ Toast（毛玻璃浮层）— 参考图风格 ============================ */
.toast{
  background:rgba(255,255,255,.82) !important;
  backdrop-filter:blur(24px) saturate(180%) !important;
  -webkit-backdrop-filter:blur(24px) saturate(180%) !important;
  border:1px solid rgba(255,255,255,.70) !important;
  color:var(--kleo-ink) !important;
  border-radius:var(--r-md) !important;
  box-shadow:0 8px 32px rgba(112,110,249,.12) !important;
  padding:14px 24px !important;
}
.toast.show{
  background:rgba(255,255,255,.85) !important;
  backdrop-filter:blur(24px) saturate(180%) !important;
  border:1px solid rgba(255,255,255,.70) !important;
  box-shadow:0 8px 32px rgba(112,110,249,.12) !important;
}

/* ============================ 数据展示组件 — 参考图风格 ============================ */
/* 数据网格：icon + 大数字 + 小标签 */
.data-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}
.data-item{
  background:rgba(255,255,255,.65);
  backdrop-filter:blur(14px) saturate(160%);
  border:1px solid rgba(255,255,255,.65);
  border-radius:16px;
  padding:18px 20px;
  box-shadow:0 2px 12px rgba(112,110,249,.05),inset 0 1px 0 rgba(255,255,255,.9);
  display:flex;
  align-items:center;
  gap:14px;
  transition:transform .2s,box-shadow .2s;
}
.data-item:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(112,110,249,.08),inset 0 1px 0 rgba(255,255,255,.9)}
.data-item .di-icon{
  width:44px;height:44px;border-radius:14px;
  background:linear-gradient(135deg,rgba(112,110,249,.12),rgba(160,148,253,.08));
  display:grid;place-items:center;font-size:22px;color:var(--purple);
  flex-shrink:0;
}
.data-item .di-body{flex:1}
.data-item .di-val{font-size:24px;font-weight:700;color:var(--kleo-ink);line-height:1.2}
.data-item .di-lab{font-size:13.5px;color:var(--kleo-ink-3);margin-top:2px}

/* 照片墙网格 */
.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.photo-item{
  aspect-ratio:1;border-radius:16px;overflow:hidden;
  background:var(--kleo-bg-soft);box-shadow:0 2px 8px rgba(112,110,249,.06);
  transition:transform .2s,box-shadow .2s;cursor:pointer;
}
.photo-item:hover{transform:scale(1.04);box-shadow:0 6px 20px rgba(112,110,249,.12)}
.photo-item img{width:100%;height:100%;object-fit:cover}

/* 头像组件 */
.avatar{
  width:64px;height:64px;border-radius:50%;
  background:linear-gradient(135deg,#706EF9,#A094FD);
  display:grid;place-items:center;color:#fff;font-size:26px;font-weight:700;
  box-shadow:0 4px 16px rgba(112,110,249,.25);
  flex-shrink:0;
}
.avatar-sm{width:40px;height:40px;font-size:18px}
.avatar-lg{width:80px;height:80px;font-size:30px}

/* 平台图标 — 渐变式 */
.platform-icon{
  width:32px;height:32px;border-radius:10px;
  display:grid;place-items:center;font-size:18px;
  flex-shrink:0;
  box-shadow:0 2px 6px rgba(0,0,0,.08);
}
.platform-douyin{background:linear-gradient(135deg,#000000 0%,#333333 100%);color:#fff}
.platform-xhs{background:linear-gradient(135deg,#FF2442 0%,#FF6B8A 100%);color:#fff}
.platform-taobao{background:linear-gradient(135deg,#FF5000 0%,#FFAA00 100%);color:#fff}
.platform-jd{background:linear-gradient(135deg,#E4393C 0%,#FF6B6D 100%);color:#fff}
.platform-bilibili{background:linear-gradient(135deg,#00A1D6 0%,#5BC0DE 100%);color:#fff}
.platform-dewu{background:linear-gradient(135deg,#00C8C8 0%,#4C8BF5 100%);color:#fff}

/* 平台渐变色板 — 用于图表/环形图（CSS 变量便于 JS 读取） */
:root{
  --plat-dewu-start:#00C8C8;   --plat-dewu-end:#4C8BF5;
  --plat-xhs-start:#706EF9;    --plat-xhs-end:#A094FD;
  --plat-douyin-start:#FF5EA8; --plat-douyin-end:#FFB6D5;
  --plat-taobao-start:#FF9500; --plat-taobao-end:#FFCC00;
  --plat-jd-start:#22C55E;     --plat-jd-end:#7DDD81;
  --plat-bili-start:#00A1D6;   --plat-bili-end:#5BC0DE;
}

/* 图表扇区/柱状渐变类（SVG/Canvas 中可通过 getComputedStyle 读取） */
.plat-gradient-dewu{fill:url(#gradDewu)}
.plat-gradient-xhs{fill:url(#gradXhs)}
.plat-gradient-douyin{fill:url(#gradDouyin)}
.plat-gradient-taobao{fill:url(#gradTaobao)}
.plat-gradient-jd{fill:url(#gradJd)}
.plat-gradient-bili{fill:url(#gradBili)}

/* 平台卡片边框渐变（资源中心用） */
.res-plat-dewu{border-left:3px solid var(--plat-dewu-start) !important}
.res-plat-xhs{border-left:3px solid var(--plat-xhs-start) !important}
.res-plat-douyin{border-left:3px solid var(--plat-douyin-start) !important}
.res-plat-taobao{border-left:3px solid var(--plat-taobao-start) !important}
.res-plat-jd{border-left:3px solid var(--plat-jd-start) !important}
.res-plat-bili{border-left:3px solid var(--plat-bili-start) !important}

/* 平台 chip 渐变标签 */
.chip-dewu{background:linear-gradient(135deg,rgba(0,200,200,.12),rgba(76,139,245,.12)) !important;color:#008B8B !important;border:1px solid rgba(0,200,200,.20) !important}
.chip-xhs{background:linear-gradient(135deg,rgba(112,110,249,.12),rgba(160,148,253,.12)) !important;color:#5A52E0 !important;border:1px solid rgba(112,110,249,.20) !important}
.chip-douyin{background:linear-gradient(135deg,rgba(255,94,168,.12),rgba(255,182,213,.12)) !important;color:#D63384 !important;border:1px solid rgba(255,94,168,.20) !important}
.chip-taobao{background:linear-gradient(135deg,rgba(255,149,0,.12),rgba(255,204,0,.12)) !important;color:#CC7A00 !important;border:1px solid rgba(255,149,0,.20) !important}
.chip-jd{background:linear-gradient(135deg,rgba(34,197,94,.12),rgba(125,221,129,.12)) !important;color:#15803D !important;border:1px solid rgba(34,197,94,.20) !important}
.chip-bili{background:linear-gradient(135deg,rgba(0,161,214,.12),rgba(91,192,222,.12)) !important;color:#0077A3 !important;border:1px solid rgba(0,161,214,.20) !important}

/* 信息列表项 */
.info-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--kleo-line)}
.info-row:last-child{border-bottom:0}
.info-row .ir-icon{
  width:36px;height:36px;border-radius:10px;
  background:var(--purple-bg);color:var(--purple);
  display:grid;place-items:center;font-size:18px;flex-shrink:0;
}
.info-row .ir-body{flex:1}
.info-row .ir-title{font-size:15.5px;font-weight:600;color:var(--kleo-ink)}
.info-row .ir-desc{font-size:14px;color:var(--kleo-ink-3);margin-top:2px}
.info-row .ir-val{font-size:15.5px;font-weight:700;color:var(--kleo-ink);text-align:right}

/* 标签 chip */
.tag-chip{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--purple-bg);color:var(--purple);
  border:1px solid var(--purple-bg2);border-radius:20px;
  padding:4px 12px;font-size:14px;font-weight:600;
}
.tag-chip .dot{width:6px;height:6px;border-radius:50%;background:var(--purple)}

/* 状态指示器 */
.status-dot{
  width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px;
}
.status-dot.online{background:var(--kleo-green);box-shadow:0 0 0 2px rgba(16,185,129,.2)}
.status-dot.busy{background:var(--kleo-amber);box-shadow:0 0 0 2px rgba(245,158,11,.2)}
.status-dot.offline{background:var(--kleo-ink-4)}

/* 分割线装饰 */
.divider-fancy{
  height:1px;background:linear-gradient(90deg,transparent,var(--kleo-line),transparent);
  margin:20px 0;
}
.workbench-entry{
  background:linear-gradient(135deg,rgba(112,110,249,.08) 0%,rgba(160,148,253,.05) 100%) !important;
  backdrop-filter:blur(16px) saturate(170%) !important;
  -webkit-backdrop-filter:blur(16px) saturate(170%) !important;
  border:1px solid rgba(255,255,255,.65) !important;
  border-radius:var(--r-lg) !important;
  padding:24px !important;
  box-shadow:0 4px 20px rgba(112,110,249,.06),inset 0 1px 0 rgba(255,255,255,.9) !important;
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
}
.workbench-entry:hover{
  border-color:rgba(112,110,249,.15) !important;
  box-shadow:0 8px 32px rgba(112,110,249,.10),inset 0 1px 0 rgba(255,255,255,.9) !important;
  transform:translateY(-2px) !important;
}
.workbench-entry .we-icon{
  width:52px !important;
  height:52px !important;
  border-radius:16px !important;
  background:linear-gradient(135deg,#706EF9,#A094FD) !important;
  color:#FFFFFF !important;
  display:grid !important;
  place-items:center !important;
  font-size:26px !important;
  box-shadow:0 4px 12px rgba(112,110,249,.25) !important;
  flex-shrink:0 !important;
}
.workbench-entry h4{color:var(--kleo-ink) !important;font-weight:700 !important;font-size:18px !important;margin-bottom:4px !important}
.workbench-entry p{color:var(--kleo-ink-3) !important;font-size:15px !important}
.workbench-entry .we-arrow{color:var(--kleo-ink-4) !important;font-size:22px !important;margin-left:auto !important}

/* ============================ 表单 ============================ */
select,input,textarea{
  background:var(--kleo-surface) !important;
  border:1px solid var(--kleo-border) !important;
  color:var(--kleo-ink) !important;
  border-radius:var(--r-sm) !important;
  padding:8px 12px !important;
  font-size:15px !important;
  color-scheme:light !important;
  transition:border-color .18s,box-shadow .18s !important;
}
select option{background:var(--kleo-surface) !important;color:var(--kleo-ink) !important}
select option:checked,select option:hover{background:#706EF9 !important;color:#FFFFFF !important}
input:focus,select:focus,textarea:focus{
  border-color:var(--purple-l) !important;
  box-shadow:0 0 0 3px rgba(112,110,249,.08) !important;
  outline:none !important;
}
input::placeholder,textarea::placeholder{color:var(--kleo-ink-4) !important}

/* ============================ 表格 — 参考图风格 ============================ */
.table th,.table td{
  border-bottom:1px solid var(--kleo-line) !important;
  color:var(--kleo-ink-2) !important;
  padding:12px 16px !important;
}
.table th{
  color:var(--kleo-ink-3) !important;
  font-weight:600 !important;
  font-size:13.5px !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
  background:rgba(255,255,255,.50) !important;
}
.table tr:hover td{
  background:rgba(112,110,249,.03) !important;
}
.table tr:hover td:first-child{border-radius:8px 0 0 8px}
.table tr:hover td:last-child{border-radius:0 8px 8px 0}

/* ==================== 20261015d 表格表头禁止竖排换行（全站） ====================
   现象：市场中心「下单明细」19 列在窄容器里被压到最窄 46px，「市场负责人」竖排成 5 行、
         「客户类型」4 行、「合作平台」4 行，且随屏幕宽度变化（1440/1280/1100 三档实测均复现）。
   原因：全站 CSS 从未约束表头换行 —— 中文默认可在任意两字之间断行，容器一紧就竖排。
   修法：表头强制一行显示 → 列宽由文字内容撑开，超宽时由 .table-wrap(overflow:auto) 横向滚动。
   范围：只作用于表头 th；内容单元格 td 仍然可以正常换行，不影响长文案展示。 */
table th{white-space:nowrap !important}

/* ============================ 实时指示器 ============================ */
.live{color:var(--kleo-green) !important}
.live::before{
  background:var(--kleo-green) !important;
  box-shadow:0 0 0 2px rgba(16,185,129,.15) !important;
}

/* ============================ 分隔线 ============================ */
hr,.divider,[class*="separator"]{
  border-color:var(--kleo-line) !important;
}

/* ============================ 通用毛玻璃卡片覆盖（所有 card 类） ============================ */
.card,
.kpi-card,
.glass-card,
.module-card,
.dashboard-card,
.stat-card,
.center-today-card,
.order-card,
.claim-card,
.opp-metric-link{
  background:rgba(255,255,255,.58) !important;
  backdrop-filter:blur(18px) saturate(175%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(175%) !important;
  background-image:none !important;
  border:1px solid rgba(255,255,255,.70) !important;
  border-radius:var(--r-lg) !important;
  box-shadow:0 4px 20px rgba(112,110,249,.06),inset 0 1px 0 rgba(255,255,255,.9) !important;
  transition:transform .22s cubic-bezier(0.16,1,0.3,1),border-color .22s,box-shadow .22s !important;
}
.card:hover,.kpi-card:hover,.glass-card:hover,.module-card:hover,
.dashboard-card:hover,.stat-card:hover,.center-today-card:hover,
.order-card:hover,.claim-card:hover,.opp-metric-link:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(112,110,249,.15) !important;
  box-shadow:0 8px 32px rgba(112,110,249,.10),inset 0 1px 0 rgba(255,255,255,.9) !important;
}

/* kpi-card 内部文字层级 */
.kpi-card .label,.kpi-card .desc{
  color:var(--kleo-ink) !important;
  font-weight:600 !important;
  text-shadow:none !important;
}
.kpi-card .val,.kpi-card .num,.kpi-card .value{
  color:var(--kleo-ink) !important;
  font-weight:700 !important;
  text-shadow:none !important;
}

/* center-today-card（老板视图今日卡片） */
.center-today-card{
  padding:18px 20px !important;
  cursor:pointer !important;
  position:relative !important;
  overflow:hidden !important;
}

/* order-card（项目中心订单卡片） */
.order-card{
  padding:16px 18px !important;
  position:relative !important;
}

/* claim-card（市场中心认领卡片） */
.claim-card{
  border:1px solid rgba(255,255,255,.70) !important;
  background:rgba(255,255,255,.58) !important;
  border-radius:var(--r-md) !important;
  padding:14px 16px !important;
}

/* 资源中心专用卡片类 */
.res-sub,.res-plat-section,.res-plat-head{
  background:rgba(255,255,255,.70) !important;
  backdrop-filter:blur(14px) saturate(160%) !important;
  -webkit-backdrop-filter:blur(14px) saturate(160%) !important;
  border:1px solid rgba(255,255,255,.60) !important;
  border-radius:var(--r-md) !important;
  box-shadow:0 2px 12px rgba(112,110,249,.04),inset 0 1px 0 rgba(255,255,255,.8) !important;
}
.res-modal-box{
  background:rgba(255,255,255,.82) !important;
  backdrop-filter:blur(28px) saturate(180%) !important;
  -webkit-backdrop-filter:blur(28px) saturate(180%) !important;
  border:1px solid rgba(255,255,255,.70) !important;
  border-radius:var(--r-lg) !important;
  box-shadow:0 24px 60px rgba(31,42,68,.12),inset 0 1px 0 rgba(255,255,255,.9) !important;
}

/* 通用弹窗 modal 盒子 */
.modal-box,.modal-content,.modal-body,.dialog,.drawer{
  background:rgba(255,255,255,.82) !important;
  backdrop-filter:blur(24px) saturate(180%) !important;
  -webkit-backdrop-filter:blur(24px) saturate(180%) !important;
  border:1px solid rgba(255,255,255,.70) !important;
  border-radius:var(--r-lg) !important;
  box-shadow:0 16px 48px rgba(31,42,68,.10),inset 0 1px 0 rgba(255,255,255,.9) !important;
}

/* ============================ Shimmer 骨架屏（新增） ============================ */
.skeleton{
  background:linear-gradient(90deg,var(--kleo-bg-soft) 25%,var(--purple-bg2) 50%,var(--kleo-bg-soft) 75%) !important;
  background-size:200% 100% !important;
  animation:kleoSkel 1.4s ease-in-out infinite !important;
  border-radius:var(--r-sm) !important;
}
@keyframes kleoSkel{
  0%{background-position:200% 0}
  100%{background-position:-200% 0}
}

/* ============================ Reduced motion ============================ */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important}
  *:hover{transform:none !important}
  .sidebar-logo::before,.skeleton{animation:none !important}
}

/* ============================ 登录页（login.html）覆写 — 参考图风格 ============================ */
.bg-deco{position:fixed !important;inset:0 !important;z-index:0 !important;overflow:hidden !important}
.bg-deco::before{
  background:radial-gradient(circle,rgba(112,110,249,.14) 0%,transparent 70%) !important;
  animation:float1 20s ease-in-out infinite !important;
}
.bg-deco::after{
  background:radial-gradient(circle,rgba(14,165,233,.10) 0%,transparent 70%) !important;
  animation:float2 25s ease-in-out infinite !important;
}

.login-container{position:relative !important;z-index:1 !important}

.login-card{
  background:rgba(255,255,255,.85) !important;
  backdrop-filter:blur(28px) saturate(180%) !important;
  -webkit-backdrop-filter:blur(28px) saturate(180%) !important;
  border:1px solid rgba(255,255,255,.70) !important;
  border-radius:var(--r-lg) !important;
  box-shadow:0 24px 60px rgba(31,42,68,.10),0 0 0 1px rgba(255,255,255,.5) !important;
  padding:40px !important;
}
.login-card h1,.login-card h2,.login-card .login-title{
  color:var(--kleo-ink) !important;
  font-weight:700 !important;
  letter-spacing:-.02em !important;
}
.login-card .login-sub{
  color:var(--kleo-ink-3) !important;
  font-size:15px !important;
}

.login-card label{color:var(--kleo-ink-2) !important;font-weight:500 !important;font-size:14.5px !important}
.login-card input,.login-card select{
  background:rgba(255,255,255,.58) !important;
  border:1px solid var(--kleo-border) !important;
  color:var(--kleo-ink) !important;
  border-radius:var(--r-sm) !important;
  padding:12px 14px !important;
}
.login-card input:focus,.login-card select:focus{
  border-color:var(--purple-l) !important;
  box-shadow:0 0 0 3px rgba(112,110,249,.10) !important;
  background:rgba(255,255,255,.85) !important;
}

.login-card .login-btn,.login-card button[type="submit"],.login-card .btn-login{
  background:linear-gradient(135deg,#706EF9 0%,#A094FD 100%) !important;
  color:#FFFFFF !important;
  border:0 !important;
  border-radius:var(--r-sm) !important;
  padding:12px !important;
  font-weight:700 !important;
  font-size:16px !important;
  box-shadow:0 4px 14px rgba(112,110,249,.25) !important;
  transition:all .18s cubic-bezier(0.16,1,0.3,1) !important;
}
.login-card .login-btn:hover,.login-card button[type="submit"]:hover,.login-card .btn-login:hover{
  box-shadow:0 6px 20px rgba(112,110,249,.35) !important;
  transform:translateY(-1px) !important;
}
.login-card .login-btn:active,.login-card button[type="submit"]:active{
  transform:scale(.97) !important;transition-duration:.08s !important;
}

.login-card .alt-action,.login-card .switch-mode{
  color:var(--purple) !important;
  font-weight:500 !important;
}
.login-card .alt-action:hover,.login-card .switch-mode:hover{
  color:var(--purple-d) !important;
}

.login-card .error-msg,.login-card .err{
  color:var(--kleo-red) !important;
  background:rgba(239,68,68,.06) !important;
  border:1px solid rgba(239,68,68,.15) !important;
  border-radius:var(--r-sm) !important;
  padding:8px 12px !important;
  font-size:14.5px !important;
}

.login-card .brand-mark,.login-card .login-logo{
  background:linear-gradient(135deg,#706EF9 0%,#A094FD 100%) !important;
  color:#FFFFFF !important;
  border-radius:16px !important;
  box-shadow:0 4px 14px rgba(112,110,249,.30) !important;
}

/* ============================ 柠檬绿点缀应用（新增） ============================ */
/* 柠檬绿按钮：outline 风格 */
.btn.lime{
  background:var(--lime-bg) !important;
  border:1px solid var(--lime) !important;
  color:var(--lime-d) !important;
  font-weight:600 !important;
}
.btn.lime:hover{
  background:var(--lime-l) !important;
  border-color:var(--lime-d) !important;
  box-shadow:0 2px 10px rgba(165,243,168,.25) !important;
}

/* 柠檬绿标签 chip */
.chip.lime,.tag.lime{
  background:var(--lime-bg) !important;
  color:var(--lime-d) !important;
  border:1px solid var(--lime-l) !important;
}

/* 柠檬绿状态指示器 */
.status-dot.lime{
  background:var(--lime) !important;
  box-shadow:0 0 8px rgba(165,243,168,.40) !important;
}

/* 趋势上升 — 柠檬绿 */
.trend-up,.trend-green,.metric-trend.up{
  color:var(--lime-d) !important;
}

/* 进度条 — 柠檬绿变体 */
.progress-bar.lime,.bar-fill.lime{
  background:linear-gradient(90deg,var(--lime-d),var(--lime)) !important;
}

/* 在线/活跃状态 */
.online-indicator,.is-online,.status-online{
  background:var(--lime) !important;
  box-shadow:0 0 6px rgba(165,243,168,.50) !important;
}

/* 表单 focus — 紫绿双色光晕 */
input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid var(--purple-l) !important;
  outline-offset:2px !important;
  box-shadow:0 0 0 4px rgba(112,110,249,.10),0 0 0 2px rgba(165,243,168,.15) !important;
}

/* 资源中心推荐/可用状态 — 柠檬绿 */
.res-status-available,.res-tag-available,.task-status-done{
  background:var(--lime-bg) !important;
  color:var(--lime-d) !important;
  border:1px solid var(--lime-l) !important;
}

/* 侧边栏活跃指示 — 紫+绿双色小点 */
.sidebar .nav-item.active::after{
  content:'' !important;
  position:absolute !important;
  right:10px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:6px !important;height:6px !important;
  border-radius:50% !important;
  background:var(--lime) !important;
  box-shadow:0 0 6px rgba(165,243,168,.50) !important;
}

/* ============================ 响应式 ============================ */
@media(max-width:1400px){.metrics-grid{grid-template-columns:repeat(3,1fr) !important}}
@media(max-width:768px){
  .metrics-grid{grid-template-columns:1fr !important}
  .center-cards{grid-template-columns:1fr !important}
  .sidebar{transform:translateX(-100%)}
  .sidebar.open{transform:translateX(0)}
  .main-area{margin-left:0 !important}
}

/* ============================ 资源中心专用覆写 ============================ */

/* 顶栏导航条 */
.center-nav-bar{
  background:rgba(255,255,255,.72) !important;
  backdrop-filter:blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter:blur(20px) saturate(180%) !important;
  border-bottom:1px solid rgba(15,23,42,.06) !important;
  box-shadow:0 1px 3px rgba(31,42,68,.03) !important;
}
.top-nav-brand div div:first-child{color:#0F172A !important}
.top-nav-links button{color:#64748B !important}
.top-nav-links button:hover{color:#706EF9 !important}
.top-nav-links button.on{
  color:#706EF9 !important;
  border-bottom-color:#706EF9 !important;
  font-weight:600 !important;
}
.top-nav-actions .btn{color:#334155 !important;border-color:rgba(15,23,42,.08) !important;background:rgba(255,255,255,.60) !important}

/* 侧边栏 */
.side{
  background:rgba(255,255,255,.65) !important;
  backdrop-filter:blur(24px) saturate(170%) !important;
  -webkit-backdrop-filter:blur(24px) saturate(170%) !important;
  border-right:1px solid rgba(15,23,42,.06) !important;
}
.side > div:first-child{color:#0F172A !important}
.nav button{color:#334155 !important}
.nav button.on,.nav button:hover{
  color:#0F172A !important;
  background:rgba(112,110,249,.08) !important;
  box-shadow:inset 3px 0 #706EF9 !important;
}

/* metric 小卡片（资源中心用 .metric 非 .metric-card） */
.metric{
  background:rgba(255,255,255,.58) !important;
  backdrop-filter:blur(18px) saturate(160%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(160%) !important;
  border:1px solid rgba(255,255,255,.70) !important;
  border-radius:20px !important;
  box-shadow:0 4px 20px rgba(112,110,249,.06),inset 0 1px 0 rgba(255,255,255,.9) !important;
}
.metric strong{color:#0F172A !important}
.metric small{color:#64748B !important}

/* 资源表格 */
.res-table-wrap{
  border:1px solid rgba(15,23,42,.08) !important;
  border-radius:12px !important;
  overflow:hidden !important;
}
.res-table th{
  background:rgba(244,242,250,.80) !important;
  color:#64748B !important;
  font-weight:600 !important;
  border-bottom:1px solid rgba(15,23,42,.06) !important;
}
.res-table td{
  border-bottom:1px solid rgba(15,23,42,.04) !important;
  color:#334155 !important;
}
.res-table td b{color:#0F172A !important}
.res-table tr:hover td{background:rgba(112,110,249,.03) !important}

/* chip 标签 */
.res-chip{
  background:rgba(112,110,249,.08) !important;
  color:#706EF9 !important;
}
.res-chip.ok{background:rgba(34,197,94,.10) !important;color:#16a34a !important}
.res-chip.warn{background:rgba(245,158,11,.10) !important;color:#d97706 !important}
.res-chip.bad{background:rgba(239,68,68,.10) !important;color:#dc2626 !important}

/* 进度条 */
.res-bar-track{
  background:rgba(112,110,249,.08) !important;
  border-radius:6px !important;
}
.res-bar-fill{
  background:linear-gradient(90deg,#706EF9,#A094FD) !important;
}
.res-bar-name{color:#334155 !important}
.res-bar-val{color:#0F172A !important}

/* mini KPI */
.res-mini-kpis > div{
  background:rgba(255,255,255,.58) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  border:1px solid rgba(255,255,255,.70) !important;
  border-radius:12px !important;
}
.res-mini-kpis small{color:#64748B !important}
.res-mini-kpis strong{color:#0F172A !important}

/* 子面板 */
.res-sub{
  background:rgba(255,255,255,.50) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  border:1px solid rgba(255,255,255,.60) !important;
  border-radius:12px !important;
}
.res-sub h5{color:#334155 !important}
.res-sub .res-bar-name{color:#64748B !important}
.res-sub .res-legend-name{color:#64748B !important}
.res-sub .res-legend-row b{color:#0F172A !important}

/* yesno chip */
.res-yesno-chip{
  background:rgba(255,255,255,.58) !important;
  border:1px solid rgba(255,255,255,.70) !important;
}
.res-yesno-chip span{color:#64748B !important}
.res-yesno-chip b{color:#0F172A !important}

/* 平台卡片 */
.res-plat-card{
  background:rgba(255,255,255,.58) !important;
  backdrop-filter:blur(18px) saturate(160%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(160%) !important;
  border:1px solid rgba(255,255,255,.70) !important;
  border-radius:20px !important;
  box-shadow:0 4px 20px rgba(112,110,249,.06),inset 0 1px 0 rgba(255,255,255,.9) !important;
}
.res-plat-head b{color:#0F172A !important}
.res-plat-head small{color:#64748B !important}
.res-plat-count{
  background:rgba(112,110,249,.08) !important;
  color:#706EF9 !important;
}

/* 平台分区标题 */
.res-plat-section-title{
  color:#0F172A !important;
  border-image:linear-gradient(#706EF9,#A094FD) 1 !important;
}

/* 弹窗 */
.res-modal-box{
  background:rgba(255,255,255,.82) !important;
  backdrop-filter:blur(28px) saturate(180%) !important;
  -webkit-backdrop-filter:blur(28px) saturate(180%) !important;
  border:1px solid rgba(255,255,255,.70) !important;
  border-radius:20px !important;
  box-shadow:0 24px 60px rgba(31,42,68,.12) !important;
}
.res-modal-head h3{color:#0F172A !important}
.res-modal-foot{border-top:1px solid rgba(15,23,42,.06) !important}

/* 选择行 */
.res-pick-row{
  border:1px solid rgba(15,23,42,.08) !important;
  background:rgba(255,255,255,.50) !important;
  border-radius:10px !important;
}
.res-pick-row:hover{border-color:rgba(112,110,249,.20) !important}
.res-pick-row b{color:#0F172A !important}
.res-pick-row small{color:#64748B !important}
.res-pick-row input{accent-color:#706EF9 !important}

/* 表单 */
.res-form label{color:#64748B !important}
.res-form label input,.res-form label select{
  background:rgba(244,242,250,.60) !important;
  border:1px solid rgba(15,23,42,.10) !important;
  color:#0F172A !important;
  border-radius:10px !important;
}
.res-form input:focus,.res-form select:focus{
  border-color:#A094FD !important;
  box-shadow:0 0 0 3px rgba(112,110,249,.10) !important;
}
.res-form-group-title{
  color:#0F172A !important;
  border-image:linear-gradient(#706EF9,#A094FD) 1 !important;
}

/* 任务日志 */
.res-task-log{
  color:#334155 !important;
  border-bottom:1px dashed rgba(15,23,42,.06) !important;
}
.res-task-log span{color:#64748B !important}
.res-task-log b{color:#706EF9 !important}

/* legend */
.res-legend-name{color:#64748B !important}
.res-legend-row b{color:#0F172A !important}
.res-legend-row small{color:#94A3B8 !important}

/* 按钮 */
.res-filter-grid .btn,
.res-quick .btn{
  background:rgba(255,255,255,.60) !important;
  border:1px solid rgba(15,23,42,.08) !important;
  color:#334155 !important;
}
select.btn option{background:#FFFFFF !important;color:#0F172A !important}

/* checkbox */
input[type="checkbox"]{accent-color:#706EF9 !important}

/* 空状态 */
.res-empty{color:#64748B !important}

/* footer */
footer{
  border-top:1px solid rgba(15,23,42,.06) !important;
  color:#64748B !important;
}

/* ============================================================================
   市场中心专用覆写（market.html）
   覆盖内联深色 :root 变量 + 所有硬编码深色背景/边框/文字
   ============================================================================ */

/* === 1. 深色 CSS 变量覆写 → 浅色系 === */
:root{
  --bg:#FAFAFA !important;
  --bg2:#FFFFFF !important;
  --bg3:#F4F2FA !important;
  --bg4:#F0EDFF !important;
  --side:#FFFFFF !important;
  --panel:#FFFFFF !important;
  --panel2:#FAFBFD !important;
  --card:#FFFFFF !important;
  --line:rgba(15,23,42,.06) !important;
  --border:rgba(15,23,42,.08) !important;
  --border2:rgba(112,110,249,.15) !important;
  --ink:#0F172A !important;
  --text:#0F172A !important;
  --text2:#475569 !important;
  --text3:#64748B !important;
  --muted:#94A3B8 !important;
  --mint:#706EF9 !important;
  --cyan:#706EF9 !important;
  --violet:#A5F3A8 !important;
  --orange:#F59E0B !important;
  --red:#F87171 !important;
  --green:#22C55E !important;
  --blue:#4C8BF5 !important;
  --purple:#706EF9 !important;
  --shadow:0 4px 24px rgba(112,110,249,.08) !important;
}

/* === 2. body 背景 → 浅紫渐变 + 浮动色块 === */
body{
  background:radial-gradient(circle at 20% 0%,rgba(112,110,249,.12) 0,transparent 35%),
             radial-gradient(circle at 80% 100%,rgba(165,243,168,.08) 0,transparent 35%),
             #FAFAFA !important;
  color:#0F172A !important;
}

/* === 3. 去除霓虹 text-shadow === */
*,h1,h2,h3,h4,h5,h6,.title,.brand b,.card-title,.label,.kpi-label,.kpi-val,
.stat-num,.num,.digit,.value,.count,.amount,.total,.money,.price,
.subtitle,.desc,.note,.caption,.muted,.dim,.text2,.text-secondary,.detail,.info,.meta,.small,.hint,.help,
.text3,.text-tertiary,.light,.faint,.subtle,.ghost,
.kpi-val,.kpi-num,.stat-num,.big-num,.digit-large,
.kpi-card .label,.kpi-card .desc,
.side .nav button,.side nav button,.sidebar .nav button,.sidebar nav button,.aside .nav button,
.btn,.btn-primary,.btn-accent,.button,.action-btn,.cta-btn,
header .title,header h1,header .page-title,.header-title,.top-title,
table td,table th,.table td,.table th,.data-cell,.cell,
table td strong,table td b,table td .num,table td .amount,.table td strong,.table td .val,
.badge,.tag,.status,.pill,.label-tag,
input,textarea,select,.input,.field,
.tooltip,.chart-tooltip,.graph-label,
a,.link,.url{
  text-shadow:none !important;
}

/* === 4. 顶部导航栏 === */
.center-nav-bar{
  background:rgba(255,255,255,.72) !important;
  backdrop-filter:blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter:blur(20px) saturate(180%) !important;
  border-bottom:1px solid rgba(112,110,249,.10) !important;
  box-shadow:0 1px 12px rgba(112,110,249,.06) !important;
}
/* 20261014 修正选择器：本条原始目标是 48×48 logo 底衬（.brand-logo-wrap）。
   20260919 全站顶栏统一后（中心账号权限.js 重建品牌区：去 logo、只留「君宇AI管理系统 + 中心胶囊」），
   .top-nav-brand>div:first-child 变成了 .top-brand-title → 这条把「系统标题」整行刷成浅紫块；
   模特库暗色模式（body.mdl-dark）下更是一片白块，白字压在白块上 = 标题看不见。
   故收窄回原目标类名（该类现由顶栏统一脚本 display:none，规则自然失效；将来若恢复 logo 仍生效）。 */
.top-nav-brand>.brand-logo-wrap{
  background:linear-gradient(145deg,#F0EDFF,#E8E4FF) !important;
  box-shadow:0 2px 12px rgba(112,110,249,.12),inset 0 1px 0 rgba(255,255,255,.6) !important;
}
.top-nav-brand b,.top-nav-brand div div:first-child{
  color:#0F172A !important;
}
.top-nav-brand small,.top-nav-brand div div:last-child{
  color:#64748B !important;
}
.top-nav-links button{
  color:#475569 !important;
}
.top-nav-links button:hover{
  color:#706EF9 !important;
  background:rgba(112,110,249,.06) !important;
}
.top-nav-links button.on{
  color:#706EF9 !important;
  background:rgba(112,110,249,.10) !important;
}
.top-nav-links button.on i{
  color:#706EF9 !important;
}

/* === 5. 侧边栏 === */
.side{
  background:rgba(255,255,255,.65) !important;
  backdrop-filter:blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter:blur(20px) saturate(180%) !important;
  border-right:1px solid rgba(15,23,42,.06) !important;
}
.nav-title{
  color:#94A3B8 !important;
}
.nav button{
  color:#475569 !important;
}
.nav button:hover{
  color:#0F172A !important;
  background:rgba(112,110,249,.06) !important;
}
.nav button.on{
  color:#706EF9 !important;
  background:rgba(112,110,249,.10) !important;
  box-shadow:inset 3px 0 #706EF9 !important;
}
.nav button.on i{
  color:#706EF9 !important;
}
.nav i{
  color:#706EF9 !important;
}
.brand small{
  color:#64748B !important;
}

/* === 6. 内容区 === */
.content,.main-area,.main{
  background:transparent !important;
}

/* === 7. 卡片 / 面板 — 毛玻璃 === */
.panel,.metric,.staff-summary,.task-kpi,.review-step,
.pipe,.deal,.rank-item,.queue-item,.battle-field,.talk-tip,
.signal,.auto-rule,.flow span,.log-item,.coach-table,
.battle-card,.score-ring:before{
  background:rgba(255,255,255,.58) !important;
  backdrop-filter:blur(18px) saturate(170%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(170%) !important;
  border:1px solid rgba(15,23,42,.06) !important;
  box-shadow:0 2px 16px rgba(112,110,249,.06),inset 0 1px 0 rgba(255,255,255,.5) !important;
}
.battle-card{
  background:radial-gradient(circle at 90% 0,rgba(112,110,249,.06),rgba(255,255,255,.58) 55%) !important;
  border:1px solid rgba(112,110,249,.12) !important;
}

/* === 8. KPI 指标卡 === */
.metric strong{
  color:#0F172A !important;
}
.metric small{
  color:#475569 !important;
  font-weight:500 !important;
}
.metric .delta{
  color:#706EF9 !important;
}
.metric .delta.warn{
  color:#F87171 !important;
}
.metric-detail-hint{
  color:#706EF9 !important;
}

/* === 9. 表格 === */
.table th{
  color:#475569 !important;
  font-weight:600 !important;
  border-bottom:2px solid rgba(112,110,249,.12) !important;
  background:rgba(240,237,255,.40) !important;
}
.table td{
  color:#334155 !important;
  border-bottom:1px solid rgba(15,23,42,.05) !important;
}
.table td strong,.table td b,.table td .num,.table td .amount{
  color:#0F172A !important;
}
.table tr:hover td{
  background:rgba(112,110,249,.04) !important;
}

/* === 10. 筛选条 === */
.filters input,.filters select{
  background:rgba(255,255,255,.70) !important;
  border:1px solid rgba(15,23,42,.10) !important;
  color:#0F172A !important;
  border-radius:8px !important;
}
.filters input::placeholder{
  color:#94A3B8 !important;
}

/* === 11. 时间段按钮 === */
.periods button,.entry-tabs button{
  border:1px solid rgba(15,23,42,.08) !important;
  background:rgba(255,255,255,.60) !important;
  color:#475569 !important;
  border-radius:8px !important;
}
.periods button:hover,.entry-tabs button:hover{
  border-color:rgba(112,110,249,.30) !important;
  color:#706EF9 !important;
}
.periods button.on,.entry-tabs button.on{
  background:rgba(112,110,249,.12) !important;
  color:#706EF9 !important;
  border-color:rgba(112,110,249,.30) !important;
}

/* === 12. 日期范围选择 === */
.date-range input{
  border:1px solid rgba(15,23,42,.10) !important;
  background:rgba(255,255,255,.70) !important;
  color:#0F172A !important;
  border-radius:8px !important;
  color-scheme:light !important;
}

/* === 13. 表单输入 === */
.form-field label{
  color:#475569 !important;
}
.form-field input,.form-field select,.form-field textarea,
.review-input{
  border:1px solid rgba(15,23,42,.10) !important;
  background:rgba(255,255,255,.70) !important;
  color:#0F172A !important;
  border-radius:9px !important;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus,
.review-input:focus{
  border-color:#706EF9 !important;
  box-shadow:0 0 0 3px rgba(112,110,249,.10) !important;
}

/* === 14. 按钮 === */
.btn{
  background:linear-gradient(135deg,#706EF9,#A094FD) !important;
  color:#FFFFFF !important;
  border:0 !important;
  border-radius:8px !important;
  box-shadow:0 2px 10px rgba(112,110,249,.20) !important;
}
.btn:hover{
  box-shadow:0 4px 16px rgba(112,110,249,.30) !important;
}
.btn.primary{
  background:linear-gradient(135deg,#706EF9,#5A52E0) !important;
}
.role-switch{
  background:rgba(255,255,255,.70) !important;
  color:#334155 !important;
  border:1px solid rgba(15,23,42,.10) !important;
  box-shadow:none !important;
}
select option{
  background:#FFFFFF !important;
  color:#0F172A !important;
}

/* === 15. Chip / 标签 === */
.chip{
  background:rgba(112,110,249,.10) !important;
  color:#706EF9 !important;
  border:1px solid rgba(112,110,249,.15) !important;
}
.chip.blue{
  background:rgba(76,139,245,.10) !important;
  color:#4C8BF5 !important;
}
.chip.orange{
  background:rgba(245,158,11,.10) !important;
  color:#F59E0B !important;
}
.chip.red{
  background:rgba(248,113,113,.10) !important;
  color:#F87171 !important;
}

/* === 16. Pipeline 看板 === */
.pipe{
  background:rgba(244,242,250,.55) !important;
  border:1px solid rgba(15,23,42,.06) !important;
  min-height:430px !important;
}
.pipe-head{
  color:#0F172A !important;
}
.count{
  background:rgba(112,110,249,.10) !important;
  color:#706EF9 !important;
}
.deal{
  background:rgba(255,255,255,.65) !important;
  border:1px solid rgba(15,23,42,.06) !important;
}
.deal:hover{
  border-color:rgba(112,110,249,.25) !important;
}
.deal b{
  color:#0F172A !important;
}
.deal small{
  color:#64748B !important;
}
.deal .money{
  color:#706EF9 !important;
}

/* === 17. 任务卡 === */
.task{
  background:rgba(255,255,255,.60) !important;
  border:1px solid rgba(15,23,42,.06) !important;
}
.task small{
  color:#64748B !important;
}
.check{
  border:2px solid rgba(112,110,249,.30) !important;
}
.check.done{
  background:#706EF9 !important;
  border-color:#706EF9 !important;
}
.check.done:after{
  color:#FFFFFF !important;
}

/* === 18. 员工数据 === */
.staff-summary strong{
  color:#0F172A !important;
}
.rank-no{
  background:rgba(112,110,249,.10) !important;
  color:#706EF9 !important;
}
.rank-bar{
  background:rgba(15,23,42,.06) !important;
}
.rank-bar i{
  background:linear-gradient(90deg,#706EF9,#A094FD) !important;
}
.staff-link{
  color:#706EF9 !important;
}
.trend i{
  background:linear-gradient(#706EF9,#A094FD) !important;
}

/* === 19. AI 沟通教练 === */
.queue-item:hover,.queue-item.on{
  border-color:rgba(112,110,249,.25) !important;
  background:rgba(112,110,249,.04) !important;
}
.talk-tip{
  background:rgba(255,255,255,.60) !important;
  border-left:3px solid #706EF9 !important;
}
.talk-tip.avoid{
  border-left-color:#F87171 !important;
}
.battle-field small,.signal small{
  color:#64748B !important;
}
.score-ring{
  background:conic-gradient(#706EF9 0 78%,rgba(112,110,249,.10) 78%) !important;
}
.score-ring:before{
  background:#FFFFFF !important;
}
.score-ring b{
  color:#0F172A !important;
}
.ability i{
  background:rgba(15,23,42,.08) !important;
}
.ability i.on{
  background:#706EF9 !important;
  box-shadow:0 0 5px rgba(112,110,249,.40) !important;
}

/* === 20. 录入中心 === */
.flow span{
  background:rgba(112,110,249,.06) !important;
  border:1px solid rgba(112,110,249,.12) !important;
  color:#475569 !important;
}
.flow i{
  color:#706EF9 !important;
}
.auto-rule b{
  color:#0F172A !important;
}
.log-item{
  border-bottom:1px solid rgba(15,23,42,.05) !important;
}
.log-item small{
  color:#64748B !important;
}

/* === 21. 复盘中心 === */
.review-step .no{
  color:#706EF9 !important;
}
.review-step b{
  color:#0F172A !important;
}
.upload-zone{
  border:1px dashed rgba(112,110,249,.30) !important;
  background:linear-gradient(145deg,rgba(240,237,255,.50),rgba(232,228,255,.30)) !important;
}
.upload-zone:hover{
  border-color:#706EF9 !important;
}
.progress{
  background:rgba(15,23,42,.06) !important;
}
.progress i{
  background:linear-gradient(90deg,#706EF9,#A094FD) !important;
}
.job{
  border-bottom:1px solid rgba(15,23,42,.05) !important;
}

/* === 22. 柱状图 === */
.chart .bars{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:2px !important;
}
.chart .bar{
  background:linear-gradient(180deg,#706EF9,#A094FD) !important;
  border-radius:3px 3px 0 0 !important;
  width:100% !important;
  max-width:40px !important;
}
.chart .bar.alt{
  background:linear-gradient(180deg,#A5F3A8,#7DDD81) !important;
}
.chart .bars label{
  color:#64748B !important;
  font-size:13px !important;
}

/* === 23. 预警 === */
.alert{
  background:rgba(255,255,255,.55) !important;
  border:1px solid rgba(15,23,42,.06) !important;
  border-left:3px solid #706EF9 !important;
  border-radius:0 10px 10px 0 !important;
}
.alert.red{
  border-left-color:#F87171 !important;
}
.alert b{
  color:#0F172A !important;
}
.alert small{
  color:#64748B !important;
}

/* === 24. 通用文字颜色修正 === */
.intro h2,.panel-head h3{
  color:#0F172A !important;
}
.intro p,.panel-head span{
  color:#64748B !important;
}
.person .avatar{
  background:rgba(112,110,249,.10) !important;
  color:#706EF9 !important;
}

/* === 25. 通知面板 === */
.notif-panel,.notif-panel *{
  background:rgba(255,255,255,.85) !important;
  color:#0F172A !important;
}
.notif-panel{
  backdrop-filter:blur(20px) saturate(180%) !important;
  border:1px solid rgba(15,23,42,.08) !important;
  box-shadow:0 8px 32px rgba(112,110,249,.12) !important;
}

/* === 26. 用户信息 === */
.user{
  border-top:1px solid rgba(15,23,42,.06) !important;
}
.user .avatar{
  background:rgba(112,110,249,.10) !important;
  color:#706EF9 !important;
}

/* === 27. 输入框 placeholder === */
input::placeholder,textarea::placeholder{
  color:#94A3B8 !important;
}

/* === 28. footer === */
footer{
  border-top:1px solid rgba(15,23,42,.06) !important;
  color:#64748B !important;
}

/* ============================================================================
   扩展色板 — 在主色紫 #706EF9 + 柠檬绿 #A5F3A8 基础上丰富 UI 层次
   ============================================================================ */
:root{
  /* === 扩展适配色 === */
  --coral:#FF7E6B;          /* 珊瑚橙 — 预警/紧急 */
  --coral-l:#FFE4DF;        /* 浅珊瑚 */
  --sky:#4C8BF5;            /* 天蓝 — 信息/链接 */
  --sky-l:#DBEAFE;          /* 浅蓝 */
  --amber:#F59E0B;          /* 琥珀金 — 成就/进度 */
  --amber-l:#FEF3C7;        /* 浅金 */
  --teal:#14B8A6;           /* 青绿 — 成功/正向 */
  --teal-l:#CCFBF1;         /* 浅青 */
  --rose:#F472B6;           /* 玫瑰粉 — 次级点缀 */
  --rose-l:#FCE7F3;         /* 浅粉 */
  --indigo:#6366F1;         /* 靛蓝 — 深紫变体 */
  --indigo-l:#E0E7FF;       /* 浅靛 */
  --sunset:#FB923C;         /* 落日橙 — 中优先级 */
  --sunset-l:#FFEDD5;       /* 浅橙 */
  /* 深浅双色渐变对（用于图表/装饰） */
  --grad-purple:linear-gradient(135deg,#706EF9,#A094FD);
  --grad-lime:linear-gradient(135deg,#A5F3A8,#7DDD81);
  --grad-coral:linear-gradient(135deg,#FF7E6B,#FFA899);
  --grad-sky:linear-gradient(135deg,#4C8BF5,#7BA8F7);
  --grad-amber:linear-gradient(135deg,#F59E0B,#FBBF24);
  --grad-teal:linear-gradient(135deg,#14B8A6,#5EEAD4);
  --grad-rose:linear-gradient(135deg,#F472B6,#F9A8D4);
  --grad-indigo:linear-gradient(135deg,#6366F1,#818CF8);
}

/* === KPI 指标卡 — 每张卡不同色标 === */
.metric:nth-child(1){
  border-top:3px solid var(--purple) !important;
}
.metric:nth-child(2){
  border-top:3px solid var(--sky) !important;
}
.metric:nth-child(3){
  border-top:3px solid var(--rose) !important;
}
.metric:nth-child(4){
  border-top:3px solid var(--teal) !important;
}
.metric:nth-child(5){
  border-top:3px solid var(--coral) !important;
}
.metric:nth-child(6){
  border-top:3px solid var(--amber) !important;
}
/* KPI 数字配色 */
.metric:nth-child(2) strong{color:var(--sky) !important}
.metric:nth-child(3) strong{color:var(--rose) !important}
.metric:nth-child(4) strong{color:var(--teal) !important}
.metric:nth-child(5) strong{color:var(--coral) !important}
.metric:nth-child(6) strong{color:var(--amber) !important}

/* === 柱状图 — 多彩 === */
.chart .bar{
  background:var(--grad-purple) !important;
}
.chart .bar.alt{
  background:var(--grad-lime) !important;
}

/* === 导航图标 — 多彩 === */
.nav button:nth-child(1) i{color:var(--purple) !important}
.nav button:nth-child(2) i{color:var(--sky) !important}
.nav button:nth-child(3) i{color:var(--teal) !important}
.nav button:nth-child(4) i{color:var(--amber) !important}
.nav button:nth-child(5) i{color:var(--rose) !important}
.nav button:nth-child(6) i{color:var(--coral) !important}
.nav button:nth-child(7) i{color:var(--indigo) !important}
.nav button:nth-child(8) i{color:var(--sunset) !important}
.nav button:nth-child(9) i{color:var(--purple) !important}
.nav button:nth-child(10) i{color:var(--teal) !important}
.nav button:nth-child(11) i{color:var(--sky) !important}
.nav button:nth-child(12) i{color:var(--rose) !important}
.nav button.on i{color:var(--purple) !important}

/* === 顶部导航链接图标 === */
.top-nav-links button i{
  color:var(--purple) !important;
}
.top-nav-links button:nth-child(2) i{color:var(--coral) !important}
.top-nav-links button:nth-child(3) i{color:var(--sky) !important}
.top-nav-links button:nth-child(4) i{color:var(--teal) !important}
.top-nav-links button:nth-child(5) i{color:var(--amber) !important}
.top-nav-links button:nth-child(6) i{color:var(--rose) !important}

/* === Chip 多色体系 === */
.chip{
  background:var(--purple-bg) !important;
  color:var(--purple) !important;
  border:1px solid rgba(112,110,249,.15) !important;
}
.chip.blue{
  background:var(--sky-l) !important;
  color:var(--sky) !important;
  border:1px solid rgba(76,139,245,.15) !important;
}
.chip.orange{
  background:var(--amber-l) !important;
  color:var(--amber) !important;
  border:1px solid rgba(245,158,11,.15) !important;
}
.chip.red{
  background:var(--coral-l) !important;
  color:var(--coral) !important;
  border:1px solid rgba(255,126,107,.15) !important;
}
/* 新增 chip 变体 */
.chip.green{
  background:var(--teal-l) !important;
  color:var(--teal) !important;
  border:1px solid rgba(20,184,166,.15) !important;
}
.chip.pink{
  background:var(--rose-l) !important;
  color:var(--rose) !important;
  border:1px solid rgba(244,114,182,.15) !important;
}

/* === 排名条 — 多彩渐变 === */
.rank-item:nth-child(1) .rank-no{
  background:var(--grad-amber) !important;
  color:#FFFFFF !important;
}
.rank-item:nth-child(2) .rank-no{
  background:var(--grad-sky) !important;
  color:#FFFFFF !important;
}
.rank-item:nth-child(3) .rank-no{
  background:var(--grad-rose) !important;
  color:#FFFFFF !important;
}
.rank-item:nth-child(4) .rank-no{
  background:var(--grad-teal) !important;
  color:#FFFFFF !important;
}
.rank-item:nth-child(5) .rank-no{
  background:var(--grad-indigo) !important;
  color:#FFFFFF !important;
}
.rank-bar i{
  background:var(--grad-purple) !important;
}

/* === 员工汇总卡 — 多彩顶边 === */
.staff-summary:nth-child(1){
  border-top:3px solid var(--purple) !important;
}
.staff-summary:nth-child(2){
  border-top:3px solid var(--sky) !important;
}
.staff-summary:nth-child(3){
  border-top:3px solid var(--teal) !important;
}
.staff-summary:nth-child(4){
  border-top:3px solid var(--amber) !important;
}

/* === 任务 KPI 卡 === */
.task-kpi:nth-child(1){
  border-top:3px solid var(--purple) !important;
}
.task-kpi:nth-child(2){
  border-top:3px solid var(--sky) !important;
}
.task-kpi:nth-child(3){
  border-top:3px solid var(--teal) !important;
}
.task-kpi:nth-child(4){
  border-top:3px solid var(--coral) !important;
}

/* === 预警卡片 — 多色左边框 === */
.alert{
  border-left:3px solid var(--purple) !important;
}
.alert.red{
  border-left-color:var(--coral) !important;
}
.alert:nth-child(3){
  border-left-color:var(--amber) !important;
}
.alert:nth-child(4){
  border-left-color:var(--teal) !important;
}

/* === Pipeline 看板列头 — 多彩 === */
.pipe:nth-child(1) .pipe-head{color:var(--purple) !important}
.pipe:nth-child(2) .pipe-head{color:var(--sky) !important}
.pipe:nth-child(3) .pipe-head{color:var(--teal) !important}
.pipe:nth-child(4) .pipe-head{color:var(--amber) !important}
.pipe:nth-child(5) .pipe-head{color:var(--rose) !important}
.pipe:nth-child(6) .pipe-head{color:var(--coral) !important}
.pipe:nth-child(7) .pipe-head{color:var(--indigo) !important}

/* === 评分环 — 紫色渐变 === */
.score-ring{
  background:conic-gradient(var(--purple) 0 78%,rgba(112,110,249,.10) 78%) !important;
}

/* === 能力条 === */
.ability i.on{
  background:var(--purple) !important;
  box-shadow:0 0 5px rgba(112,110,249,.40) !important;
}

/* === 进度条 — 多彩 === */
.progress i{
  background:var(--grad-purple) !important;
}

/* === 趋势图 === */
.trend i{
  background:var(--grad-purple) !important;
}

/* === 复盘步骤 — 多彩序号 === */
.review-step:nth-child(1) .no{color:var(--purple) !important}
.review-step:nth-child(2) .no{color:var(--sky) !important}
.review-step:nth-child(3) .no{color:var(--teal) !important}
.review-step:nth-child(4) .no{color:var(--amber) !important}
.review-step:nth-child(1){border-top:3px solid var(--purple) !important}
.review-step:nth-child(2){border-top:3px solid var(--sky) !important}
.review-step:nth-child(3){border-top:3px solid var(--teal) !important}
.review-step:nth-child(4){border-top:3px solid var(--amber) !important}

/* === AI 沟通教练 — 战斗卡 === */
.battle-card{
  background:radial-gradient(circle at 90% 0,rgba(112,110,249,.06),rgba(255,255,255,.58) 55%) !important;
  border:1px solid rgba(112,110,249,.12) !important;
}
.battle-field:nth-child(odd){
  background:rgba(112,110,249,.04) !important;
}
.battle-field:nth-child(even){
  background:rgba(165,243,168,.04) !important;
}

/* === 信号卡 — 交替色 === */
.signal:nth-child(odd){
  border-left:3px solid var(--purple) !important;
}
.signal:nth-child(even){
  border-left:3px solid var(--teal) !important;
}

/* === 时间段按钮 active === */
.periods button.on,.entry-tabs button.on{
  background:var(--grad-purple) !important;
  color:#FFFFFF !important;
  border-color:transparent !important;
  box-shadow:0 2px 8px rgba(112,110,249,.25) !important;
}

/* === 面板标题装饰线 === */
.panel-head h3{
  border-left:3px solid var(--purple) !important;
  padding-left:10px !important;
}

/* === intro 标题装饰 === */
.intro h2{
  background:var(--grad-purple) !important;
  -webkit-background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  background-clip:text !important;
}

/* === deal 金额 === */
.deal .money{
  color:var(--purple) !important;
  font-weight:600 !important;
}

/* === 通知徽标 === */
#notifBadge{
  background:var(--coral) !important;
  color:#FFFFFF !important;
}

/* === 用户头像 === */
.user .avatar,.person .avatar{
  background:var(--grad-purple) !important;
  color:#FFFFFF !important;
}

/* === 上传区 hover === */
.upload-zone:hover{
  border-color:var(--purple) !important;
  background:linear-gradient(145deg,rgba(240,237,255,.60),rgba(232,228,255,.40)) !important;
}

/* === flow 步骤连线 === */
.flow i{
  color:var(--purple) !important;
}
.flow span:nth-child(odd){
  border-left:3px solid var(--purple) !important;
}
.flow span:nth-child(even){
  border-left:3px solid var(--teal) !important;
}

/* ============================================================================
   全局卡片 Hover 交互补全 — 确保所有卡片鼠标放上去都有响应
   ============================================================================ */

/* --- 任务卡 --- */
.task{
  transition:transform .22s cubic-bezier(0.16,1,0.3,1),border-color .22s,box-shadow .22s !important;
}
.task:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(112,110,249,.15) !important;
  box-shadow:0 8px 32px rgba(112,110,249,.08),inset 0 1px 0 rgba(255,255,255,.9) !important;
}

/* --- Pipeline 列 --- */
.pipe{
  transition:transform .22s,border-color .22s,box-shadow .22s !important;
}
.pipe:hover{
  transform:translateY(-1px) !important;
  border-color:rgba(112,110,249,.12) !important;
  box-shadow:0 6px 24px rgba(112,110,249,.06),inset 0 1px 0 rgba(255,255,255,.9) !important;
}

/* --- Deal 卡片（已有基础hover，增强） --- */
.deal{
  transition:transform .22s,border-color .22s,box-shadow .22s !important;
}
.deal:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(112,110,249,.25) !important;
  box-shadow:0 6px 20px rgba(112,110,249,.08) !important;
}

/* --- 战斗卡 --- */
.battle-card{
  transition:transform .22s,border-color .22s,box-shadow .22s !important;
}
.battle-card:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(112,110,249,.20) !important;
  box-shadow:0 8px 32px rgba(112,110,249,.10) !important;
}

/* --- 信号卡 --- */
.signal{
  transition:transform .22s,border-color .22s,box-shadow .22s !important;
}
.signal:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(112,110,249,.15) !important;
  box-shadow:0 6px 20px rgba(112,110,249,.06) !important;
}

/* --- 复盘步骤卡 --- */
.review-step{
  transition:transform .22s,border-color .22s,box-shadow .22s !important;
}
.review-step:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(112,110,249,.15) !important;
  box-shadow:0 6px 20px rgba(112,110,249,.06) !important;
}

/* --- 员工汇总卡 --- */
.staff-summary{
  transition:transform .22s,border-color .22s,box-shadow .22s !important;
}
.staff-summary:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(112,110,249,.15) !important;
  box-shadow:0 8px 32px rgba(112,110,249,.08) !important;
}

/* --- 任务KPI卡 --- */
.task-kpi{
  transition:transform .22s,border-color .22s,box-shadow .22s !important;
}
.task-kpi:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(112,110,249,.15) !important;
  box-shadow:0 8px 32px rgba(112,110,249,.08) !important;
}

/* --- 排名项 --- */
.rank-item{
  transition:transform .22s,border-color .22s,box-shadow .22s !important;
}
.rank-item:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(112,110,249,.15) !important;
  box-shadow:0 6px 20px rgba(112,110,249,.06) !important;
}

/* --- 预警卡片 --- */
.alert{
  transition:transform .22s,border-color .22s,box-shadow .22s !important;
}
.alert:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(112,110,249,.15) !important;
  box-shadow:0 6px 20px rgba(112,110,249,.06) !important;
}

/* --- 资源中心平台卡 --- */
.res-plat-card{
  transition:transform .22s,border-color .22s,box-shadow .22s !important;
}
.res-plat-card:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(112,110,249,.15) !important;
  box-shadow:0 8px 32px rgba(112,110,249,.08) !important;
}

/* --- 资源子面板 --- */
.res-sub{
  transition:transform .22s,border-color .22s,box-shadow .22s !important;
}
.res-sub:hover{
  transform:translateY(-1px) !important;
  border-color:rgba(112,110,249,.12) !important;
  box-shadow:0 6px 20px rgba(112,110,249,.05) !important;
}

/* --- 通用 .panel 增强 hover --- */
.panel:hover{
  transform:translateY(-1px) !important;
  border-color:rgba(112,110,249,.12) !important;
  box-shadow:0 8px 32px rgba(112,110,249,.08),inset 0 1px 0 rgba(255,255,255,.9) !important;
}

/* --- 自动规则卡 --- */
.auto-rule{
  transition:transform .22s,border-color .22s,box-shadow .22s !important;
}
.auto-rule:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(112,110,249,.15) !important;
  box-shadow:0 6px 20px rgba(112,110,249,.06) !important;
}

/* --- 日志项 --- */
.log-item{
  transition:background .18s !important;
}
.log-item:hover{
  background:rgba(112,110,249,.03) !important;
}

/* --- 教练表格行 --- */
.coach-table tr{
  transition:background .18s !important;
}
.coach-table tr:hover td{
  background:rgba(112,110,249,.03) !important;
}

/* ============================================================================
   下拉框 / 弹窗 / 抽屉 / 通知面板 — 强制浅色渲染（覆盖任何深色残留）
   ============================================================================ */

/* 下拉框选项 */
select option,select optgroup,
datalist option{
  background:#FFFFFF !important;
  color:#0F172A !important;
}
select option:hover,select option:focus,select option:checked{
  background:#706EF9 !important;
  color:#FFFFFF !important;
}

/* 弹窗遮罩 */
.modal-overlay,.dialog-overlay,.drawer-overlay,.overlay{
  background:rgba(15,23,42,.35) !important;
  backdrop-filter:blur(4px) !important;
}

/* 弹窗内容盒 */
.modal-box,.modal-content,.modal-body,.dialog,.drawer,
.popup,.popover,.dropdown-menu,.context-menu,
#notifPanel,.notif-panel,.notification-panel{
  background:rgba(255,255,255,.88) !important;
  backdrop-filter:blur(28px) saturate(180%) !important;
  -webkit-backdrop-filter:blur(28px) saturate(180%) !important;
  border:1px solid rgba(255,255,255,.75) !important;
  border-radius:var(--r-lg) !important;
  box-shadow:0 20px 60px rgba(31,42,68,.12),inset 0 1px 0 rgba(255,255,255,.9) !important;
  color:var(--kleo-ink) !important;
}

/* 弹窗标题 */
.modal-head,.modal-header,.dialog-head,.drawer-head{
  border-bottom:1px solid var(--kleo-line) !important;
}
.modal-head h3,.modal-header h3,.dialog-title{
  color:var(--kleo-ink) !important;
}

/* 弹窗底部 */
.modal-foot,.modal-footer,.dialog-foot{
  border-top:1px solid var(--kleo-line) !important;
}

/* 下拉菜单项 hover */
.dropdown-menu li,.dropdown-menu a,.context-menu li,.context-menu a{
  color:var(--kleo-ink-2) !important;
  transition:background .15s !important;
}
.dropdown-menu li:hover,.dropdown-menu a:hover,
.context-menu li:hover,.context-menu a:hover{
  background:var(--purple-bg) !important;
  color:var(--purple) !important;
}

/* 日期选择器 / 时间选择器 */
input[type="date"],input[type="time"],input[type="datetime-local"]{
  color-scheme:light !important;
}

/* Tooltip */
.tooltip,[class*="tooltip"],.chart-tooltip{
  background:rgba(255,255,255,.92) !important;
  backdrop-filter:blur(12px) !important;
  border:1px solid rgba(255,255,255,.70) !important;
  box-shadow:0 4px 16px rgba(31,42,68,.10) !important;
  color:var(--kleo-ink) !important;
  border-radius:var(--r-sm) !important;
}

/* 搜索下拉建议 */
.autocomplete-list,.suggest-list,.search-dropdown{
  background:rgba(255,255,255,.92) !important;
  backdrop-filter:blur(16px) !important;
  border:1px solid var(--kleo-border) !important;
  border-radius:var(--r-sm) !important;
  box-shadow:0 8px 24px rgba(31,42,68,.10) !important;
}
.autocomplete-list li:hover,.suggest-list li:hover{
  background:var(--purple-bg) !important;
  color:var(--purple) !important;
}

/* ============================================================================
   柠檬绿点缀增强 — 在更多交互元素上体现
   ============================================================================ */

/* 按钮 focus 紫绿双色 */
.btn:focus-visible,.btn.primary:focus-visible{
  outline:2px solid var(--purple-l) !important;
  outline-offset:2px !important;
  box-shadow:0 0 0 4px rgba(112,110,249,.10),0 0 0 2px rgba(165,243,168,.18) !important;
}

/* 活跃态标签 — 柠檬绿 */
.chip.active,.chip.on,.tag.active,.tag.on{
  background:var(--lime-bg) !important;
  color:var(--lime-d) !important;
  border:1px solid var(--lime) !important;
}

/* 成功状态 — 柠檬绿发光 */
.status-done,.status-success,.status-complete{
  background:var(--lime-bg) !important;
  color:var(--lime-d) !important;
  border:1px solid var(--lime-l) !important;
}

/* 选中行高亮 — 紫绿双色边框 */
.selected,.is-selected,.active-row{
  background:rgba(112,110,249,.04) !important;
  border-left:3px solid var(--purple) !important;
  box-shadow:inset 3px 0 0 var(--lime) !important;
}

/* 20260829i: 中心子导航按钮继承页面字号，覆盖 Chrome 按钮默认 13.33px */
aside nav button, .side nav button, nav.nav button { font: inherit; }
