/* ================================================================
   重点项目管控系统 · 暗色主题层（2026-11-10）
   规则来源：landing-page-design B4 + figma-designer 双层颜色令牌
   - 暗色底只使用 #000000 / #181818 / #1F1F1F / #272727 / #313131 / #131209
   - 背景一律纯色，不使用渐变；分隔用 1px 实线而非单边边框
   - 仅在 html[data-theme="dark"] 下生效，亮色默认不受影响
   ================================================================ */

html[data-theme="dark"] {
  --bg: #181818;
  --card: #1f1f1f;
  --surface-2: #1f1f1f;
  --surface-3: #272727;
  --text: #e9ebef;
  --text-2: #c6cbd3;
  --muted: #9aa1ac;
  --muted-2: #7c838f;
  --border: #313131;
  --border-strong: #3a3a3a;
  --primary: #3b82f6;
  --primary-dark: #2563eb;
  --primary-light: #60a5fa;
  --primary-50: rgba(59, 130, 246, .14);
  --primary-700: #93c5fd;
  --danger: #f87171;
  --danger-50: rgba(239, 68, 68, .14);
  --warn: #fbbf24;
  --warn-50: rgba(245, 158, 11, .14);
  --ok: #34d399;
  --ok-50: rgba(16, 185, 129, .14);
  --ring: rgba(96, 165, 250, .35);
  --navy-950: #131209;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);
  --shadow: 0 6px 16px rgba(0, 0, 0, .45);
  --shadow-md: 0 12px 32px rgba(0, 0, 0, .55);
  color-scheme: dark;
}

