    :root {
      color-scheme: dark;
      --brightness: 1;
      --bg: #061922;
      --bg-deep: #031116;
      --bg-spot-a: rgba(26, 232, 225, .22);
      --bg-spot-b: rgba(56, 189, 248, .16);
      --grid-line: rgba(106, 249, 255, .08);
      --grid-opacity: .72;
      --panel: rgba(7, 34, 43, .88);
      --panel-soft: rgba(9, 49, 61, .76);
      --primary: #10e7df;
      --primary-dark: #08b9c8;
      --primary-soft: rgba(16, 231, 223, .16);
      --accent-2: #2dd4ff;
      --accent-3: #22c55e;
      --green: #2ee6a6;
      --huolicheng: #f59e0b;
      --red: #fb7185;
      /* 负数标红专用色（财务口径，2026-09-22 用户定稿；中国红主题下由下方 hongyun 块覆盖为五角星黄）
         —— 见《开发要求》「数值正负着色」：只有负数（亏损/超支）用这个色，正数/零一律常规文字色。 */
      --flag-red: #EE1C25;
      --purple: #8b5cf6;
      --text: #e9fdff;
      --muted: #8fc7d0;
      --line: rgba(113, 232, 238, .18);
      --shadow: 0 20px 55px rgba(0, 0, 0, .34), 0 0 28px rgba(16, 231, 223, .08);
      --radius: 18px;
      --card-gradient: linear-gradient(160deg, rgba(14, 79, 92, .82), rgba(3, 17, 22, .88));
      --card-highlight: rgba(16, 231, 223, .24);
      --glow-primary: rgba(16, 231, 223, .36);

      --sidebar-bg: linear-gradient(180deg, rgba(3, 18, 26, .98) 0%, rgba(4, 34, 44, .98) 100%);
      --sidebar-text: #e9fdff;
      --sidebar-muted: #80bdc8;
      --sidebar-border: rgba(106, 249, 255, .14);
      --sidebar-card-bg: rgba(16, 231, 223, .08);
      --sidebar-hover: rgba(16, 231, 223, .18);
      --sidebar-icon-bg: rgba(16, 231, 223, .12);
      --logo-bg: linear-gradient(135deg, #10e7df, #2563eb 58%, #22c55e);
      --logo-shadow: 0 12px 28px rgba(16, 231, 223, .30);

      --topbar-bg: rgba(4, 25, 34, .78);
      --topbar-border: rgba(113, 232, 238, .20);
      --input-bg: rgba(3, 18, 26, .82);
      --input-text: var(--text);
      --table-bg: rgba(7, 34, 43, .82);
      --table-head-bg: rgba(16, 231, 223, .10);
      --table-head-text: #bff8fb;
      --row-hover: rgba(16, 231, 223, .08);
      --tag-bg: rgba(113, 232, 238, .12);
      --tag-text: #bff8fb;
      --tag-blue-bg: rgba(45, 212, 255, .18);
      --tag-blue-text: #bff3ff;
      --tag-green-bg: rgba(46, 230, 166, .17);
      --tag-green-text: #bfffe8;
      --tag-orange-bg: rgba(245, 158, 11, .18);
      --tag-orange-text: #fde68a;
      --tag-red-bg: rgba(251, 113, 133, .18);
      --tag-red-text: #fecdd3;
      --tag-purple-bg: rgba(139, 92, 246, .20);
      --tag-purple-text: #ddd6fe;
      --progress-bg: rgba(143, 199, 208, .17);
      --chart-start: #10e7df;
      --chart-end: #2563eb;
      --chart-value: #d8fcff;
      --timeline-bg: rgba(9, 49, 61, .72);
      --timeline-ring: rgba(16, 231, 223, .18);
      --lane-bg: rgba(5, 26, 34, .72);
      --lane-border: rgba(113, 232, 238, .24);
      --task-bg: rgba(7, 34, 43, .9);
      --task-shadow: 0 12px 24px rgba(0,0,0,.28);
      --qr-bg: radial-gradient(circle at 30% 20%, rgba(16,231,223,.20), rgba(7,34,43,.92) 60%);
      --qr-border: #e9fdff;
      --modal-bg: #07222b;
      --close-bg: rgba(143, 199, 208, .14);
      --toast-bg: #e9fdff;
      --toast-text: #031116;
      --overlay: rgba(0, 10, 15, .72);
      --btn-secondary-bg: rgba(16, 231, 223, .14);
      --btn-secondary-text: #bff8fb;
      --btn-ghost-bg: rgba(3, 18, 26, .56);
      --btn-danger-bg: rgba(251, 113, 133, .16);
      --btn-danger-text: #fecdd3;
      --btn-success-bg: rgba(46, 230, 166, .14);
      --btn-success-text: #bbf7d0;
    }

    html[data-theme="cangqing"] {
      color-scheme: dark;
    }

    html[data-theme="xinghe"] {
      color-scheme: dark;
      --bg: #06102c;
      --bg-deep: #020617;
      --bg-spot-a: rgba(37, 99, 235, .32);
      --bg-spot-b: rgba(139, 92, 246, .22);
      --grid-line: rgba(96, 165, 250, .09);
      --grid-opacity: .68;
      --panel: rgba(8, 25, 68, .88);
      --panel-soft: rgba(16, 43, 101, .72);
      --primary: #3b82f6;
      --primary-dark: #2563eb;
      --primary-soft: rgba(59, 130, 246, .18);
      --accent-2: #06b6d4;
      --accent-3: #8b5cf6;
      --green: #22c55e;
      --huolicheng: #f97316;
      --red: #fb7185;
      --purple: #a78bfa;
      --text: #eaf2ff;
      --muted: #9db5db;
      --line: rgba(147, 197, 253, .18);
      --shadow: 0 20px 56px rgba(0, 0, 0, .38), 0 0 30px rgba(59, 130, 246, .10);
      --card-gradient: linear-gradient(160deg, rgba(13, 42, 95, .90), rgba(3, 12, 35, .88));
      --card-highlight: rgba(59, 130, 246, .22);
      --glow-primary: rgba(59, 130, 246, .38);

      --sidebar-bg: linear-gradient(180deg, #030817 0%, #071a3d 55%, #0a1440 100%);
      --sidebar-text: #eaf2ff;
      --sidebar-muted: #9db5db;
      --sidebar-border: rgba(147,197,253,.15);
      --sidebar-card-bg: rgba(59,130,246,.10);
      --sidebar-hover: rgba(59, 130, 246, .20);
      --sidebar-icon-bg: rgba(59, 130, 246, .16);
      --logo-bg: linear-gradient(135deg, #38bdf8, #2563eb 54%, #8b5cf6);
      --logo-shadow: 0 12px 28px rgba(59,130,246,.36);
      --topbar-bg: rgba(7, 20, 55, .78);
      --topbar-border: rgba(147,197,253,.20);
      --input-bg: rgba(3, 12, 35, .78);
      --table-bg: rgba(8, 25, 68, .82);
      --table-head-bg: rgba(59, 130, 246, .13);
      --table-head-text: #bfdbfe;
      --row-hover: rgba(59, 130, 246, .09);
      --tag-bg: rgba(147, 197, 253, .12);
      --tag-text: #dbeafe;
      --tag-blue-bg: rgba(59, 130, 246, .20);
      --tag-blue-text: #dbeafe;
      --tag-green-bg: rgba(34, 197, 94, .16);
      --tag-green-text: #bbf7d0;
      --tag-orange-bg: rgba(249, 115, 22, .18);
      --tag-orange-text: #fed7aa;
      --tag-red-bg: rgba(251, 113, 133, .18);
      --tag-red-text: #fecdd3;
      --tag-purple-bg: rgba(139, 92, 246, .22);
      --tag-purple-text: #ddd6fe;
      --progress-bg: rgba(147,197,253,.15);
      --chart-start: #60a5fa;
      --chart-end: #7c3aed;
      --chart-value: #dbeafe;
      --timeline-bg: rgba(16, 43, 101, .62);
      --timeline-ring: rgba(59,130,246,.20);
      --lane-bg: rgba(3, 12, 35, .64);
      --lane-border: rgba(147,197,253,.25);
      --task-bg: rgba(8, 25, 68, .92);
      --qr-bg: radial-gradient(circle at 30% 20%, rgba(59,130,246,.24), rgba(8,25,68,.92) 60%);
      --modal-bg: #081944;
      --close-bg: rgba(147,197,253,.14);
      --toast-bg: #eaf2ff;
      --toast-text: #020617;
      --overlay: rgba(2,6,23,.76);
      --btn-secondary-bg: rgba(59, 130, 246, .16);
      --btn-secondary-text: #dbeafe;
      --btn-ghost-bg: rgba(3, 12, 35, .56);
    }

    html[data-theme="lightblue"] {
      color-scheme: light;
      --bg: #eef7ff;
      --bg-deep: #f8fbff;
      --bg-spot-a: rgba(59, 130, 246, .18);
      --bg-spot-b: rgba(186, 230, 253, .42);
      --grid-line: rgba(59, 130, 246, .07);
      --grid-opacity: .60;
      --panel: rgba(255, 255, 255, .92);
      --panel-soft: #f3f9ff;
      --primary: #2f80ed;
      --primary-dark: #1d4ed8;
      --primary-soft: #e1f0ff;
      --accent-2: #38bdf8;
      --accent-3: #60a5fa;
      --green: #10b981;
      --huolicheng: #f97316;
      --red: #ef4444;
      --purple: #6366f1;
      --text: #0f2744;
      --muted: #607a9b;
      --line: #d7e8fa;
      --shadow: 0 20px 48px rgba(42, 95, 145, .13);
      --card-gradient: linear-gradient(160deg, rgba(255,255,255,.98), rgba(235,247,255,.92));
      --card-highlight: rgba(47, 128, 237, .16);
      --glow-primary: rgba(47, 128, 237, .18);

      --sidebar-bg: linear-gradient(180deg, #e7f4ff 0%, #d8ebff 100%);
      --sidebar-text: #153b68;
      --sidebar-muted: #6688aa;
      --sidebar-border: rgba(47,128,237,.16);
      --sidebar-card-bg: rgba(255,255,255,.62);
      --sidebar-hover: rgba(47,128,237,.15);
      --sidebar-icon-bg: rgba(47,128,237,.11);
      --logo-bg: linear-gradient(135deg, #38bdf8, #2f80ed);
      --logo-shadow: 0 12px 26px rgba(47,128,237,.22);
      --topbar-bg: rgba(255,255,255,.84);
      --topbar-border: rgba(215,232,250,.9);
      --input-bg: #ffffff;
      --input-text: var(--text);
      --table-bg: #ffffff;
      --table-head-bg: #f3f9ff;
      --table-head-text: #486b90;
      --row-hover: #f3f9ff;
      --tag-bg: #e6f1ff;
      --tag-text: #1d4ed8;
      --tag-blue-bg: #dbeafe;
      --tag-blue-text: #1e40af;
      --tag-green-bg: #d1fae5;
      --tag-green-text: #047857;
      --tag-orange-bg: #ffedd5;
      --tag-orange-text: #9a3412;
      --tag-red-bg: #fee2e2;
      --tag-red-text: #991b1b;
      --tag-purple-bg: #e0e7ff;
      --tag-purple-text: #3730a3;
      --progress-bg: #d7e8fa;
      --chart-start: #2f80ed;
      --chart-end: #bae6fd;
      --chart-value: #153b68;
      --timeline-bg: #f3f9ff;
      --timeline-ring: #dbeafe;
      --lane-bg: #f3f9ff;
      --lane-border: #b9d7f4;
      --task-bg: #ffffff;
      --task-shadow: 0 10px 22px rgba(42,95,145,.08);
      --qr-bg: radial-gradient(circle at 30% 20%, #dbeafe, #ffffff 58%);
      --qr-border: #ffffff;
      --modal-bg: #ffffff;
      --close-bg: #f1f7ff;
      --toast-bg: #153b68;
      --toast-text: #ffffff;
      --overlay: rgba(15,39,68,.50);
      --btn-secondary-bg: #e6f1ff;
      --btn-secondary-text: #1d4ed8;
      --btn-ghost-bg: #ffffff;
      --btn-danger-bg: #fee2e2;
      --btn-danger-text: #991b1b;
      --btn-success-bg: #dcfce7;
      --btn-success-text: #166534;
    }

    html[data-theme="xiazihong"] {
      color-scheme: dark;
      --bg: #300818;
      --bg-deep: #200610;
      --bg-spot-a: rgba(240, 40, 80, .22);
      --bg-spot-b: rgba(245, 72, 112, .16);
      --grid-line: rgba(240, 150, 180, .09);
      --grid-opacity: .60;
      --panel: rgba(56, 10, 28, .88);
      --panel-soft: rgba(72, 16, 38, .76);
      --primary: #F52844;
      --primary-dark: #D62038;
      --primary-soft: rgba(245, 40, 68, .18);
      --accent-2: #F54860;
      --accent-3: #22c55e;
      --green: #22c55e;
      --huolicheng: #f97316;
      --red: #F52844;
      --purple: #A860B8;
      --text: #FCE8F0;
      --muted: #D088A8;
      --line: rgba(240, 150, 180, .18);
      --shadow: 0 20px 55px rgba(0, 0, 0, .30), 0 0 28px rgba(228, 40, 78, .10);
      --card-gradient: linear-gradient(160deg, rgba(72, 16, 38, .82), rgba(20, 8, 14, .88));
      --card-highlight: rgba(245, 40, 68, .24);
      --glow-primary: rgba(245, 40, 68, .32);

      --sidebar-bg: linear-gradient(180deg, #2A0D18 0%, #30101C 100%);
      --sidebar-text: #FCE8F0;
      --sidebar-muted: #D088A8;
      --sidebar-border: rgba(245, 40, 68, .22);
      --sidebar-card-bg: rgba(245, 40, 68, .16);
      --sidebar-hover: rgba(245, 40, 68, .24);
      --sidebar-icon-bg: rgba(245, 40, 68, .18);
      --logo-bg: linear-gradient(135deg, #F54860, #D62038 55%, #F52844);
      --logo-shadow: 0 12px 28px rgba(245, 40, 68, .34);
      --topbar-bg: rgba(38, 8, 24, .78);
      --topbar-border: rgba(240, 150, 180, .16);
      --input-bg: rgba(20, 8, 14, .82);
      --input-text: var(--text);
      --table-bg: rgba(56, 10, 28, .84);
      --table-head-bg: rgba(245, 40, 68, .12);
      --table-head-text: #FCD0DC;
      --row-hover: rgba(245, 40, 68, .08);
      --tag-bg: rgba(240, 150, 180, .12);
      --tag-text: #FCD0DC;
      --tag-blue-bg: rgba(245, 72, 112, .16);
      --tag-blue-text: #FCD0DC;
      --tag-green-bg: rgba(34, 197, 94, .15);
      --tag-green-text: #bbf7d0;
      --tag-orange-bg: rgba(249, 115, 22, .16);
      --tag-orange-text: #fed7aa;
      --tag-red-bg: rgba(245, 40, 68, .18);
      --tag-red-text: #FCD0DC;
      --tag-purple-bg: rgba(160, 94, 176, .18);
      --tag-purple-text: #ddd6fe;
      --progress-bg: rgba(208, 136, 168, .15);
      --chart-start: #E4284E;
      --chart-end: #C82040;
      --chart-value: #FCE8F0;
      --timeline-bg: rgba(72, 16, 38, .68);
      --timeline-ring: rgba(228, 40, 78, .16);
      --lane-bg: rgba(20, 8, 14, .68);
      --lane-border: rgba(240, 150, 180, .18);
      --task-bg: rgba(56, 10, 28, .90);
      --task-shadow: 0 12px 24px rgba(0,0,0,.30);
      --qr-bg: radial-gradient(circle at 30% 20%, rgba(228,40,78,.20), rgba(56,10,28,.92) 60%);
      --qr-border: #FCE8F0;
      --modal-bg: #380a1c;
      --close-bg: rgba(208, 136, 168, .12);
      --toast-bg: #FCE8F0;
      --toast-text: #200610;
      --overlay: rgba(20, 8, 14, .68);
      --btn-secondary-bg: rgba(228, 40, 78, .14);
      --btn-secondary-text: #FCD0DC;
      --btn-ghost-bg: rgba(20, 8, 14, .52);
      --btn-danger-bg: rgba(228, 40, 78, .16);
      --btn-danger-text: #FCD0DC;
      --btn-success-bg: rgba(34, 197, 94, .14);
      --btn-success-text: #bbf7d0;
    }

    html[data-theme="lvchao"] {
      color-scheme: dark;
      --bg: #061a12;
      --bg-deep: #040f0a;
      --bg-spot-a: rgba(16, 185, 129, .22);
      --bg-spot-b: rgba(52, 211, 153, .16);
      --grid-line: rgba(110, 231, 183, .08);
      --grid-opacity: .68;
      --panel: rgba(7, 38, 24, .88);
      --panel-soft: rgba(12, 52, 34, .76);
      --primary: #10b981;
      --primary-dark: #059669;
      --primary-soft: rgba(16, 185, 129, .16);
      --accent-2: #34d399;
      --accent-3: #22c55e;
      --green: #22c55e;
      --huolicheng: #f97316;
      --red: #fb7185;
      --purple: #8b5cf6;
      --text: #e6fff4;
      --muted: #82c8a8;
      --line: rgba(110, 231, 183, .18);
      --shadow: 0 20px 55px rgba(0, 0, 0, .34), 0 0 28px rgba(16, 185, 129, .08);
      --card-gradient: linear-gradient(160deg, rgba(12, 52, 34, .82), rgba(4, 15, 10, .88));
      --card-highlight: rgba(16, 185, 129, .24);
      --glow-primary: rgba(16, 185, 129, .36);
      --sidebar-bg: linear-gradient(180deg, #040f0a 0%, #072618 100%);
      --sidebar-text: #e6fff4;
      --sidebar-muted: #82c8a8;
      --sidebar-border: rgba(110, 231, 183, .14);
      --sidebar-card-bg: rgba(16, 185, 129, .08);
      --sidebar-hover: rgba(16, 185, 129, .18);
      --sidebar-icon-bg: rgba(16, 185, 129, .12);
      --logo-bg: linear-gradient(135deg, #34d399, #059669 58%, #10b981);
      --logo-shadow: 0 12px 28px rgba(16, 185, 129, .30);
      --topbar-bg: rgba(6, 26, 18, .78);
      --topbar-border: rgba(110, 231, 183, .18);
      --input-bg: rgba(4, 15, 10, .82);
      --table-bg: rgba(7, 38, 24, .82);
      --table-head-bg: rgba(16, 185, 129, .10);
      --table-head-text: #bbf7d0;
      --row-hover: rgba(16, 185, 129, .08);
      --tag-bg: rgba(110, 231, 183, .12);
      --tag-text: #bbf7d0;
      --tag-blue-bg: rgba(52, 211, 153, .18);
      --tag-blue-text: #bbf7d0;
      --tag-green-bg: rgba(34, 197, 94, .17);
      --tag-green-text: #bbf7d0;
      --tag-orange-bg: rgba(249, 115, 22, .18);
      --tag-orange-text: #fed7aa;
      --tag-red-bg: rgba(251, 113, 133, .18);
      --tag-red-text: #fecdd3;
      --tag-purple-bg: rgba(139, 92, 246, .20);
      --tag-purple-text: #ddd6fe;
      --progress-bg: rgba(130, 200, 168, .17);
      --chart-start: #10b981;
      --chart-end: #059669;
      --chart-value: #e6fff4;
      --timeline-bg: rgba(12, 52, 34, .72);
      --timeline-ring: rgba(16, 185, 129, .18);
      --lane-bg: rgba(4, 15, 10, .72);
      --lane-border: rgba(110, 231, 183, .22);
      --task-bg: rgba(7, 38, 24, .90);
      --qr-bg: radial-gradient(circle at 30% 20%, rgba(16,185,129,.20), rgba(7,38,24,.92) 60%);
      --qr-border: #e6fff4;
      --modal-bg: #072618;
      --close-bg: rgba(130, 200, 168, .14);
      --toast-bg: #e6fff4;
      --toast-text: #040f0a;
      --overlay: rgba(4, 15, 10, .72);
      --btn-secondary-bg: rgba(16, 185, 129, .14);
      --btn-secondary-text: #bbf7d0;
      --btn-ghost-bg: rgba(4, 15, 10, .56);
    }

    html[data-theme="anhei"] {
      color-scheme: dark;
      --bg: #0b0f17;
      --bg-deep: #03060d;
      --bg-spot-a: rgba(102, 126, 234, .20);
      --bg-spot-b: rgba(0, 255, 214, .10);
      --grid-line: rgba(82, 108, 155, .10);
      --grid-opacity: .66;
      --panel: rgba(16, 21, 31, .92);
      --panel-soft: rgba(23, 32, 48, .82);
      --primary: #00d6b9;
      --primary-dark: #00b89f;
      --primary-soft: rgba(0,214,185,.14);
      --accent-2: #60a5fa;
      --accent-3: #8b5cf6;
      --green: #22c55e;
      --huolicheng: #f59e0b;
      --red: #f43f5e;
      --purple: #a78bfa;
      --text: #f2f6ff;
      --muted: #8e9bb3;
      --line: rgba(96,165,250,.14);
      --shadow: 0 24px 56px rgba(0,0,0,.52), 0 0 24px rgba(0,214,185,.07);
      --card-gradient: linear-gradient(160deg, rgba(26, 33, 47, .92), rgba(6, 10, 18, .96));
      --card-highlight: rgba(96,165,250,.12);
      --glow-primary: rgba(0,214,185,.28);
      --sidebar-bg: linear-gradient(180deg, #060914 0%, #0d1321 55%, #131b2e 100%);
      --sidebar-text: #f2f6ff;
      --sidebar-muted: #8e9bb3;
      --sidebar-border: rgba(96,165,250,.12);
      --sidebar-card-bg: rgba(255,255,255,.04);
      --sidebar-hover: rgba(255,255,255,.06);
      --sidebar-icon-bg: rgba(0,214,185,.12);
      --logo-bg: linear-gradient(135deg, #00d6b9, #4f46e5 58%, #111827);
      --logo-shadow: 0 12px 28px rgba(0,214,185,.18);
      --topbar-bg: rgba(10, 14, 23, .82);
      --topbar-border: rgba(96,165,250,.12);
      --input-bg: rgba(6, 10, 18, .92);
      --table-bg: rgba(16,21,31,.90);
      --table-head-bg: rgba(96,165,250,.10);
      --table-head-text: #dbeafe;
      --row-hover: rgba(255,255,255,.04);
      --tag-bg: rgba(255,255,255,.06);
      --tag-text: #dbeafe;
      --tag-blue-bg: rgba(96,165,250,.16);
      --tag-blue-text: #dbeafe;
      --tag-green-bg: rgba(34,197,94,.16);
      --tag-green-text: #dcfce7;
      --tag-orange-bg: rgba(245,158,11,.16);
      --tag-orange-text: #fde68a;
      --tag-red-bg: rgba(244,63,94,.16);
      --tag-red-text: #fecdd3;
      --tag-purple-bg: rgba(167,139,250,.18);
      --tag-purple-text: #e9d5ff;
      --progress-bg: rgba(255,255,255,.08);
      --chart-start: #00d6b9;
      --chart-end: #60a5fa;
      --chart-value: #f2f6ff;
      --timeline-bg: rgba(23,32,48,.72);
      --timeline-ring: rgba(0,214,185,.18);
      --lane-bg: rgba(6,10,18,.78);
      --lane-border: rgba(96,165,250,.18);
      --task-bg: rgba(16,21,31,.96);
      --qr-bg: radial-gradient(circle at 30% 20%, rgba(96,165,250,.16), rgba(16,21,31,.96) 62%);
      --modal-bg: #10151f;
      --close-bg: rgba(255,255,255,.08);
      --toast-bg: #f2f6ff;
      --toast-text: #03060d;
      --overlay: rgba(0, 0, 0, .72);
      --btn-secondary-bg: rgba(255,255,255,.06);
      --btn-secondary-text: #dbeafe;
      --btn-ghost-bg: rgba(6,10,18,.72);
      --btn-danger-bg: rgba(244,63,94,.16);
      --btn-danger-text: #fecdd3;
      --btn-success-bg: rgba(34,197,94,.16);
      --btn-success-text: #dcfce7;
    }

    /* ═══════════════════ 中国红 ═══════════════════ */
    html[data-theme="hongyun"] {
      color-scheme: dark;
      --bg: #4A0E14;
      --bg-deep: #2E080C;
      --bg-spot-a: rgba(206, 17, 38, .28);
      --bg-spot-b: rgba(212, 175, 55, .16);
      --grid-line: rgba(206, 17, 38, .12);
      --grid-opacity: .64;
      --panel: rgba(80, 22, 28, .86);
      --panel-soft: rgba(100, 28, 34, .74);
      --primary: #CE1126;
      --primary-dark: #A80E1E;
      --primary-soft: rgba(206, 17, 38, .24);
      --accent-2: #f59e0b;
      --accent-3: #eab308;
      --green: #10b981;
      --huolicheng: #f59e0b;
      --red: #CE1126;
      /* 中国红主题专用（2026-09-22 用户）：负数标红在本主题下会"红上红"看不出 →
         改用系统现有的**五角星黄**（#f5b400，与图集规范那枚五角星按钮同色）。 */
      --flag-red: #f5b400;
      --purple: #a78bfa;
      --text: #fef2f2;
      --muted: #b0857f;
      --line: rgba(206, 17, 38, .26);
      --shadow: 0 20px 55px rgba(0, 0, 0, .16), 0 0 30px rgba(206, 17, 38, .08);
      --card-gradient: linear-gradient(160deg, rgba(115, 35, 41, .82), rgba(69, 21, 25, .86));
      --card-highlight: rgba(206, 17, 38, .32);
      --glow-primary: rgba(206, 17, 38, .38);

      --sidebar-bg: linear-gradient(180deg, #380A10 0%, #50141C 55%, #681C24 100%);
      --sidebar-text: #fef2f2;
      --sidebar-muted: #b0857f;
      --sidebar-border: rgba(206, 17, 38, .22);
      --sidebar-card-bg: rgba(206, 17, 38, .14);
      --sidebar-hover: rgba(206, 17, 38, .26);
      --sidebar-icon-bg: rgba(206, 17, 38, .20);
      --logo-bg: linear-gradient(135deg, #CE1126, #A80E1E 45%, #d4af37 85%);
      --logo-shadow: 0 12px 28px rgba(206, 17, 38, .32);

      --topbar-bg: rgba(64, 18, 22, .78);
      --topbar-border: rgba(206, 17, 38, .26);
      --input-bg: rgba(36, 10, 12, .84);
      --input-text: var(--text);

      --table-bg: rgba(68, 22, 28, .82);
      --table-head-bg: rgba(206, 17, 38, .18);
      --table-head-text: #fecaca;
      --row-hover: rgba(206, 17, 38, .14);

      --tag-bg: rgba(206, 17, 38, .18);
      --tag-text: #fecaca;
      --tag-blue-bg: rgba(96, 165, 250, .22);
      --tag-blue-text: #bfdbfe;
      --tag-green-bg: rgba(16, 185, 129, .20);
      --tag-green-text: #bbf7d0;
      --tag-orange-bg: rgba(245, 158, 11, .22);
      --tag-orange-text: #fde68a;
      --tag-red-bg: rgba(206, 17, 38, .26);
      --tag-red-text: #fecaca;
      --tag-purple-bg: rgba(167, 139, 250, .24);
      --tag-purple-text: #ddd6fe;

      --progress-bg: rgba(176, 133, 127, .24);
      --chart-start: #CE1126;
      --chart-end: #d4af37;
      --chart-value: #fef2f2;
      --timeline-bg: rgba(72, 22, 28, .70);
      --timeline-ring: rgba(206, 17, 38, .26);

      --lane-bg: rgba(50, 16, 16, .72);
      --lane-border: rgba(206, 17, 38, .32);
      --task-bg: rgba(68, 22, 28, .88);
      --task-shadow: 0 12px 24px rgba(0,0,0,.14);

      --qr-bg: radial-gradient(circle at 30% 20%, rgba(206,17,38,.26), rgba(68,22,28,.90) 60%);
      --qr-border: #fef2f2;
      --modal-bg: #44161c;
      --close-bg: rgba(176, 133, 127, .20);

      --toast-bg: #fef2f2;
      --toast-text: #2e0a0e;
      --overlay: rgba(18, 6, 6, .72);

      --btn-secondary-bg: rgba(206, 17, 38, .20);
      --btn-secondary-text: #fecaca;
      --btn-ghost-bg: rgba(36, 10, 12, .60);
      --btn-danger-bg: rgba(206, 17, 38, .26);
      --btn-danger-text: #fecaca;
      --btn-success-bg: rgba(16, 185, 129, .20);
      --btn-success-text: #bbf7d0;
    }

    html[data-theme="shuimo"] {
      color-scheme: light;
      --bg: #F8F7F3;
      --bg-deep: #F2F1EC;
      --bg-spot-a: rgba(44, 44, 44, .06);
      --bg-spot-b: rgba(187, 154, 129, .14);
      --grid-line: rgba(44, 44, 44, .06);
      --grid-opacity: .50;
      --panel: rgba(252, 251, 248, .92);
      --panel-soft: rgba(248, 247, 243, .85);
      --primary: #2c2c2c;
      --primary-dark: #1a1a1a;
      --primary-soft: rgba(44, 44, 44, .12);
      --accent-2: #BC9A81;
      --accent-3: #AE8C2E;
      --green: #5a7a5a;
      --huolicheng: #BC9A81;
      --red: #8b3a3a;
      --purple: #6b5b7b;
      --text: #1a1a1a;
      --muted: #908479;
      --line: rgba(44, 44, 44, .12);
      --shadow: 0 20px 55px rgba(0, 0, 0, .08), 0 0 30px rgba(187, 154, 129, .06);
      --card-gradient: linear-gradient(160deg, rgba(252, 251, 248, .94), rgba(248, 247, 243, .96));
      --card-highlight: rgba(187, 154, 129, .22);
      --glow-primary: rgba(44, 44, 44, .08);

      --sidebar-bg: linear-gradient(180deg, #F8F7F3 0%, #F3F1EC 55%, #EDEBE6 100%);
      --sidebar-text: #2c2c2c;
      --sidebar-muted: #908479;
      --sidebar-border: rgba(44, 44, 44, .10);
      --sidebar-card-bg: rgba(44, 44, 44, .06);
      --sidebar-hover: rgba(44, 44, 44, .08);
      --sidebar-icon-bg: rgba(44, 44, 44, .08);
      --logo-bg: linear-gradient(135deg, #2c2c2c, #4a4a4a 45%, #BC9A81 85%);
      --logo-shadow: 0 12px 28px rgba(44, 44, 44, .12);

      --topbar-bg: rgba(248, 247, 243, .88);
      --topbar-border: rgba(44, 44, 44, .10);
      --input-bg: rgba(252, 251, 248, .90);
      --input-text: var(--text);

      --table-bg: rgba(252, 251, 248, .92);
      --table-head-bg: rgba(44, 44, 44, .06);
      --table-head-text: #5a5a5a;
      --row-hover: rgba(187, 154, 129, .08);

      --tag-bg: rgba(44, 44, 44, .08);
      --tag-text: #4a4a4a;
      --tag-blue-bg: rgba(100, 130, 160, .14);
      --tag-blue-text: #4a6a8a;
      --tag-green-bg: rgba(90, 122, 90, .12);
      --tag-green-text: #4a6a4a;
      --tag-orange-bg: rgba(187, 154, 129, .16);
      --tag-orange-text: #857257;
      --tag-red-bg: rgba(139, 58, 58, .12);
      --tag-red-text: #8b3a3a;
      --tag-purple-bg: rgba(107, 91, 123, .14);
      --tag-purple-text: #5a4a6a;

      --progress-bg: rgba(44, 44, 44, .10);
      --chart-start: #2c2c2c;
      --chart-end: #BC9A81;
      --chart-value: #1a1a1a;
      --timeline-bg: rgba(248, 247, 243, .80);
      --timeline-ring: rgba(44, 44, 44, .12);

      --lane-bg: rgba(248, 247, 243, .70);
      --lane-border: rgba(44, 44, 44, .12);
      --task-bg: rgba(252, 251, 248, .94);
      --task-shadow: 0 12px 24px rgba(0,0,0,.06);

      --qr-bg: radial-gradient(circle at 30% 20%, rgba(187,154,129,.18), rgba(248,247,243,.94) 60%);
      --qr-border: #2c2c2c;
      --modal-bg: #F7F6F3;
      --close-bg: rgba(44, 44, 44, .10);

      --toast-bg: #2c2c2c;
      --toast-text: #F5F4F0;
      --overlay: rgba(26, 26, 26, .30);

      --btn-secondary-bg: rgba(44, 44, 44, .08);
      --btn-secondary-text: #2c2c2c;
      --btn-ghost-bg: rgba(252, 251, 248, .70);
      --btn-danger-bg: rgba(139, 58, 58, .14);
      --btn-danger-text: #8b3a3a;
      --btn-success-bg: rgba(90, 122, 90, .14);
      --btn-success-text: #4a6a4a;
    }

    /* ═══════════════ 暖色纸 · 文件图标品类分色（2026-10-09 用户定稿"方案B"）═══════════════
       背景：暖色纸下图标三色原先全走 --primary(#2c2c2c 冷墨灰) 系 → 整片发灰。
       做法：**只改文件图标**，不动主题 --primary（按钮/表头/标签等还在用它）。
         ① 纸张轮廓 → 中性暖灰（--ifb-paper / --ifb-paper-line，见 lingdu-files-thumbs.js 的 `_ifbSheet`）；
         ② 图形主色 → 品类色（在该 svg **局部**把 --primary 重定向到 --ifb-ink）；
         ③ 图形辅色 → --accent-2 重定向到 --ifb-ink-2。
       只对 `html[data-theme="shuimo"]` 生效；其它主题无此规则 → 保持原单色，行为不变。
       品类 class（ifb-t-<品类>）由 lingdu-files-thumbs.js 挂，取值范围同 IFCON_EXTS：
       sheet / doc / text / image / video / audio / cad / ppt / code / archive / file / folder。 */
    html[data-theme="shuimo"] .ifb-ficon {
      --ifb-paper: #F2EADD;
      --ifb-paper-line: #C4B49C;
      --primary: var(--ifb-ink, #2c2c2c);
      --primary-soft: color-mix(in srgb, var(--ifb-ink, #2c2c2c) 16%, #F2EADD);
      --accent-2: var(--ifb-ink-2, #BC9A81);
    }
    html[data-theme="shuimo"] .ifb-t-sheet   { --ifb-ink: #6E8F62; --ifb-ink-2: #93B085; } /* 表格·苔绿 */
    html[data-theme="shuimo"] .ifb-t-doc     { --ifb-ink: #B25B4A; --ifb-ink-2: #D08A7B; } /* 文档·陶红 */
    html[data-theme="shuimo"] .ifb-t-text    { --ifb-ink: #78889B; --ifb-ink-2: #9FABB9; } /* 纯文本·石板灰蓝 */
    html[data-theme="shuimo"] .ifb-t-image   { --ifb-ink: #C97B45; --ifb-ink-2: #E0A377; } /* 图片·暖橙 */
    html[data-theme="shuimo"] .ifb-t-video   { --ifb-ink: #8A6E9E; --ifb-ink-2: #AF98BE; } /* 视频·紫 */
    html[data-theme="shuimo"] .ifb-t-audio   { --ifb-ink: #B0628A; --ifb-ink-2: #CE94B0; } /* 音频·玫 */
    html[data-theme="shuimo"] .ifb-t-cad     { --ifb-ink: #4E8A86; --ifb-ink-2: #7FB0AC; } /* 图纸·深青 */
    html[data-theme="shuimo"] .ifb-t-ppt     { --ifb-ink: #B08A3C; --ifb-ink-2: #CBA46A; } /* 演示·土黄 */
    html[data-theme="shuimo"] .ifb-t-code    { --ifb-ink: #6478A8; --ifb-ink-2: #92A3C8; } /* 代码·靛蓝 */
    html[data-theme="shuimo"] .ifb-t-archive { --ifb-ink: #8A7A63; --ifb-ink-2: #AB9E8A; } /* 压缩包·暖褐灰 */
    html[data-theme="shuimo"] .ifb-t-file    { --ifb-ink: #8A8478; --ifb-ink-2: #AAA59A; } /* 未知·中性灰褐 */
    html[data-theme="shuimo"] .ifb-t-folder  { --ifb-ink-2: #C69A52; }                       /* 文件夹·暖金 */

    html[data-theme="jinqiu"] {
      color-scheme: light;
      --bg: #faf3e0;
      --bg-deep: #f0e4c8;
      --bg-spot-a: rgba(200, 150, 60, .16);
      --bg-spot-b: rgba(180, 130, 50, .12);
      --grid-line: rgba(180, 140, 80, .08);
      --grid-opacity: .45;
      --panel: rgba(255, 250, 240, .92);
      --panel-soft: rgba(248, 238, 215, .85);
      --primary: #c89048;
      --primary-dark: #a87030;
      --primary-soft: rgba(200, 144, 72, .16);
      --accent-2: #d4a858;
      --accent-3: #e0b860;
      --green: #6a9a5a;
      --huolicheng: #d4a050;
      --red: #c45050;
      --purple: #8a80a8;
      --text: #3a2a10;
      --muted: #8a7050;
      --line: rgba(180, 140, 80, .18);
      --shadow: 0 20px 55px rgba(0, 0, 0, .06), 0 0 30px rgba(200, 150, 60, .08);
      --card-gradient: linear-gradient(160deg, rgba(255, 252, 244, .94), rgba(248, 238, 215, .96));
      --card-highlight: rgba(200, 150, 60, .14);
      --glow-primary: rgba(200, 150, 60, .16);

      --sidebar-bg: linear-gradient(180deg, #f5e8cc 0%, #ecdbb8 55%, #e8d4a8 100%);
      --sidebar-text: #3a2a10;
      --sidebar-muted: #8a7050;
      --sidebar-border: rgba(180, 140, 80, .14);
      --sidebar-card-bg: rgba(200, 150, 60, .08);
      --sidebar-hover: rgba(200, 150, 60, .14);
      --sidebar-icon-bg: rgba(200, 150, 60, .10);
      --logo-bg: linear-gradient(135deg, #c89048, #a87030 45%, #d4a858 85%);
      --logo-shadow: 0 12px 28px rgba(200, 150, 60, .20);

      --topbar-bg: rgba(250, 243, 224, .88);
      --topbar-border: rgba(180, 140, 80, .14);
      --input-bg: rgba(255, 252, 244, .92);
      --input-text: var(--text);

      --table-bg: rgba(255, 250, 240, .92);
      --table-head-bg: rgba(200, 150, 60, .10);
      --table-head-text: #6a4a20;
      --row-hover: rgba(200, 150, 60, .08);

      --tag-bg: rgba(200, 150, 60, .10);
      --tag-text: #6a4a20;
      --tag-blue-bg: rgba(120, 150, 190, .14);
      --tag-blue-text: #4a6080;
      --tag-green-bg: rgba(90, 130, 80, .12);
      --tag-green-text: #4a6a4a;
      --tag-orange-bg: rgba(210, 160, 80, .14);
      --tag-orange-text: #8a5a20;
      --tag-red-bg: rgba(190, 70, 70, .12);
      --tag-red-text: #8a3a3a;
      --tag-purple-bg: rgba(120, 110, 150, .12);
      --tag-purple-text: #5a4a70;

      --progress-bg: rgba(180, 140, 80, .14);
      --chart-start: #c89048;
      --chart-end: #a87030;
      --chart-value: #3a2a10;
      --timeline-bg: rgba(248, 238, 215, .80);
      --timeline-ring: rgba(180, 140, 80, .16);

      --lane-bg: rgba(248, 238, 215, .70);
      --lane-border: rgba(180, 140, 80, .16);
      --task-bg: rgba(255, 252, 244, .94);
      --task-shadow: 0 12px 24px rgba(0,0,0,.04);

      --qr-bg: radial-gradient(circle at 30% 20%, rgba(200,150,60,.12), rgba(248,238,215,.94) 60%);
      --qr-border: #3a2a10;
      --modal-bg: #fffaf0;
      --close-bg: rgba(180, 140, 80, .12);

      --toast-bg: #3a2a10;
      --toast-text: #faf3e0;
      --overlay: rgba(40, 30, 10, .24);

      --btn-secondary-bg: rgba(200, 150, 60, .12);
      --btn-secondary-text: #6a4a20;
      --btn-ghost-bg: rgba(255, 250, 240, .70);
      --btn-danger-bg: rgba(190, 70, 70, .12);
      --btn-danger-text: #8a3a3a;
      --btn-success-bg: rgba(90, 130, 80, .12);
      --btn-success-text: #4a6a4a;
    }

    /* ═══════════════════ 樱花粉 ═══════════════════ */
    html[data-theme="yinghuafen"] {
      color-scheme: light;
      --bg: #FFE7E5;
      --bg-deep: #FFD4D1;
      --bg-spot-a: rgba(215, 0, 15, .12);
      --bg-spot-b: rgba(255, 132, 0, .08);
      --grid-line: rgba(215, 0, 15, .08);
      --grid-opacity: .48;
      --panel: rgba(255, 255, 255, .92);
      --panel-soft: #FFF0EF;
      --primary: #D7000F;
      --primary-dark: #B0000C;
      --primary-soft: rgba(215, 0, 15, .12);
      --accent-2: #FF8400;
      --accent-3: #FFCD16;
      --green: #29A258;
      --huolicheng: #FF8400;
      --red: #D7000F;
      --purple: #16A3BC;
      --text: #262222;
      --muted: #8c7373;
      --line: rgba(215, 0, 15, .16);
      --shadow: 0 20px 48px rgba(215, 0, 15, .10);
      --card-gradient: linear-gradient(160deg, rgba(255,255,255,.96), rgba(255, 231, 229, .92));
      --card-highlight: rgba(215, 0, 15, .12);
      --glow-primary: rgba(215, 0, 15, .20);

      --sidebar-bg: linear-gradient(180deg, #FFE7E5 0%, #FFD4D1 100%);
      --sidebar-text: #262222;
      --sidebar-muted: #8c7373;
      --sidebar-border: rgba(215, 0, 15, .14);
      --sidebar-card-bg: rgba(215, 0, 15, .08);
      --sidebar-hover: rgba(215, 0, 15, .12);
      --sidebar-icon-bg: rgba(215, 0, 15, .10);
      --logo-bg: linear-gradient(135deg, #FFCD16, #D7000F 45%, #FF8400 85%);
      --logo-shadow: 0 12px 28px rgba(215, 0, 15, .24);

      --topbar-bg: rgba(255, 231, 229, .88);
      --topbar-border: rgba(215, 0, 15, .12);
      --input-bg: #ffffff;
      --input-text: var(--text);

      --table-bg: rgba(255, 255, 255, .92);
      --table-head-bg: rgba(215, 0, 15, .08);
      --table-head-text: #9f1239;
      --row-hover: rgba(215, 0, 15, .06);

      --tag-bg: rgba(215, 0, 15, .10);
      --tag-text: #9f1239;
      --tag-blue-bg: rgba(255, 132, 0, .12);
      --tag-blue-text: #9a3412;
      --tag-green-bg: rgba(41, 162, 88, .12);
      --tag-green-text: #166534;
      --tag-orange-bg: rgba(255, 205, 22, .14);
      --tag-orange-text: #92400e;
      --tag-red-bg: rgba(215, 0, 15, .12);
      --tag-red-text: #991b1b;
      --tag-purple-bg: rgba(22, 163, 188, .12);
      --tag-purple-text: #155e75;

      --progress-bg: rgba(215, 0, 15, .12);
      --chart-start: #D7000F;
      --chart-end: #FF8400;
      --chart-value: #262222;
      --timeline-bg: rgba(255, 231, 229, .84);
      --timeline-ring: rgba(215, 0, 15, .12);

      --lane-bg: rgba(255, 231, 229, .72);
      --lane-border: rgba(215, 0, 15, .14);
      --task-bg: rgba(255, 255, 255, .94);
      --task-shadow: 0 10px 22px rgba(215, 0, 15, .06);

      --qr-bg: radial-gradient(circle at 30% 20%, rgba(215,0,15,.12), rgba(255,255,255,.95) 62%);
      --qr-border: #262222;
      --modal-bg: #ffffff;
      --close-bg: rgba(215, 0, 15, .10);

      --toast-bg: #262222;
      --toast-text: #FFE7E5;
      --overlay: rgba(38, 34, 34, .34);

      --btn-secondary-bg: rgba(215, 0, 15, .10);
      --btn-secondary-text: #9f1239;
      --btn-ghost-bg: rgba(255, 255, 255, .64);
      --btn-danger-bg: rgba(215, 0, 15, .10);
      --btn-danger-text: #991b1b;
      --btn-success-bg: rgba(41, 162, 88, .10);
      --btn-success-text: #166534;
    }

    html[data-theme="huolicheng"] {
      color-scheme: light;
      --bg: #fff7ed;
      --bg-deep: #ffedd5;
      --bg-spot-a: rgba(255, 83, 31, .12);
      --bg-spot-b: rgba(255, 129, 38, .08);
      --grid-line: rgba(255, 83, 31, .08);
      --grid-opacity: .45;
      --panel: rgba(255, 255, 255, .92);
      --panel-soft: #fff7ed;
      --primary: #FF531F;
      --primary-dark: #EB2700;
      --primary-soft: rgba(255, 83, 31, .12);
      --accent-2: #FF8126;
      --accent-3: #FFA940;
      --green: #22c55e;
      --huolicheng: #FF531F;
      --red: #EB2700;
      --purple: #D3799A;
      --text: #0F0F0F;
      --muted: #78716c;
      --line: rgba(255, 83, 31, .16);
      --shadow: 0 20px 48px rgba(255, 83, 31, .10);
      --card-gradient: linear-gradient(160deg, rgba(255,255,255,.96), rgba(255, 247, 237, .92));
      --card-highlight: rgba(255, 83, 31, .14);
      --glow-primary: rgba(255, 83, 31, .20);

      --sidebar-bg: linear-gradient(180deg, #fff7ed 0%, #ffedd5 100%);
      --sidebar-text: #0F0F0F;
      --sidebar-muted: #78716c;
      --sidebar-border: rgba(255, 83, 31, .14);
      --sidebar-card-bg: rgba(255, 83, 31, .08);
      --sidebar-hover: rgba(255, 83, 31, .12);
      --sidebar-icon-bg: rgba(255, 83, 31, .10);
      --logo-bg: linear-gradient(135deg, #FFA940, #FF531F 45%, #FF8126 85%);
      --logo-shadow: 0 12px 28px rgba(255, 83, 31, .24);
      --topbar-bg: rgba(255, 247, 237, .88);
      --topbar-border: rgba(255, 83, 31, .12);
      --input-bg: #ffffff;
      --input-text: var(--text);
      --table-bg: rgba(255, 255, 255, .92);
      --table-head-bg: rgba(255, 83, 31, .08);
      --table-head-text: #c2410c;
      --row-hover: rgba(255, 83, 31, .06);
      --tag-bg: rgba(255, 83, 31, .10);
      --tag-text: #c2410c;
      --tag-blue-bg: rgba(255, 129, 38, .12);
      --tag-blue-text: #9a3412;
      --tag-green-bg: rgba(34, 197, 94, .12);
      --tag-green-text: #166534;
      --tag-orange-bg: rgba(255, 194, 51, .14);
      --tag-orange-text: #92400e;
      --tag-red-bg: rgba(235, 39, 0, .12);
      --tag-red-text: #991b1b;
      --tag-purple-bg: rgba(211, 121, 154, .14);
      --tag-purple-text: #831843;
      --progress-bg: rgba(255, 83, 31, .12);
      --chart-start: #FF531F;
      --chart-end: #FF8126;
      --chart-value: #0F0F0F;
      --timeline-bg: rgba(255, 247, 237, .84);
      --timeline-ring: rgba(255, 83, 31, .12);
      --lane-bg: rgba(255, 247, 237, .72);
      --lane-border: rgba(255, 83, 31, .14);
      --task-bg: rgba(255, 255, 255, .94);
      --task-shadow: 0 10px 22px rgba(255, 83, 31, .06);
      --qr-bg: radial-gradient(circle at 30% 20%, rgba(255,83,31,.12), rgba(255,255,255,.95) 62%);
      --qr-border: #0F0F0F;
      --modal-bg: #ffffff;
      --close-bg: rgba(255, 83, 31, .10);
      --toast-bg: #0F0F0F;
      --toast-text: #F0F3F7;
      --overlay: rgba(15, 15, 15, .34);
      --btn-secondary-bg: rgba(255, 83, 31, .10);
      --btn-secondary-text: #c2410c;
      --btn-ghost-bg: rgba(255, 255, 255, .64);
      --btn-danger-bg: rgba(235, 39, 0, .10);
      --btn-danger-text: #991b1b;
      --btn-success-bg: rgba(34, 197, 94, .10);
      --btn-success-text: #166534;
    }

    /* ══ 数值正负着色（财务口径，2026-09-22 用户定稿，硬规则见《开发要求》「数值正负着色」）══
       只有**负数**（亏损/超支）标红；**正数 / 零一律常规文字色**（不要绿色、不要特殊底色）。
       渲染点统一给数值套 `.ldg-neg`（JS 工具：`window.ldgNumCell(cell, 文本)` / `window.ldgNegHtml(文本)`，
       见 lingdu-core.js），**不要在各部门里自己拼 span**。
       色值 = `--flag-red`；**中国红主题下**由上面的 hongyun 块覆盖为系统五角星黄 `#f5b400`。 */
    .ldg-neg { color: var(--flag-red, #EE1C25); }
    /* ★ 2026-10-15（用户："…改为反过来，正数红色"）**反向口径**：只有**正数**标红。
       适用位置（用户点名）：
         · 钢筋物资 → 统计汇总 的**行6 / 行7**（"进场−预算 / 进场−翻样"两个差值行）；
         · 预算翻样 9+3 个表 的**行8**（"进场 − 预算"）。
       —— 这三行的语义是"**超量为正**"，正数才是要盯的异常值；负数/零按常规文字色。
       色值同 `--flag-red`（中国红主题下同样由上面的 hongyun 块覆盖为五角星黄）。
       工具：`window.ldgNumCellPos(cell, 文本)` / `window.ldgPosHtml(文本)`（见 lingdu-core.js）。 */
    .ldg-pos { color: var(--flag-red, #EE1C25); }
