:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f6fa;--sidebar:#111827;--sidebar-soft:#1f2937;--sidebar-muted:#9ca3af;--surface:#fff;--surface-soft:#f8fafc;--border:#d9e0ea;--text:#111827;--muted:#667085;--brand:#2f6df6;--blue:#2f6df6;--green:#20a878;--orange:#f09035;--purple:#8b5cf6;--red:#e25555;--slate:#475467;--task-blue:#2563eb;--task-azure:#0f5fb8;--task-sky:#0284c7;--task-cyan:#0891b2;--task-teal:#0f766e;--task-green:#15803d;--task-lime:#4d7c0f;--task-olive:#5f6f12;--task-amber:#b7791f;--task-orange:#c2410c;--task-coral:#d94824;--task-red:#dc2626;--task-rose:#e11d48;--task-pink:#be185d;--task-magenta:#c026d3;--task-purple:#7c3aed;--task-violet:#5b21b6;--task-indigo:#4338ca;--task-brown:#92400e;--task-slate:#475569;--task-custom-0:#64748b;--task-custom-1:#64748b;--task-custom-2:#64748b;--task-custom-3:#64748b;--task-custom-4:#64748b;--task-custom-5:#64748b;--task-custom-6:#64748b;--task-custom-7:#64748b;--task-custom-8:#64748b;--task-custom-9:#64748b;--shadow:0 18px 45px #1f29371f;--row-height:64px;--left-column-width:116px;--content-edge-size:192px;--content-side-edge-size:0px;--content-sidebar-width:334px;--content-text-scale:1;--label-font-family:var(--content-font-family,inherit);--label-font-size:calc(12px * var(--content-text-scale));--label-font-weight:760;--label-line-height:1.2;--label-padding:2px 6px;--label-radius:5px;--slide-aspect-width:16;--slide-aspect-height:9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);min-width:320px;min-height:100%;color:var(--text);margin:0;overflow-x:hidden}html.content-object-document,html.content-object-document body{width:100%;height:100%;overflow:hidden}body.content-object-page{width:100vw;height:100vh;overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:292px minmax(0,1fr);min-height:100vh;display:grid}.taskbar{background:var(--sidebar);color:#f9fafb;flex-direction:column;gap:20px;min-height:100vh;padding:22px 18px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark{width:42px;height:42px;color:var(--blue);background:#e8f1ff;border-radius:8px;place-items:center;font-size:13px;font-weight:800;display:grid}.brand h1,.brand p,.workspace-header h2,.workspace-kicker,.sidebar-section h2,.inspector-card h3,.panel-header h3,.panel-header p{margin:0}.brand h1{font-size:17px;line-height:1.15}.brand p{color:var(--sidebar-muted);margin-top:3px;font-size:12px}.tool-nav,.task-items,.sidebar-section{gap:8px;display:grid}.tool-button,.task-item,.side-action,.library-row,.template-card{text-align:left;border:0;align-items:center;width:100%;display:flex;position:relative}.tool-button{color:#d1d5db;background:0 0;border-radius:8px;gap:10px;min-height:42px;padding:0 12px;font-size:14px;font-weight:650}.tool-button:hover,.tool-button.is-active{background:var(--sidebar-soft);color:#fff}.tooltip,.object-tooltip,.floating-object-tooltip{pointer-events:none;z-index:20;color:#fff;opacity:0;visibility:hidden;background:#0b1220;border:1px solid #94a3b861;border-radius:8px;max-width:260px;padding:8px 10px;font-size:11px;font-style:normal;font-weight:650;line-height:1.35;transition:opacity .14s,transform .14s;position:absolute;transform:translateY(4px);box-shadow:0 14px 32px #0f172a3d}.floating-object-tooltip{z-index:2147482990;max-width:min(280px,100vw - 16px);position:fixed;top:0;left:0;transform:translateY(4px)}.floating-object-tooltip.is-visible{opacity:1;visibility:visible;transform:translateY(0)}body.is-floating-tooltip-active .object-tooltip{opacity:0!important;visibility:hidden!important}.tooltip{width:max-content;top:50%;left:calc(100% + 10px);transform:translateY(calc(4px - 50%))}.has-tooltip{position:relative}.has-tooltip .tooltip{top:calc(100% + 8px);left:auto;right:0;transform:translateY(4px)}.tool-button:hover .tooltip,.tool-button:focus-visible .tooltip,.side-action:hover .tooltip,.side-action:focus-visible .tooltip,.has-tooltip:hover .tooltip,.has-tooltip:focus-visible .tooltip,.bar:hover .object-tooltip,.bar:focus-visible .object-tooltip,.summary-bar:hover .object-tooltip,.summary-bar:focus-visible .object-tooltip,.dated-bracket-label:hover .object-tooltip,.dated-bracket-label:focus-visible .object-tooltip,.project-flag:hover .object-tooltip,.project-flag:focus-visible .object-tooltip,.milestone:hover .object-tooltip,.milestone:focus-visible .object-tooltip{opacity:1;visibility:visible;transform:translateY(-50%)}.has-tooltip:hover .tooltip,.has-tooltip:focus-visible .tooltip,.bar:hover .object-tooltip,.bar:focus-visible .object-tooltip,.summary-bar:hover .object-tooltip,.summary-bar:focus-visible .object-tooltip,.dated-bracket-label:hover .object-tooltip,.dated-bracket-label:focus-visible .object-tooltip{transform:translateY(0)}.tool-icon{color:#9db7ff;place-items:center;width:22px;height:22px;display:grid;position:relative}.tool-icon:before,.tool-icon:after{content:"";display:block;position:absolute}.icon-gantt:before{background:linear-gradient(currentColor 0 0) 3px 0/1px 100% no-repeat,linear-gradient(currentColor 0 0) 8px 0/1px 100% no-repeat,linear-gradient(currentColor 0 0) 0 5px/100% 1px no-repeat;border:2px solid;border-radius:3px;width:13px;height:13px}.icon-settings:before{border:2px solid;border-radius:50%;width:14px;height:14px}.icon-settings:after{border-top:2px solid;border-bottom:2px solid;width:4px;height:18px;transform:rotate(45deg)}.icon-format:before{background:currentColor;border-radius:99px;width:14px;height:3px;box-shadow:0 6px,0 12px}.icon-milestones:before{border:2px solid;width:11px;height:11px;transform:rotate(45deg)}.icon-separators:before{background:linear-gradient(currentColor 0 0) 0 1px/100% 2px no-repeat,linear-gradient(currentColor 0 0) 0 6px/100% 2px no-repeat,linear-gradient(currentColor 0 0) 0 11px/100% 2px no-repeat;width:15px;height:14px}.icon-baseline:before{border-bottom:2px dashed;border-left:2px solid;width:16px;height:12px}.icon-baseline:after{background:currentColor;width:14px;height:2px;transform:translateY(-3px);box-shadow:0 5px}.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.sidebar-section h2{color:#e5e7eb;letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:760}.status-dot{background:#33d39f;border-radius:50%;width:8px;height:8px}.sidebar-count{color:var(--sidebar-muted);font-size:12px;font-weight:700}.field-label{color:var(--sidebar-muted);font-size:12px;font-weight:650}.text-input{color:#fff;background:#0f172a;border:1px solid #374151;border-radius:8px;outline:0;width:100%;height:40px;padding:0 12px}select.text-input,select.content-edit-action,.property-panel select,.content-object-actions select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:32px}.text-input:focus-visible,.property-panel input:focus-visible,.property-panel select:focus-visible,.property-panel textarea:focus-visible,.relation-menu summary:focus-visible,.paint-color-menu summary:focus-visible{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa33}.field-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.visibility-toggle{cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:999px;width:30px;height:24px;position:relative}.visibility-toggle:before{content:"";border:2px solid #9ca3af;border-radius:999px/70%;width:14px;height:8px;position:absolute;top:7px;left:7px}.visibility-toggle:after{content:"";background:#9ca3af;border-radius:999px;width:4px;height:4px;position:absolute;top:10px;left:12px}.visibility-toggle.is-visible{background:#2f6df633;border-color:#2f6df6b3}.visibility-toggle.is-visible:before{border-color:#9db7ff}.visibility-toggle.is-visible:after{background:#9db7ff}.visibility-toggle:not(.is-visible){opacity:.72}.visibility-toggle:not(.is-visible):after{background:#9ca3af;border-radius:2px;width:18px;height:2px;top:11px;left:6px;transform:rotate(-35deg)}.side-action{color:#fff;background:#151f33;border:1px solid #2b364a;border-radius:8px;justify-content:space-between;min-height:36px;padding:0 10px;font-size:12px;font-weight:720}.side-action.danger-action{color:#fecaca;border-color:#f871715c}.side-action.danger-action:hover{color:#fff;background:#7f1d1d6b}.undo-redo-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.undo-redo-actions .side-action{justify-content:center}.side-action:disabled,.presentation-context-menu button:disabled{cursor:not-allowed;opacity:.45}.sidebar-note{min-height:16px;color:var(--sidebar-muted);margin:0;font-size:11px;line-height:1.35}.panel-help-card{background:#0f172a;border:1px solid #243149;border-radius:8px;padding:9px}.panel-help-card .section-heading{align-items:center}.panel-help-card h2{color:#e5e7eb;letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:780}.info-button{color:#bfdbfe;background:#172033;border:1px solid #334155;border-radius:50%;place-items:center;width:22px;height:22px;min-height:22px;padding:0;font-size:12px;font-weight:900;line-height:1;display:inline-grid;position:relative}.info-button:hover,.info-button:focus-visible{color:#fff;background:#1e2a44;border-color:#60a5fa}.info-button .tooltip{white-space:normal;width:min(250px,100vw - 40px);top:calc(100% + 8px);left:auto;right:0}.tutorial-panel{gap:10px}.tutorial-status{color:#dbeafe;background:#0f172a85;border:1px solid #60a5fa3d;border-radius:8px;min-height:30px;margin:0;padding:8px 10px;font-size:11px;font-weight:760;line-height:1.3}.tutorial-status[data-tone=active]{color:#fff;background:#1d4ed83d;border-color:#60a5fa75}.tutorial-status[data-tone=done]{color:#bbf7d0;background:#14532d38;border-color:#22c55e70}.tutorial-action-grid{gap:8px;display:grid}.tutorial-action{color:#f8fafc;text-align:left;background:#162238;border:1px solid #26344d;border-radius:8px;gap:3px;width:100%;min-height:52px;padding:9px 10px;display:grid}.tutorial-action:hover,.tutorial-action:focus-visible,.tutorial-action.is-running{background:#1d2c48;border-color:#60a5fa}.tutorial-action strong{font-size:12px;line-height:1.15}.tutorial-action span{color:var(--sidebar-muted);font-size:11px;font-weight:650;line-height:1.3}.tutorial-pointer-overlay{--tutorial-x:50vw;--tutorial-y:50vh;pointer-events:none;z-index:2147483010;position:fixed;inset:0}.tutorial-pointer{z-index:2;left:var(--tutorial-x);top:var(--tutorial-y);clip-path:polygon(0 0,0 88%,8px 80%,13px 100%,19px 98%,14px 77%,25px 77%);filter:drop-shadow(0 0 1px #fff)drop-shadow(0 8px 14px #0f172a57);background:#2563eb;width:25px;height:33px;transition:left .52s cubic-bezier(.2,.8,.2,1),top .52s cubic-bezier(.2,.8,.2,1),transform .18s;position:fixed;transform:translate(0)}.tutorial-pulse{z-index:1;left:var(--tutorial-x);top:var(--tutorial-y);opacity:0;border:2px solid #2f6df6b8;border-radius:50%;width:32px;height:32px;transition:left .52s cubic-bezier(.2,.8,.2,1),top .52s cubic-bezier(.2,.8,.2,1),opacity .16s,transform .18s;position:fixed;transform:translate(-8px,-8px)scale(.72)}.tutorial-pointer-overlay.is-clicking .tutorial-pointer{transform:translate(1px,2px)scale(.94)}.tutorial-pointer-overlay.is-clicking .tutorial-pulse,.tutorial-pointer-overlay.is-dragging .tutorial-pulse{opacity:1;transform:translate(-8px,-8px)scale(1.1)}.tutorial-callout{z-index:1;left:min(calc(var(--tutorial-x) + 28px), calc(100vw - 280px));top:min(calc(var(--tutorial-y) + 24px), calc(100vh - 90px));color:#fff;background:#0f172af0;border:1px solid #60a5fa6b;border-radius:8px;gap:3px;width:252px;padding:9px 10px;transition:left .52s cubic-bezier(.2,.8,.2,1),top .52s cubic-bezier(.2,.8,.2,1);display:grid;position:fixed;box-shadow:0 18px 40px #0f172a42}.tutorial-callout strong{font-size:12px;line-height:1.15}.tutorial-callout span{color:#cbd5e1;font-size:11px;font-weight:650;line-height:1.35}.tutorial-ghost-menu{background:#fff;border:1px solid #0f172a24;border-radius:8px;min-width:190px;padding:6px;display:grid;position:fixed;box-shadow:0 18px 40px #0f172a38}.tutorial-ghost-menu[hidden]{display:none}.tutorial-ghost-menu span{color:#1d4ed8;background:#eff6ff;border-radius:6px;min-height:34px;padding:9px 10px;font-size:12px;font-weight:780}.feedback-form{gap:10px;display:grid}.feedback-textarea{resize:vertical;height:auto;min-height:116px;padding-top:10px;padding-bottom:10px;line-height:1.35}.optional-field{color:#6b7280;font-weight:650}.feedback-submit{justify-content:center}.feedback-status{min-height:18px;color:var(--sidebar-muted);margin:0;font-size:11px;font-weight:650;line-height:1.35}.feedback-status[data-tone=success]{color:#86efac}.feedback-status[data-tone=error]{color:#fecaca}.subscription-panel{gap:10px}.subscription-status{min-height:18px;color:var(--sidebar-muted);margin:0;font-size:11px;font-weight:650;line-height:1.35}.subscription-status[data-tone=success]{color:#86efac}.subscription-status[data-tone=error]{color:#fecaca}.subscription-check{justify-content:center}.subscription-plans{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.subscription-card{color:#e5e7eb;background:#111827;border:1px solid #2b364a;border-radius:8px;gap:4px;min-width:0;padding:10px;text-decoration:none;display:grid}.subscription-card:hover,.subscription-card:focus-visible{background:#16233a;border-color:#60a5fa;outline:none}.subscription-card-featured{background:#0f241d;border-color:#34d399}.subscription-card span,.subscription-card small{color:var(--sidebar-muted);font-size:10px;font-weight:720}.subscription-card em{color:#063b2d;background:#a7f3d0;border-radius:999px;align-items:center;min-height:18px;margin-left:4px;padding:3px 6px;font-size:9px;font-style:normal;font-weight:900;line-height:1;display:inline-flex}.subscription-card strong{color:#fff;font-size:17px;line-height:1.1}.task-list{min-height:0}.task-items{max-height:360px;overflow:auto}.row-items{max-height:210px}.compact-list{max-height:520px}.lane-items,.custom-column-list{gap:8px;max-height:320px;display:grid;overflow:auto}.lane-editor,.custom-column-editor{background:#111a2d;border:1px solid #2b364a;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px 9px;padding:8px;display:grid}.lane-editor strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.lane-editor input[type=color]{background:#0f172a;border:1px solid #374151;border-radius:7px;width:30px;height:30px;padding:2px}.lane-editor input[type=text]{grid-column:1/-1;height:32px}.custom-column-editor .check-row{color:#fff;align-items:center;gap:6px;font-size:11px;font-weight:760;display:inline-flex}.custom-column-editor .text-input{min-width:0;height:32px}.mini-action{color:#fff;cursor:pointer;background:#172033;border:1px solid #2b364a;border-radius:7px;padding:6px 9px;font-size:11px;font-weight:760}.mini-action:hover{background:#23304a}.mini-action.danger{color:#fecaca}.task-item{color:#fff;background:#172033;border-radius:8px;gap:10px;min-height:58px;padding:10px}.task-item:hover,.task-item.is-selected{background:#23304a}.row-list-item{cursor:grab;min-height:48px}.row-list-item.is-row-dragging{opacity:.72}.row-list-item.is-row-drop-before:before,.row-list-item.is-row-drop-after:after{content:"";background:var(--brand);border-radius:999px;height:3px;position:absolute;left:8px;right:8px;box-shadow:0 0 0 2px #2f6df633}.row-list-item.is-row-drop-before:before{top:-5px}.row-list-item.is-row-drop-after:after{bottom:-5px}.row-drag-grip{opacity:.85;background:radial-gradient(circle,#94a3b8 1.3px,#0000 1.5px) 0 0/5px 5px,0 0;border-radius:6px;flex:none;width:10px;height:22px}.row-swatch{background:var(--row-swatch-color,#334155)}.separator-item{cursor:default}.empty-list{color:var(--sidebar-muted);border:1px dashed #334155;border-radius:8px;padding:12px;font-size:12px;font-weight:650;line-height:1.35}.format-block{gap:10px;display:grid}.sidebar-accordion{background:#0f172a6b;border:1px solid #243149;border-radius:8px;gap:9px;padding:8px;display:grid}.sidebar-accordion summary{color:#e5e7eb;cursor:pointer;justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:760;list-style:none;display:flex}.sidebar-accordion summary::-webkit-details-marker{display:none}.sidebar-accordion summary:after{content:"";border-bottom:2px solid #9ca3af;border-right:2px solid #9ca3af;flex:none;width:7px;height:7px;transition:transform .14s;transform:rotate(45deg)translateY(-2px)}.sidebar-accordion[open] summary:after{transform:rotate(225deg)translateY(-2px)}.sidebar-accordion .sidebar-count{text-align:right;text-overflow:ellipsis;white-space:nowrap;margin-left:auto;overflow:hidden}.columns-panel{gap:0}.format-palette-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.format-swatch{background:0 0;border:1px solid #334155;border-radius:8px;grid-template-columns:1.2fr repeat(4,1fr);height:34px;padding:0;display:grid;overflow:hidden}.format-swatch span{min-width:0;display:block}.format-swatch:hover,.format-swatch.is-selected{border-color:#fff;box-shadow:0 0 0 2px #ffffff29}.format-style-grid{gap:8px;display:grid}.style-option{color:#fff;text-align:left;background:#151f33;border:1px solid #2b364a;border-radius:8px;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-height:56px;padding:8px;display:grid}.style-option:hover,.style-option.is-selected{background:#23304a;border-color:#8fb2ff}.style-option strong,.style-option small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.style-option strong{font-size:12px}.style-option small{color:var(--sidebar-muted);margin-top:2px;font-size:10px}.style-preview{grid-template-columns:1fr;align-items:center;gap:0;height:26px;display:grid}.style-preview i,.style-preview b{background:var(--blue);grid-area:1/1;min-width:0;height:18px;display:block}.style-preview b{background:#ffffff47;width:46%}.style-preview[data-preview-style=rounded] i{border-radius:8px}.style-preview[data-preview-style=rounded] b{border-radius:8px 0 0 8px}.style-preview[data-preview-style=square] i,.style-preview[data-preview-style=square] b{border-radius:1px}.style-preview[data-preview-style=pill] i{border-radius:99px}.style-preview[data-preview-style=pill] b{border-radius:99px 0 0 99px}.style-preview[data-preview-style=chevron] i,.style-preview[data-preview-style=chevron] b,.style-preview[data-preview-style=flag] i,.style-preview[data-preview-style=flag] b{clip-path:polygon(0 50%,10px 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,10px 100%)}.style-preview[data-preview-style=lightning] i,.style-preview[data-preview-style=lightning] b{clip-path:polygon(0 0,72% 0,58% 42%,100% 42%,28% 100%,42% 58%,0 58%)}.style-preview[data-preview-style=bracketed] i,.style-preview[data-preview-style=bracketed] b,.style-preview[data-preview-style=blueprint] i,.style-preview[data-preview-style=blueprint] b{color:var(--blue);background:0 0;border:2px solid}.style-preview[data-preview-style=minimal] i,.style-preview[data-preview-style=minimal] b{border-radius:99px;height:8px}.style-preview[data-preview-style=glass] i,.style-preview[data-preview-style=glass] b{opacity:.68;border:1px solid #ffffff73;border-radius:7px}.task-swatch{border-radius:999px;flex:none;width:9px;height:36px}.task-copy{gap:4px;min-width:0;display:grid}.task-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:720;line-height:1.2;overflow:hidden}.task-copy small{color:var(--sidebar-muted);font-size:11px;line-height:1.2}.settings-panel{gap:14px}.scale-grid{color:#fff;grid-template-columns:minmax(64px,1fr) 54px 70px 72px;align-items:center;gap:10px 8px;font-size:12px;font-weight:700;display:grid}.calendar-range-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px;display:grid}.calendar-range-grid .text-input{min-width:0}.compact-action{width:100%}.scale-grid strong{color:var(--sidebar-muted);text-align:center;text-transform:uppercase;font-size:11px}.scale-grid label{color:#fff}.scale-grid input[type=checkbox],.check-row input{width:18px;height:18px;accent-color:var(--brand);justify-self:center}.scale-grid input[type=range]{appearance:none;width:68px;accent-color:var(--brand);cursor:pointer;touch-action:pan-x}.scale-grid input[type=range]::-webkit-slider-runnable-track{background:#e5e7eb;border-radius:999px;height:7px}.scale-grid input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--brand);cursor:grab;border:0;border-radius:50%;width:18px;height:18px;margin-top:-5.5px}.scale-grid input[type=range]::-moz-range-track{background:#e5e7eb;border-radius:999px;height:7px}.scale-grid input[type=range]::-moz-range-thumb{background:var(--brand);cursor:grab;border:0;border-radius:50%;width:18px;height:18px}.scale-grid input[type=range]:disabled{opacity:.35}.scale-grid input:disabled{cursor:not-allowed;opacity:.5}.check-row{color:#fff;align-items:center;gap:9px;font-size:12px;font-weight:720;display:flex}.workspace{flex-direction:column;min-width:0;padding:24px;display:flex}.workspace-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:8px;display:flex}.workspace-kicker{color:var(--brand);text-transform:uppercase;font-size:12px;font-weight:760}.workspace-header h2{margin-top:4px;font-size:clamp(22px,3vw,34px);line-height:1.1}.header-actions,.canvas-toolbar,.content-tabs,.editor-actions{align-items:center;gap:10px;display:flex}.view-mode-toggle{border:1px solid var(--border);background:#e7ecf4;border-radius:8px;flex:none;padding:3px;display:inline-flex}.view-mode-toggle.compact{min-height:32px}.mode-button{min-height:30px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:0 11px;font-size:12px;font-weight:780}.mode-button.is-active{color:var(--brand);background:#fff;box-shadow:0 1px 4px #1f29371a}.primary-button,.secondary-button,.danger-button,.content-tab,.segment,.connector{border-radius:8px;min-height:38px;padding:0 13px;font-size:13px;font-weight:720}.primary-button{border:1px solid var(--brand);background:var(--brand);color:#fff}.secondary-button,.content-tab,.segment,.connector{border:1px solid var(--border);background:var(--surface);color:var(--text)}.danger-button{color:#b42318;background:#fff1f2;border:1px solid #fecaca}.status-message{min-height:20px;color:var(--muted);margin:0 0 10px;font-size:12px;font-weight:650}.content-tabs{margin-bottom:12px;overflow-x:auto}.content-tab{white-space:nowrap}.content-tab.is-active,.segment.is-active{border-color:var(--brand);color:var(--brand);background:#eef4ff}.work-area{grid-template-columns:minmax(0,1fr) 320px;gap:16px;min-width:0;min-height:0;display:grid}.canvas-panel,.inspector{min-width:0}.canvas-panel{overflow:hidden}.view-panel{display:none}.view-panel.is-active{display:block}.canvas-toolbar{flex-wrap:wrap;margin-bottom:10px}.segmented-control{background:#e7ecf4;border-radius:8px;padding:3px;display:flex}.segment{background:0 0;border-color:#0000;min-height:30px}.compact-toggle,.wide-toggle,.sort-control{color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.sort-control select{border:1px solid var(--border);min-height:30px;color:var(--text);background:#fff;border-radius:7px;padding:0 8px;font-size:12px;font-weight:720}.wide-toggle{margin-top:10px}body[data-view-mode=presentation]{height:100vh;overflow:hidden}body[data-view-mode=presentation] .app-shell{grid-template-columns:minmax(0,1fr);height:100vh;min-height:0;overflow:hidden}body[data-view-mode=presentation] .taskbar,body[data-view-mode=presentation] .content-tabs,body[data-view-mode=presentation] .canvas-toolbar,body[data-view-mode=presentation] .inspector,body[data-view-mode=presentation] .status-message,body[data-view-mode=presentation] .edit-action{display:none}body[data-view-mode=presentation] .workspace{height:100vh;padding:14px;overflow:hidden}body[data-view-mode=presentation] .workspace-header{flex:none;margin-bottom:10px}body[data-view-mode=presentation] .workspace-header h2{font-size:clamp(20px,2.3vw,30px)}body[data-view-mode=presentation] .work-area,body[data-view-mode=presentation] .canvas-panel,body[data-view-mode=presentation] #gantt-view{min-width:0;min-height:0}body[data-view-mode=presentation] .work-area{flex:auto;grid-template-columns:minmax(0,1fr)}body[data-view-mode=presentation] #gantt-view.view-panel.is-active{flex-direction:column;height:100%;display:flex}.gantt-frame{border:1px solid var(--border);background:var(--surface);max-height:calc(100vh - 190px);box-shadow:var(--shadow);border-radius:8px;overflow:auto}body[data-view-mode=presentation] .gantt-frame{flex:auto;max-height:none;overflow:hidden}.timeline{--unit-width:44px;--right-column-width:var(--left-column-width);min-width:calc((var(--left-columns) * var(--left-column-width)) + (var(--unit-count) * var(--unit-width)) + (var(--right-columns,0) * var(--right-column-width)));grid-template-columns:repeat(var(--left-columns), var(--left-column-width)) repeat(var(--unit-count), var(--unit-width)) repeat(var(--right-columns,0), var(--right-column-width));grid-template-rows:repeat(var(--header-rows,2), var(--header-row-height,34px));grid-auto-rows:var(--row-height);display:grid;position:relative}.timeline-corner,.sub-corner,.time-band,.day-marker,.row-label,.support-cell,.timeline-lane{border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.timeline-corner,.sub-corner,.time-band,.day-marker{z-index:3;color:#475467;font-size:calc(12px * var(--content-text-scale));background:#f9fbffe6;align-items:center;font-weight:760;display:grid;position:sticky;top:0}.timeline-corner{z-index:5;padding:0 14px;left:0}.timeline-corner.right-column-cell{left:auto}.column-header{appearance:none;border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);color:#475467;font:inherit;text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:normal;-webkit-hyphens:auto;hyphens:auto;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;min-width:0;box-shadow:none;background:#f9fbffe6;outline:0;align-items:center;line-height:1.2;display:flex;overflow:hidden}.column-header.is-dragging{cursor:grabbing;color:var(--brand)}.column-header:focus-visible{box-shadow:inset 0 -2px #2f6df68c}.column-header.is-drag-target{box-shadow:inset 0 -2px 0 var(--brand)}.sub-corner{top:var(--header-row-1-height,34px);z-index:4;padding:0 14px}.time-band,.day-marker{text-align:center;justify-self:stretch;place-items:center;width:100%;min-width:0}.day-marker{top:var(--header-row-1-height,34px)}.day-marker.is-weekend{background:#eef2f7}.row-label{appearance:none;z-index:3;min-width:0;padding:0 14px;padding-top:var(--row-gap-before,0px);box-sizing:border-box;background:var(--surface);color:var(--text);font-size:calc(13px * var(--content-text-scale));text-align:left;border-top:0;border-left:0;border-radius:0;outline:0;align-items:center;font-weight:760;display:flex;position:sticky;left:0}.row-label.right-column-cell{position:relative;left:auto}body[data-view-mode=edit] .row-label.is-selected{color:var(--brand)}body[data-view-mode=edit] .row-label.is-hovered{color:var(--brand);background:#eef4ff}body[data-view-mode=edit] .support-cell.is-hovered,body[data-view-mode=edit] .timeline-lane.is-hovered{background:#f3f7ff}body[data-view-mode=edit] .support-cell.is-selected{color:var(--brand)}body[data-view-mode=presentation] .row-label.is-selected{color:var(--text)}.row-label.is-phase,.support-cell.is-phase,.timeline-lane.is-phase{background-color:#f5f7fb}.row-label.has-lane-color,.support-cell.has-lane-color,.timeline-lane.has-lane-color{background-color:var(--lane-bg)}.support-cell{min-width:0;padding:0 10px;padding-top:var(--row-gap-before,0px);box-sizing:border-box;background:var(--surface);color:var(--muted);font-size:calc(12px * var(--content-text-scale));align-items:center;font-weight:680;display:flex}.status-cell{justify-content:center}.status-value{color:#334155;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-width:0;max-width:100%;line-height:1.15;display:inline-flex}.status-value>span:last-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.status-indicator{background:var(--status-color,#64748b);border:1px solid #0f172a29;border-radius:50%;flex:none;width:9px;height:9px}.status-style-pill{background:var(--status-color,#64748b);color:#fff;max-width:calc(100% - 8px);padding:4px 8px;box-shadow:0 8px 20px #0f172a1f}.status-style-pill .status-indicator,.status-style-text .status-indicator{display:none}.status-style-dot>span:last-child,.status-style-text{color:var(--status-color,#64748b)}.timeline-lane{z-index:auto;grid-template-columns:repeat(var(--unit-count), var(--unit-width));grid-template-rows:var(--row-gap-before,0px) minmax(0, 1fr);align-items:center;display:grid;position:relative}.timeline-lane.has-offset-label-lane{z-index:auto}.weekend-shade{background:#e2e8f073;grid-row:1/span 2;align-self:stretch}.timeline-separator{width:max(24px, var(--separator-width,2px));z-index:5;min-width:24px;color:var(--separator-color,#667085);pointer-events:auto;cursor:default;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;place-self:stretch start;place-items:center;padding:0;display:grid;position:relative;transform:translate(-50%)}.timeline-separator:before{content:"";width:var(--separator-width,2px);background:var(--separator-color,#98a2b3);pointer-events:none;border-radius:2px;min-width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-separator[data-separator-type=vertical]{cursor:col-resize}.horizontal-separator[data-separator-pattern=dashed],.horizontal-separator[data-separator-pattern=dotted],.horizontal-separator[data-separator-pattern=hash]{background:0 0}.timeline-separator[data-separator-pattern=dashed]:before{background:repeating-linear-gradient(to bottom, var(--separator-color,#667085) 0 10px, transparent 10px 16px)}.timeline-separator[data-separator-pattern=dotted]:before{background:radial-gradient(circle, var(--separator-color,#667085) 0 2px, transparent 2.5px);background-size:8px 8px}.timeline-separator[data-separator-pattern=hash]:before{background:repeating-linear-gradient(45deg, var(--separator-color,#667085) 0 3px, transparent 3px 8px)}.timeline-bottom-gutter{z-index:1;background:0 0;position:relative}.row-boundary-target{z-index:40;cursor:row-resize;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;align-self:start;height:11px;margin-top:-5px}.row-boundary-target.is-bottom{align-self:end;margin-top:0;margin-bottom:-5px}body[data-view-mode=presentation] .row-boundary-target{display:none}body[data-view-mode=edit] .row-boundary-target:hover,body[data-view-mode=edit] .row-boundary-target:focus-visible,body[data-view-mode=edit] .row-boundary-target.is-context-target,body[data-view-mode=edit] .row-boundary-target.is-row-reorder-target{background:#2f6df638;box-shadow:0 0 0 1px #2f6df659}body[data-view-mode=edit] .row-reorder-handle{cursor:grab}body[data-view-mode=edit] .row-reorder-handle.is-row-dragging,body[data-view-mode=edit] .timeline-lane.is-row-dragging,body.is-row-reordering,body.is-row-reordering *{cursor:grabbing!important}.horizontal-separator{appearance:none;z-index:50;min-height:1px;height:var(--separator-hit-height,max(24px, var(--separator-width,2px)));margin-top:calc(var(--separator-stack-offset,0px) - ((var(--separator-hit-height,max(24px, var(--separator-width,2px))) - var(--separator-width,2px)) / 2));box-shadow:none;color:var(--separator-color,#667085);pointer-events:auto;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;outline:0;align-self:start;place-items:center;padding:0;display:grid;position:relative}.timeline-separator.is-dragging,.horizontal-separator.is-dragging{cursor:grabbing}body.is-separator-dragging,body.is-separator-dragging *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.horizontal-separator[data-align-x=left],.timeline-separator[data-align-x=left]{justify-items:start}.horizontal-separator[data-align-x=center],.timeline-separator[data-align-x=center]{justify-items:center}.horizontal-separator[data-align-x=right],.timeline-separator[data-align-x=right]{justify-items:end}.horizontal-separator[data-align-y=top],.timeline-separator[data-align-y=top]{align-items:start}.horizontal-separator[data-align-y=middle],.timeline-separator[data-align-y=middle]{align-items:center}.horizontal-separator[data-align-y=bottom],.timeline-separator[data-align-y=bottom]{align-items:end}.horizontal-separator:before{content:"";height:var(--separator-width,2px);background:var(--separator-color,#667085);border-radius:2px;min-height:1px;position:absolute;inset:50% 0 auto;transform:translateY(-50%)}.horizontal-separator[data-separator-pattern=dashed]:before{background:repeating-linear-gradient(to right, var(--separator-color,#667085) 0 10px, transparent 10px 16px)}.horizontal-separator[data-separator-pattern=dotted]:before{background:radial-gradient(circle, var(--separator-color,#667085) 0 2px, transparent 2.5px);background-size:8px 8px}.horizontal-separator[data-separator-pattern=hash]:before{background:repeating-linear-gradient(45deg, var(--separator-color,#667085) 0 3px, transparent 3px 8px)}.separator-label.is-selected{outline:2px solid var(--brand);outline-offset:2px}.timeline-separator.is-selected,.timeline-separator.is-context-target,.horizontal-separator.is-selected,.horizontal-separator.is-context-target{outline:0}.timeline-separator.is-selected:before,.timeline-separator.is-context-target:before,.horizontal-separator.is-selected:before,.horizontal-separator.is-context-target:before{box-shadow:0 0 0 2px var(--brand)}.separator-note{z-index:1;max-width:calc(100% - 28px);max-height:calc(100% - 4px);color:var(--text);font-family:var(--separator-text-font-family,var(--content-font-family,inherit));font-size:var(--separator-text-size,calc(10px * var(--content-text-scale)));text-align:center;white-space:pre-line;-webkit-line-clamp:3;background:#ffffffeb;border-radius:4px;-webkit-box-orient:vertical;padding:1px 5px;font-weight:760;line-height:1.1;display:-webkit-box;position:relative;overflow:hidden}.horizontal-separator[data-align-x=left] .separator-note,.timeline-separator[data-align-x=left] .separator-note{text-align:left}.horizontal-separator[data-align-x=center] .separator-note,.timeline-separator[data-align-x=center] .separator-note{text-align:center}.horizontal-separator[data-align-x=right] .separator-note,.timeline-separator[data-align-x=right] .separator-note{text-align:right}.horizontal-separator .separator-note{-webkit-line-clamp:unset;max-height:max(18px,100% - 4px)}.timeline-separator .separator-note{max-width:calc(var(--separator-width,2px) + 36px);writing-mode:vertical-rl;text-orientation:mixed;-webkit-line-clamp:unset;max-height:calc(100% - 12px)}.bar,.summary-bar,.milestone,.project-flag,.dated-bracket-label{z-index:70;color:#fff;font-size:calc(12px * var(--content-text-scale));touch-action:none;-webkit-user-select:none;user-select:none;border:0;grid-row:1;align-self:center;font-weight:760;position:relative}.bar:hover,.summary-bar:hover{filter:brightness(1.04);transform:translateY(calc((var(--item-lane,0) * -34px) + var(--bar-offset-y,0px) - 1px))}.dated-bracket-label:hover{filter:none;transform:none}.milestone:hover{filter:brightness(1.04);transform:translateY(calc((var(--item-lane,0) * -34px) + var(--bar-offset-y,0px) - 1px)) rotate(45deg)}.milestone.milestone-shape-circle:hover,.milestone.milestone-shape-square:hover,.milestone.milestone-shape-triangle:hover,.milestone.milestone-shape-hexagon:hover,.milestone.milestone-shape-flag:hover{transform:translateY(calc((var(--item-lane,0) * -34px) + var(--bar-offset-y,0px) - 1px))}.bar,.summary-bar,.milestone,.project-flag,.dated-bracket-label,.tool-button,.task-item,.side-action,.content-tab,.segment,.primary-button,.secondary-button{transition:background-color .14s,border-color .14s,box-shadow .14s,filter .14s,transform .14s}.object-tooltip{z-index:260;text-align:left;width:max-content;top:calc(100% + 10px);left:8px}.object-tooltip strong,.object-tooltip span,.floating-object-tooltip strong,.floating-object-tooltip span{white-space:nowrap;display:block}.object-tooltip strong,.floating-object-tooltip strong{color:#fff;margin-bottom:4px;font-size:12px;font-weight:800}.object-tooltip b,.floating-object-tooltip b{color:#bfdbfe;font-weight:800}.project-flag{--flag-color:var(--green);color:#111827;background:0 0;border:0;grid-template-columns:8px 16px minmax(54px,max-content);place-self:stretch center;align-items:start;gap:3px;width:max-content;min-width:92px;padding:2px 0 0;display:grid;overflow:visible}.project-flag .flag-pole{background:#98a2b3;justify-self:end;width:2px;height:32px}.project-flag .flag-marker{background:var(--flag-color);clip-path:polygon(0 0,100% 14%,100% 82%,0 68%);width:15px;height:11px;margin-top:2px;box-shadow:0 2px 4px #0f172a29}.project-flag .flag-copy{text-align:left;gap:0;min-width:0;padding-top:0;display:grid}.project-flag strong,.project-flag small{text-overflow:ellipsis;white-space:nowrap;max-width:116px;overflow:hidden}.project-flag strong{color:var(--text);font-size:calc(11px * var(--content-text-scale));line-height:1.1}.project-flag small{color:var(--muted);font-size:calc(10px * var(--content-text-scale));font-weight:700}.project-flag.task-blue{--flag-color:var(--blue);background:0 0}.project-flag.task-green{--flag-color:var(--green);background:0 0}.project-flag.task-orange{--flag-color:var(--orange);background:0 0}.project-flag.task-purple{--flag-color:var(--purple);background:0 0}.project-flag.task-red{--flag-color:var(--red);background:0 0}.project-flag.task-slate{--flag-color:var(--slate);background:0 0}.project-flag[class*=task-]{--flag-color:var(--task-color,var(--green));background:0 0}body[data-view-mode=edit] .project-flag.is-selected,body[data-view-mode=edit] .project-flag.is-context-target{outline-offset:2px;outline:2px solid #2f6df659}.bar,.summary-bar{height:var(--bar-height,clamp(28px, calc(var(--row-height) * .2), 46px));min-width:30px;box-shadow:none;transform:translateY(calc((var(--item-lane,0) * -34px) + var(--bar-offset-y,0px)));cursor:grab;border-radius:7px;align-items:center;margin:0 7px;display:flex;overflow:visible;background:0 0!important}.bar-surface{z-index:0;border-radius:inherit;background:var(--task-color,var(--brand));pointer-events:none;display:block;position:absolute;inset:0;overflow:hidden;box-shadow:0 10px 18px #0f172a24}.bar-resize-handle{z-index:138;width:12px;height:min(28px, calc(var(--bar-height,28px) - 6px));opacity:0;pointer-events:none;cursor:ew-resize;touch-action:none;border-radius:999px;display:block;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.bar-resize-handle:before{content:"";filter:drop-shadow(0 1px 1px #0f172a52);border-left:2px solid #ffffffc7;border-right:2px solid #ffffffc7;position:absolute;inset:4px}body[data-view-mode=edit] .bar:hover .bar-resize-handle,body[data-view-mode=edit] .bar:focus-visible .bar-resize-handle,body[data-view-mode=edit] .bar.is-item-hovered .bar-resize-handle,body[data-view-mode=edit] .bar.is-selected .bar-resize-handle,body[data-view-mode=edit] .summary-bar:hover .bar-resize-handle,body[data-view-mode=edit] .summary-bar:focus-visible .bar-resize-handle,body[data-view-mode=edit] .summary-bar.is-item-hovered .bar-resize-handle,body[data-view-mode=edit] .summary-bar.is-selected .bar-resize-handle{opacity:1;pointer-events:auto}.milestone,.project-flag,.dated-bracket-label{cursor:grab}body.is-object-dragging,body.is-object-dragging *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}body.is-task-resizing,body.is-task-resizing *{cursor:ew-resize!important;-webkit-user-select:none!important;user-select:none!important}.timeline-lane .bar{grid-row:2;align-self:center;margin-bottom:0}.timeline-lane .summary-bar,.timeline-lane .milestone,.timeline-lane .baseline-bar,.timeline-lane .baseline-milestone{grid-row:2}body[data-bar-style=square] .bar{border-radius:2px}body[data-bar-style=chevron] .bar{clip-path:none}body[data-bar-style=chevron] .bar .bar-surface{clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%,8px 50%)}body[data-gantt-style=square] .bar,body[data-gantt-style=square] .summary-bar{clip-path:none;border-radius:2px}body[data-gantt-style=pill] .bar,body[data-gantt-style=pill] .summary-bar{border-radius:999px}body[data-gantt-style=chevron] .bar,body[data-gantt-style=chevron] .summary-bar{clip-path:none;border-radius:0}body[data-gantt-style=chevron] .bar .bar-surface,body[data-gantt-style=chevron] .summary-bar .bar-surface{clip-path:polygon(0 50%,16px 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,16px 100%)}body[data-gantt-style=flag] .bar,body[data-gantt-style=flag] .summary-bar{clip-path:none;border-radius:0}body[data-gantt-style=flag] .bar .bar-surface,body[data-gantt-style=flag] .summary-bar .bar-surface{clip-path:polygon(0 0,calc(100% - 28px) 0,100% 50%,calc(100% - 28px) 100%,0 100%,10px 50%)}body[data-gantt-style=lightning] .bar,body[data-gantt-style=lightning] .summary-bar{clip-path:none;border-radius:0}body[data-gantt-style=lightning] .bar .bar-surface,body[data-gantt-style=lightning] .summary-bar .bar-surface{clip-path:polygon(0 0,calc(100% - 34px) 0,calc(100% - 18px) 36%,100% 36%,calc(100% - 40px) 100%,12px 100%,30px 62%,0 62%)}body[data-gantt-style=bracketed] .bar,body[data-gantt-style=bracketed] .summary-bar{color:var(--brand);clip-path:none;box-shadow:none;background-color:#0000;border:0;border-radius:4px}body[data-gantt-style=bracketed] .bar .bar-surface,body[data-gantt-style=bracketed] .summary-bar .bar-surface{box-shadow:none;background:0 0;border:2px solid}body[data-gantt-style=bracketed] .task-blue,body[data-gantt-style=blueprint] .task-blue{color:var(--blue)}body[data-gantt-style=bracketed] .task-green,body[data-gantt-style=blueprint] .task-green{color:var(--green)}body[data-gantt-style=bracketed] .task-orange,body[data-gantt-style=blueprint] .task-orange{color:var(--orange)}body[data-gantt-style=bracketed] .task-purple,body[data-gantt-style=blueprint] .task-purple{color:var(--purple)}body[data-gantt-style=bracketed] .task-red,body[data-gantt-style=blueprint] .task-red{color:var(--red)}body[data-gantt-style=bracketed] .bar[class*=task-],body[data-gantt-style=bracketed] .summary-bar[class*=task-],body[data-gantt-style=blueprint] .bar[class*=task-],body[data-gantt-style=blueprint] .summary-bar[class*=task-]{color:var(--task-color,var(--brand))}body[data-gantt-style=minimal] .bar,body[data-gantt-style=minimal] .summary-bar{height:var(--bar-height,12px);clip-path:none;box-shadow:none;border-radius:999px}body[data-gantt-style=minimal] .bar .bar-surface,body[data-gantt-style=minimal] .summary-bar .bar-surface{box-shadow:none}body[data-gantt-style=minimal] .bar .item-label{color:var(--label-text-color,var(--text));top:-13px}body[data-gantt-style=glass] .bar,body[data-gantt-style=glass] .summary-bar{clip-path:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #ffffff6b;border-radius:8px}body[data-gantt-style=glass] .bar .bar-surface,body[data-gantt-style=glass] .summary-bar .bar-surface{opacity:.78}body[data-gantt-style=blueprint] .bar,body[data-gantt-style=blueprint] .summary-bar{clip-path:none;box-shadow:none;border:0;border-radius:1px}body[data-gantt-style=blueprint] .bar .bar-surface,body[data-gantt-style=blueprint] .summary-bar .bar-surface{box-shadow:none;background:linear-gradient(90deg,currentColor 0 0) 0/100% 2px no-repeat,0 0;border:2px solid}.summary-bar{height:var(--bar-height,12px);opacity:.82;align-self:start;margin-top:8px}.item-label{z-index:120;border:var(--label-border-width,0) solid var(--label-border-color,transparent);border-radius:var(--label-radius,5px);max-width:min(220px,100% + 50px);padding:var(--label-padding,2px 6px);background:var(--label-bg,transparent);color:var(--label-text-color,inherit);box-shadow:var(--label-shadow,none);font-family:var(--label-font-family,var(--content-font-family,inherit));font-size:var(--label-font-size,calc(12px * var(--content-text-scale)));font-weight:var(--label-font-weight,760);line-height:var(--label-line-height,1.2);text-overflow:ellipsis;white-space:nowrap;transform:translate(calc(-50% + var(--label-x,0px)), calc(-50% + var(--label-y,0px)));cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;display:inline-flex;position:absolute;top:50%;left:50%}.item-label.is-offset,.item-label.is-dragging{z-index:130;border:1px solid var(--label-badge-border-color,#d7dee8);border-radius:var(--label-radius,5px);max-width:420px;padding:var(--label-padding,2px 6px);background:var(--label-badge-bg,#fffffff5);color:var(--label-badge-text-color,#111827);box-shadow:var(--label-shadow,0 8px 18px #0f172a2e)}.item-label.is-dragging{cursor:grabbing}.bar.has-offset-label,.summary-bar.has-offset-label,.milestone.has-offset-label{z-index:80}.dependency-handle{z-index:140;width:var(--dependency-handle-size,10px);height:var(--dependency-handle-size,10px);opacity:0;pointer-events:none;cursor:crosshair;background:0 0;border:0;border-radius:999px;transition:opacity .12s,transform .12s;display:block;position:absolute;top:50%;transform:translateY(-50%)}.dependency-handle-left{left:0;right:auto}.dependency-handle-right{left:auto;right:0}.dependency-handle:after{content:"";border:1.5px solid var(--brand);background:#fff;border-radius:999px;width:5px;height:5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 5px #0f172a38}.milestone .dependency-handle{--dependency-handle-size:8px}.dependency-handle-left:after{left:0}.dependency-handle-right:after{left:100%}body[data-view-mode=edit] .bar:hover .dependency-handle,body[data-view-mode=edit] .bar:focus-visible .dependency-handle,body[data-view-mode=edit] .bar.is-item-hovered .dependency-handle,body[data-view-mode=edit] .milestone:hover .dependency-handle,body[data-view-mode=edit] .milestone:focus-visible .dependency-handle,body[data-view-mode=edit] .milestone.is-item-hovered .dependency-handle,body[data-view-mode=edit] .bar.is-selected .dependency-handle,body[data-view-mode=edit] .summary-bar.is-selected .dependency-handle,body[data-view-mode=edit] .milestone.is-selected .dependency-handle{opacity:1;pointer-events:auto}body[data-view-mode=edit] .dependency-handle:hover{transform:translateY(-50%)scale(1.08)}body[data-view-mode=presentation] .dependency-handle{display:none}body[data-view-mode=edit] .bar.is-dependency-target,body[data-view-mode=edit] .milestone.is-dependency-target{outline:3px solid #2f6df647;box-shadow:0 0 0 5px #2f6df621,0 14px 28px #0f172a33}body[data-view-mode=edit] .item-label:hover,body[data-view-mode=edit] .item-label:focus-visible{box-shadow:var(--label-shadow,none), 0 0 0 2px #2f6df62e}body[data-view-mode=presentation] .item-label{cursor:default}body[data-view-mode=presentation] .bar,body[data-view-mode=presentation] .summary-bar,body[data-view-mode=presentation] .milestone,body[data-view-mode=presentation] .project-flag,body[data-view-mode=presentation] .dated-bracket-label,body[data-view-mode=presentation] .column-header,body[data-view-mode=presentation] .timeline-separator,body[data-view-mode=presentation] .horizontal-separator,body[data-view-mode=presentation] .separator-label{cursor:default!important}.bar-surface i{z-index:0;border-radius:inherit;background:#ffffff38;position:absolute;inset:0 auto 0 0}.baseline-bar,.baseline-milestone{z-index:22;box-sizing:border-box;pointer-events:none;grid-row:1;align-self:end;position:relative}.baseline-bar{height:12px;color:var(--slate);opacity:.72;box-shadow:none;clip-path:none;border:2px dotted;border-radius:7px;margin:0 7px 2px;background:0 0!important}.baseline-milestone{width:24px;height:24px;color:var(--slate);opacity:.76;border:2px dotted;border-radius:3px;margin-bottom:0;margin-left:9px;transform:rotate(45deg);background:0 0!important}body[data-gantt-style=square] .baseline-bar{clip-path:none;border-radius:2px}body[data-gantt-style=pill] .baseline-bar{clip-path:none;border-radius:999px}body[data-gantt-style=chevron] .baseline-bar{clip-path:polygon(0 50%,16px 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,16px 100%);border-radius:0}body[data-gantt-style=flag] .baseline-bar{clip-path:polygon(0 0,calc(100% - 28px) 0,100% 50%,calc(100% - 28px) 100%,0 100%,10px 50%);border-radius:0}body[data-gantt-style=lightning] .baseline-bar{clip-path:polygon(0 0,calc(100% - 34px) 0,calc(100% - 18px) 36%,100% 36%,calc(100% - 40px) 100%,12px 100%,30px 62%,0 62%);border-radius:0}body[data-gantt-style=bracketed] .baseline-bar{clip-path:none;border-style:solid;border-radius:4px}body[data-gantt-style=minimal] .baseline-bar{clip-path:none;border-radius:999px;height:6px}body[data-gantt-style=glass] .baseline-bar{clip-path:none;border-radius:8px}body[data-gantt-style=blueprint] .baseline-bar{clip-path:none;border-style:solid;border-radius:1px}.baseline-bar.is-same-line{height:clamp(24px, calc(var(--row-height) * .16), 38px);opacity:.58;transform:translateY(calc((var(--item-lane,0) * -34px) + var(--bar-offset-y,0px)));border-width:2px;align-self:end;margin:0 7px 8px}.baseline-milestone.is-same-line{opacity:.62;transform:translateY(calc(var(--item-lane,0) * -34px)) rotate(45deg);align-self:center;margin-bottom:0}body[data-milestone-style=circle] .baseline-milestone,.baseline-milestone.baseline-type-review{border-radius:50%;transform:none}body[data-milestone-style=flag] .baseline-milestone{border-radius:2px;width:8px;transform:none}body[data-milestone-style=flag] .baseline-milestone:after{content:"";opacity:.76;border-top:8px solid;border-right:16px solid #0000;position:absolute;top:-2px;left:8px}body[data-milestone-style=circle] .baseline-milestone.is-same-line,.baseline-milestone.baseline-type-review.is-same-line,body[data-milestone-style=flag] .baseline-milestone.is-same-line{transform:translateY(calc((var(--item-lane,0) * -34px) + var(--bar-offset-y,0px)))}.baseline-bar.task-blue,.baseline-milestone.task-blue{color:var(--blue)}.baseline-bar.task-green,.baseline-milestone.task-green{color:var(--green)}.baseline-bar.task-orange,.baseline-milestone.task-orange{color:var(--orange)}.baseline-bar.task-purple,.baseline-milestone.task-purple{color:var(--purple)}.baseline-bar.task-red,.baseline-milestone.task-red{color:var(--red)}.baseline-bar.task-slate,.baseline-milestone.task-slate{color:var(--slate)}.baseline-bar[class*=task-],.baseline-milestone[class*=task-]{color:var(--task-color,var(--slate))}body[data-view-mode=edit] .bar.is-selected,body[data-view-mode=edit] .summary-bar.is-selected,body[data-view-mode=edit] .milestone.is-selected,body[data-view-mode=edit] .bar.is-context-target,body[data-view-mode=edit] .summary-bar.is-context-target,body[data-view-mode=edit] .milestone.is-context-target{outline:3px solid #2f6df638;box-shadow:0 0 0 4px #2f6df621,0 12px 24px #0f172a33;z-index:150!important}body[data-view-mode=edit] .bar:hover,body[data-view-mode=edit] .summary-bar:hover,body[data-view-mode=edit] .milestone:hover,body[data-view-mode=edit] .bar.is-item-hovered,body[data-view-mode=edit] .summary-bar.is-item-hovered,body[data-view-mode=edit] .milestone.is-item-hovered{z-index:160!important}body[data-view-mode=edit] .dated-bracket-label.is-selected{box-shadow:none;outline:0}body[data-view-mode=presentation] .bar.is-selected,body[data-view-mode=presentation] .summary-bar.is-selected,body[data-view-mode=presentation] .milestone.is-selected,body[data-view-mode=presentation] .dated-bracket-label.is-selected{outline:0}.bar.is-critical,.summary-bar.is-critical{outline-offset:0;outline:2px solid #ef4444;box-shadow:inset 0 0 0 2px #ef4444,0 12px 24px #0f172a2e}.milestone.is-critical{outline-offset:4px;outline:2px solid #ef4444}.project-flag.is-critical .flag-marker,.project-flag.is-critical .flag-pole{box-shadow:0 0 0 2px #ef4444}.bar.is-complete{filter:grayscale(.75);opacity:.72}.milestone{width:24px;height:24px;transform:translateY(calc((var(--item-lane,0) * -34px) + var(--bar-offset-y,0px))) rotate(45deg);border-radius:3px;justify-content:center;align-items:center;margin-left:9px;display:flex;box-shadow:0 8px 18px #0f172a2e}.milestone .item-label{border:1px solid var(--label-badge-border-color,#d9e0ead1);border-radius:var(--label-radius,6px);width:max-content;max-width:160px;padding:var(--label-padding,2px 5px);background:var(--label-badge-bg,#fffffff0);transform:rotate(-45deg) translate(calc(28px + var(--label-x,0px)), calc(-28px + var(--label-y,0px)));color:var(--label-badge-text-color,var(--text));font-family:var(--label-font-family,var(--content-font-family,inherit));font-size:var(--label-font-size,calc(11px * var(--content-text-scale)));font-weight:var(--label-font-weight,760);line-height:var(--label-line-height,1.2);text-align:left;position:absolute;top:50%;left:50%}.milestone .object-tooltip{transform-origin:0 0;top:32px;left:28px;transform:rotate(-45deg)translateY(4px)}.milestone:hover .object-tooltip,.milestone:focus-visible .object-tooltip{opacity:1;transform:rotate(-45deg)translateY(0)}.milestone.milestone-shape-circle,.milestone.milestone-shape-square,.milestone.milestone-shape-triangle,.milestone.milestone-shape-hexagon,.milestone.milestone-shape-flag{transform:translateY(calc((var(--item-lane,0) * -34px) + var(--bar-offset-y,0px)))}.milestone.milestone-shape-circle{border-radius:50%}.milestone.milestone-shape-square{border-radius:4px}.milestone.milestone-shape-triangle,.milestone.milestone-shape-hexagon{box-shadow:none;border-radius:0;background:0 0!important}.milestone.milestone-shape-triangle:before,.milestone.milestone-shape-hexagon:before{content:"";background:var(--task-color,var(--brand));position:absolute;inset:0;box-shadow:0 8px 18px #0f172a2e}.milestone.milestone-shape-triangle:before{clip-path:polygon(50% 0,100% 100%,0 100%)}.milestone.milestone-shape-hexagon:before{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.milestone.milestone-shape-circle .item-label,.milestone.milestone-shape-square .item-label,.milestone.milestone-shape-triangle .item-label,.milestone.milestone-shape-hexagon .item-label,.milestone.milestone-shape-flag .item-label{transform:translate(calc(-50% + var(--label-x,0px)), calc(18px + var(--label-y,0px)))}.milestone.milestone-shape-circle .object-tooltip,.milestone.milestone-shape-square .object-tooltip,.milestone.milestone-shape-triangle .object-tooltip,.milestone.milestone-shape-hexagon .object-tooltip,.milestone.milestone-shape-flag .object-tooltip{transform:translateY(4px)}.milestone.milestone-shape-circle:hover .object-tooltip,.milestone.milestone-shape-circle:focus-visible .object-tooltip,.milestone.milestone-shape-square:hover .object-tooltip,.milestone.milestone-shape-square:focus-visible .object-tooltip,.milestone.milestone-shape-triangle:hover .object-tooltip,.milestone.milestone-shape-triangle:focus-visible .object-tooltip,.milestone.milestone-shape-hexagon:hover .object-tooltip,.milestone.milestone-shape-hexagon:focus-visible .object-tooltip,.milestone.milestone-shape-flag:hover .object-tooltip,.milestone.milestone-shape-flag:focus-visible .object-tooltip{transform:translateY(0)}body[data-view-mode=edit] .bar.is-label-hovered .object-tooltip,body[data-view-mode=edit] .summary-bar.is-label-hovered .object-tooltip,body[data-view-mode=edit] .milestone.is-label-hovered .object-tooltip{opacity:0;visibility:hidden}body[data-view-mode=edit] .bar:has(.item-label:hover) .object-tooltip{opacity:0;visibility:hidden}body[data-view-mode=edit] .bar:has(.item-label:focus-visible) .object-tooltip{opacity:0;visibility:hidden}body[data-view-mode=edit] .summary-bar:has(.item-label:hover) .object-tooltip{opacity:0;visibility:hidden}body[data-view-mode=edit] .summary-bar:has(.item-label:focus-visible) .object-tooltip{opacity:0;visibility:hidden}body[data-view-mode=edit] .milestone:has(.item-label:hover) .object-tooltip{opacity:0;visibility:hidden}body[data-view-mode=edit] .milestone:has(.item-label:focus-visible) .object-tooltip{opacity:0;visibility:hidden}body[data-view-mode=presentation] .bar.is-label-hovered .object-tooltip,body[data-view-mode=presentation] .summary-bar.is-label-hovered .object-tooltip{opacity:1;visibility:visible;transform:translateY(0)}body[data-view-mode=presentation] .bar:has(.item-label:hover) .object-tooltip{opacity:1;visibility:visible;transform:translateY(0)}body[data-view-mode=presentation] .bar:has(.item-label:focus-visible) .object-tooltip{opacity:1;visibility:visible;transform:translateY(0)}body[data-view-mode=presentation] .summary-bar:has(.item-label:hover) .object-tooltip{opacity:1;visibility:visible;transform:translateY(0)}body[data-view-mode=presentation] .summary-bar:has(.item-label:focus-visible) .object-tooltip{opacity:1;visibility:visible;transform:translateY(0)}body[data-view-mode=presentation] .milestone.is-label-hovered .object-tooltip{opacity:1;visibility:visible;transform:rotate(-45deg)translateY(0)}body[data-view-mode=presentation] .milestone:has(.item-label:hover) .object-tooltip{opacity:1;visibility:visible;transform:rotate(-45deg)translateY(0)}body[data-view-mode=presentation] .milestone:has(.item-label:focus-visible) .object-tooltip{opacity:1;visibility:visible;transform:rotate(-45deg)translateY(0)}body[data-view-mode=presentation] .milestone.milestone-shape-circle.is-label-hovered .object-tooltip,body[data-view-mode=presentation] .milestone.milestone-shape-square.is-label-hovered .object-tooltip,body[data-view-mode=presentation] .milestone.milestone-shape-triangle.is-label-hovered .object-tooltip,body[data-view-mode=presentation] .milestone.milestone-shape-hexagon.is-label-hovered .object-tooltip,body[data-view-mode=presentation] .milestone.milestone-shape-flag.is-label-hovered .object-tooltip{transform:translateY(0)}body[data-view-mode=presentation] .milestone.milestone-shape-circle:has(.item-label:hover) .object-tooltip{transform:translateY(0)}body[data-view-mode=presentation] .milestone.milestone-shape-circle:has(.item-label:focus-visible) .object-tooltip{transform:translateY(0)}body[data-view-mode=presentation] .milestone.milestone-shape-square:has(.item-label:hover) .object-tooltip{transform:translateY(0)}body[data-view-mode=presentation] .milestone.milestone-shape-square:has(.item-label:focus-visible) .object-tooltip{transform:translateY(0)}body[data-view-mode=presentation] .milestone.milestone-shape-triangle:has(.item-label:hover) .object-tooltip{transform:translateY(0)}body[data-view-mode=presentation] .milestone.milestone-shape-triangle:has(.item-label:focus-visible) .object-tooltip{transform:translateY(0)}body[data-view-mode=presentation] .milestone.milestone-shape-hexagon:has(.item-label:hover) .object-tooltip{transform:translateY(0)}body[data-view-mode=presentation] .milestone.milestone-shape-hexagon:has(.item-label:focus-visible) .object-tooltip{transform:translateY(0)}body[data-view-mode=presentation] .milestone.milestone-shape-flag:has(.item-label:hover) .object-tooltip{transform:translateY(0)}body[data-view-mode=presentation] .milestone.milestone-shape-flag:has(.item-label:focus-visible) .object-tooltip{transform:translateY(0)}.milestone.milestone-shape-flag{border-radius:2px;width:8px}.milestone.milestone-shape-flag:after{content:"";border-top:8px solid var(--task-color,var(--brand));border-right:16px solid #0000;position:absolute;top:0;left:8px}.dated-bracket-label{min-width:44px;min-height:40px;color:var(--bracket-label-color,var(--text));font-size:calc(12px * var(--content-text-scale));border:0;align-self:start;justify-items:center;margin:10px 20px 0;font-weight:760;display:grid;overflow:visible;background:0 0!important}.dated-bracket-label.has-separator-clearance{margin-top:48px}.dated-bracket-label:before,.dated-bracket-label:after{content:none}.dated-bracket-label span{text-align:center;white-space:nowrap;background:0 0;max-width:100%;margin-top:0;padding:2px 6px}.dated-bracket-label small{color:var(--bracket-label-color,var(--text));font-size:calc(11px * var(--content-text-scale));white-space:nowrap;margin-top:-2px}.dated-bracket-shade{z-index:1;clip-path:none;opacity:var(--bracket-opacity,.28);pointer-events:none;border-radius:0 0 28px 28px;align-self:stretch;margin:0 20px 20px}.separator-label{z-index:4;min-width:max-content;color:var(--text);font-size:calc(11px * var(--content-text-scale));background:0 0;border:0;align-self:start;justify-items:center;font-weight:760;display:grid;transform:translate(-50%)}.separator-label:before{content:none}.separator-label span:empty{display:none}.separator-label small,.separator-label span{white-space:nowrap;background:#ffffffe6;padding:1px 4px}.wide-range{width:100%;accent-color:var(--brand)}.color-input{background:#0f172a;border:1px solid #374151;border-radius:8px;width:100%;height:34px;padding:4px}.dependency-layer{pointer-events:none;z-index:55;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.dependency-layer .dependency-path{fill:none;stroke:#667085;stroke-width:1.8px;stroke-dasharray:none;pointer-events:stroke}.dependency-layer .dependency-link{pointer-events:visibleStroke}.dependency-layer[data-dependency-style=dotted] .dependency-path,.dependency-layer[data-dependency-style=dotted-arrow] .dependency-path,.dependency-layer[data-dependency-style=bendy-dotted] .dependency-path{stroke-dasharray:5 4}.dependency-layer[data-dependency-style=bendy-arrow] .dependency-path,.dependency-layer[data-dependency-style=bendy-dotted] .dependency-path{stroke-width:2.1px}.dependency-layer[data-dependency-style=square-step] .dependency-path{stroke-width:2px;stroke-linejoin:miter}.dependency-layer[data-dependency-style=jump-points] .dependency-path{stroke-width:2.2px;stroke-dasharray:2 3}.dependency-layer .dependency-path.is-critical{stroke:#ef4444;stroke-width:2.5px;stroke-dasharray:none}.dependency-layer .dependency-link:hover .dependency-path,.dependency-layer .dependency-link:focus .dependency-path{stroke:var(--brand);stroke-width:3px;filter:drop-shadow(0 2px 4px #2f6df640)}.dependency-elbow-handle{cursor:ew-resize;pointer-events:all}.dependency-elbow-hit{stroke:#0000;stroke-width:14px;pointer-events:stroke}.dependency-elbow-grip{opacity:0;stroke:var(--brand);stroke-width:4px;stroke-linecap:round;pointer-events:none;transition:opacity .12s}body[data-view-mode=edit] .dependency-elbow-handle:hover .dependency-elbow-grip,body.is-dependency-elbow-dragging .dependency-elbow-grip{opacity:.9}body[data-view-mode=presentation] .dependency-elbow-handle{display:none}body[data-view-mode=presentation] .dependency-layer,body[data-view-mode=presentation] .dependency-layer *{cursor:default!important;pointer-events:none!important}.dependency-layer .dependency-link.is-critical:hover .dependency-path,.dependency-layer .dependency-link.is-critical:focus .dependency-path{stroke:#ef4444}body.is-object-dragging .object-tooltip,body.is-object-dragging .floating-object-tooltip{opacity:0!important;visibility:hidden!important;display:none!important}.dependency-layer marker path{fill:#667085;stroke:none}.dependency-layer #critical-dependency-arrow path{fill:#ef4444}.dependency-jump-badge{pointer-events:visiblePainted}.dependency-jump-badge rect{fill:#fff;stroke:#667085;stroke-width:1.4px;filter:drop-shadow(0 4px 8px #0f172a29)}.dependency-jump-badge text{fill:#475467;-webkit-user-select:none;user-select:none;font-size:9px;font-weight:800}.dependency-link.is-critical .dependency-jump-badge rect,.dependency-link:hover .dependency-jump-badge rect,.dependency-jump-badge.is-critical rect,.dependency-jump-badge:hover rect{stroke:#ef4444}.dependency-link:hover .dependency-jump-badge text,.dependency-jump-badge:hover text{fill:#b91c1c}.dependency-remove{opacity:0;pointer-events:none;cursor:pointer;transition:opacity .14s,transform .14s}body[data-view-mode=edit] .dependency-link:hover .dependency-remove,body[data-view-mode=edit] .dependency-link:focus .dependency-remove,body[data-view-mode=edit] .dependency-jump-badge:hover .dependency-remove,body[data-view-mode=edit] .dependency-remove:hover{opacity:1;pointer-events:all}.dependency-jump-badge .dependency-remove{transform-box:fill-box;transform-origin:50%}.dependency-remove circle{fill:#fff;stroke:#ef4444;stroke-width:1.5px;filter:drop-shadow(0 4px 8px #0f172a2e)}.dependency-remove path{fill:none;stroke:#ef4444;stroke-width:1.5px;stroke-linecap:round}body[data-view-mode=presentation] .dependency-remove{display:none}.dependency-ghost{z-index:9999;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0;overflow:visible}.dependency-ghost-path{fill:none;stroke:var(--brand);stroke-width:2.4px;stroke-dasharray:6 4}.today-marker{z-index:4;color:#b42318;font-size:calc(10px * var(--content-text-scale));text-transform:uppercase;writing-mode:vertical-rl;border-left:2px solid #e25555;justify-content:center;font-weight:800;display:flex}.task-blue{background-color:var(--blue)}.task-green{background-color:var(--green)}.task-orange{background-color:var(--orange)}.task-purple{background-color:var(--purple)}.task-red{background-color:var(--red)}.task-slate{background-color:var(--slate)}.task-blue{--task-color:var(--task-blue);background-color:var(--task-color)}.task-azure{--task-color:var(--task-azure);background-color:var(--task-color)}.task-sky{--task-color:var(--task-sky);background-color:var(--task-color)}.task-cyan{--task-color:var(--task-cyan);background-color:var(--task-color)}.task-teal{--task-color:var(--task-teal);background-color:var(--task-color)}.task-green{--task-color:var(--task-green);background-color:var(--task-color)}.task-lime{--task-color:var(--task-lime);background-color:var(--task-color)}.task-olive{--task-color:var(--task-olive);background-color:var(--task-color)}.task-amber{--task-color:var(--task-amber);background-color:var(--task-color)}.task-orange{--task-color:var(--task-orange);background-color:var(--task-color)}.task-coral{--task-color:var(--task-coral);background-color:var(--task-color)}.task-red{--task-color:var(--task-red);background-color:var(--task-color)}.task-rose{--task-color:var(--task-rose);background-color:var(--task-color)}.task-pink{--task-color:var(--task-pink);background-color:var(--task-color)}.task-magenta{--task-color:var(--task-magenta);background-color:var(--task-color)}.task-purple{--task-color:var(--task-purple);background-color:var(--task-color)}.task-violet{--task-color:var(--task-violet);background-color:var(--task-color)}.task-indigo{--task-color:var(--task-indigo);background-color:var(--task-color)}.task-brown{--task-color:var(--task-brown);background-color:var(--task-color)}.task-slate{--task-color:var(--task-slate);background-color:var(--task-color)}.task-custom-0{--task-color:var(--task-custom-0);background-color:var(--task-color)}.task-custom-1{--task-color:var(--task-custom-1);background-color:var(--task-color)}.task-custom-2{--task-color:var(--task-custom-2);background-color:var(--task-color)}.task-custom-3{--task-color:var(--task-custom-3);background-color:var(--task-color)}.task-custom-4{--task-color:var(--task-custom-4);background-color:var(--task-color)}.task-custom-5{--task-color:var(--task-custom-5);background-color:var(--task-color)}.task-custom-6{--task-color:var(--task-custom-6);background-color:var(--task-color)}.task-custom-7{--task-color:var(--task-custom-7);background-color:var(--task-color)}.task-custom-8{--task-color:var(--task-custom-8);background-color:var(--task-color)}.task-custom-9{--task-color:var(--task-custom-9);background-color:var(--task-color)}.traffic{border-radius:50%;width:11px;height:11px;display:inline-block}.traffic.green{background:#20a878}.traffic.amber{background:#f09035}.traffic.red{background:#e25555}.harvey{background:conic-gradient(#475467 var(--p), transparent 0);border:1px solid #98a2b3;border-radius:50%;width:15px;height:15px;display:inline-block}.inspector{align-content:start;gap:12px;display:grid}.inspector-card,.panel-header,.data-sheet,.template-card,.library-row,.feature-map article,.import-layout{border:1px solid var(--border);background:var(--surface);border-radius:8px}.inspector-card{gap:10px;padding:14px;display:grid}.inspector-card.is-highlighted{border-color:var(--brand);box-shadow:0 0 0 3px #2f6df61f}.inspector-card h3,.panel-header h3{font-size:14px;line-height:1.2}.panel-header{gap:4px;margin-bottom:12px;padding:14px;display:grid}.panel-header p{color:var(--muted);font-size:12px}.form-grid,.selected-editor{gap:10px;display:grid}.form-grid label,.selected-editor label{color:var(--muted);gap:5px;font-size:12px;font-weight:720;display:grid}.form-grid input,.form-grid select,.selected-editor input,.selected-editor textarea,.selected-editor select,.import-box,.data-sheet input,.data-sheet select{border:1px solid var(--border);width:100%;min-height:34px;color:var(--text);background:#fff;border-radius:7px;padding:0 9px}.selected-editor textarea,.import-box{resize:vertical;min-height:80px;padding:9px}.data-sheet{overflow:auto}.sheet-row{border-bottom:1px solid var(--border);grid-template-columns:180px 126px 126px 110px 110px 130px 90px 110px 130px 170px;gap:0;min-width:1120px;display:grid}.sheet-row>*{border:0;border-right:1px solid var(--border);border-radius:0}.sheet-head{z-index:1;background:#f9fbff;position:sticky;top:0}.sheet-head strong{color:#475467;align-items:center;min-height:36px;padding:0 9px;font-size:12px;display:flex}.template-grid,.feature-map,.connector-grid{gap:12px;display:grid}.template-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.template-card{min-height:110px;color:var(--text);align-content:center;gap:6px;padding:16px;display:grid}.template-card strong,.library-row{font-size:14px;font-weight:780}.template-card span,.library-row span{color:var(--muted);font-size:12px}.import-layout{grid-template-columns:minmax(0,1fr) 240px;gap:14px;padding:14px;display:grid}.connector-grid{align-content:start}.library-list{gap:8px;display:grid}.library-row{min-height:48px;color:var(--text);justify-content:space-between;padding:0 14px}.feature-map{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.feature-map article{padding:14px}.feature-map h4,.feature-map p{margin:0}.feature-map h4{font-size:13px}.feature-map p{color:var(--muted);margin-top:7px;font-size:12px;line-height:1.45}body[data-theme=executive]{--bg:#eef1f5;--brand:#475467;--sidebar:#101828}body[data-theme=brand]{--brand:var(--brand)}.content-object-shell{background:#f4f6fa;grid-template-rows:minmax(0,1fr);grid-template-areas:"frame";height:100vh;min-height:0;padding:0;display:grid;position:relative;overflow:hidden}.content-edit-sidebar{grid-area:sidebar;display:none}.content-edit-sidebar.taskbar{gap:12px;padding:14px}.content-edit-sidebar .brand{align-items:flex-start;gap:10px}.content-edit-sidebar .brand-mark{border-radius:7px;width:36px;height:36px;font-size:12px}.content-edit-sidebar .brand h1{font-size:16px}.content-edit-sidebar .brand p{font-size:11px}.clear-template-button{color:#e5efff;cursor:pointer;background:#162238;border:1px solid #bfdbfe59;border-radius:7px;max-width:92px;min-height:28px;margin-left:auto;padding:0 9px;font-size:11px;font-weight:800;line-height:1.15}.clear-template-button:hover{background:#1d2b46;border-color:#93c5fdb3}.content-edit-sidebar [hidden]{display:none}.content-edit-sidebar .sidebar-section{gap:6px}.content-edit-sidebar .field-label,.content-edit-sidebar .sidebar-count{font-size:11px}.content-edit-sidebar .text-input{border-radius:7px;height:34px;padding:0 10px;font-size:12px}.content-edit-sidebar .side-action{border-radius:7px;min-height:32px;padding:0 9px;font-size:11px}.content-edit-sidebar .task-items{max-height:300px}body[data-view-mode=edit] .content-edit-sidebar[data-active-panel=tasks]{overflow-y:hidden}body[data-view-mode=edit] .content-edit-sidebar[data-active-panel=tasks] .row-list{flex:none}body[data-view-mode=edit] .content-edit-sidebar[data-active-panel=tasks] .row-items{max-height:min(190px,22vh)}body[data-view-mode=edit] .content-edit-sidebar[data-active-panel=tasks] .task-list[data-sidebar-panel=tasks]{flex-direction:column;flex:auto;min-height:0;display:flex}body[data-view-mode=edit] .content-edit-sidebar[data-active-panel=tasks] #content-task-list{flex:auto;min-height:0;max-height:none}.content-edit-sidebar .task-item{border-radius:7px;gap:8px;min-height:46px;padding:8px}.content-edit-sidebar .task-item strong{font-size:12px}.content-edit-sidebar .task-item small{font-size:10px}.content-edit-sidebar .excel-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.content-edit-sidebar .excel-panel .section-heading,.content-edit-sidebar .excel-panel #export-html,.content-edit-sidebar .excel-panel #excel-roundtrip-status,.content-edit-sidebar .excel-panel input[type=file]{grid-column:1/-1}.content-edit-sidebar .excel-panel #export-excel,.content-edit-sidebar .excel-panel #import-excel{text-align:center;justify-content:center}.content-side-rail,.content-bottom-tray{background:var(--sidebar);display:none}.content-side-rail{grid-area:side}.content-bottom-tray{z-index:300;grid-area:bottom;min-width:0;padding:14px 18px;position:relative;overflow:visible}.property-panel{isolation:isolate;grid-template-columns:minmax(140px,.95fr) repeat(7,minmax(128px,1fr));align-content:start;align-items:start;gap:12px;min-width:0;height:100%;display:grid;overflow:visible}.property-panel.is-empty{color:#d1d5db;grid-template-columns:1fr;align-content:center}.property-panel.is-empty strong{color:#fff;font-size:13px}.property-panel.is-empty span{color:var(--sidebar-muted);font-size:12px}.property-summary{color:#fff;gap:5px;min-width:0;display:grid}.property-summary span,.property-panel label span,.paint-color-picker>span{color:var(--sidebar-muted);font-size:11px;font-weight:760}.property-title-action{justify-content:space-between;align-items:center;gap:8px;min-height:14px;padding-right:30px;display:flex;position:relative}.property-title-action b{color:#fff;font-weight:800}.property-icon-button{color:#dbeafe;cursor:pointer;background:#172033;border:1px solid #334155;border-radius:6px;place-items:center;width:22px;height:22px;min-height:22px;padding:0;display:inline-grid;position:absolute;top:50%;right:0;transform:translateY(-50%)}.property-icon-button:hover{border-color:var(--brand);background:#1e2a44}.property-icon-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.property-summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.2;overflow:hidden}.property-panel label,.paint-color-picker{align-self:start;gap:5px;min-width:0;display:grid}.property-panel .property-check-row{align-items:center;gap:9px;min-height:46px;display:flex}.property-check-row input{width:18px;height:18px;accent-color:var(--brand)}.property-panel label>span,.paint-color-picker>span,.relation-dropdown>span{align-items:center;min-height:14px;display:flex}.row-property-panel{align-items:start}.row-property-panel .property-summary{align-self:center}.row-property-panel .paint-color-menu summary{min-height:36px}.status-settings-editor{grid-column:span 3;gap:5px;min-width:0;display:grid;position:relative}.status-settings-editor summary{color:#fff;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:7px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;height:36px;min-height:36px;padding:0 10px;list-style:none;display:grid}.status-settings-editor summary::-webkit-details-marker{display:none}.status-settings-editor summary:after{content:"";border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;transform:rotate(45deg)translateY(-2px)}.status-settings-editor[open] summary:after{transform:rotate(225deg)translateY(-1px)}.status-settings-editor summary>span{color:var(--sidebar-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:760;overflow:hidden}.status-settings-editor summary strong{color:#dbeafe;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:780;overflow:hidden}.status-settings-body{z-index:1300;background:#111827;border:1px solid #334155;border-radius:8px;gap:10px;width:min(760px,100vw - 72px);max-height:min(520px,100vh - 180px);padding:12px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0;overflow:auto;box-shadow:0 22px 50px #00000057}.status-style-field{max-width:220px}.status-option-list{gap:8px;display:grid}.status-option-editor{background:#172033;border:1px solid #22304a;border-radius:8px;grid-template-columns:minmax(160px,1fr) minmax(124px,150px) auto;align-items:end;gap:8px;min-width:0;padding:8px;display:grid}.status-option-editor .paint-color-menu summary{min-height:36px}.status-option-editor .paint-color-popover{bottom:calc(100% + 6px)}.status-option-editor .mini-action{white-space:nowrap;min-height:36px}.status-option-editor .mini-action:disabled{cursor:not-allowed;opacity:.45}.property-range-field{grid-template-rows:auto 34px minmax(14px,auto)}.property-range-field input[type=range]{align-self:center}.relation-dropdown{gap:5px;min-width:0;display:grid;position:relative}.relation-dropdown>span{color:var(--sidebar-muted);font-size:11px;font-weight:760}.relation-menu{min-width:0;position:relative}.relation-menu summary{height:36px;min-height:36px;color:var(--text);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #334155;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;font-size:12px;font-weight:650;list-style:none;display:flex;overflow:hidden}.relation-menu summary::-webkit-details-marker{display:none}.relation-menu summary:after{content:"";border-bottom:2px solid #475467;border-right:2px solid #475467;flex:none;width:7px;height:7px;transform:rotate(45deg)translateY(-2px)}.relation-menu[open] summary:after{transform:rotate(225deg)translateY(-1px)}.relation-options{z-index:1200;background:#fff;border:1px solid #334155;border-radius:8px;width:min(280px,72vw);max-height:230px;padding:6px;display:grid;position:absolute;bottom:calc(100% + 6px);right:0;overflow:auto;box-shadow:0 16px 36px #0f172a47}.relation-option{min-height:30px;color:var(--text);cursor:pointer;border-radius:6px;grid-template-columns:18px 1fr;align-items:center;padding:5px 7px;font-size:12px;font-weight:650;gap:8px!important;display:grid!important}.relation-option:hover{background:#eef4ff}.relation-option input{accent-color:var(--brand);width:16px!important;min-height:16px!important}.relation-option span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;color:var(--text)!important}.relation-empty{color:#667085;padding:8px;font-size:12px}.property-panel input,.property-panel select,.property-panel textarea{width:100%;min-height:36px;color:var(--text);background:#fff;border:1px solid #334155;border-radius:8px;outline:0;padding:7px 9px;font-size:12px;font-weight:650}.property-panel input[type=range]{appearance:none;cursor:pointer;min-height:36px;accent-color:var(--brand);touch-action:pan-x;padding:0}.property-panel input[type=range]::-webkit-slider-runnable-track{appearance:none;background:#e5e7eb;border-radius:999px;height:7px}.property-panel input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--brand);cursor:grab;border:2px solid #0f172a;border-radius:50%;width:20px;height:20px;margin-top:-6.5px}.property-panel input[type=range]::-webkit-slider-thumb:active{cursor:grabbing}.property-panel input[type=range]::-moz-range-track{background:#e5e7eb;border-radius:999px;height:7px}.property-panel input[type=range]::-moz-range-thumb{background:var(--brand);cursor:grab;border:2px solid #0f172a;border-radius:50%;width:18px;height:18px}.row-height-note{color:#fbbf24;min-height:14px;font-size:10px;font-weight:720;line-height:1.25}.property-panel textarea{resize:none;min-height:58px}.property-panel input:disabled{color:#667085;background:#e5e7eb}.property-color-select{color:#fff!important;border-width:2px!important;border-color:currentColor!important}.property-panel .property-color-select.task-blue{background-color:var(--blue)}.property-panel .property-color-select.task-green{background-color:var(--green)}.property-panel .property-color-select.task-orange{background-color:var(--orange)}.property-panel .property-color-select.task-purple{background-color:var(--purple)}.property-panel .property-color-select.task-red{background-color:var(--red)}.property-panel .property-color-select.task-slate{background-color:var(--slate)}.property-color-select option{color:var(--text);background:#fff}.color-menu{min-width:0;position:relative}.color-menu summary{height:36px;min-height:36px;color:var(--text);cursor:pointer;background:#fff;border:1px solid #334155;border-radius:7px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:0 10px 0 12px;list-style:none;display:grid}.color-menu summary::-webkit-details-marker{display:none}.color-menu summary:after{content:"";border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;margin-left:2px;transform:rotate(45deg)translateY(-2px)}.color-menu[open] summary:after{transform:rotate(225deg)translateY(-1px)}.color-menu-label{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.color-swatch{border:1px solid #0f172a2e;border-radius:4px;flex:none;width:18px;height:18px;display:inline-block;box-shadow:inset 0 0 0 1px #fff3}.color-options{z-index:1200;background:#fff;border:1px solid #cbd5e1;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:4px;width:min(720px,100vw - 48px);max-height:min(360px,100vh - 120px);padding:6px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0;overflow:auto;box-shadow:0 18px 45px #0f172a3d}.color-option{min-height:34px;color:var(--text);text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 7px 6px 9px;font-size:12px;font-weight:760;display:grid}.color-option:hover,.color-option.is-selected{background:#eff6ff;border-color:#bfdbfe}.color-option span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.paint-color-menu{min-width:0;position:relative}.label-custom-grid{gap:9px;padding-top:4px;display:grid}.label-custom-field{gap:5px;display:grid}.label-custom-field span,.format-label-color-picker .paint-color-picker>span{color:#bfdbfe;font-size:11px;font-weight:720}.paint-color-menu summary{height:36px;min-height:36px;color:var(--text);cursor:pointer;background:#fff;border:1px solid #334155;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 10px;list-style:none;display:grid}.paint-color-menu summary::-webkit-details-marker{display:none}.paint-color-menu summary:after{content:"";border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;transform:rotate(45deg)translateY(-2px)}.paint-color-menu[open] summary:after{transform:rotate(225deg)translateY(-1px)}.paint-color-current{background:var(--paint-color);border:1px solid #0f172a2e;border-radius:2px;width:100%;height:14px;display:block}.paint-color-popover{z-index:1200;background:#fff;border:1px solid #cbd5e1;border-radius:8px;gap:7px;width:max-content;max-width:calc(100vw - 48px);padding:8px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 18px 45px #0f172a3d}.paint-preset-grid,.paint-custom-grid{grid-template-columns:repeat(auto-fit,22px);grid-auto-flow:row;align-items:center;gap:6px;width:min(274px,100vw - 84px);display:grid}.paint-custom-grid{grid-template-columns:repeat(auto-fit,28px)}.paint-swatch-button{background:0 0;border:0;border-radius:50%;place-items:center;width:22px;height:22px;padding:0;display:grid}.paint-swatch{background:var(--paint-color,#fff);border:1px solid #0f172a47;border-radius:50%;width:18px;height:18px;display:block}.paint-swatch-button:hover .paint-swatch,.paint-swatch-button.is-selected .paint-swatch{outline:2px solid var(--brand);outline-offset:2px}.paint-swatch-button.is-empty{pointer-events:none}.paint-swatch-button.is-empty .paint-swatch{background:#fff;border-color:#9ca3af}.paint-custom-picker{cursor:pointer;background:conic-gradient(#ef4444,#f59e0b,#facc15,#22c55e,#06b6d4,#3b82f6,#8b5cf6,#ef4444);border:1px solid #cbd5e1;border-radius:50%;place-items:center;width:26px;height:26px;display:grid;position:relative}.paint-custom-picker input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.paint-custom-picker span{background:#fff;border:1px solid #64748b;border-radius:50%;place-items:center;width:12px;height:12px;display:grid;position:absolute;top:-4px;right:-4px}.paint-custom-picker span:before,.paint-custom-picker span:after{content:"";background:#475569;width:7px;height:1px;position:absolute}.paint-custom-picker span:after{transform:rotate(90deg)}.property-wide{grid-column:span 2}.content-object-bar{grid-area:bar;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:none}.content-object-title{align-items:center;gap:10px;min-width:0;display:flex}.content-object-title strong{font-size:14px;line-height:1.1;display:block}.content-object-title span{color:var(--muted);font-size:11px;font-weight:700}.content-object-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.content-object-actions button,.content-object-actions select{border:1px solid var(--border);min-height:32px;color:var(--text);background:#fff;border-radius:7px;padding:0 10px;font-size:12px;font-weight:720}.content-object-actions button{background:var(--brand);color:#fff}.content-object-actions .mode-button{min-height:26px;color:var(--muted);background:0 0;border:0}.content-object-actions .mode-button.is-active{color:var(--brand);background:#fff}.content-object-frame{--title-space:0px;border:1px solid var(--border);min-height:0;font-family:var(--content-font-family,inherit);background:#fff;border-radius:8px;grid-area:frame;position:relative;overflow:hidden;box-shadow:0 10px 28px #1f29371f}.content-chart-title{z-index:18;max-width:min(540px,100% - 36px);color:var(--text);pointer-events:none;gap:3px;display:grid;position:absolute;top:12px;left:18px}.content-chart-title[hidden]{display:none}.content-chart-title strong{font-size:clamp(calc(18px * var(--content-text-scale)), calc(2vw * var(--content-text-scale)), calc(28px * var(--content-text-scale)));text-overflow:ellipsis;white-space:nowrap;line-height:1.05;overflow:hidden}.content-chart-title span{color:#475467;font-size:clamp(calc(11px * var(--content-text-scale)), calc(1.1vw * var(--content-text-scale)), calc(15px * var(--content-text-scale)));text-overflow:ellipsis;white-space:nowrap;font-weight:720;line-height:1.2;overflow:hidden}.content-object-frame .timeline{width:calc((var(--left-columns) * var(--left-column-width)) + (var(--unit-count) * var(--unit-width)) + (var(--right-columns,0) * var(--right-column-width)));height:var(--timeline-height,auto);min-width:calc((var(--left-columns) * var(--left-column-width)) + (var(--unit-count) * var(--unit-width)) + (var(--right-columns,0) * var(--right-column-width)));margin-top:var(--title-space)}body[data-view-mode=presentation] .content-object-shell{background:#fff;grid-template-rows:minmax(0,1fr);grid-template-areas:"frame";height:100vh;min-height:0;padding:0;overflow:hidden}body[data-view-mode=presentation] .content-object-bar,body[data-view-mode=presentation] .content-edit-sidebar,body[data-view-mode=presentation] .content-side-rail,body[data-view-mode=presentation] .content-bottom-tray,body[data-view-mode=presentation] .content-edit-action{display:none}body[data-view-mode=presentation] .content-object-frame{width:100vw;height:100vh;box-shadow:none;border:0;border-radius:0;overflow:hidden}body[data-view-mode=edit] .content-object-shell{grid-template-columns:var(--content-sidebar-width) minmax(0, 1fr);grid-template-rows:minmax(0, 1fr) var(--content-edge-size);grid-template-areas:"sidebar frame""sidebar bottom";height:100vh;min-height:0;padding:0}body[data-view-mode=edit] .content-edit-sidebar{overscroll-behavior:contain;height:100%;min-height:0;display:flex;overflow:hidden auto}body[data-view-mode=edit] .content-edit-sidebar .task-items{overflow:auto}body[data-view-mode=edit] .content-side-rail,body[data-view-mode=edit] .content-bottom-tray{display:block}body[data-view-mode=edit] .content-side-rail,body[data-view-mode=edit] .content-object-bar{display:none}body[data-view-mode=edit] .content-object-frame{aspect-ratio:16/9;width:100%;height:auto;max-height:100%;box-shadow:none;border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0;margin:0 14px 0 0}.presentation-context-menu{z-index:2147483000;isolation:isolate;background:#fff;border:1px solid #0f172a1f;border-radius:8px;min-width:210px;max-height:calc(100vh - 16px);padding:6px;display:grid;position:fixed;overflow-y:auto;box-shadow:0 18px 40px #0f172a33}.presentation-context-menu[hidden]{display:none}.presentation-context-menu button{width:100%;min-height:34px;color:var(--text);text-align:left;background:#fff;border:0;border-radius:6px;padding:0 10px;font-size:12px;font-weight:760}.presentation-context-menu button:hover,.presentation-context-menu button:focus-visible{color:var(--brand);background:#eef4ff}@media (width<=1100px){.work-area{grid-template-columns:1fr}.inspector{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}@media (width<=760px){.app-shell{grid-template-columns:1fr}.taskbar{min-height:auto}.tool-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{padding:18px}.workspace-header{flex-direction:column;align-items:flex-start}.header-actions,.canvas-toolbar{flex-wrap:wrap;width:100%}.primary-button,.secondary-button{flex:1}.import-layout{grid-template-columns:1fr}.tooltip{top:calc(100% + 8px);left:0;transform:translateY(4px)}.tool-button:hover .tooltip,.tool-button:focus-visible .tooltip,.side-action:hover .tooltip,.side-action:focus-visible .tooltip{transform:translateY(0)}}