html[data-theme="dark"] body { background: #181818; color: #e9ebef; }
html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4 { color: #e9ebef; }
html[data-theme="dark"] a { color: #60a5fa; }
html[data-theme="dark"] a:hover { color: #93c5fd; }
html[data-theme="dark"] ::-webkit-scrollbar-thumb { background: #3a3a3a; background-clip: content-box; border: 2px solid transparent; }
html[data-theme="dark"] ::-webkit-scrollbar-thumb:hover { background: #4a4a4a; background-clip: content-box; border: 2px solid transparent; }

/* ---------------- 登录页 ---------------- */
html[data-theme="dark"] #loginView { background: #000000; }
html[data-theme="dark"] #loginView::before,
html[data-theme="dark"] #loginView::after { border-color: rgba(255, 255, 255, .06); }
html[data-theme="dark"] .login-wrap { background: #1f1f1f; border-color: #313131; box-shadow: 0 48px 120px rgba(0, 0, 0, .6); }
html[data-theme="dark"] .login-left { background: #131209; }
html[data-theme="dark"] .login-right { background: #1f1f1f; }
html[data-theme="dark"] .login-right .lr-title { color: #e9ebef; }
html[data-theme="dark"] .login-right .lr-subtitle { color: #9aa1ac; }
html[data-theme="dark"] .login-right label { color: #c6cbd3; }
html[data-theme="dark"] .login-right input { background: #272727; border-color: #3a3a3a; color: #e9ebef; }
html[data-theme="dark"] .login-right input::placeholder { color: #7c838f; }
html[data-theme="dark"] .login-right input:hover { border-color: #4a4a4a; }
html[data-theme="dark"] .login-right input:focus { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59, 130, 246, .22); }
html[data-theme="dark"] .login-foot { color: rgba(255, 255, 255, .4); }
html[data-theme="dark"] .ll-brand span:last-child { color: #7c838f; }
html[data-theme="dark"] .login-left h2 { color: #f4f5f7; }
html[data-theme="dark"] .login-left .ll-sub { color: rgba(255, 255, 255, .6); }
html[data-theme="dark"] .login-features li { color: rgba(255, 255, 255, .74); }
html[data-theme="dark"] .ll-meta { color: rgba(255, 255, 255, .34); }

/* ---------------- 侧栏 / 顶栏 ---------------- */
html[data-theme="dark"] .sidebar { background: #131209; border-right-color: #272727; }
html[data-theme="dark"] .sidebar .brand { border-bottom-color: #272727; }
html[data-theme="dark"] .sidebar .brand small { color: #7c838f; }
html[data-theme="dark"] .nav-item { color: #a9b0bb; }
html[data-theme="dark"] .nav-item:hover { background: #1f1f1f; color: #f4f5f7; }
html[data-theme="dark"] .nav-item.active { background: rgba(59, 130, 246, .18); color: #ffffff; box-shadow: inset 2px 0 0 #60a5fa; }
html[data-theme="dark"] .nav-icon { color: #8b93a1; }
html[data-theme="dark"] .nav-item:hover .nav-icon,
html[data-theme="dark"] .nav-item.active .nav-icon { color: #93c5fd; }
html[data-theme="dark"] .sidebar .foot { border-top-color: #272727; color: #8b93a1; }
html[data-theme="dark"] .sidebar .foot .foot-role { color: #7c838f; }
html[data-theme="dark"] .topbar { background: rgba(24, 24, 24, .92); border-bottom-color: #313131; }
html[data-theme="dark"] .topbar .title { color: #f4f5f7; }
html[data-theme="dark"] #userBox { background: #272727; border-color: #313131; color: #c6cbd3; }

/* ---------------- 按钮 ---------------- */
html[data-theme="dark"] .btn {
  background: #242424;
  border-color: #3a3a3a;
  color: #d7dbe2;
  box-shadow: none;
}
html[data-theme="dark"] .btn:hover { background: #313131; border-color: #4a4a4a; color: #ffffff; }
html[data-theme="dark"] .btn.primary {
  background: #2563eb;
  border-color: #2563eb;
  color: #ffffff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .4);
}
html[data-theme="dark"] .btn.primary:hover { background: #1d4ed8; border-color: #1d4ed8; color: #ffffff; }
html[data-theme="dark"] .btn.danger { background: #242424; border-color: #4a3535; color: #fca5a5; }
html[data-theme="dark"] .btn.danger:hover { background: rgba(239, 68, 68, .14); border-color: #6b3b3b; color: #fca5a5; }
html[data-theme="dark"] .btn:focus-visible { box-shadow: 0 0 0 2px #1f1f1f, 0 0 0 4px var(--ring); }
html[data-theme="dark"] .btn:disabled,
html[data-theme="dark"] .btn[disabled] { opacity: .44; }

/* ---------------- 输入控件 ---------------- */
html[data-theme="dark"] input:where(:not([type="checkbox"]), :not([type="radio"]), :not([type="file"])),
html[data-theme="dark"] select,
html[data-theme="dark"] textarea {
  background: #272727;
  border-color: #3a3a3a;
  color: #e9ebef;
}
html[data-theme="dark"] select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239aa1ac' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 12px 12px;
  padding-right: 28px;
}
html[data-theme="dark"] input:hover,
html[data-theme="dark"] select:hover,
html[data-theme="dark"] textarea:hover { border-color: #4a4a4a; }
html[data-theme="dark"] input:focus,
html[data-theme="dark"] select:focus,
html[data-theme="dark"] textarea:focus {
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, .2);
}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder { color: #7c838f; }
html[data-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator { filter: invert(1); opacity: .55; }
html[data-theme="dark"] .edit-input { background: #272727; border-color: #3a3a3a; color: #e9ebef; }
html[data-theme="dark"] .date-clear { background: #272727; border-color: #3a3a3a; color: #fca5a5; }
html[data-theme="dark"] input[type="checkbox"],
html[data-theme="dark"] input[type="radio"] { accent-color: #3b82f6; }

/* ---------------- 标签 ---------------- */
html[data-theme="dark"] .tag.gray { background: #272727; color: #c6cbd3; }
html[data-theme="dark"] .tag.blue { background: rgba(59, 130, 246, .16); color: #93c5fd; }
html[data-theme="dark"] .tag.green { background: rgba(16, 185, 129, .16); color: #6ee7b7; }
html[data-theme="dark"] .tag.orange { background: rgba(245, 158, 11, .16); color: #fcd34d; }
html[data-theme="dark"] .tag.red { background: rgba(239, 68, 68, .16); color: #fca5a5; }
html[data-theme="dark"] .tag.yellow { background: rgba(234, 179, 8, .16); color: #fde68a; }
html[data-theme="dark"] .tag.purple { background: rgba(139, 92, 246, .18); color: #c4b5fd; }
html[data-theme="dark"] .wtag.t-blue { background: rgba(59, 130, 246, .16); color: #93c5fd; }
html[data-theme="dark"] .wtag.t-orange { background: rgba(245, 158, 11, .16); color: #fcd34d; }
html[data-theme="dark"] .wtag.t-red { background: rgba(239, 68, 68, .16); color: #fca5a5; }
html[data-theme="dark"] .hint { color: #8b93a1; }
html[data-theme="dark"] .empty,
html[data-theme="dark"] .bb-empty,
html[data-theme="dark"] .ann-empty { color: #8b93a1; }
html[data-theme="dark"] .empty::before,
html[data-theme="dark"] .bb-empty::before,
html[data-theme="dark"] .ann-empty::before { background-color: #272727; border-color: #313131; }
html[data-theme="dark"] .skel-b { background: #3a3a3a; }
html[data-theme="dark"] .skel-panel { background: #1f1f1f; border-color: #3a3a3a; }
html[data-theme="dark"] .skel-tr { border-bottom-color: #313131; }
html[data-theme="dark"] .skel-tr:first-child { background: #272727; }

/* ---------------- 卡片 / 统计条 ---------------- */
html[data-theme="dark"] .card { background: #1f1f1f; border-color: #313131; box-shadow: 0 1px 2px rgba(0, 0, 0, .4); }
html[data-theme="dark"] .card:hover { border-color: #3a3a3a; box-shadow: 0 6px 18px rgba(0, 0, 0, .45); }
html[data-theme="dark"] .card h3 { color: #f4f5f7; }
html[data-theme="dark"] .list-stats { background: #1f1f1f; border-color: #313131; }
html[data-theme="dark"] .ls-item { border-right-color: #272727; }
html[data-theme="dark"] .ls-v { color: #f4f5f7; }
html[data-theme="dark"] .ls-v.blue { color: #93c5fd; }
html[data-theme="dark"] .ls-v.red { color: #f87171; }
html[data-theme="dark"] .ls-v.green { color: #34d399; }
html[data-theme="dark"] .ls-c { color: #9aa1ac; }
html[data-theme="dark"] .form-section { background: #232323; border-color: #313131; }
html[data-theme="dark"] .fs-title { color: #93c5fd; }
html[data-theme="dark"] .form-row label { color: #c6cbd3; }
html[data-theme="dark"] .vp-chips,
html[data-theme="dark"] .vp-list { background: #1f1f1f; border-color: #313131; }

/* ---------------- 表格 / 分页 ---------------- */
html[data-theme="dark"] .tbl th { background: #272727; color: #a9b0bb; border-bottom-color: #313131; }
html[data-theme="dark"] .tbl td { border-bottom-color: #272727; color: #c6cbd3; }
html[data-theme="dark"] .tbl tbody tr:hover td { background: #262626 !important; }
html[data-theme="dark"] .tbl tbody tr.row-overdue td { background: rgba(239, 68, 68, .09); }
html[data-theme="dark"] .tbl tbody tr.row-severe td { background: rgba(239, 68, 68, .16); }
html[data-theme="dark"] .tbl tbody tr.row-duesoon td { background: rgba(245, 158, 11, .10); }
html[data-theme="dark"] .tbl tbody tr.row-overdue:hover td,
html[data-theme="dark"] .tbl tbody tr.row-severe:hover td,
html[data-theme="dark"] .tbl tbody tr.row-duesoon:hover td { background: #262626 !important; }
html[data-theme="dark"] .tbl td.tbl-sec { background: #272727; color: #a9b0bb; }
html[data-theme="dark"] .wide-tbl th:last-child,
html[data-theme="dark"] .wide-tbl td:last-child { background: #1f1f1f; }
html[data-theme="dark"] .kv-long { border-bottom-color: #272727; }
html[data-theme="dark"] .kv-long > span { color: #8b93a1; }
html[data-theme="dark"] .pager { border-top-color: #272727; }
html[data-theme="dark"] .pager .pg-size,
html[data-theme="dark"] .pager .pg-jump-input { background: #272727; border-color: #3a3a3a; color: #e9ebef; }

/* ---------------- 看板 ---------------- */
html[data-theme="dark"] .dash-head,
html[data-theme="dark"] .kpi-hero,
html[data-theme="dark"] .kpi-card,
html[data-theme="dark"] .batch-card { background: #1f1f1f; border-color: #313131; }
html[data-theme="dark"] .dh-date,
html[data-theme="dark"] .kc-num { color: #f4f5f7; }
html[data-theme="dark"] .dh-sub,
html[data-theme="dark"] .kc-sub,
html[data-theme="dark"] .kh-sub,
html[data-theme="dark"] .kh-cap { color: #9aa1ac; }
html[data-theme="dark"] .kh-title { color: #f4f5f7; }
html[data-theme="dark"] .kh-num { color: #f4f5f7; }
html[data-theme="dark"] .kh-sep { background: #313131; }
html[data-theme="dark"] .kc-title { color: #c6cbd3; }
html[data-theme="dark"] .kc-badge { background: #272727; color: #a9b0bb; }
html[data-theme="dark"] .kpi-card .bid-scroll,
html[data-theme="dark"] .bid-scroll { border-top-color: #272727; }
html[data-theme="dark"] .bid-date { background: rgba(59, 130, 246, .16); color: #93c5fd; }
html[data-theme="dark"] .bid-date.overdue { background: rgba(239, 68, 68, .16); color: #fca5a5; }
html[data-theme="dark"] .bid-name { color: #c6cbd3; }
html[data-theme="dark"] .bid-item:hover { background: #262626; }
html[data-theme="dark"] .flow4 { background: #1f1f1f; border-color: #313131; }
html[data-theme="dark"] .f4-title,
html[data-theme="dark"] .daily-title { color: #f4f5f7; }
html[data-theme="dark"] .f4-sum,
html[data-theme="dark"] .daily-sum { color: #a9b0bb; }
html[data-theme="dark"] .f4-sum b { color: #93c5fd; }
html[data-theme="dark"] .f4-seg,
html[data-theme="dark"] .f4-seg.s0,
html[data-theme="dark"] .f4-seg.s1,
html[data-theme="dark"] .f4-seg.s2,
html[data-theme="dark"] .f4-seg.s3 { background: #232323; border-color: #313131; }
html[data-theme="dark"] .f4-seg:hover { background: #272727; border-color: #3a3a3a; box-shadow: 0 6px 18px rgba(0, 0, 0, .45); }
html[data-theme="dark"] .f4-sname { color: #e9ebef; }
html[data-theme="dark"] .f4-sname .f4-week { background: rgba(16, 185, 129, .16); color: #6ee7b7; }
html[data-theme="dark"] .f4-range { color: #8b93a1; }
html[data-theme="dark"] .f4-num { color: #e9ebef; }
html[data-theme="dark"] .f4-seg.s1 .f4-num { color: #93c5fd; }
html[data-theme="dark"] .f4-seg.s2 .f4-num { color: #fcd34d; }
html[data-theme="dark"] .f4-seg.s3 .f4-num { color: #34d399; }
html[data-theme="dark"] .f4-num i { color: #8b93a1; }
html[data-theme="dark"] .f4-amt { color: #a9b0bb; }
html[data-theme="dark"] .f4-amt b { color: #e9ebef; }
html[data-theme="dark"] .f4-daily { border-top-color: #2c3a31; color: #6ee7b7; }
html[data-theme="dark"] .f4-tip { background: #232323; color: #a9b0bb; }
html[data-theme="dark"] .f4-arrow { color: #4a4a4a; }
html[data-theme="dark"] .section-bar .sb-title { color: #e9ebef; }
html[data-theme="dark"] .section-bar .sb-note { color: #8b93a1; }
html[data-theme="dark"] .bc-num { color: #f4f5f7; }
html[data-theme="dark"] .bc1 .bc-num { color: #93c5fd; }
html[data-theme="dark"] .bc2 .bc-num { color: #fcd34d; }
html[data-theme="dark"] .bc3 .bc-num { color: #34d399; }
html[data-theme="dark"] .bc-name { color: #e9ebef; }
html[data-theme="dark"] .bc-range,
html[data-theme="dark"] .bc-week { color: #8b93a1; }
html[data-theme="dark"] .bc-amt { color: #a9b0bb; }
html[data-theme="dark"] .bc-daily { border-top-color: #272727; color: #a9b0bb; }
html[data-theme="dark"] .b9-col span { color: #4a4a4a; }

/* ---------------- 阶段 / 时间轴 / 详情 ---------------- */
html[data-theme="dark"] .flow-node { color: #e9ebef; }
html[data-theme="dark"] .flow-node:hover { background: #232323; }
html[data-theme="dark"] .timeline::before { background: #313131; }
html[data-theme="dark"] .tl-item.done::before { box-shadow: 0 0 0 2px rgba(16, 185, 129, .2); }
html[data-theme="dark"] .tl-item.overdue::before { box-shadow: 0 0 0 2px rgba(239, 68, 68, .2); }
html[data-theme="dark"] .stage-card { background: #1f1f1f; border-color: #313131; }
html[data-theme="dark"] .sk { background: #272727; color: #e9ebef; }
html[data-theme="dark"] .sk b { color: #f4f5f7; }
html[data-theme="dark"] .stage-bar { background: #272727; }
html[data-theme="dark"] .amt-cell { background: #272727; }
html[data-theme="dark"] .amt-cell span { color: #9aa1ac; }
html[data-theme="dark"] .amt-cell b { color: #f4f5f7; }
html[data-theme="dark"] .prog-item { background: #232323; border-color: #313131; }
html[data-theme="dark"] .s9-item::before { background: #313131; }
html[data-theme="dark"] .s9-dot { background: #232323; border-color: #4a4a4a; color: #a9b0bb; }
html[data-theme="dark"] .s9-item.done .s9-dot { background: rgba(16, 185, 129, .16); border-color: #16a34a; color: #6ee7b7; }
html[data-theme="dark"] .s9-item.done.skipped .s9-dot { background: rgba(245, 158, 11, .16); border-color: #f59e0b; color: #fcd34d; }
html[data-theme="dark"] .s9-item.cur .s9-dot { background: #2563eb; border-color: #2563eb; color: #fff; box-shadow: 0 0 0 4px rgba(59, 130, 246, .22); }
html[data-theme="dark"] .s9-item.next .s9-dot { background: rgba(59, 130, 246, .14); border-color: #3b82f6; color: #93c5fd; }
html[data-theme="dark"] .s9-name { color: #c6cbd3; }
html[data-theme="dark"] .s9-date { color: #8b93a1; }

/* ---------------- 标讯 / 消息 ---------------- */
html[data-theme="dark"] .ann-src-group,
html[data-theme="dark"] .flow-opt-group { background: #272727; border-color: #313131; }
html[data-theme="dark"] .ann-src-btn { color: #a9b0bb; }
html[data-theme="dark"] .ann-src-btn.active { background: #1f1f1f; color: #93c5fd; box-shadow: none; }
html[data-theme="dark"] .ann-src-btn:hover { background: transparent; color: #93c5fd; }
html[data-theme="dark"] .ann-tab { background: #272727; color: #a9b0bb; }
html[data-theme="dark"] .ann-tab:hover { background: #313131; color: #93c5fd; }
html[data-theme="dark"] .ann-tab b { background: #1f1f1f; color: #c6cbd3; }
html[data-theme="dark"] .ann-tab.active { background: rgba(59, 130, 246, .14); color: #93c5fd; border-color: #2f4a6d; }
html[data-theme="dark"] .ann-tab.active b { background: #1f1f1f; color: #93c5fd; }
html[data-theme="dark"] .ann-lg-tabs { border-bottom-color: #313131; }
html[data-theme="dark"] .ann-lg-tab { color: #9aa1ac; }
html[data-theme="dark"] .ann-lg-tab:hover { color: #93c5fd; }
html[data-theme="dark"] .ann-lg-tab.active { color: #93c5fd; border-bottom-color: #3b82f6; }
html[data-theme="dark"] .ann-item:hover { background: #262626; }
html[data-theme="dark"] .ann-title { color: #c6cbd3; }
html[data-theme="dark"] .ann-date { color: #9aa1ac; }
html[data-theme="dark"] .ann-cat { background: rgba(59, 130, 246, .16); color: #93c5fd; }
html[data-theme="dark"] .ann-dist,
html[data-theme="dark"] .ann-unit { color: #9aa1ac; }
html[data-theme="dark"] .ann-amt { color: #f4f5f7; }
html[data-theme="dark"] .ann-amt.none { color: #7c838f; }
html[data-theme="dark"] .btn.ann-origin,
html[data-theme="dark"] a.ann-origin { background: rgba(59, 130, 246, .12); border-color: #2f4a6d; color: #93c5fd; }
html[data-theme="dark"] .btn.ann-origin:hover,
html[data-theme="dark"] a.ann-origin:hover { background: rgba(59, 130, 246, .2); border-color: #3b82f6; color: #bfdbfe; }
html[data-theme="dark"] .ann-origin { color: #ffffff; background: #2563eb; }
html[data-theme="dark"] .telco-tag { border-color: #3a3a3a; }
html[data-theme="dark"] .telco-tag.t-联通 { color: #fcd34d; background: rgba(245, 158, 11, .14); }
html[data-theme="dark"] .msg-item:hover { background: #262626; }
html[data-theme="dark"] .msg-text { color: #c6cbd3; }
html[data-theme="dark"] .msg-time { color: #7c838f; }
html[data-theme="dark"] .feed-item { border-bottom-color: #272727; }
html[data-theme="dark"] .feed-txt { color: #c6cbd3; }
html[data-theme="dark"] .feed-time { color: #7c838f; }

/* ---------------- 系统设置 ---------------- */
html[data-theme="dark"] .set-tabs { border-bottom-color: #313131; }
html[data-theme="dark"] .set-tab { color: #9aa1ac; }
html[data-theme="dark"] .set-tab:hover { color: #93c5fd; border-bottom-color: #2f4a6d; }
html[data-theme="dark"] .set-tab.active { color: #93c5fd; border-bottom-color: #3b82f6; }
html[data-theme="dark"] .set-card { background: #1f1f1f; border-color: #313131; }
html[data-theme="dark"] .ch-title { color: #f4f5f7; }
html[data-theme="dark"] .ch-badge { background: #272727; color: #a9b0bb; }
html[data-theme="dark"] .ch-note { color: #8b93a1; }
html[data-theme="dark"] .ch-icon { background: #272727 !important; }
html[data-theme="dark"] .warn-row { background: #232323; border-color: #313131; }
html[data-theme="dark"] .warn-row.pill-blue { background: rgba(59, 130, 246, .1); border-color: #2f4a6d; border-left-color: #3b82f6; }
html[data-theme="dark"] .warn-row.pill-orange { background: rgba(245, 158, 11, .1); border-color: #4a3b1f; border-left-color: #f59e0b; }
html[data-theme="dark"] .warn-row.pill-red { background: rgba(239, 68, 68, .1); border-color: #4a2a2a; border-left-color: #ef4444; }
html[data-theme="dark"] .warn-row .wlabel { color: #c6cbd3; }
html[data-theme="dark"] #unitOwnerBox .btn.primary { background: #272727; border-color: #3a3a3a; color: #93c5fd; }
html[data-theme="dark"] #unitOwnerBox .btn.primary:hover { background: #313131; border-color: #4a4a4a; }
html[data-theme="dark"] label.chk { background: #232323; border-color: #313131; }
html[data-theme="dark"] label.chk:hover { background: #272727; border-color: #3a3a3a; }
html[data-theme="dark"] .stage-idx { background: rgba(59, 130, 246, .16); color: #93c5fd; }

/* ---------------- 四个一批 ---------------- */
html[data-theme="dark"] .batch-toolbar { background: #1f1f1f; border-color: #313131; }
html[data-theme="dark"] .batch-board .bb-col { background: #1f1f1f; border-color: #313131; }
html[data-theme="dark"] .bb-head { background: #232323; border-bottom-color: #313131; }
html[data-theme="dark"] .bb-head.bc0,
html[data-theme="dark"] .bb-head.bc1,
html[data-theme="dark"] .bb-head.bc2,
html[data-theme="dark"] .bb-head.bc3 { border-top-color: #313131; }
html[data-theme="dark"] .bb-h-name { color: #f4f5f7; }
html[data-theme="dark"] .bb-h-count { color: #93c5fd; }
html[data-theme="dark"] .bb-h-sub { color: #8b93a1; }
html[data-theme="dark"] .bb-h-unit { color: #9aa1ac; }
html[data-theme="dark"] .bb-h-amt { color: #a9b0bb; }
html[data-theme="dark"] .bb-h-amt b { color: #e9ebef; }
html[data-theme="dark"] .bb-h-daily { border-top-color: #2c3a31; color: #6ee7b7; }
html[data-theme="dark"] .bb-h-daily b { color: #6ee7b7; }
html[data-theme="dark"] .bb-h-amt { color: #a9b0bb; }
html[data-theme="dark"] .bb-h-daily { border-top-color: #2c3a31; color: #6ee7b7; }
html[data-theme="dark"] .bb-item { background: #272727; border-color: #313131; }
html[data-theme="dark"] .bb-item:hover { border-color: #3a3a3a; box-shadow: 0 4px 12px rgba(0, 0, 0, .4); }
html[data-theme="dark"] .bb-name { color: #e9ebef; }
html[data-theme="dark"] .bb-meta { color: #9aa1ac; }
html[data-theme="dark"] .bb-stage { background: #1f1f1f; color: #c6cbd3; }
html[data-theme="dark"] .bb-foot { color: #8b93a1; }

/* ---------------- 汇报与通报 ---------------- */
html[data-theme="dark"] .bh-item { background: #232323; border-color: #313131; }
html[data-theme="dark"] .bh-item:hover { border-color: #3a3a3a; box-shadow: 0 4px 12px rgba(0, 0, 0, .4); }
html[data-theme="dark"] .bh-v,
html[data-theme="dark"] .bh-v.blue,
html[data-theme="dark"] .bh-v.red,
html[data-theme="dark"] .bh-v.green,
html[data-theme="dark"] .bh-v.orange,
html[data-theme="dark"] .bh-v.teal { color: #f4f5f7; }
html[data-theme="dark"] .bh-v.blue { color: #93c5fd; }
html[data-theme="dark"] .bh-v.red { color: #f87171; }
html[data-theme="dark"] .bh-v.green { color: #34d399; }
html[data-theme="dark"] .bh-v.orange { color: #fcd34d; }
html[data-theme="dark"] .bh-v.teal { color: #5eead4; }
html[data-theme="dark"] .bh-c { color: #9aa1ac; }
html[data-theme="dark"] .rep-batchbar { background: #1f1f1f; border-color: #313131; }
html[data-theme="dark"] .rep-batchlab { color: #c6cbd3; }
html[data-theme="dark"] .rep-batchhint { color: #8b93a1; }
html[data-theme="dark"] .rep-chip { background: #272727; border-color: #3a3a3a; color: #c6cbd3; }
html[data-theme="dark"] .rep-chip.on { background: rgba(59, 130, 246, .14); border-color: #3b82f6; color: #93c5fd; }
html[data-theme="dark"] .rep-chip.on b { color: #bfdbfe; }
html[data-theme="dark"] .rep-chip.ghost { color: #9aa1ac; }
html[data-theme="dark"] .report-paper { background: #1f1f1f; border-color: #313131; }
html[data-theme="dark"] .report-title { color: #f4f5f7; }
html[data-theme="dark"] .report-sub { color: #9aa1ac; }
html[data-theme="dark"] .report-sec-title { color: #e9ebef; }
html[data-theme="dark"] .report-tbl th,
html[data-theme="dark"] .report-tbl td { border-color: #313131; color: #d7dbe2; }
html[data-theme="dark"] .report-tbl thead th { background: #272727; color: #e9ebef; }
html[data-theme="dark"] .report-tbl tbody tr:nth-child(even) td { background: #232323; }
html[data-theme="dark"] .report-tbl tbody tr:hover td { background: #2b2b2b; }
html[data-theme="dark"] .report-tbl .total-row td { background: #2b3444 !important; border-top-color: #3a4658; }
html[data-theme="dark"] .report-summary { background: #232323; border-color: #313131; border-left-color: #3b82f6; }
html[data-theme="dark"] .rs-title { color: #e9ebef; }
html[data-theme="dark"] .rs-text { color: #c6cbd3; }
html[data-theme="dark"] .bf-tbl th,
html[data-theme="dark"] .bf-tbl td { border-color: #313131; color: #d7dbe2; }
html[data-theme="dark"] .bf-tbl tbody tr:nth-child(even) td { background: #232323; }
html[data-theme="dark"] .report-foot { color: #8b93a1; }

/* ---------------- 弹窗 / 自定义控件 ---------------- */
html[data-theme="dark"] .modal-mask { background: rgba(0, 0, 0, .62); }
html[data-theme="dark"] .modal { background: #1f1f1f; border-color: #313131; }
html[data-theme="dark"] .modal .m-head { border-bottom-color: #313131; }
html[data-theme="dark"] .modal .m-head b { color: #f4f5f7; }
html[data-theme="dark"] .modal .m-close { color: #9aa1ac; }
html[data-theme="dark"] .modal .m-close:hover { background: #313131; color: #f87171; }
html[data-theme="dark"] .modal .m-foot { border-top-color: #313131; background: #232323; }
html[data-theme="dark"] .row-menu { background: #1f1f1f; border-color: #313131; box-shadow: 0 12px 30px rgba(0, 0, 0, .55); }
html[data-theme="dark"] .row-menu a { color: #c6cbd3; }
html[data-theme="dark"] .row-menu a:hover { background: #272727; color: #ffffff; }
html[data-theme="dark"] .xc-trigger { background: #272727; border-color: #3a3a3a; color: #e9ebef; }
html[data-theme="dark"] .xc-trigger:hover { background: #272727; border-color: #4a4a4a; }
html[data-theme="dark"] .xc-value.ph { color: #7c838f; }
html[data-theme="dark"] .xc-popup { background: #1f1f1f; border-color: #313131; box-shadow: 0 18px 40px rgba(0, 0, 0, .6); }
html[data-theme="dark"] .xc-option { color: #c6cbd3; }
html[data-theme="dark"] .xc-option:hover { background: #272727; color: #ffffff; }
html[data-theme="dark"] .xc-option.sel { background: rgba(59, 130, 246, .16); color: #93c5fd; }
html[data-theme="dark"] .xc-cal { background: #1f1f1f; color: #e9ebef; }
html[data-theme="dark"] .xc-cal-day { color: #c6cbd3; }
html[data-theme="dark"] .xc-cal-day:hover { background: #272727; }
html[data-theme="dark"] .xc-cal-day.today { border-color: #3b82f6; }
html[data-theme="dark"] .xc-cal-day.sel { background: #2563eb; color: #ffffff; }
html[data-theme="dark"] .chk-pill { background: #272727; border-color: #3a3a3a; color: #c6cbd3; }
html[data-theme="dark"] .chk-pill:has(input:checked) { background: rgba(59, 130, 246, .14); border-color: #3b82f6; color: #bfdbfe; }
html[data-theme="dark"] .toast,
html[data-theme="dark"] #toast { background: #272727; color: #e9ebef; border-color: #313131; }

/* 打印：强制回到亮色纸面，避免暗色文字打印成浅色 */
@media print {
  html[data-theme="dark"],
  html[data-theme="dark"] body { background: #fff !important; color: #111827 !important; }
  html[data-theme="dark"] .report-paper,
  html[data-theme="dark"] .card { background: #fff !important; border-color: #e5e7eb !important; color: #111827 !important; }
  html[data-theme="dark"] .report-tbl th,
  html[data-theme="dark"] .report-tbl td,
  html[data-theme="dark"] .bf-tbl th,
  html[data-theme="dark"] .bf-tbl td { background: #fff !important; color: #111827 !important; border-color: #d1d5db !important; }
  html[data-theme="dark"] .report-title,
  html[data-theme="dark"] .report-sec-title,
  html[data-theme="dark"] .rs-text,
  html[data-theme="dark"] .bf-name { color: #111827 !important; }
}
