html,body,#app{margin:0;padding:0}#app{display:contents}.tree-scroll .node:nth-child(2n)>.node-row:not(.selected){background:var(--bg-row-even)}:root{--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-base: 13px;--font-xxs: 8px;--font-xs: 9px;--font-sm: 10px;--font-md: 11px;--font-lg: 12px;--font-xl: 13px;--font-2xl: 14px;--font-3xl: 16px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semi: 600;--font-weight-bold: 700;--line-height: 1.5;--letter-spacing: .02em;--letter-spacing-caps:.04em;--bg-app: #1a1a2e;--bg-toolbar: #16213e;--bg-scalebar: #111827;--bg-surface: #1e2a45;--bg-deep: #0f172a;--bg-input: #0d1829;--bg-row-even: #172236;--bg-row-hover: #1e2a45;--bg-row-selected: #1a3060;--bg-gantt: #080e1a;--bg-gantt-header: #0d1829;--bg-btn: #2a2a4a;--bg-btn-hover: #3a3a6a;--bg-btn-active: #4f46e5;--bg-scalebar-btn: #1e2a45;--bg-scalebar-btn-hov:#2a3a60;--bg-view-btn: #1e2a3a;--bg-view-btn-hover: #2a3a5a;--bg-view-btn-active: #1e3a6e;--bg-card: #1e2a3a;--bg-card-hover: #243050;--bg-card-selected: #1a2e55;--bg-chip: #1e2a40;--bg-tag: #162540;--bg-count: #1a2030;--bg-popup: #0f1f35;--bg-toggle-off: #2a3a5a;--bg-toggle-on: #4f46e5;--bg-slider-track: #2a3a5a;--bg-slider-thumb: #4f46e5;--bg-scrollbar: #2a3a5a;--bg-menu: #1e2a45;--bg-menu-hover: #2a3a5a;--bg-menu-danger-hov: #3a1a1a;--bg-hover: #2a3a5a;--status-error: #f87171;--text-primary: #c8d0e0;--text-strong: #e2e8f0;--text-heading: #c0d4f0;--text-secondary: #8a9ab0;--text-muted: #6a8aaa;--text-dim: #5a7aaa;--text-faint: #4a5a7a;--text-ghost: #3a4a6a;--text-link: #60a5fa;--text-link-hover: #8aabcc;--text-success: #4ade80;--text-danger: #f87171;--text-white: #fff;--border-subtle: rgba(30,42,65,.5);--border-default: #1e2a45;--border-medium: #2a2a4a;--border-strong: #2a3a5a;--border-bright: #3a4a6a;--border-active: #4f46e5;--border-card-hover: #3a4a7a;--accent: #4f46e5;--accent-light: #6366f1;--accent-muted: #818cf8;--accent-glow: rgba(79,70,229,.06);--accent-shadow: rgba(79,70,229,.5);--color-success: #22c55e;--color-success-light:#34d399;--color-info: #60a5fa;--color-warning: #fbbf24;--color-danger: #ef4444;--color-danger-light: #f87171;--color-orange: #f97316;--status-todo-bg: #374151;--status-todo-text: #9ca3af;--status-wip-bg: #1d3a6e;--status-wip-text: #60a5fa;--status-wfa-bg: #4a3000;--status-wfa-text: #fbbf24;--status-approved-bg: #064e3b;--status-approved-text:#34d399;--status-retake-bg: #4c0519;--status-retake-text: #f87171;--status-concept-bg: #3b1060;--status-concept-text:#c084fc;--status-review-bg: #1e1b4b;--status-review-text: #818cf8;--pri-high: rgba(239, 68, 68, .3);--pri-medium: rgba(251, 146, 60, .3);--pri-low: rgba(34, 197, 94, .22);--tc-cmf-bg: #3b1060;--tc-cmf-text: #c084fc;--tc-hro-bg: #1e1b4b;--tc-hro-text: #818cf8;--tc-lgt-bg: #78350f;--tc-lgt-text: #fbbf24;--tc-mdl-bg: #134e4a;--tc-mdl-text: #2dd4bf;--tc-con-bg: #1e3a6e;--tc-con-text: #60a5fa;--tc-tdr-bg: #431407;--tc-tdr-text: #fb923c;--tc-mat-bg: #064e3b;--tc-mat-text: #34d399;--tc-erg-bg: #4a044e;--tc-erg-text: #e879f9;--tc-cli-bg: #1e1b4b;--tc-cli-text: #a5b4fc;--tc-wlk-bg: #083344;--tc-wlk-text: #22d3ee;--tc-fld-bg: #1a2030;--tc-fld-text: #4a5a7a;--thumb-blue-from: #1e3a6e;--thumb-blue-to: #3b82f6;--thumb-gray-from: #374151;--thumb-gray-to: #6b7280;--thumb-silver-from: #334155;--thumb-silver-to: #94a3b8;--thumb-orange-from: #78350f;--thumb-orange-to: #f59e0b;--thumb-green-from: #065f46;--thumb-green-to: #10b981;--thumb-purple-from: #4c1d95;--thumb-purple-to: #8b5cf6;--thumb-teal-from: #134e4a;--thumb-teal-to: #14b8a6;--thumb-amber-from: #78350f;--thumb-amber-to: #fbbf24;--thumb-empty: #1e2a3a;--shadow-popup: 0 8px 24px rgba(0,0,0,.6);--shadow-menu: 0 8px 24px rgba(0,0,0,.5);--shadow-deep: 0 8px 32px rgba(0,0,0,.67);--shadow-gantt-img: 0 2px 8px rgba(0,0,0,.5);--radius-sm: 2px;--radius-md: 4px;--radius-lg: 6px;--radius-xl: 8px;--radius-pill: 10px;--radius-round: 50%;--space-xxs: 2px;--space-xs: 4px;--space-sm: 6px;--space-md: 8px;--space-lg: 10px;--space-xl: 12px;--space-2xl: 14px;--space-3xl: 16px;--transition-fast: .1s;--transition-normal: .15s;--transition-slow: .2s;--gantt-grid: #1a2535;--gantt-grid-weekend: #101820;--gantt-border: #1e2a3a;--gantt-bar-radius: 3px;--gantt-today: rgba(239,68,68,.6);--gantt-today-hdr: rgba(239,68,68,.5);--gantt-hdr-text: #4a6a9a;--gantt-hdr-major: #7a9aba;--gantt-hdr-weekend: #3a4a6a;--gantt-caption-bg: linear-gradient(transparent, rgba(4,8,20,.85) 30%);--scrollbar-w: 5px;--scrollbar-w-wide: 8px;--scrollbar-track: #111827;--scrollbar-thumb: #2a3a5a;--scrollbar-hover: #4f46e5;--toolbar-h: auto;--header-h: 30px;--avatar-sm: 14px;--avatar-md: 20px;--avatar-lg: 22px;--avatar-xl: 26px;--toggle-w: 30px;--toggle-h: 17px;--toggle-knob: 13px;--panel-w: 420px;--col-panel-min-w: 230px;--ctx-menu-min-w: 190px}.theme-kitsu-dark{--bg-app: #36393F;--bg-toolbar: #25282E;--bg-scalebar: #25282E;--bg-surface: #46494F;--bg-deep: #202225;--bg-input: #202225;--bg-row-even: #3D4048;--bg-row-hover: #4F525A;--bg-row-selected: #5E60BA;--bg-gantt: #202225;--bg-gantt-header: #25282E;--bg-btn: #46494F;--bg-btn-hover: #5E6169;--bg-btn-active: #5E60BA;--bg-scalebar-btn: #3D4048;--bg-scalebar-btn-hov:#4F525A;--bg-view-btn: #3D4048;--bg-view-btn-hover: #4F525A;--bg-view-btn-active: #5E60BA;--bg-card: #3D4048;--bg-card-hover: #46494F;--bg-card-selected: #4A4A6F;--bg-chip: #3D4048;--bg-tag: #36393F;--bg-count: #25282E;--bg-popup: #25282E;--bg-toggle-off: #5E6169;--bg-toggle-on: #5E60BA;--bg-slider-track: #5E6169;--bg-slider-thumb: #7289DA;--bg-scrollbar: #4E5159;--bg-menu: #36393F;--bg-menu-hover: #4F525A;--bg-menu-danger-hov: #5c2030;--bg-hover: #4F525A;--status-error: #FF3860;--text-primary: #EEEEEE;--text-strong: #FEFEFE;--text-heading: #FEFEFE;--text-secondary: #B9BBBE;--text-muted: #8E9297;--text-dim: #72767D;--text-faint: #72767D;--text-ghost: #4F545C;--text-link: #7289DA;--text-link-hover: #92A9FA;--text-success: #67BE4B;--text-danger: #F57F77;--text-white: #FFFFFF;--border-subtle: rgba(37,40,46,.5);--border-default: #25282E;--border-medium: #25282E;--border-strong: #4F545C;--border-bright: #5E6169;--border-active: #7289DA;--border-card-hover: #5E6169;--accent: #7289DA;--accent-light: #92A9FA;--accent-muted: #5E60BA;--accent-glow: rgba(114,137,218,.08);--accent-shadow: rgba(114,137,218,.5);--color-success: #67BE4B;--color-success-light:#43B581;--color-info: #7289DA;--color-warning: #FFC107;--color-danger: #FF3860;--color-danger-light: #F57F77;--color-orange: #E67E22;--status-todo-bg: #4F545C;--status-todo-text: #B9BBBE;--status-wip-bg: #2C4A7C;--status-wip-text: #7289DA;--status-wfa-bg: #5C4A00;--status-wfa-text: #FFC107;--status-approved-bg: #1A5C34;--status-approved-text:#67BE4B;--status-retake-bg: #5C1A2A;--status-retake-text: #FF3860;--status-concept-bg: #3A2A6A;--status-concept-text:#CFD1FF;--status-review-bg: #2A2A5A;--status-review-text: #BEC0FA;--pri-high: rgba(255, 56, 96, .25);--pri-medium: rgba(230, 126, 34, .25);--pri-low: rgba(67, 181, 129, .2);--tc-cmf-bg: #3A2A6A;--tc-cmf-text: #CFD1FF;--tc-hro-bg: #2A2A5A;--tc-hro-text: #BEC0FA;--tc-lgt-bg: #5C4A00;--tc-lgt-text: #FFC107;--tc-mdl-bg: #1A4A44;--tc-mdl-text: #43B581;--tc-con-bg: #2C4A7C;--tc-con-text: #7289DA;--tc-tdr-bg: #5C3A10;--tc-tdr-text: #E67E22;--tc-mat-bg: #1A5C34;--tc-mat-text: #67BE4B;--tc-erg-bg: #5A1A5C;--tc-erg-text: #FF69C0;--tc-cli-bg: #2A2A5A;--tc-cli-text: #92A9FA;--tc-wlk-bg: #1A3A4A;--tc-wlk-text: #5ECAED;--tc-fld-bg: #3D4048;--tc-fld-text: #72767D;--thumb-blue-from: #2C4A7C;--thumb-blue-to: #7289DA;--thumb-gray-from: #4F545C;--thumb-gray-to: #8E9297;--thumb-silver-from: #4F545C;--thumb-silver-to: #B9BBBE;--thumb-orange-from: #5C3A10;--thumb-orange-to: #E67E22;--thumb-green-from: #1A5C34;--thumb-green-to: #67BE4B;--thumb-purple-from: #3A2A6A;--thumb-purple-to: #8F91EB;--thumb-teal-from: #1A4A44;--thumb-teal-to: #43B581;--thumb-amber-from: #5C3A10;--thumb-amber-to: #FFC107;--thumb-empty: #3D4048;--shadow-popup: 0 8px 24px rgba(0,0,0,.5);--shadow-menu: 0 8px 24px rgba(0,0,0,.4);--shadow-deep: 0 8px 32px rgba(0,0,0,.5);--gantt-grid: #2A2D33;--gantt-grid-weekend: #22252B;--gantt-border: #25282E;--gantt-today: rgba(255,56,96,.5);--gantt-today-hdr: rgba(255,56,96,.4);--gantt-hdr-text: #72767D;--gantt-hdr-major: #B9BBBE;--gantt-hdr-weekend: #4F545C;--scrollbar-track: #25282E;--scrollbar-thumb: #4F545C;--scrollbar-hover: #7289DA}.theme-kitsu-light{--bg-app: #E8EBF0;--bg-toolbar: #F0F2F5;--bg-scalebar: #F0F2F5;--bg-surface: #F7F8FA;--bg-deep: #DFE3EA;--bg-input: #FFFFFF;--bg-row-even: #E4E7ED;--bg-row-hover: #D8DCE5;--bg-row-selected: #C8CCFF;--bg-gantt: #E2E5EB;--bg-gantt-header: #ECEEF2;--bg-btn: #DFE3EA;--bg-btn-hover: #D0D5DE;--bg-btn-active: #5E60BA;--bg-scalebar-btn: #D8DCE5;--bg-scalebar-btn-hov:#C8CCFF;--bg-view-btn: #DFE3EA;--bg-view-btn-hover: #D0D5DE;--bg-view-btn-active: #C8CCFF;--bg-card: #F0F2F5;--bg-card-hover: #E4E7ED;--bg-card-selected: #C8CCFF;--bg-chip: #E4E7ED;--bg-tag: #E4E7ED;--bg-count: #D8DCE5;--bg-popup: #F0F2F5;--bg-toggle-off: #B0B8C4;--bg-toggle-on: #5E60BA;--bg-slider-track: #B0B8C4;--bg-slider-thumb: #5E60BA;--bg-scrollbar: #C0C6D0;--bg-menu: #F0F2F5;--bg-menu-hover: #DFE3EA;--bg-menu-danger-hov: #FFDCE0;--bg-hover: #DFE3EA;--status-error: #AA0020;--text-primary: #3A3E4A;--text-strong: #1A1C22;--text-heading: #1A1C22;--text-secondary: #5A6070;--text-muted: #6E7585;--text-dim: #8890A0;--text-faint: #A0A8B5;--text-ghost: #B8BFC8;--text-link: #4A4CA0;--text-link-hover: #6266C8;--text-success: #008732;--text-danger: #DA002C;--text-white: #FFFFFF;--border-subtle: rgba(180,188,200,.4);--border-default: #C8CDD6;--border-medium: #C0C6D0;--border-strong: #A8B0BC;--border-bright: #98A0B0;--border-active: #5E60BA;--border-card-hover: #98A0B0;--accent: #5E60BA;--accent-light: #7289DA;--accent-muted: #A0A2E0;--accent-glow: rgba(94,96,186,.12);--accent-shadow: rgba(94,96,186,.35);--color-success: #008732;--color-success-light:#4CAF50;--color-info: #4A4CA0;--color-warning: #C46A00;--color-danger: #DA002C;--color-danger-light: #E5475A;--color-orange: #C46A00;--status-todo-bg: #CDD2DA;--status-todo-text: #6E7585;--status-wip-bg: #C8CCFF;--status-wip-text: #3E40A0;--status-wfa-bg: #FFE6B8;--status-wfa-text: #8A5000;--status-approved-bg: #B8ECC8;--status-approved-text:#006828;--status-retake-bg: #FFC0C8;--status-retake-text: #AA0020;--status-concept-bg: #E0D0F8;--status-concept-text:#4A2888;--status-review-bg: #C8CCFF;--status-review-text: #3E40A0;--pri-high: rgba(218, 0, 44, .14);--pri-medium: rgba(196, 106, 0, .14);--pri-low: rgba(0, 135, 50, .12);--tc-cmf-bg: #E0D0F8;--tc-cmf-text: #4A2888;--tc-hro-bg: #C8CCFF;--tc-hro-text: #3E40A0;--tc-lgt-bg: #FFE6B8;--tc-lgt-text: #7A5000;--tc-mdl-bg: #B8ECC8;--tc-mdl-text: #065A3A;--tc-con-bg: #C0D0FF;--tc-con-text: #2A3AAA;--tc-tdr-bg: #FFD8B8;--tc-tdr-text: #7A4000;--tc-mat-bg: #B8ECC8;--tc-mat-text: #006828;--tc-erg-bg: #FFC0E0;--tc-erg-text: #881A60;--tc-cli-bg: #C0D0FF;--tc-cli-text: #2A3AAA;--tc-wlk-bg: #B8E8F0;--tc-wlk-text: #065A6A;--tc-fld-bg: #D8DCE5;--tc-fld-text: #8890A0;--thumb-blue-from: #7A8FE0;--thumb-blue-to: #4A4CA0;--thumb-gray-from: #A0A8B5;--thumb-gray-to: #6E7585;--thumb-silver-from: #B0B8C4;--thumb-silver-to: #7A8494;--thumb-orange-from: #F0A040;--thumb-orange-to: #C46A00;--thumb-green-from: #4CAF50;--thumb-green-to: #008732;--thumb-purple-from: #A0A2E0;--thumb-purple-to: #6A6CC0;--thumb-teal-from: #26A69A;--thumb-teal-to: #065A3A;--thumb-amber-from: #F0A040;--thumb-amber-to: #C46A00;--thumb-empty: #D8DCE5;--shadow-popup: 0 8px 24px rgba(0,0,0,.18);--shadow-menu: 0 8px 24px rgba(0,0,0,.14);--shadow-deep: 0 8px 32px rgba(0,0,0,.22);--shadow-gantt-img: 0 2px 8px rgba(0,0,0,.18);--gantt-grid: #D0D5DE;--gantt-grid-weekend: #DAE0E8;--gantt-border: #C8CDD6;--gantt-today: rgba(218,0,44,.35);--gantt-today-hdr: rgba(218,0,44,.25);--gantt-hdr-text: #8890A0;--gantt-hdr-major: #5A6070;--gantt-hdr-weekend: #A0A8B5;--gantt-hdr-major-bg: rgba(0,0,0,.06);--gantt-caption-bg: linear-gradient(transparent, rgba(232,235,240,.9) 30%);--gantt-caption-text: rgba(30,40,60,.9);--scrollbar-track: #E2E5EB;--scrollbar-thumb: #A8B0BC;--scrollbar-hover: #5E60BA}.theme-cerebro{--bg-app: #121212;--bg-toolbar: #1E1E1E;--bg-scalebar: #1E1E1E;--bg-surface: #2C2C2C;--bg-deep: #0A0A0A;--bg-input: #1A1A1A;--bg-row-even: #1A1A1A;--bg-row-hover: #2A2A2A;--bg-row-selected: #311B5E;--bg-gantt: #0A0A0A;--bg-gantt-header: #1A1A1A;--bg-btn: #2C2C2C;--bg-btn-hover: #3A3A3A;--bg-btn-active: #673AB7;--bg-scalebar-btn: #2A2A2A;--bg-scalebar-btn-hov:#3A3A3A;--bg-view-btn: #2A2A2A;--bg-view-btn-hover: #3A3A3A;--bg-view-btn-active: #311B5E;--bg-card: #1E1E1E;--bg-card-hover: #2A2A2A;--bg-card-selected: #2A1850;--bg-chip: #2C2C2C;--bg-tag: #1E1E1E;--bg-count: #2C2C2C;--bg-popup: #1A1A1A;--bg-toggle-off: #444;--bg-toggle-on: #673AB7;--bg-slider-track: #444;--bg-slider-thumb: #009688;--bg-scrollbar: #3A3A3A;--bg-menu: #1E1E1E;--bg-menu-hover: #333;--bg-menu-danger-hov: #4A1A1A;--bg-hover: #333;--status-error: #F06292;--text-primary: #E0E0E0;--text-strong: #FAFAFA;--text-heading: #FAFAFA;--text-secondary: #B0B0B0;--text-muted: #888;--text-dim: #777;--text-faint: #666;--text-ghost: #444;--text-link: #B39DDB;--text-link-hover: #CE93D8;--text-success: #4CAF50;--text-danger: #E81E62;--text-white: #FFFFFF;--border-subtle: rgba(50,50,50,.5);--border-default: #2C2C2C;--border-medium: #333;--border-strong: #444;--border-bright: #555;--border-active: #673AB7;--border-card-hover: #555;--accent: #673AB7;--accent-light: #9C27B0;--accent-muted: #B39DDB;--accent-glow: rgba(103,58,183,.1);--accent-shadow: rgba(103,58,183,.5);--color-success: #4CAF50;--color-success-light:#66BB6A;--color-info: #2196F3;--color-warning: #FFC107;--color-danger: #E81E62;--color-danger-light: #F06292;--color-orange: #FF9800;--status-todo-bg: #333;--status-todo-text: #888;--status-wip-bg: #0D3B66;--status-wip-text: #64B5F6;--status-wfa-bg: #4A3500;--status-wfa-text: #FFD54F;--status-approved-bg: #1B4332;--status-approved-text:#66BB6A;--status-retake-bg: #4A0A24;--status-retake-text: #F06292;--status-concept-bg: #2A1850;--status-concept-text:#CE93D8;--status-review-bg: #1A237E;--status-review-text: #9FA8DA;--pri-high: rgba(232, 30, 98, .25);--pri-medium: rgba(255, 152, 0, .25);--pri-low: rgba(76, 175, 80, .2);--tc-cmf-bg: #2A1850;--tc-cmf-text: #CE93D8;--tc-hro-bg: #1A237E;--tc-hro-text: #9FA8DA;--tc-lgt-bg: #4A3500;--tc-lgt-text: #FFD54F;--tc-mdl-bg: #004D40;--tc-mdl-text: #4DB6AC;--tc-con-bg: #0D3B66;--tc-con-text: #64B5F6;--tc-tdr-bg: #4A2600;--tc-tdr-text: #FFB74D;--tc-mat-bg: #1B4332;--tc-mat-text: #66BB6A;--tc-erg-bg: #4A0A3A;--tc-erg-text: #F48FB1;--tc-cli-bg: #1A237E;--tc-cli-text: #7986CB;--tc-wlk-bg: #004D40;--tc-wlk-text: #26C6DA;--tc-fld-bg: #2C2C2C;--tc-fld-text: #666;--thumb-blue-from: #0D3B66;--thumb-blue-to: #2196F3;--thumb-gray-from: #444;--thumb-gray-to: #888;--thumb-silver-from: #555;--thumb-silver-to: #B0B0B0;--thumb-orange-from: #4A2600;--thumb-orange-to: #FF9800;--thumb-green-from: #1B4332;--thumb-green-to: #4CAF50;--thumb-purple-from: #2A1850;--thumb-purple-to: #9C27B0;--thumb-teal-from: #004D40;--thumb-teal-to: #009688;--thumb-amber-from: #4A3500;--thumb-amber-to: #FFC107;--thumb-empty: #2C2C2C;--shadow-popup: 0 8px 24px rgba(0,0,0,.7);--shadow-menu: 0 8px 24px rgba(0,0,0,.6);--shadow-deep: 0 8px 32px rgba(0,0,0,.7);--shadow-gantt-img: 0 2px 8px rgba(0,0,0,.6);--gantt-grid: #222;--gantt-grid-weekend: #1A1A1A;--gantt-border: #2C2C2C;--gantt-today: rgba(232,30,98,.5);--gantt-today-hdr: rgba(232,30,98,.4);--gantt-hdr-text: #666;--gantt-hdr-major: #B0B0B0;--gantt-hdr-weekend: #444;--gantt-caption-bg: linear-gradient(transparent, rgba(0,0,0,.85) 30%);--scrollbar-track: #121212;--scrollbar-thumb: #444;--scrollbar-hover: #673AB7}.theme-ftrack{--bg-app: #1B1D21;--bg-toolbar: #23262B;--bg-scalebar: #23262B;--bg-surface: #2C3038;--bg-deep: #15171A;--bg-input: #181A1E;--bg-row-even: #1F2228;--bg-row-hover: #2A2E35;--bg-row-selected: #0E3A3E;--bg-gantt: #15171A;--bg-gantt-header: #1B1D21;--bg-btn: #2C3038;--bg-btn-hover: #363B44;--bg-btn-active: #0097A7;--bg-scalebar-btn: #2A2E35;--bg-scalebar-btn-hov:#363B44;--bg-view-btn: #2A2E35;--bg-view-btn-hover: #363B44;--bg-view-btn-active: #0E3A3E;--bg-card: #23262B;--bg-card-hover: #2C3038;--bg-card-selected: #0C3335;--bg-chip: #2C3038;--bg-tag: #23262B;--bg-count: #2C3038;--bg-popup: #1B1D21;--bg-toggle-off: #4A4E58;--bg-toggle-on: #0097A7;--bg-slider-track: #4A4E58;--bg-slider-thumb: #00BCD4;--bg-scrollbar: #363B44;--bg-menu: #23262B;--bg-menu-hover: #2C3038;--bg-menu-danger-hov: #3A1A1A;--bg-hover: #2C3038;--status-error: #E57373;--text-primary: #D8DCE4;--text-strong: #F0F2F5;--text-heading: #F0F2F5;--text-secondary: #A0A8B4;--text-muted: #7A8494;--text-dim: #5C6678;--text-faint: #4A5262;--text-ghost: #363B44;--text-link: #00BCD4;--text-link-hover: #4DD0E1;--text-success: #26A69A;--text-danger: #EF5350;--text-white: #FFFFFF;--border-subtle: rgba(42,46,53,.5);--border-default: #2C3038;--border-medium: #2C3038;--border-strong: #3A4050;--border-bright: #4A5262;--border-active: #00BCD4;--border-card-hover: #4A5262;--accent: #0097A7;--accent-light: #00BCD4;--accent-muted: #4DD0E1;--accent-glow: rgba(0,188,212,.08);--accent-shadow: rgba(0,188,212,.4);--color-success: #26A69A;--color-success-light:#4DB6AC;--color-info: #42A5F5;--color-warning: #FFA726;--color-danger: #EF5350;--color-danger-light: #E57373;--color-orange: #FF7043;--status-todo-bg: #363B44;--status-todo-text: #7A8494;--status-wip-bg: #0E3A50;--status-wip-text: #42A5F5;--status-wfa-bg: #4A3510;--status-wfa-text: #FFA726;--status-approved-bg: #0E3A30;--status-approved-text:#4DB6AC;--status-retake-bg: #4A1A18;--status-retake-text: #E57373;--status-concept-bg: #1A2A4A;--status-concept-text:#90CAF9;--status-review-bg: #1A3040;--status-review-text: #80DEEA;--pri-high: rgba(239, 83, 80, .22);--pri-medium: rgba(255, 167, 38, .22);--pri-low: rgba(38, 166, 154, .2);--tc-cmf-bg: #1A2A4A;--tc-cmf-text: #90CAF9;--tc-hro-bg: #1A3040;--tc-hro-text: #80DEEA;--tc-lgt-bg: #4A3510;--tc-lgt-text: #FFD54F;--tc-mdl-bg: #0E3A30;--tc-mdl-text: #4DB6AC;--tc-con-bg: #0E3A50;--tc-con-text: #42A5F5;--tc-tdr-bg: #3A2510;--tc-tdr-text: #FFB74D;--tc-mat-bg: #0E3A30;--tc-mat-text: #66BB6A;--tc-erg-bg: #3A1A3A;--tc-erg-text: #F48FB1;--tc-cli-bg: #1A2A4A;--tc-cli-text: #7986CB;--tc-wlk-bg: #0A3A3E;--tc-wlk-text: #4DD0E1;--tc-fld-bg: #2C3038;--tc-fld-text: #5C6678;--thumb-blue-from: #0E3A50;--thumb-blue-to: #42A5F5;--thumb-gray-from: #3A4050;--thumb-gray-to: #7A8494;--thumb-silver-from: #4A5262;--thumb-silver-to: #A0A8B4;--thumb-orange-from: #3A2510;--thumb-orange-to: #FF7043;--thumb-green-from: #0E3A30;--thumb-green-to: #26A69A;--thumb-purple-from: #1A2A4A;--thumb-purple-to: #7E57C2;--thumb-teal-from: #0A3A3E;--thumb-teal-to: #00BCD4;--thumb-amber-from: #4A3510;--thumb-amber-to: #FFA726;--thumb-empty: #2C3038;--shadow-popup: 0 8px 24px rgba(0,0,0,.55);--shadow-menu: 0 8px 24px rgba(0,0,0,.45);--shadow-deep: 0 8px 32px rgba(0,0,0,.6);--shadow-gantt-img: 0 2px 8px rgba(0,0,0,.5);--gantt-grid: #23262B;--gantt-grid-weekend: #1B1D21;--gantt-border: #2C3038;--gantt-today: rgba(239,83,80,.5);--gantt-today-hdr: rgba(239,83,80,.4);--gantt-hdr-text: #5C6678;--gantt-hdr-major: #A0A8B4;--gantt-hdr-weekend: #363B44;--gantt-caption-bg: linear-gradient(transparent, rgba(0,0,0,.85) 30%);--scrollbar-track: #1B1D21;--scrollbar-thumb: #3A4050;--scrollbar-hover: #0097A7}.theme-shotgrid{--bg-app: #1C1C1C;--bg-toolbar: #262626;--bg-scalebar: #262626;--bg-surface: #333;--bg-deep: #141414;--bg-input: #1A1A1A;--bg-row-even: #222;--bg-row-hover: #2E2E2E;--bg-row-selected: #4A3000;--bg-gantt: #141414;--bg-gantt-header: #1C1C1C;--bg-btn: #333;--bg-btn-hover: #444;--bg-btn-active: #D97B00;--bg-scalebar-btn: #2E2E2E;--bg-scalebar-btn-hov:#3A3A3A;--bg-view-btn: #2E2E2E;--bg-view-btn-hover: #3A3A3A;--bg-view-btn-active: #4A3000;--bg-card: #262626;--bg-card-hover: #2E2E2E;--bg-card-selected: #3A2800;--bg-chip: #333;--bg-tag: #262626;--bg-count: #333;--bg-popup: #1C1C1C;--bg-toggle-off: #555;--bg-toggle-on: #D97B00;--bg-slider-track: #555;--bg-slider-thumb: #F5A623;--bg-scrollbar: #3A3A3A;--bg-menu: #262626;--bg-menu-hover: #333;--bg-menu-danger-hov: #4A1A1A;--bg-hover: #333;--status-error: #D9534F;--text-primary: #D4D4D4;--text-strong: #F0F0F0;--text-heading: #F0F0F0;--text-secondary: #A8A8A8;--text-muted: #888;--text-dim: #6A6A6A;--text-faint: #555;--text-ghost: #3A3A3A;--text-link: #F5A623;--text-link-hover: #FFCC66;--text-success: #5CB85C;--text-danger: #D9534F;--text-white: #FFFFFF;--border-subtle: rgba(50,50,50,.5);--border-default: #333;--border-medium: #333;--border-strong: #4A4A4A;--border-bright: #5A5A5A;--border-active: #F5A623;--border-card-hover: #5A5A5A;--accent: #D97B00;--accent-light: #F5A623;--accent-muted: #FFCC66;--accent-glow: rgba(245,166,35,.08);--accent-shadow: rgba(245,166,35,.4);--color-success: #5CB85C;--color-success-light:#6FCA6F;--color-info: #5BC0DE;--color-warning: #F0AD4E;--color-danger: #D9534F;--color-danger-light: #E57373;--color-orange: #F5A623;--status-todo-bg: #3A3A3A;--status-todo-text: #888;--status-wip-bg: #1A3550;--status-wip-text: #5BC0DE;--status-wfa-bg: #4A3500;--status-wfa-text: #F0AD4E;--status-approved-bg: #1A3A1A;--status-approved-text:#5CB85C;--status-retake-bg: #4A1A18;--status-retake-text: #D9534F;--status-concept-bg: #2A2040;--status-concept-text:#B39DDB;--status-review-bg: #1A3050;--status-review-text: #80BCDE;--pri-high: rgba(217, 83, 79, .25);--pri-medium: rgba(240, 173, 78, .25);--pri-low: rgba(92, 184, 92, .2);--tc-cmf-bg: #2A2040;--tc-cmf-text: #B39DDB;--tc-hro-bg: #1A2040;--tc-hro-text: #9FA8DA;--tc-lgt-bg: #4A3500;--tc-lgt-text: #F0AD4E;--tc-mdl-bg: #1A3A1A;--tc-mdl-text: #5CB85C;--tc-con-bg: #1A3550;--tc-con-text: #5BC0DE;--tc-tdr-bg: #4A2800;--tc-tdr-text: #F5A623;--tc-mat-bg: #1A3A1A;--tc-mat-text: #6FCA6F;--tc-erg-bg: #3A1A30;--tc-erg-text: #E57BBB;--tc-cli-bg: #1A2040;--tc-cli-text: #80A4C8;--tc-wlk-bg: #0A3040;--tc-wlk-text: #5BC0DE;--tc-fld-bg: #333;--tc-fld-text: #6A6A6A;--thumb-blue-from: #1A3550;--thumb-blue-to: #5BC0DE;--thumb-gray-from: #4A4A4A;--thumb-gray-to: #888;--thumb-silver-from: #555;--thumb-silver-to: #A8A8A8;--thumb-orange-from: #4A2800;--thumb-orange-to: #F5A623;--thumb-green-from: #1A3A1A;--thumb-green-to: #5CB85C;--thumb-purple-from: #2A2040;--thumb-purple-to: #9575CD;--thumb-teal-from: #0A3040;--thumb-teal-to: #4DD0E1;--thumb-amber-from: #4A3500;--thumb-amber-to: #F0AD4E;--thumb-empty: #333;--shadow-popup: 0 8px 24px rgba(0,0,0,.65);--shadow-menu: 0 8px 24px rgba(0,0,0,.55);--shadow-deep: 0 8px 32px rgba(0,0,0,.7);--shadow-gantt-img: 0 2px 8px rgba(0,0,0,.6);--gantt-grid: #262626;--gantt-grid-weekend: #1C1C1C;--gantt-border: #333;--gantt-today: rgba(217,83,79,.5);--gantt-today-hdr: rgba(217,83,79,.4);--gantt-hdr-text: #6A6A6A;--gantt-hdr-major: #A8A8A8;--gantt-hdr-weekend: #4A4A4A;--gantt-caption-bg: linear-gradient(transparent, rgba(0,0,0,.85) 30%);--scrollbar-track: #1C1C1C;--scrollbar-thumb: #4A4A4A;--scrollbar-hover: #D97B00}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-app);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-base);height:100vh;display:flex;flex-direction:column;overflow:hidden}.toolbar{background:var(--bg-toolbar);border-bottom:1px solid var(--border-medium);padding:var(--space-sm) var(--space-xl);display:flex;align-items:center;gap:var(--space-md);flex-shrink:0}.toolbar-title{font-weight:var(--font-weight-semi);color:var(--text-strong);font-size:var(--font-2xl);margin-right:var(--space-xs)}.toolbar-sep{width:1px;height:20px;background:var(--border-medium);margin:0 var(--space-xs)}.btn{background:var(--bg-btn);border:1px solid var(--border-medium);color:var(--text-muted);border-radius:var(--radius-lg);padding:var(--space-xs) var(--space-lg);cursor:pointer;font-size:var(--font-lg);display:flex;align-items:center;gap:var(--space-sm);transition:all var(--transition-normal);white-space:nowrap}.btn:hover{background:var(--bg-btn-hover);color:var(--text-strong);border-color:var(--accent-muted)}.btn.active{background:var(--bg-btn-active);border-color:var(--accent-light);color:var(--text-white)}.search-input{background:var(--bg-deep);border:1px solid var(--border-medium);color:var(--text-primary);border-radius:var(--radius-lg);padding:var(--space-xs) var(--space-lg);font-size:var(--font-lg);width:160px;outline:none}.search-input:focus{border-color:var(--accent)}.toolbar-right{margin-left:auto;display:flex;gap:var(--space-sm);align-items:center}.saved-indicator{color:var(--text-success);font-size:var(--font-md)}.scale-bar{background:var(--bg-scalebar);border-bottom:1px solid var(--border-default);padding:var(--space-xs) var(--space-xl);display:flex;align-items:center;gap:var(--space-lg);flex-shrink:0;font-size:var(--font-md);color:var(--text-faint);position:relative;z-index:20}.scale-label{white-space:nowrap}.tree-expand-btn{background:var(--bg-scalebar-btn);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-heading);font-size:var(--font-2xl);width:22px;height:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;line-height:1}.tree-expand-btn:hover{background:var(--bg-scalebar-btn-hov);border-color:var(--accent);color:var(--text-white)}.scale-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100px;height:4px;background:var(--bg-slider-track);border-radius:var(--radius-sm);outline:none;cursor:pointer}.scale-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:var(--radius-round);background:var(--bg-slider-thumb);cursor:pointer}#sizeLabel{color:var(--text-dim);min-width:18px}.view-btns{display:flex;gap:var(--space-xs)}.view-btn{background:var(--bg-view-btn);border:1px solid var(--border-strong);color:var(--text-dim);border-radius:var(--radius-md);padding:3px var(--space-md);cursor:pointer;font-size:var(--font-md);transition:all var(--transition-normal);white-space:nowrap}.view-btn:hover{background:var(--bg-view-btn-hover);color:var(--text-link-hover)}.view-btn.active{background:var(--bg-view-btn-active);border-color:var(--accent);color:var(--text-link)}.notif-badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;padding:0 3px;border-radius:7px;background:var(--danger, #dc2626);color:#fff;font-size:9px;font-weight:700;line-height:14px;text-align:center}.kb-settings-panel{display:flex;position:absolute;top:28px;left:0;background:var(--bg-scalebar);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);z-index:100;min-width:200px;flex-direction:column;gap:var(--space-md)}.col-panel{position:fixed;z-index:300;background:var(--bg-surface);border:1px solid var(--border-bright);border-radius:var(--radius-xl);padding:var(--space-md);box-shadow:var(--shadow-popup);min-width:var(--col-panel-min-w);display:none}.col-panel.open{display:block}.col-panel-title{font-size:var(--font-sm);color:var(--text-faint);font-weight:var(--font-weight-semi);text-transform:uppercase;letter-spacing:var(--letter-spacing-caps);padding:0 var(--space-xs) var(--space-sm);border-bottom:1px solid var(--border-strong);margin-bottom:var(--space-sm)}.col-panel-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-xs);border-radius:var(--radius-md);cursor:grab;font-size:var(--font-lg);color:var(--text-secondary);transition:background var(--transition-fast);-webkit-user-select:none;user-select:none}.col-panel-item:hover{background:var(--bg-menu-hover)}.col-panel-item.drag-over{background:var(--bg-view-btn-active);outline:1px dashed var(--accent)}.col-grab{color:var(--text-ghost);font-size:var(--font-xl)}.col-toggle{width:32px;height:var(--toggle-h);border-radius:9px;flex-shrink:0;background:var(--bg-toggle-off);border:none;cursor:pointer;position:relative;transition:background var(--transition-normal);margin-left:auto}.col-toggle:after{content:"";position:absolute;top:var(--space-xxs);left:var(--space-xxs);width:var(--toggle-knob);height:var(--toggle-knob);border-radius:var(--radius-round);background:var(--text-faint);transition:all var(--transition-normal)}.col-toggle.on{background:var(--bg-toggle-on)}.col-toggle.on:after{background:var(--text-white);left:17px}.main{flex:1;display:flex;overflow:hidden;min-width:0}.tree-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.tree-scroll{flex:1;overflow-x:auto;overflow-y:auto}.tree-scroll::-webkit-scrollbar{width:var(--scrollbar-w);height:7px}.tree-scroll::-webkit-scrollbar-track{background:var(--scrollbar-track)}.tree-scroll::-webkit-scrollbar-corner{background:var(--scrollbar-track)}.tree-scroll::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-sm)}.tree-scroll::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}.tree-header{display:flex;align-items:center;height:var(--header-h);background:var(--bg-scalebar);border-bottom:1px solid var(--gantt-border);font-size:var(--font-sm);color:var(--text-dim);font-weight:var(--font-weight-semi);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;position:sticky;top:0;z-index:10;min-width:max-content}.tree-header .th{display:flex;align-items:center;position:relative}.col-rz{position:absolute;right:-3px;top:0;bottom:0;width:6px;cursor:col-resize;z-index:15;border-right:2px solid transparent;transition:border-color var(--transition-fast)}.col-rz:hover,.col-rz.rz-active{border-right-color:var(--accent)}.th-order,.cell-order{width:28px;flex-shrink:0;text-align:center;justify-content:center;color:var(--text-faint)}.unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--accent, #4f46e5);color:#fff;font-size:10px;font-weight:700;line-height:1}.th-mod,.cell-mod{width:22px;flex-shrink:0;justify-content:center;font-size:var(--font-sm)}.cell-mod.done{color:var(--text-faint)}.cell-mod.wip{color:var(--accent)}.cell-mod.draft{color:var(--status-retake)}.cell-hours.over{color:var(--status-error)}.th-name,.cell-name{flex:0 0 280px;width:280px;display:flex;align-items:center;overflow:hidden;padding-left:var(--space-xxs)}.th-pri,.cell-pri{width:34px;flex-shrink:0;justify-content:center}.cell-pri{align-self:stretch}.th-type,.cell-type{width:72px;flex-shrink:0;padding:0 var(--space-sm)}.cell-type{justify-content:flex-end;padding-right:var(--space-sm)}.th-vf,.cell-vf{width:200px;flex-shrink:0;padding:0 var(--space-sm);font-size:var(--font-md);color:var(--text-muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.th-asgn,.cell-asgn{width:154px;flex-shrink:0;overflow:hidden;padding:0 var(--space-sm)}.th-role,.cell-role{width:120px;flex-shrink:0;padding:0 var(--space-sm);font-size:var(--font-md);color:var(--text-dim);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.th-lastcom,.cell-lastcom{width:220px;flex-shrink:0;padding:0 var(--space-md);font-size:var(--font-md);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text-dim);display:flex;align-items:center;gap:var(--space-xs)}.lastcom-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text-dim)}.th-creator,.cell-creator{width:140px;flex-shrink:0;padding:0 var(--space-sm);display:flex;align-items:center;font-size:var(--font-md);color:var(--text-dim);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.th-label,.cell-label{width:110px;flex-shrink:0;padding:0 var(--space-sm);display:flex;align-items:center;font-size:var(--font-md);color:var(--text-dim);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.th-tags,.cell-tags{width:240px;flex-shrink:0;padding:0 var(--space-sm);display:flex;align-items:center;gap:var(--space-xs);flex-wrap:nowrap;overflow:hidden;font-size:var(--font-md);color:var(--text-dim)}.th-ds,.cell-ds,.th-de,.cell-de{width:90px;flex-shrink:0;padding:0 var(--space-sm);font-size:var(--font-md)}.th-status,.cell-status{width:126px;flex-shrink:0;padding:0 var(--space-md)}.cell-status{justify-content:flex-end}.th-hours,.cell-hours{width:66px;flex-shrink:0;padding-right:var(--space-lg);font-size:var(--font-md)}.cell-hours{text-align:right}.th-gantt,.cell-gantt{flex:1;min-width:200px;display:none!important;position:relative;order:200}body.gantt-mode .cell-pri,body.gantt-mode .cell-type,body.gantt-mode .cell-vf,body.gantt-mode .cell-asgn,body.gantt-mode .cell-ds,body.gantt-mode .cell-de,body.gantt-mode .cell-status,body.gantt-mode .cell-hours,body.gantt-mode .cell-role,body.gantt-mode .cell-desc,body.gantt-mode .cell-lastcom,body.gantt-mode .cell-label,body.gantt-mode .cell-tags,body.gantt-mode .cell-creator,body.gantt-mode .cell-gantt,body.gantt-mode .th-pri,body.gantt-mode .th-type,body.gantt-mode .th-vf,body.gantt-mode .th-asgn,body.gantt-mode .th-ds,body.gantt-mode .th-de,body.gantt-mode .th-status,body.gantt-mode .th-hours,body.gantt-mode .th-role,body.gantt-mode .th-desc,body.gantt-mode .th-lastcom,body.gantt-mode .th-label,body.gantt-mode .th-tags,body.gantt-mode .th-creator,body.gantt-mode .th-gantt{display:none!important}body.gantt-mode .tree-panel{flex-shrink:0;flex:none}body.gantt-mode .tree-scroll{overflow-x:hidden;scrollbar-width:none}body.gantt-mode .tree-scroll::-webkit-scrollbar{width:0}body.gantt-mode .node-loading-row{display:none!important}body.gantt-mode .node-row{overflow:hidden}body.gantt-mode[data-size=xs] .node-row{height:22px;max-height:22px}body.gantt-mode[data-size=s] .node-row{height:28px;max-height:28px}body.gantt-mode[data-size=m] .node-row{height:38px;max-height:38px}body.gantt-mode[data-size=l] .node-row{height:56px;max-height:56px}body.gantt-mode[data-size=xl] .node-row{height:80px;max-height:80px}body.gantt-mode[data-size=xxl] .node-row{height:156px;max-height:156px}body.gantt-mode[data-size=xxxl] .node-row{height:288px;max-height:288px}body.gantt-mode.gantt-col-pri .cell-pri,body.gantt-mode.gantt-col-pri .th-pri,body.gantt-mode.gantt-col-type .cell-type,body.gantt-mode.gantt-col-type .th-type,body.gantt-mode.gantt-col-vf .cell-vf,body.gantt-mode.gantt-col-vf .th-vf,body.gantt-mode.gantt-col-asgn .cell-asgn,body.gantt-mode.gantt-col-asgn .th-asgn,body.gantt-mode.gantt-col-ds .cell-ds,body.gantt-mode.gantt-col-ds .th-ds,body.gantt-mode.gantt-col-de .cell-de,body.gantt-mode.gantt-col-de .th-de,body.gantt-mode.gantt-col-status .cell-status,body.gantt-mode.gantt-col-status .th-status,body.gantt-mode.gantt-col-label .cell-label,body.gantt-mode.gantt-col-label .th-label,body.gantt-mode.gantt-col-tags .cell-tags,body.gantt-mode.gantt-col-tags .th-tags,body.gantt-mode.gantt-col-role .cell-role,body.gantt-mode.gantt-col-role .th-role,body.gantt-mode.gantt-col-desc .cell-desc,body.gantt-mode.gantt-col-desc .th-desc,body.gantt-mode.gantt-col-lastcom .cell-lastcom,body.gantt-mode.gantt-col-lastcom .th-lastcom,body.gantt-mode.gantt-col-creator .cell-creator,body.gantt-mode.gantt-col-creator .th-creator,body.gantt-mode.gantt-col-hours .cell-hours,body.gantt-mode.gantt-col-hours .th-hours{display:flex!important}body.gantt-mode .cell-name,body.gantt-mode .th-name{flex:none;width:220px;min-width:220px}.node{-webkit-user-select:none;user-select:none}.node-row{display:flex;align-items:center;border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background var(--transition-fast);position:relative;min-width:max-content}.node-row.row-even{background:var(--bg-row-even)}.node-row:hover{background:var(--bg-row-hover)}.node-row:hover .node-actions{opacity:1}.node-row.selected{background:var(--bg-row-selected)!important}body[data-size=xs] .node-row{min-height:22px}body[data-size=xs] .node-thumb{display:none!important}body[data-size=s] .node-row{min-height:28px}body[data-size=s] .node-thumb{width:28px;height:20px}body[data-size=m] .node-row{min-height:38px}body[data-size=m] .node-thumb{width:44px;height:30px}body[data-size=l] .node-row{min-height:56px}body[data-size=l] .node-thumb{width:66px;height:46px}body[data-size=xl] .node-row{min-height:80px}body[data-size=xl] .node-thumb{width:100px;height:68px}body[data-size=xxl] .node-row{min-height:156px}body[data-size=xxl] .node-thumb{width:195px;height:130px}body[data-size=xxxl] .node-row{min-height:288px}body[data-size=xxxl] .node-thumb{width:360px;height:240px}body[data-size=xxl] .kb-col{width:360px}body[data-size=xxxl] .kb-col{width:440px}body[data-size=xxl] .kb-card-title{font-size:var(--font-2xl)}body[data-size=xxxl] .kb-card-title{font-size:var(--font-3xl)}.node-row{min-height:38px}.node-thumb{width:44px;height:30px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;margin-right:var(--space-sm);background-size:cover;background-position:center;position:relative}.node-thumb:not([style*=background-image]):after,.node-thumb.folder-thumb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-size:82% auto;background-repeat:no-repeat;background-position:center}.node-thumb:not([style*=background-image]):not(.folder-thumb):after{opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 24'%3E%3Crect x='1' y='1' width='30' height='22' rx='2' fill='none' stroke='white' stroke-width='1.6'/%3E%3Ccircle cx='9' cy='7' r='2.4' fill='white'/%3E%3Cpath d='M1 19.5 L10 11 L16.5 16 L23 8 L31 19.5' fill='none' stroke='white' stroke-width='1.6' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E")}.node-thumb.folder-thumb{background:var(--bg-deep)!important}.node-thumb.folder-thumb:after{opacity:.4;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 24'%3E%3Cpath d='M2 9Q2 7 4 7h8l2 2h16q2 0 2 2v10q0 2-2 2H4q-2 0-2-2V9z' fill='none' stroke='white' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E")}.node-indent{flex-shrink:0}.node-toggle{width:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--color-orange);font-size:var(--font-xl);transition:transform .12s,color .12s;cursor:pointer}.node-toggle.expanded{transform:rotate(90deg);color:transparent;-webkit-text-stroke:1px var(--color-orange)}.node-toggle.leaf{color:transparent;-webkit-text-stroke:0;pointer-events:none}.node-thumb-wrap{display:flex;align-items:stretch;flex-shrink:0;margin-right:var(--space-sm);gap:0}.node-thumb-wrap .node-thumb{margin-right:0;margin-left:0;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.node-status-bar{width:10px;flex-shrink:0;border-radius:0;filter:brightness(1.35)}.node-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-label.folder{color:var(--text-strong);font-weight:var(--font-weight-medium)}.node-count{font-size:var(--font-sm);color:var(--text-ghost);background:var(--bg-count);border-radius:var(--radius-pill);padding:0 var(--space-sm);flex-shrink:0;margin-left:var(--space-sm)}.cell-pri.pri-high{background:var(--pri-high)}.cell-pri.pri-medium{background:var(--pri-medium)}.cell-pri.pri-low{background:var(--pri-low)}.cell-pri.pri-none{background:transparent}.type-badge{font-size:var(--font-sm);padding:1px 5px;border-radius:var(--radius-sm);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing);flex-shrink:0;white-space:nowrap}.tc-cmf{background:var(--tc-cmf-bg);color:var(--tc-cmf-text)}.tc-hro{background:var(--tc-hro-bg);color:var(--tc-hro-text)}.tc-lgt{background:var(--tc-lgt-bg);color:var(--tc-lgt-text)}.tc-mdl{background:var(--tc-mdl-bg);color:var(--tc-mdl-text)}.tc-con{background:var(--tc-con-bg);color:var(--tc-con-text)}.tc-tdr{background:var(--tc-tdr-bg);color:var(--tc-tdr-text)}.tc-mat{background:var(--tc-mat-bg);color:var(--tc-mat-text)}.tc-erg{background:var(--tc-erg-bg);color:var(--tc-erg-text)}.tc-cli{background:var(--tc-cli-bg);color:var(--tc-cli-text)}.tc-wlk{background:var(--tc-wlk-bg);color:var(--tc-wlk-text)}.tc-fld{background:var(--tc-fld-bg);color:var(--tc-fld-text)}.mini-av{width:var(--avatar-md);height:var(--avatar-md);border-radius:var(--radius-round);font-size:var(--font-xxs);font-weight:var(--font-weight-bold);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-white)}.asgn-name{font-size:var(--font-md);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.asgn-cell{display:flex;align-items:center;gap:var(--space-sm);width:100%;min-width:0}.status-pill{font-size:var(--font-sm);padding:1px 7px;border-radius:var(--radius-pill);font-weight:var(--font-weight-semi);flex-shrink:0;letter-spacing:var(--letter-spacing);white-space:nowrap}.s-todo{background:var(--status-todo-bg);color:var(--status-todo-text)}.s-wip{background:var(--status-wip-bg);color:var(--status-wip-text)}.s-wfa{background:var(--status-wfa-bg);color:var(--status-wfa-text)}.s-approved{background:var(--status-approved-bg);color:var(--status-approved-text)}.s-retake{background:var(--status-retake-bg);color:var(--status-retake-text)}.s-concept{background:var(--status-concept-bg);color:var(--status-concept-text)}.s-review{background:var(--status-review-bg);color:var(--status-review-text)}.thumb-blue{background:linear-gradient(135deg,var(--thumb-blue-from),var(--thumb-blue-to))}.thumb-gray{background:linear-gradient(135deg,var(--thumb-gray-from),var(--thumb-gray-to))}.thumb-silver{background:linear-gradient(135deg,var(--thumb-silver-from),var(--thumb-silver-to))}.thumb-orange{background:linear-gradient(135deg,var(--thumb-orange-from),var(--thumb-orange-to))}.thumb-green{background:linear-gradient(135deg,var(--thumb-green-from),var(--thumb-green-to))}.thumb-purple{background:linear-gradient(135deg,var(--thumb-purple-from),var(--thumb-purple-to))}.thumb-teal{background:linear-gradient(135deg,var(--thumb-teal-from),var(--thumb-teal-to))}.thumb-amber{background:linear-gradient(135deg,var(--thumb-amber-from),var(--thumb-amber-to))}.thumb-empty{background:var(--thumb-empty)}[id^=prev],#panelThumb{position:relative}[id^=prev]:not([style*=background-image]):after,#panelThumb:not([style*=background-image]):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.28;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 24'%3E%3Crect x='1' y='1' width='30' height='22' rx='2' fill='none' stroke='white' stroke-width='1.6'/%3E%3Ccircle cx='9' cy='7' r='2.4' fill='white'/%3E%3Cpath d='M1 19.5 L10 11 L16.5 16 L23 8 L31 19.5' fill='none' stroke='white' stroke-width='1.6' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E");background-size:60% auto;background-repeat:no-repeat;background-position:center}.ph-folder:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 24'%3E%3Cpath d='M2 9Q2 7 4 7h8l2 2h16q2 0 2 2v10q0 2-2 2H4q-2 0-2-2V9z' fill='none' stroke='white' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:60% auto;background-repeat:no-repeat;background-position:center}.gantt-inner{position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none}.gantt-bar-i{position:absolute;top:50%;transform:translateY(-50%);height:8px;border-radius:var(--gantt-bar-radius);opacity:.85}.gantt-today-i{position:absolute;top:0;bottom:0;width:1px;background:var(--gantt-today)}.gantt-grid-i{position:absolute;top:0;bottom:0;width:1px;background:var(--gantt-grid)}.gantt-month-lbl{position:absolute;top:0;bottom:0;font-size:var(--font-sm);color:var(--text-dim);font-weight:var(--font-weight-semi);letter-spacing:var(--letter-spacing-caps);display:flex;align-items:center;padding-left:var(--space-xs);white-space:nowrap;border-left:1px solid var(--gantt-grid);pointer-events:none;overflow:hidden}.gantt-lbl-minor{color:var(--gantt-hdr-text);font-weight:var(--font-weight-normal);font-size:var(--font-xs);border-left-color:var(--gantt-border)}.node-actions{opacity:0;display:flex;gap:var(--space-xxs);align-items:center;transition:opacity var(--transition-normal);position:absolute;right:68px;top:50%;transform:translateY(-50%)}.action-btn{width:18px;height:18px;border-radius:var(--radius-sm);background:none;border:none;color:var(--text-ghost);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--font-md);transition:all var(--transition-fast)}.action-btn:hover{background:var(--bg-menu-hover);color:var(--text-secondary)}.node-children{display:none}.node-children.visible{display:block}.gantt-only{display:none!important}body.gantt-mode .gantt-only{display:revert!important}.kb-only{display:none!important}body.kanban-mode .kb-only{display:revert!important}.panel-splitter{width:4px;flex-shrink:0;cursor:ew-resize;background:var(--border-default);transition:background var(--transition-normal)}.panel-splitter:hover,.panel-splitter.dragging{background:var(--accent)}.panel-splitter.hidden{display:none}.right-panel{width:var(--panel-w);flex-shrink:0;background:var(--bg-scalebar);border-left:1px solid var(--border-default);display:flex;flex-direction:column;overflow:hidden}.right-panel.hidden{display:none}.panel-tabs{display:flex;background:var(--bg-deep);border-bottom:1px solid var(--border-default);flex-shrink:0}.panel-tab{flex:1;padding:var(--space-md) 0;text-align:center;font-size:var(--font-lg);font-weight:var(--font-weight-semi);color:var(--text-faint);cursor:pointer;border-bottom:2px solid transparent;transition:all var(--transition-normal)}.panel-tab:hover{color:var(--text-link-hover)}.panel-tab.active{color:var(--text-link);border-bottom-color:var(--accent);background:var(--bg-deep)}.panel-close{padding:var(--space-md) var(--space-xl);color:var(--text-ghost);cursor:pointer;font-size:var(--font-2xl)}.panel-close:hover{color:var(--text-danger)}.panel-body{flex:1;overflow-y:auto;overflow-x:hidden}.panel-body::-webkit-scrollbar{width:4px}.panel-body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-sm)}.task-header{padding:var(--space-lg) var(--space-2xl) var(--space-lg) var(--space-md);border-bottom:1px solid var(--border-default)}.task-project-name{font-size:var(--font-sm);color:var(--text-faint);text-transform:uppercase;letter-spacing:var(--letter-spacing-caps);margin-bottom:var(--space-xxs)}.task-name{font-size:var(--font-2xl);font-weight:var(--font-weight-semi);color:var(--text-strong);margin-bottom:var(--space-md)}.task-preview-img{width:100%;height:140px;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--space-lg)}.panel-fields-grid{display:grid;grid-template-columns:52px 1fr 52px 1fr;gap:3px var(--space-sm);align-items:center;padding:var(--space-xxs) var(--space-3xl) var(--space-xxs) 0}.pf-label{font-size:var(--font-sm);color:var(--text-faint);text-align:right;white-space:nowrap;font-weight:var(--font-weight-medium)}.pf-input{width:100%;box-sizing:border-box}.panel-date-input.pf-input{width:100%}.panel-num-input.pf-input{width:64px}.task-meta-row{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-sm)}.meta-chip{background:var(--bg-chip);border-radius:var(--radius-lg);padding:3px var(--space-md);font-size:var(--font-md);color:var(--text-secondary);display:flex;align-items:center;gap:var(--space-xs)}.meta-chip .label{color:var(--text-faint);margin-right:var(--space-xxs)}.assignees-section{padding:var(--space-lg) var(--space-2xl);border-bottom:1px solid var(--border-default)}.assignees-label{font-size:var(--font-sm);color:var(--text-dim);font-weight:var(--font-weight-semi);text-transform:uppercase;letter-spacing:var(--letter-spacing-caps);margin-bottom:var(--space-sm)}.assignees-list{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md)}.assignee-chip{display:flex;align-items:center;gap:var(--space-sm);background:var(--bg-chip);border-radius:20px;padding:3px var(--space-lg) 3px var(--space-xs)}.assignee-chip .mini-av{width:var(--avatar-lg);height:var(--avatar-lg);font-size:var(--font-xs)}.assignee-chip-name{font-size:var(--font-md);color:var(--text-secondary)}.assignee-chip-rm{color:var(--text-ghost);cursor:pointer;font-size:var(--font-md);margin-left:var(--space-xs)}.assignee-chip-rm:hover{color:var(--text-danger)}.add-assignee-btn{font-size:var(--font-sm);background:var(--bg-deep);border:1px dashed var(--border-strong);color:var(--text-faint);border-radius:var(--radius-md);padding:3px var(--space-md);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-xs);transition:all var(--transition-normal)}.add-assignee-btn:hover{border-color:var(--accent);color:var(--accent-muted)}.assignee-dropdown{background:var(--bg-surface);border:1px solid var(--border-bright);border-radius:var(--radius-lg);padding:var(--space-xs);margin-top:var(--space-sm);display:none}.assignee-dropdown.open{display:block}.asgn-option{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-lg);color:var(--text-secondary)}.asgn-option:hover{background:var(--bg-menu-hover);color:var(--text-primary)}.comment-entry{padding:var(--space-xl) var(--space-2xl);border-bottom:2px solid var(--border-default)}.comment-entry:last-child{border-bottom:none}.comment-entry:hover{background:var(--bg-hover)}.comment-who{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-sm)}.comment-who .mini-av{width:var(--avatar-xl);height:var(--avatar-xl);border-radius:var(--radius-round);font-size:var(--font-xs);font-weight:var(--font-weight-bold);display:flex;align-items:center;justify-content:center;color:var(--text-white);flex-shrink:0}.comment-who-info{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.status-tag{font-size:var(--font-sm);font-weight:var(--font-weight-bold);padding:var(--space-xxs) 7px;border-radius:var(--radius-md);letter-spacing:.03em;flex-shrink:0}.comment-author{font-size:var(--font-md);font-weight:var(--font-weight-semi);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.comment-role{font-size:var(--font-sm);color:var(--text-ghost)}.comment-date{font-size:var(--font-sm);color:var(--text-faint);flex-shrink:0}.comment-text{font-size:var(--font-lg);color:var(--text-secondary);line-height:var(--line-height);margin-top:3px}.comment-attachment{margin-top:var(--space-sm);background:var(--bg-deep);border-radius:var(--radius-lg);padding:var(--space-sm) var(--space-md);display:flex;align-items:center;gap:var(--space-md);border:1px solid var(--border-default)}.attach-thumb{width:44px;height:32px;border-radius:var(--radius-sm);flex-shrink:0}.attach-info{font-size:var(--font-sm);color:var(--text-dim)}.attach-name{color:var(--text-link);font-size:var(--font-md)}.comment-meta{display:flex;gap:var(--space-lg);margin-top:var(--space-sm);font-size:var(--font-sm);color:var(--text-ghost)}.folder-feed-msg{padding:32px 20px;text-align:center;color:var(--text-ghost);font-size:var(--font-lg);line-height:1.8}.folder-feed-icon{font-size:28px;margin-bottom:var(--space-md)}.kanban-wrap{display:none;flex:1;overflow:hidden}.kanban-wrap.active{display:flex}.kanban-view{flex:1;display:flex;overflow-x:auto;overflow-y:auto;padding:var(--space-lg) var(--space-xl);gap:var(--space-lg);align-items:flex-start}.kanban-view.active{display:flex}.kb-vslider-wrap{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:28px;padding:var(--space-lg) 0;gap:var(--space-sm);flex-shrink:0;border-right:1px solid var(--gantt-border)}.kb-vslider-label{font-size:var(--font-xl);color:var(--text-faint)}.kb-vslider{writing-mode:vertical-lr;direction:rtl;-webkit-appearance:slider-vertical;width:6px;flex:1;max-height:180px;cursor:pointer;accent-color:var(--accent)}.kanban-view::-webkit-scrollbar{height:7px;width:7px}.kanban-view::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-sm)}.kanban-view::-webkit-scrollbar-corner{background:transparent}.kb-col{width:210px;flex-shrink:0;background:var(--bg-scalebar);border-radius:var(--radius-xl);display:flex;flex-direction:column;border:1px solid var(--gantt-border);transition:width var(--transition-normal)}body[data-size=xs] .kb-col{width:160px}body[data-size=s] .kb-col{width:185px}body[data-size=l] .kb-col{width:250px}body[data-size=xl] .kb-col{width:300px}body[data-size=xs] .kb-card-title{font-size:var(--font-xs)}body[data-size=s] .kb-card-title{font-size:var(--font-sm)}body[data-size=l] .kb-card-title{font-size:var(--font-lg)}body[data-size=xl] .kb-card-title{font-size:var(--font-xl)}.kb-only,.gantt-only{display:none!important}body.kanban-mode .kb-only,body.gantt-mode .gantt-only{display:revert!important}.kb-col-hdr{padding:var(--space-md) var(--space-lg);display:flex;align-items:center;gap:var(--space-md);background:var(--bg-deep);border-bottom:1px solid var(--gantt-border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;flex-shrink:0}.kb-count{font-size:var(--font-sm);color:var(--text-faint);background:var(--bg-chip);border-radius:var(--radius-pill);padding:0 var(--space-sm);margin-left:auto}.kb-cards{overflow-y:visible;padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.kb-cards::-webkit-scrollbar{width:3px}.kb-cards::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb)}.kb-col-focused{border-color:var(--accent)!important;box-shadow:0 0 0 1px var(--accent)}.kb-pan-ready{cursor:grab!important}.kb-pan-ready *{pointer-events:none}.kb-panning{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.kb-card{background:var(--bg-card);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--border-strong)}.kb-card:hover{background:var(--bg-card-hover);border-color:var(--border-card-hover)}.kb-card.selected{border-color:var(--accent);background:var(--bg-card-selected)}.kb-card.kb-dragging{opacity:.4;cursor:grabbing}.kb-cards.kb-drop-target{background:var(--accent-glow);border-radius:var(--radius-lg)}.kb-drop-line{height:2px;background:var(--accent);border-radius:var(--radius-sm);margin:var(--space-xxs) var(--space-xs);pointer-events:none;box-shadow:0 0 6px var(--accent-shadow)}.kb-card-thumb{width:100%;height:var(--kb-thumb-h, 44px);background-size:cover;background-position:center;position:relative}.kb-card-thumb:not([style*=background-image]):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.28;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 24'%3E%3Crect x='1' y='1' width='30' height='22' rx='2' fill='none' stroke='white' stroke-width='1.6'/%3E%3Ccircle cx='9' cy='7' r='2.4' fill='white'/%3E%3Cpath d='M1 19.5 L10 11 L16.5 16 L23 8 L31 19.5' fill='none' stroke='white' stroke-width='1.6' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E");background-size:50% auto;background-repeat:no-repeat;background-position:center}.kb-card-body{padding:7px var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs)}.kb-card-title{font-size:var(--font-md);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kb-card-feed{font-size:var(--font-sm);color:var(--text-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kb-card-tags{display:flex;flex-wrap:wrap;gap:3px}.kb-tag{font-size:var(--font-xs);padding:1px 5px;border-radius:var(--radius-xl);background:var(--bg-surface);color:var(--text-muted);border:1px solid var(--border-strong)}.kb-card-meta{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-xxs)}.kb-card-asgn{display:flex;align-items:center;margin-left:auto;position:relative}.kb-card-asgn:hover:after{content:attr(title);position:absolute;bottom:calc(100% + 4px);right:0;background:var(--bg-input);color:var(--text-heading);font-size:var(--font-sm);white-space:nowrap;padding:3px 7px;border-radius:var(--radius-md);border:1px solid var(--border-strong);pointer-events:none;z-index:100}.kb-settings-wrap{position:relative}.kb-settings-panel{display:none;position:absolute;top:28px;left:0;background:var(--bg-scalebar);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);z-index:100;min-width:200px;flex-direction:column;gap:var(--space-md)}.kb-settings-panel.open{display:flex}.kb-s-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xl);font-size:var(--font-md);color:var(--text-secondary);cursor:pointer;white-space:nowrap}.kb-s-row:hover{color:var(--text-primary)}.kb-s-title{font-size:var(--font-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;cursor:default}.kb-s-title .kb-s-hint{color:var(--border-strong);font-size:9px;text-transform:none}.kb-s-sep{margin-top:var(--space-sm);border-top:1px solid var(--border-strong);padding-top:var(--space-sm)}.gantt-scale-btn{width:22px;height:22px;background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-dim);font-size:14px;cursor:pointer;line-height:1;padding:0}.gantt-scale-btn:hover{color:var(--text-primary);background:var(--bg-hover)}#ganttScaleLabel{flex:1;text-align:center;font-size:var(--font-md);color:var(--text-heading);font-weight:var(--font-weight-semi)}.gantt-select{width:100%;background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-heading);font-size:var(--font-sm);padding:3px 6px;cursor:pointer;outline:none}.gantt-select:hover{border-color:var(--accent)}.rp-label{color:var(--text-faint)}.rp-value{color:var(--text-secondary)}.rp-dim{color:var(--text-dim)}.rp-name{color:var(--text-heading)}.rp-role,.rp-empty{color:var(--text-faint)}.rp-no-items{color:var(--text-faint);font-size:var(--font-sm)}.rp-remove{color:var(--border-strong);cursor:pointer;font-size:var(--font-sm)}.rp-remove:hover{color:var(--status-error)}.cf-cell{color:var(--text-secondary);outline:none;cursor:text;padding:2px 4px;border-radius:3px}.cf-cell:focus{background:var(--bg-hover)}.ie-empty{color:var(--text-faint)}.feed-info-badge{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:var(--font-xs);color:var(--text-faint);pointer-events:none;white-space:nowrap;background:var(--bg-app);padding:0 4px}.kb-card-arrow{color:var(--border-strong)}.gantt-scale-opt.active{color:var(--text-link);font-weight:var(--font-weight-semi)}.gantt-scale-opt.active:before{content:"▸ "}.kb-toggle{position:relative;flex-shrink:0}.kb-toggle input{opacity:0;width:0;height:0;position:absolute}.kb-toggle-track{display:block;width:var(--toggle-w);height:var(--toggle-h);background:var(--bg-toggle-off);border-radius:9px;cursor:pointer;transition:background var(--transition-slow);position:relative}.kb-toggle-track:after{content:"";position:absolute;width:var(--toggle-knob);height:var(--toggle-knob);background:var(--text-white);border-radius:var(--radius-round);top:var(--space-xxs);left:var(--space-xxs);transition:left .18s}.kb-toggle input:checked+.kb-toggle-track{background:var(--bg-toggle-on)}.kb-toggle input:checked+.kb-toggle-track:after{left:15px}.app-settings-dropdown{display:none;position:absolute;right:0;top:34px;z-index:900;background:var(--bg-popup);border:1px solid var(--border-bright);border-radius:var(--radius-xl);box-shadow:var(--shadow-popup);width:320px;max-height:80vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.app-settings-dropdown.open{display:block}.user-menu-dropdown .app-settings-dropdown{position:static;width:auto;border:none;border-radius:0;box-shadow:none;background:transparent;max-height:none}.user-menu-dropdown .app-settings-dropdown.open{display:block}.app-settings-dropdown::-webkit-scrollbar{width:5px}.app-settings-dropdown::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.as-section{border-bottom:1px solid var(--border-subtle)}.as-section:last-child{border-bottom:none}.as-section-hdr{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-xl);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--font-lg);color:var(--text-primary);font-weight:var(--font-weight-semi);transition:background var(--transition-fast)}.as-section-hdr:hover{background:var(--bg-hover)}.as-icon{color:var(--text-dim);flex-shrink:0}.as-chevron{margin-left:auto;color:var(--text-ghost);transition:transform .2s;flex-shrink:0}.as-section-body.open~.as-section-hdr .as-chevron,.as-section-hdr:has(+.as-section-body.open) .as-chevron{transform:rotate(180deg)}.as-section-body{display:none;padding:0 var(--space-xl) var(--space-md)}.as-section-body.open{display:block}.as-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) 0;font-size:var(--font-lg);color:var(--text-secondary)}.as-hint{font-size:var(--font-sm);color:var(--text-ghost);padding:var(--space-xxs) 0 var(--space-xs)}.as-slider-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xxs) 0 var(--space-xs)}.as-slider-label{font-size:var(--font-sm);color:var(--text-ghost);min-width:10px;text-align:center}.as-slider-val{font-size:var(--font-lg);color:var(--text-heading);font-weight:var(--font-weight-semi);min-width:20px;text-align:right}.as-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;background:var(--bg-toggle-off);border-radius:2px;outline:none;cursor:pointer}.as-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-popup);cursor:pointer;box-shadow:0 1px 4px #0000004d}.as-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-popup);cursor:pointer}.as-theme-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-sm);padding-top:var(--space-xs)}.as-theme-card{cursor:pointer;border-radius:var(--radius-lg);border:2px solid transparent;padding:var(--space-xs);transition:all var(--transition-fast);position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-xxs)}.as-theme-card:hover{border-color:var(--border-bright);background:var(--bg-hover)}.as-theme-card.active{border-color:var(--accent)}.as-theme-card .theme-check{position:absolute;top:4px;right:4px;font-size:10px;color:var(--accent);background:var(--bg-popup);border-radius:50%;width:14px;height:14px;display:flex;align-items:center;justify-content:center;font-weight:700}.as-theme-name{font-size:var(--font-sm);color:var(--text-muted);white-space:nowrap}.as-theme-card.active .as-theme-name{color:var(--accent)}.as-theme-preview{width:100%;height:40px;border-radius:var(--radius-sm);position:relative;overflow:hidden}.as-tp-sidebar{position:absolute;left:0;top:0;bottom:0;width:22%}.as-tp-toolbar{position:absolute;left:22%;top:0;right:0;height:25%}.as-tp-row{position:absolute;left:22%;right:0;height:18%}.as-tp-row:nth-child(4){top:28%}.as-tp-row:nth-child(5){top:49%}.as-tp-row:nth-child(6){top:70%}.as-tp-accent{position:absolute;bottom:3px;right:3px;width:18px;height:4px;border-radius:2px}.as-section-footer{padding:var(--space-md) var(--space-xl);border-bottom:none}.as-reset-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-btn);color:var(--text-muted);font-size:var(--font-lg);cursor:pointer;transition:all var(--transition-fast)}.as-reset-btn:hover{background:var(--bg-btn-hover);color:var(--text-strong);border-color:var(--accent-muted)}.as-action-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-btn);color:var(--text-muted);font-size:var(--font-md);cursor:pointer;transition:all var(--transition-fast);font-family:inherit}.as-action-btn:hover:not(:disabled){background:var(--bg-btn-hover);color:var(--text-strong)}.as-action-btn:disabled{opacity:.4;cursor:default}.panel-settings-popup{position:absolute;top:100%;right:0;margin-top:4px;width:300px;max-height:70vh;overflow-y:auto;background:var(--bg-popup, var(--bg-app));border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:0 8px 30px #0006;z-index:900}.panel-settings-popup .app-settings-dropdown{position:static;width:auto;border:none;border-radius:0;box-shadow:none;background:transparent;max-height:none}.panel-settings-popup .app-settings-dropdown.open{display:block}.comment-entry.collapsed .comment-text,.comment-entry.collapsed .comment-attachment,.comment-entry.collapsed .comment-meta{display:none}.comment-entry.collapsed{cursor:pointer;opacity:.7;padding-top:var(--space-md);padding-bottom:var(--space-md)}.comment-entry.collapsed:hover{opacity:1}.comment-expand-hint{display:none;font-size:var(--font-sm);color:var(--text-ghost);margin-left:auto}.comment-entry.collapsed .comment-expand-hint{display:inline}.footer{border-top:1px solid var(--border-default);padding:var(--space-sm) var(--space-xl);background:var(--bg-deep);color:var(--text-ghost);font-size:var(--font-md);display:flex;gap:var(--space-2xl);flex-shrink:0}.footer span,.kb-counter{display:flex;align-items:center;gap:var(--space-xs)}.kb-cnt-btn{background:var(--bg-scalebar-btn);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-primary);width:20px;height:20px;cursor:pointer;font-size:var(--font-2xl);display:flex;align-items:center;justify-content:center;line-height:1;padding:0}.kb-cnt-btn:hover{background:var(--bg-scalebar-btn-hov);border-color:var(--accent)}.kb-cnt-val{min-width:16px;text-align:center;font-size:var(--font-lg);color:var(--text-primary);font-weight:var(--font-weight-semi)}.ctx-menu{position:fixed;background:var(--bg-menu);border:1px solid var(--border-bright);border-radius:7px;padding:var(--space-xs);box-shadow:var(--shadow-menu);z-index:1000;display:none;min-width:var(--ctx-menu-min-w)}.ctx-menu.visible{display:block}.ctx-item{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--font-lg);color:var(--text-secondary)}.ctx-item:hover{background:var(--bg-menu-hover)}.ctx-sep{height:1px;background:var(--bg-menu-hover);margin:3px 0}.ctx-danger{color:var(--text-danger)}.ctx-danger:hover{background:var(--bg-menu-danger-hov)!important}.panel-date-input,.panel-num-input{background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-heading);font-size:var(--font-md);padding:var(--space-xxs) var(--space-sm);outline:none;font-family:inherit;cursor:pointer}.panel-date-input{width:120px}.panel-num-input{width:56px}.panel-date-input:focus,.panel-num-input:focus{border-color:var(--accent)}#panelStatusSelect{background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-heading);font-size:var(--font-md);padding:var(--space-xxs) var(--space-sm);outline:none;font-family:inherit;cursor:pointer}#panelStatusSelect:focus{border-color:var(--accent)}.panel-section{padding:var(--space-lg) var(--space-2xl);border-bottom:1px solid var(--border-default)}.panel-section-label{font-size:var(--font-sm);color:var(--text-dim);margin-bottom:var(--space-sm);font-weight:var(--font-weight-semi);text-transform:uppercase;letter-spacing:var(--letter-spacing-caps)}.panel-textarea{width:100%;box-sizing:border-box;min-height:64px;resize:vertical;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-lg);line-height:var(--line-height);padding:var(--space-sm) var(--space-md);font-family:inherit;outline:none}.panel-textarea:focus{border-color:var(--accent);color:var(--text-heading)}.ie-popup{position:fixed;z-index:9999;background:var(--bg-popup);border:1px solid var(--border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-deep);min-width:220px;max-width:280px;max-height:360px;overflow-y:auto;display:none;padding:var(--space-xs) 0}.ie-popup.open{display:block}.ie-popup::-webkit-scrollbar{width:4px}.ie-popup::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-sm)}.ie-title{font-size:var(--font-sm);color:var(--text-ghost);font-weight:var(--font-weight-semi);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-sm) var(--space-xl) var(--space-xs)}.ie-option{padding:var(--space-sm) var(--space-xl);cursor:pointer;display:flex;align-items:center;gap:var(--space-md);font-size:var(--font-md);color:var(--text-heading);transition:background var(--transition-fast)}.ie-option:hover{background:var(--bg-hover)}.ie-option.ie-active{background:var(--bg-row-selected)}.ie-check{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-xl);cursor:pointer}.ie-check:hover{background:var(--bg-hover)}.ie-check input[type=checkbox]{accent-color:var(--accent);flex-shrink:0}.th-desc,.cell-desc{width:240px;flex-shrink:0;padding:0 var(--space-md);font-size:var(--font-md);color:var(--text-dim);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pri-none{color:var(--text-ghost)}.panel-picker{display:flex;align-items:center;gap:var(--space-xs);background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-xxs) var(--space-md);cursor:pointer;min-width:60px;-webkit-user-select:none;user-select:none}.panel-picker:hover{border-color:var(--accent)}.picker-arrow{color:var(--text-faint);font-size:var(--font-xs);margin-left:auto;padding-left:var(--space-xs)}.th-label,.cell-label{width:110px;flex-shrink:0;padding:0 var(--space-sm);display:flex;align-items:center}.th-tags,.cell-tags{width:240px;flex-shrink:0;padding:0 var(--space-sm);display:flex;align-items:center;gap:var(--space-xs);flex-wrap:nowrap;overflow:hidden}.lbl-badge{font-size:var(--font-sm);font-weight:var(--font-weight-semi);padding:1px 7px;border-radius:var(--radius-pill);border:1px solid;white-space:nowrap}.tag-chip{font-size:var(--font-sm);background:var(--bg-tag);color:var(--text-link);border:1px solid var(--border-default);border-radius:var(--radius-pill);padding:var(--space-xxs) var(--space-md);white-space:nowrap;flex-shrink:0;font-weight:var(--font-weight-medium)}.panel-tag{display:inline-flex;align-items:center;gap:var(--space-xs)}.tag-rm{cursor:pointer;color:var(--text-faint);font-size:var(--font-lg);line-height:1}.tag-rm:hover{color:var(--text-danger)}.panel-tags-list{display:flex;flex-wrap:wrap;gap:var(--space-xs);min-height:20px}.kb-label{font-size:var(--font-sm);font-weight:var(--font-weight-bold);padding:var(--space-xxs) var(--space-md);border-radius:var(--radius-xl);display:inline-block;margin-top:var(--space-sm);margin-bottom:var(--space-xxs);letter-spacing:var(--letter-spacing)}.kb-tags{display:flex;flex-wrap:wrap;gap:3px;margin-top:var(--space-xxs)}.kb-tags .tag-chip{font-size:var(--font-sm);padding:var(--space-xxs) 7px;background:var(--bg-tag);color:var(--text-link);border-color:var(--border-default)}.th-creator,.cell-creator{width:140px;flex-shrink:0;padding:0 var(--space-sm);display:flex;align-items:center}.kb-card-creator{display:flex;align-items:center;gap:var(--space-xs);position:relative}.kb-card-creator:hover:after{content:attr(title);position:absolute;bottom:calc(100% + 4px);left:0;background:var(--bg-input);color:var(--text-heading);font-size:var(--font-sm);white-space:nowrap;padding:3px 7px;border-radius:var(--radius-md);border:1px solid var(--border-strong);pointer-events:none;z-index:100}.kb-card-dates{display:flex;gap:var(--space-sm);align-items:center;font-size:var(--font-md);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-top:var(--space-xs)}.kb-card-dates span:nth-child(2){color:var(--text-faint)}.tree-only{display:none!important}body:not(.gantt-mode):not(.kanban-mode) .tree-only{display:revert!important}body.ts-hide-desc .cell-desc,body.ts-hide-desc .th-desc,body.ts-hide-lastcom .cell-lastcom,body.ts-hide-lastcom .th-lastcom,body.ts-hide-creator .cell-creator,body.ts-hide-creator .th-creator,body.ts-hide-role .cell-role,body.ts-hide-role .th-role,body.ts-hide-tags .cell-tags,body.ts-hide-tags .th-tags,body.ts-hide-label .cell-label,body.ts-hide-label .th-label,body.ts-hide-thumb .node-thumb{display:none!important}body.ts-no-zebra .node-row.row-even{background:transparent!important}.theme-opt{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-md);color:var(--text-secondary);transition:background var(--transition-fast)}.theme-opt:hover{background:var(--bg-menu-hover);color:var(--text-primary)}.theme-opt.active{background:var(--bg-view-btn-active);color:var(--text-link)}.theme-dots{display:flex;gap:3px;flex-shrink:0}.theme-dots i{width:10px;height:10px;border-radius:var(--radius-round);display:block;border:1px solid rgba(128,128,128,.3)}.theme-check{margin-left:auto;font-size:var(--font-lg);color:var(--text-link);min-width:14px;text-align:center}.gantt-wrap{display:none;flex-direction:column;overflow:hidden;background:var(--bg-gantt)}.gantt-wrap.active{display:flex;flex:1;min-width:0}.gantt-rhdr-scroll{flex-shrink:0;overflow:hidden;position:relative;border-bottom:2px solid var(--gantt-border);background:var(--bg-gantt-header)}.gantt-rhdr-inner{position:absolute;top:0;left:0;display:flex;flex-direction:column;will-change:transform;min-width:100%}.gantt-rhdr-top{height:15px;position:relative;border-bottom:1px solid var(--gantt-border)}.gantt-rhdr-bot{height:15px;position:relative}.gantt-main-scroll{flex:1;overflow:auto}.gantt-main-scroll::-webkit-scrollbar{width:var(--scrollbar-w-wide);height:var(--scrollbar-w-wide)}.gantt-main-scroll::-webkit-scrollbar-track{background:var(--bg-deep)}.gantt-main-scroll::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-md)}.gantt-main-inner{position:relative}.gantt-hdr-cell{position:absolute;top:0;bottom:0;display:flex;align-items:center;padding:0 var(--space-xs);font-size:var(--font-sm);color:var(--gantt-hdr-text);border-left:1px solid var(--gantt-border);white-space:nowrap;overflow:hidden;box-sizing:border-box}.gantt-hdr-cell.major{color:var(--gantt-hdr-major);font-weight:var(--font-weight-semi);font-size:var(--font-md);background:var(--gantt-hdr-major-bg, rgba(10,18,35,.4))}.gantt-hdr-cell.weekend{color:var(--gantt-hdr-weekend)}.gantt-today-hdr{position:absolute;top:0;bottom:0;width:2px;background:var(--gantt-today-hdr);pointer-events:none}.gantt-grow{position:absolute;left:0;height:36px;box-sizing:border-box;border-bottom:1px solid var(--gantt-border)}.gantt-vline{position:absolute;width:1px;background:var(--gantt-grid);pointer-events:none;z-index:1}.gantt-vline.weekend{background:var(--gantt-grid-weekend)}.gantt-today-line{position:absolute;width:2px;background:var(--gantt-today);z-index:10;pointer-events:none}.gantt-bar{position:absolute;height:20px;border-radius:var(--gantt-bar-radius);cursor:grab;z-index:2;overflow:hidden;min-width:4px;box-sizing:border-box;display:flex;align-items:center}.gantt-bar:active{cursor:grabbing}.gantt-bar-bg{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--gantt-bar-radius)}.gantt-bar-frame{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;border-radius:var(--gantt-bar-radius);pointer-events:none;box-shadow:inset 4px 0 #ffffff47,inset -3px 0 #ffffff2e}.gantt-bar-frame.preview{border-radius:var(--radius-sm)}.gantt-bar-label{position:relative;padding:0 var(--space-xs);font-size:var(--font-xs);color:#ffffffd9;white-space:nowrap;z-index:1;pointer-events:none;flex-shrink:0}.gantt-bar-de-lbl{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:var(--font-xs);color:#ffffffa6;pointer-events:none;z-index:1}.gantt-rh{position:absolute;top:0;bottom:0;width:5px;cursor:ew-resize;z-index:8}.gantt-rh-l{left:0}.gantt-rh-r{right:0}.gantt-bar.preview,.gantt-bar.preview .gantt-bar-bg{border-radius:var(--radius-sm)}.gantt-img-wrap{position:absolute;top:0;height:100%;display:flex;flex-direction:row;align-items:flex-start;z-index:1;pointer-events:none;overflow:hidden}.gantt-bar-img{height:100%;width:auto;display:block;flex-shrink:0;opacity:.88;border-radius:var(--radius-sm)}.gantt-img-wrap.by-date{overflow:hidden;z-index:5;border-radius:var(--gantt-bar-radius);box-shadow:var(--shadow-gantt-img)}.gantt-img-wrap.by-date .gantt-bar-img{width:100%;height:100%;object-fit:cover;border-radius:0}.gantt-img-caption{position:absolute;bottom:0;left:0;right:0;padding:var(--space-xs) var(--space-sm);font-size:var(--font-sm);color:var(--gantt-caption-text, rgba(220,235,255,.95));background:var(--gantt-caption-bg);line-height:1.4;white-space:normal;word-break:break-word;overflow:hidden;max-height:60%;border-radius:0 0 var(--gantt-bar-radius) var(--gantt-bar-radius)}.col-picker-menu{display:none;position:fixed;background:var(--bg-input);border:1px solid var(--gantt-border);border-radius:var(--radius-lg);padding:var(--space-xs) 0;z-index:2000;min-width:170px;box-shadow:0 6px 24px #000000b3}.col-picker-title{padding:var(--space-sm) var(--space-xl) var(--space-xs);font-size:var(--font-sm);color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--gantt-border);margin-bottom:var(--space-xxs);cursor:default}.col-picker-item{padding:var(--space-sm) var(--space-xl);display:flex;align-items:center;gap:var(--space-md);cursor:pointer;font-size:var(--font-lg);color:var(--gantt-hdr-major);-webkit-user-select:none;user-select:none}.col-picker-item:hover{background:var(--bg-hover);color:var(--text-heading)}.col-picker-item.on{color:var(--text-heading)}.col-picker-check{width:14px;height:14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center;font-size:var(--font-sm);flex-shrink:0}.col-picker-item.on .col-picker-check{background:var(--accent);border-color:var(--accent)}
