/* =========================================================
   看板通用美容补丁 v2（与 theme.css 配合，作用于其余看板）
   目标：把历史看板里残留的蓝/紫主色调统一收敛到品牌绿 #009E87；
        渐变页头→白底绿点缀、卡片去阴影改细边框、表格 hover 绿底；
        保留数据语义色（ABCD 类、红绿涨跌、intent 标签、warn/danger）。
   说明：用 !important 覆盖各看板自带 inline <style>，不改动 DOM 与 JS 逻辑。
        所有涉及「数值/状态色」的规则均加 :not() 守卫，避免误伤语义色。
   ========================================================= */

/* 品牌 token 兜底：万一 theme.css 未加载（如本地旧副本直开），变量仍可用 */
:root {
  --brand: #009E87;
  --brand-700: #00756a;
  --brand-50: #e7f5f2;
  --ink: #16201c;
  --ink-2: #586059;
  --line: #e7eae8;
  --line-2: #d6dbd8;
  --surface: #ffffff;
  --surface-2: #fbfcfb;
  --r: 12px;
}

/* ---------- 页头：渐变 → 白底 + 绿点缀 ---------- */
.page-header, .header, .navbar {
  background: var(--surface) !important;
  color: var(--ink) !important;
  border-bottom: 1px solid var(--line) !important;
  box-shadow: none !important;
  background-image: none !important;
}
.page-header::before, .page-header::after,
.header::before, .header::after,
.navbar::before, .navbar::after { display: none !important; }
.page-title, .header-title h1, .header-text h1, .header-title p { color: var(--ink) !important; }
.header-title p { opacity: 1 !important; }

/* ---------- 品牌色锚点条 / 左侧强调条 ---------- */
.page-bar, .section-bar, .sub-table-header::before { background: var(--brand) !important; }

/* ---------- 返回 / 链接 ---------- */
.back-btn, .back-link {
  color: var(--brand-700) !important;
  border-color: var(--line-2) !important;
  background: transparent !important;
}
.back-btn:hover, .back-link:hover {
  background: var(--brand-50) !important;
  border-color: var(--brand) !important;
  color: var(--brand) !important;
}

/* ---------- 卡片：去阴影 / 统一圆角 ----------
   注意：用 border-radius 而非 border 简写，避免覆盖 metric 的顶部分类色条 */
.card, .consultant-card, .summary-card,
.stat-card:not(.warn):not(.danger):not(.success),
.section-panel, .section-panel-body, .group-card, .ch-card, .kpi-card {
  box-shadow: none !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r) !important;
}
/* metric-card 保留自带分类色顶条，仅去阴影 + 统一圆角 */
.metric-card { box-shadow: none !important; border-radius: var(--r) !important; }

/* 汇总卡用品牌绿强调 */
.summary-card { background: var(--brand-50) !important; border-color: var(--brand) !important; }

/* KPI / 统计卡：白底 + 绿左条（避开 warn/danger/success 语义色） */
.stat-card:not(.warn):not(.danger):not(.success) { border-left: 3px solid var(--brand) !important; }
.stat-card:not(.warn):not(.danger):not(.success) .stat-value { color: var(--brand) !important; }
.kpi-card { background: var(--surface) !important; border-left: 3px solid var(--brand) !important; }

/* ---------- Tabs / Toggles：蓝 → 绿（保留 invalid/inv 红） ---------- */
.tab-btn:not(.invalid).active {
  background: var(--brand) !important;
  border-color: var(--brand) !important;
  color: #fff !important;
}
.toggle-btn:not(.inv).active {
  background: var(--brand) !important;
  color: #fff !important;
}

/* ---------- 按钮 / 上传 ---------- */
.btn-primary, .upload-btn {
  background: var(--brand) !important;
  border-color: var(--brand) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.btn-primary:hover, .upload-btn:hover { background: var(--brand-700) !important; border-color: var(--brand-700) !important; }
.btn-ghost:hover { border-color: var(--brand) !important; color: var(--brand) !important; }

/* ---------- 表单控件 focus ---------- */
select:focus, input:focus, textarea:focus,
.ctrl-group select:focus, .period-select:focus, .controls-bar select:focus {
  outline: none !important;
  border-color: var(--brand) !important;
  box-shadow: 0 0 0 3px rgba(0,158,135,.18) !important;
}

/* ---------- 小图标 / 徽标 / 文本强调 ---------- */
.section-icon { background: var(--brand-50) !important; }
.section-badge { background: var(--brand-50) !important; color: var(--brand-700) !important; }
.chan-name { color: var(--brand-700) !important; }
.group-card h3 { color: var(--brand-700) !important; }
.date-badge { background: var(--brand-50) !important; color: var(--brand-700) !important; }
.upload-panel { border-color: var(--line) !important; }
.upload-status.info { background: var(--brand-50) !important; color: var(--brand-700) !important; border-color: var(--brand) !important; }
.gap-diff.lead { color: var(--brand-700) !important; }
.lead-badge { background: var(--brand-50) !important; color: var(--brand-700) !important; }
.sub-table-header { color: var(--ink) !important; }

/* ---------- 表格：统一表头底色 + hover 绿底（保留单元格语义色） ---------- */
thead th, .cross-table th, .modern-table thead th, .inv-detail-table th,
table thead th, th {
  background: var(--surface-2) !important;
  color: var(--ink-2) !important;
  border-bottom: 1px solid var(--line-2) !important;
}
th:hover { color: var(--brand) !important; }
tbody tr:hover td, tbody tr:hover, tbody tr:hover { background: var(--brand-50) !important; }
/* 保留语义列头底色（如线上数据统计的「转单」红列头） */
th.col-to { background: #fff2f0 !important; color: #cf1322 !important; }

/* 线上运营渠道数据：蓝 hover / 太原行 → 品牌绿 */
.modern-table tbody tr:hover td { background: var(--brand-50) !important; }
.modern-table .taiyuan-row td {
  background: var(--brand-50) !important;
  border-left-color: var(--brand) !important;
}
.modern-table .taiyuan-row td:first-child { color: var(--brand-700) !important; }
.modern-table .taiyuan-row:hover td { background: #d7efea !important; }

/* 顾问回访（线上版）蓝色残留收敛 */
.name { color: var(--brand-700) !important; }
.cp-date { color: var(--brand) !important; }
.content-preview { border-left-color: var(--line) !important; }

/* ---------- 语义强调色对齐品牌系柔和色（不破坏红/绿涨跌含义） ---------- */
.text-ok, .ok-text, .val-timeout-ok { color: #0a9d6f !important; }
.warn-text, .text-warn, .val-timeout-warn { color: #c9820a !important; }
