﻿    :root {
        --bg-canvas: #e2e8f0; --bg-board: #ffffff; --color-grid: #cbd5e1; --color-month-grid: #ef4444; --color-h-grid: #cbd5e1;
        --color-node-fill: #ffffff; --color-node-stroke: #1f2937; --color-node-text: #1f2937;
        --color-critical-node-fill: #ffffff; --color-critical-node-stroke: #e11d48; --color-critical-node-text: #e11d48;
        --color-line-real: #1f2937; --color-line-dummy: #1f2937;
        --color-line-critical: #e11d48; --color-line-wave: #3b82f6; --bg-timeline-top: #f1f5f9; --bg-timeline-mid: #eff6ff;
        --bg-timeline-bot: #ffffff; --text-timeline: #475569; --border-outer: #94a3b8; --border-axis: #cbd5e1;
        --color-task-name: #1f2937; --color-labor-grid: #cbd5e1;
        --node-active-fill: rgba(254,240,138,0.6); --node-active-stroke: #eab308; --node-hover-fill: #d1fae5;
        --node-hover-stroke: #10b981; --node-hover-text: #047857; --task-hover-bg: #ffffff; --labor-sel-bg: rgba(219,234,254,0.5);
        --bg-board-alpha: rgba(255,255,255,0.9); --weekend-bg: rgba(203,213,225,0.25); --holiday-bg: rgba(244,63,94,0.15);
        --holiday-border: rgba(244,63,94,0.3); --holiday-text: rgba(190,18,60,0.6); --divider-color: #475569; --text-outline-color: #ffffff;
    }
    .dark {
        color-scheme: dark; --bg-canvas: #0f172a; --bg-board: #1e293b; --color-grid: #334155; --color-month-grid: #991b1b;
        --color-h-grid: #334155; --color-node-fill: #1e293b; --color-node-stroke: #94a3b8; --color-node-text: #e2e8f0;
        --color-critical-node-fill: #1e293b; --color-critical-node-stroke: #fb7185; --color-critical-node-text: #fecdd3;
        --color-line-real: #cbd5e1;
        --color-line-dummy: #cbd5e1; --color-line-critical: #fb7185; --color-line-wave: #60a5fa; --bg-timeline-top: #0f172a;
        --bg-timeline-mid: #172554; --bg-timeline-bot: #1e293b; --text-timeline: #94a3b8; --border-outer: #475569;
        --color-task-name: #e2e8f0; --color-labor-grid: #334155;
        --border-axis: #334155; --node-active-fill: rgba(113,63,18,0.6); --node-active-stroke: #ca8a04; --node-hover-fill: #022c22;
        --node-hover-stroke: #059669; --node-hover-text: #34d399; --task-hover-bg: #1e293b; --labor-sel-bg: rgba(30,58,138,0.5);
        --bg-board-alpha: rgba(30,41,59,0.9); --weekend-bg: rgba(51,65,85,0.4); --holiday-bg: rgba(159,18,57,0.25);
        --holiday-border: rgba(225,29,72,0.4); --holiday-text: rgba(251,113,133,0.8); --divider-color: #94a3b8; --text-outline-color: #1e293b;
    }
    body { font-family: "Microsoft YaHei", -apple-system, sans-serif; user-select: none; background-color: var(--bg-canvas); }
    input, textarea, select { user-select: text; }
    .custom-scrollbar::-webkit-scrollbar { height: 14px; width: 14px; }
    .custom-scrollbar::-webkit-scrollbar-track { background: #e2e8f0; border-left: 1px solid #cbd5e1; border-top: 1px solid #cbd5e1;}
    .custom-scrollbar::-webkit-scrollbar-thumb { background: #94a3b8; border: 3px solid #e2e8f0; border-radius: 8px; }
    .custom-scrollbar::-webkit-scrollbar-thumb:hover { background: #64748b; }
    .dark .custom-scrollbar::-webkit-scrollbar-track { background: #1e293b; border-color: #334155; }
    .dark .custom-scrollbar::-webkit-scrollbar-thumb { background: #475569; border-color: #1e293b; border-width: 3px; }
    .hide-number-spinners::-webkit-outer-spin-button, .hide-number-spinners::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
    .hide-number-spinners { -moz-appearance: textfield; }
    .text-outline { text-shadow: -1px -1px 0 var(--text-outline-color), 1px -1px 0 var(--text-outline-color), -1px 1px 0 var(--text-outline-color), 1px 1px 0 var(--text-outline-color), 0 0 3px var(--text-outline-color); }
    .panning-active, .panning-active * { cursor: grabbing !important; }
    .bw-print-export {
        --bg-board: #ffffff; --color-grid: #d1d5db; --color-month-grid: #111827; --color-h-grid: #d1d5db;
        --color-node-fill: #ffffff; --color-node-stroke: #111827; --color-line-real: #111827; --color-line-dummy: #111827;
        --color-line-critical: #111827; --color-line-wave: #111827; --bg-timeline-top: #f3f4f6; --bg-timeline-mid: #f9fafb;
        --bg-timeline-bot: #ffffff; --text-timeline: #111827; --border-outer: #111827; --border-axis: #9ca3af;
        --node-active-fill: rgba(229,231,235,0.8); --node-active-stroke: #111827; --node-hover-fill: #ffffff;
        --node-hover-stroke: #111827; --node-hover-text: #111827; --task-hover-bg: #ffffff; --labor-sel-bg: rgba(229,231,235,0.5);
        --bg-board-alpha: rgba(255,255,255,0.95); --weekend-bg: rgba(229,231,235,0.45); --holiday-bg: rgba(209,213,219,0.5);
        --holiday-border: rgba(107,114,128,0.6); --holiday-text: #374151; --divider-color: #111827; --text-outline-color: #ffffff;
        background-color: #ffffff !important;
        color: #111827 !important;
        filter: grayscale(1) contrast(1.08);
    }
    .bw-print-export, .bw-print-export * { box-shadow: none !important; }
  

