.baseline-metrics{background:var(--color-bg-elevated,#1e293b);border:1px solid var(--color-border,#334155);border-radius:.375rem;align-items:center;gap:.5rem;margin-left:.5rem;padding:.25rem .625rem;font-size:.75rem;display:flex}.baseline-metrics__project{align-items:center;gap:.25rem;display:flex}.baseline-metrics__project--behind{color:#ef4444}.baseline-metrics__project--ahead{color:#22c55e}.baseline-metrics__project--on_track{color:#2563eb}.baseline-metrics__icon{font-size:.875rem}.baseline-metrics__value{font-size:.875rem;font-weight:700}.baseline-metrics__label{opacity:.9;font-weight:500}.baseline-metrics__divider{background:var(--color-border,#334155);opacity:.5;width:1px;height:1rem}.baseline-metrics__stat{color:var(--color-text-secondary,#94a3b8);align-items:center;gap:.25rem;display:flex}.baseline-metrics__stat-value{color:var(--color-text-primary,#f1f5f9);font-weight:600}.baseline-metrics__stat-value--warning{color:#f59e0b}.baseline-metrics__stat-value--critical{color:#ef4444}.baseline-metrics__stat-label{text-transform:uppercase;letter-spacing:.025em;font-size:.6875rem;font-weight:400}[data-color-mode=light] .baseline-metrics{background:#fff;border-color:#e2e8f0}[data-color-mode=light] .baseline-metrics__stat{color:#64748b}[data-color-mode=light] .baseline-metrics__stat-value{color:#1e293b}.baseline-status-dot{cursor:default;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;display:flex;position:relative}.baseline-status-dot__indicator{border-radius:50%;width:.625rem;height:.625rem;transition:transform .15s}.baseline-status-dot:hover .baseline-status-dot__indicator{transform:scale(1.2)}.baseline-status-dot__indicator--ahead{background:var(--color-success,#22c55e);box-shadow:0 0 6px #22c55e66}.baseline-status-dot__indicator--on_track{background:#2563eb;box-shadow:0 0 6px #2563eb80}.baseline-status-dot__indicator--behind{background:var(--color-error,#ef4444);box-shadow:0 0 6px #ef444466}.baseline-status-dot__indicator--disabled{border:1.5px solid var(--color-text-muted,#4b5563);opacity:.5;box-shadow:none;background:0 0}.baseline-status-dot__tooltip{background:var(--color-bg-elevated,#1e293b);border:1px solid var(--color-border,#334155);white-space:nowrap;opacity:0;visibility:hidden;z-index:300;box-shadow:var(--shadow-lg,0 10px 15px -3px #0000004d);pointer-events:none;border-radius:.375rem;padding:.5rem .75rem;transition:opacity .2s,visibility .2s;position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%)}.baseline-status-dot__tooltip:after{content:"";border:6px solid #0000;border-top-color:var(--color-bg-elevated,#1e293b);position:absolute;top:100%;left:50%;transform:translate(-50%)}.baseline-status-dot:hover .baseline-status-dot__tooltip{opacity:1;visibility:visible}.baseline-status-dot__tooltip-status{color:var(--color-text-primary,#f1f5f9);margin-bottom:.125rem;font-size:.8125rem;font-weight:600}.baseline-status-dot__tooltip-detail{color:var(--color-text-secondary,#94a3b8);font-size:.6875rem}[data-color-mode=light] .baseline-status-dot__tooltip{background:#fff;border-color:#e2e8f0;box-shadow:0 10px 15px -3px #0000001a}[data-color-mode=light] .baseline-status-dot__tooltip:after{border-top-color:#fff}[data-color-mode=light] .baseline-status-dot__tooltip-status{color:#1e293b}[data-color-mode=light] .baseline-status-dot__tooltip-detail{color:#64748b}
.gantt-visibility-settings{position:relative}.gantt-visibility-toggle{border:1px solid var(--border-color,#e5e7eb);width:2rem;height:2rem;color:var(--text-muted,#6b7280);cursor:pointer;background:0 0;border-radius:.375rem;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.gantt-visibility-toggle:hover{background:var(--bg-hover,#f3f4f6);color:var(--text-color,#374151);border-color:var(--primary-color,#3b82f6)}.gantt-visibility-toggle--active{background:var(--primary-color,#3b82f6);color:#fff;border-color:var(--primary-color,#3b82f6)}.gantt-visibility-toggle--active:hover{color:#fff;background:#2563eb}.gantt-visibility-dropdown{border:1px solid var(--border-color,#e5e7eb);z-index:100;background:#fff;border-radius:.5rem;min-width:12.5rem;position:absolute;bottom:calc(100% + .25rem);right:0;overflow:hidden;box-shadow:0 4px 12px #00000026}.gantt-visibility-header{color:var(--text-muted,#6b7280);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-subtle,#f9fafb);border-bottom:1px solid var(--border-color,#e5e7eb);padding:.625rem .75rem;font-size:.75rem;font-weight:600}.gantt-visibility-option{cursor:pointer;align-items:center;gap:.625rem;padding:.625rem .75rem;transition:background-color .1s;display:flex}.gantt-visibility-option:hover{background:var(--bg-hover,#f3f4f6)}.gantt-visibility-option input[type=checkbox]{cursor:pointer;width:1rem;height:1rem;accent-color:var(--primary-color,#3b82f6);margin:0}.gantt-visibility-option-label{color:var(--text-color,#374151);font-size:.875rem}.gantt-visibility-divider{background:var(--border-color,#e5e7eb);height:1px;margin:.25rem 0}.gantt-visibility-option--locked{opacity:.5;cursor:not-allowed}.gantt-visibility-option--locked:hover{background:0 0}.gantt-visibility-option--locked input[type=checkbox]{cursor:not-allowed}.gantt-visibility-pro-badge{background:var(--color-accent-primary,#0d9488);color:#fff;text-transform:uppercase;letter-spacing:.025em;vertical-align:middle;border-radius:.25rem;margin-left:.375rem;padding:.0625rem .375rem;font-size:.625rem;font-weight:600;display:inline-block}@media (prefers-color-scheme:dark){.gantt-visibility-dropdown{background:#1f2937;border-color:#374151}.gantt-visibility-header{color:#9ca3af;background:#111827;border-color:#374151}.gantt-visibility-option:hover{background:#374151}.gantt-visibility-option-label{color:#e5e7eb}.gantt-visibility-divider{background:#374151}.gantt-visibility-toggle{color:#9ca3af;border-color:#374151}.gantt-visibility-toggle:hover{color:#e5e7eb;background:#374151}}
.ghl{--ghl-label-width:9rem;--ghl-symbol-size:.5rem;--ghl-symbol-opacity:.7;border-top:1px dashed var(--color-border);background:var(--color-bg-tertiary);width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;position:relative}.ghl__title{padding:.375rem var(--ghl-label-width) .25rem .75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary);-webkit-user-select:none;user-select:none;font-size:.5625rem;font-weight:700}.ghl__rows{position:relative}.ghl__row{align-items:center;display:flex;position:relative}.ghl__row-label{flex:0 0 var(--ghl-label-width);width:var(--ghl-label-width);color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;padding:0 .5rem 0 .75rem;font-size:.6875rem;overflow:hidden}.ghl__track{flex:auto;align-self:stretch;min-width:0;position:relative}.ghl__symbol{width:var(--ghl-symbol-size);height:var(--ghl-symbol-size);background:var(--ghl-symbol-color,var(--color-accent-primary));opacity:var(--ghl-symbol-opacity);pointer-events:auto;position:absolute;top:50%;transform:translate(-50%,-50%)}.ghl__symbol--dot{border-radius:50%}.ghl__symbol--square{border-radius:1px}.ghl__symbol--diamond{border-radius:1px;transform:translate(-50%,-50%)rotate(45deg)}.ghl--collapsed .ghl__title{padding-right:0}@media (prefers-contrast:more){.ghl{--ghl-symbol-opacity:1}}
.gantt-chart{background:var(--color-bg-tertiary);border-radius:.75rem;flex-direction:column;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;display:flex;position:relative;overflow:hidden}.gantt-chart:focus{outline:2px solid var(--color-accent-primary);outline-offset:-2px}.gantt-header{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);height:4.625rem;position:relative;overflow:hidden}.gantt-time-header{flex-direction:column;height:100%;display:flex;position:relative}.gantt-marker-flags{pointer-events:none;background:var(--color-bg-secondary);flex-shrink:0;height:2.5rem;position:relative;overflow:hidden}.fixed-task-column{padding-top:2.5rem}.gantt-marker-flag{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;color:#fff;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:.1875rem;padding:.1875rem .375rem;font-size:.5625rem;font-weight:600;position:absolute;bottom:.125rem;transform:translate(-50%);box-shadow:0 1px 2px #0003}.gantt-marker-flags__backdrop{pointer-events:none;position:absolute;top:0;bottom:0}.gantt-marker-flags__backdrop--today{background:#f59e0b26}.gantt-marker-flags__backdrop--start{background:#10b98126}.gantt-marker-flags__backdrop--deadline{background:#ef44442e}.gantt-marker-flags__backdrop--today.gantt-marker-flags__backdrop--start{background:linear-gradient(135deg,#10b98126 0%,#f59e0b26 100%)}.gantt-marker-flags__backdrop--today.gantt-marker-flags__backdrop--deadline{background:linear-gradient(135deg,#ef44442e 0%,#f59e0b26 100%)}.gantt-marker-flags__backdrop--start.gantt-marker-flags__backdrop--deadline{background:linear-gradient(135deg,#10b98126 0%,#ef44442e 100%)}.gantt-marker-flags__backdrop--today.gantt-marker-flags__backdrop--start.gantt-marker-flags__backdrop--deadline{background:linear-gradient(135deg,#10b98126 0%,#f59e0b26 50%,#ef44442e 100%)}.gantt-marker-flag--today{background:#f59e0b}.gantt-marker-flag--start{background:#10b981}.gantt-marker-flag--deadline{background:#ef4444}.gantt-marker-flag--stacked{bottom:1.375rem}.gantt-time-header__months{border-bottom:1px solid var(--color-border);height:1.625rem;position:relative}.gantt-header__month-tint{pointer-events:none;z-index:1;height:1.625rem;position:absolute;top:0}.gantt-header__month-tint--today{background:#f59e0b1a}.gantt-header__month-tint--project-start{background:#10b9811a}.gantt-header__month-tint--deadline{background:#ef44441f}.gantt-header__month-tint--today.gantt-header__month-tint--project-start{background:linear-gradient(135deg,#10b9811a 0%,#f59e0b1a 100%)}.gantt-header__month-tint--today.gantt-header__month-tint--deadline{background:linear-gradient(135deg,#ef44441f 0%,#f59e0b1a 100%)}.gantt-header__month-tint--project-start.gantt-header__month-tint--deadline{background:linear-gradient(135deg,#10b9811a 0%,#ef44441f 100%)}.gantt-header__month-tint--today.gantt-header__month-tint--project-start.gantt-header__month-tint--deadline{background:linear-gradient(135deg,#10b9811a 0%,#f59e0b1a 50%,#ef44441f 100%)}.gantt-time-header__month{border-right:1px solid var(--color-border);background:var(--color-bg-elevated);height:100%;color:var(--color-text-primary);letter-spacing:.02em;align-items:center;padding-left:.75rem;font-size:.8125rem;font-weight:600;display:flex;position:absolute}.gantt-time-header__month-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gantt-time-header__weekdays{border-bottom:1px solid var(--color-border-subtle);height:1.375rem;position:relative}.gantt-time-header__weekday{border-right:1px solid var(--color-border-subtle);height:100%;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;justify-content:center;align-items:center;font-size:.625rem;font-weight:500;display:flex;position:absolute}.gantt-time-header__weekday--weekend{background:var(--gantt-weekend-header-bg,#ef444414);color:var(--gantt-weekend-text,#ef4444)}.gantt-time-header__weekday--project-start{color:#10b981;background:#10b98126;font-weight:700}.gantt-time-header__weekday--deadline{color:#ef4444;background:#ef44442e;font-weight:700}.gantt-time-header__weekday--today{color:#f59e0b;background:#f59e0b26;font-weight:700}.gantt-time-header__weekday--today.gantt-time-header__weekday--project-start{color:#f59e0b;background:linear-gradient(135deg,#10b9812e 0%,#f59e0b33 100%)}.gantt-time-header__weekday--today.gantt-time-header__weekday--deadline{color:#f59e0b;background:linear-gradient(135deg,#ef444433 0%,#f59e0b33 100%)}.gantt-time-header__weekday--project-start.gantt-time-header__weekday--deadline{color:#ef4444;background:linear-gradient(135deg,#10b9812e 0%,#ef444433 100%)}.gantt-time-header__weekday--today.gantt-time-header__weekday--project-start.gantt-time-header__weekday--deadline{color:#f59e0b;background:linear-gradient(135deg,#10b9812e 0%,#f59e0b33 50%,#ef444433 100%)}.gantt-time-header__weekday-label{font-weight:600}.gantt-time-header__days{height:1.5rem;position:relative}.gantt-time-header__cell{border-right:1px solid var(--color-border-subtle);height:100%;color:var(--color-text-secondary);letter-spacing:.02em;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:.6875rem;display:flex;position:absolute}.gantt-time-header__cell--weekend{background:var(--gantt-weekend-header-bg,#ef444414);color:var(--gantt-weekend-text,#ef4444)}.gantt-time-header__cell--project-start{color:#10b981;background:#10b98126;font-weight:600}.gantt-time-header__cell--deadline{color:#ef4444;background:#ef44442e;font-weight:600}.gantt-time-header__cell--today{color:#f59e0b;background:#f59e0b26;font-weight:600}.gantt-time-header__cell--today.gantt-time-header__cell--project-start{color:#f59e0b;background:linear-gradient(135deg,#10b9812e 0%,#f59e0b33 100%)}.gantt-time-header__cell--today.gantt-time-header__cell--deadline{color:#f59e0b;background:linear-gradient(135deg,#ef444433 0%,#f59e0b33 100%)}.gantt-time-header__cell--project-start.gantt-time-header__cell--deadline{color:#ef4444;background:linear-gradient(135deg,#10b9812e 0%,#ef444433 100%)}.gantt-time-header__cell--today.gantt-time-header__cell--project-start.gantt-time-header__cell--deadline{color:#f59e0b;background:linear-gradient(135deg,#10b9812e 0%,#f59e0b33 50%,#ef444433 100%)}.gantt-time-header__label{font-weight:500}.gantt-zoom-indicator{background:var(--color-bg-elevated,#000000b3);color:var(--color-text-primary,#fff);letter-spacing:.03em;pointer-events:none;z-index:30;opacity:0;border-radius:.375rem;padding:.25rem .625rem;font-size:.6875rem;font-weight:600;transition:opacity .2s ease-out;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gantt-zoom-indicator--visible{opacity:1}.gantt-body{cursor:grab;background:var(--color-bg-tertiary);touch-action:manipulation;overscroll-behavior:contain;flex:1;position:relative;overflow:auto}@media (max-width:480px),(pointer:coarse){.gantt-body{touch-action:none;overscroll-behavior:none}.gantt-body[data-task-dragging=true]{overscroll-behavior:none}}.gantt-body--panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.gantt-content{min-width:100%;position:relative}.gantt-grid{pointer-events:none;position:absolute;top:0;left:0}.gantt-markers{pointer-events:none;z-index:200;position:absolute;top:0;left:0}.gantt-grid__line{background:var(--color-border-subtle);width:.0625rem;position:absolute;top:0}.gantt-grid__line--weekend{background:var(--gantt-weekend-bg)}.gantt-grid__line--today{z-index:1;background:#22d3ee1f}[data-color-mode=dark] .gantt-grid__line--today{background:#22d3ee14}.gantt-grid__line--hover{z-index:1;background:#06b6d414}[data-color-mode=dark] .gantt-grid__line--hover{background:#06b6d40f}.gantt-grid__line--drop-target{border-left:.125rem solid var(--color-accent-primary);border-right:.125rem solid var(--color-accent-primary);box-sizing:border-box;z-index:2;background:#06b6d440;animation:.8s ease-in-out infinite drop-target-pulse}@keyframes drop-target-pulse{0%,to{background:#06b6d433}50%{background:#06b6d459}}.gantt-day-highlight{pointer-events:none;z-index:4;background:#06b6d41f;border-left:2px solid #06b6d466;border-right:2px solid #06b6d466;transition:left 50ms ease-out;position:absolute;top:0}[data-color-mode=light] .gantt-day-highlight{background:#06b6d414;border-color:#06b6d44d}.gantt-drop-target-fallback{border-left:2px solid var(--color-accent-primary,#3b82f6);border-right:2px solid var(--color-accent-primary,#3b82f6);pointer-events:none;z-index:4;box-sizing:border-box;background:#06b6d440;animation:.8s ease-in-out infinite drop-target-pulse;position:absolute;top:0}.gantt-mobile-drag-tooltip{background:var(--color-accent-primary,#0d9488);color:#fff;z-index:50;pointer-events:none;border-radius:999px;align-items:center;gap:.5rem;padding:.375rem .75rem;font-size:.8125rem;animation:.15s ease-out gantt-mobile-drag-tooltip-in;display:flex;position:absolute;top:.5rem;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000040}.gantt-mobile-drag-tooltip__label{opacity:.75;text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem;font-weight:500}.gantt-mobile-drag-tooltip__date{font-variant-numeric:tabular-nums;font-weight:700}@keyframes gantt-mobile-drag-tooltip-in{0%{opacity:0;transform:translate(-50%,-4px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.gantt-mobile-drag-tooltip{animation:none}}[data-color-mode=light] .gantt-drop-target-fallback{background:#06b6d433}.gantt-grid__nonworking-marker{background:var(--gantt-weekend-bg,#64748b14);pointer-events:none;z-index:1;box-sizing:border-box;position:absolute;top:0}[data-color-mode=dark] .gantt-grid__nonworking-marker{background:var(--gantt-weekend-bg,#64748b0f)}.gantt-grid__column-tint{pointer-events:none;z-index:1;position:absolute;top:0;bottom:0}.gantt-grid__column-tint--today{background:#f59e0b14}.gantt-grid__column-tint--project-start{background:#10b98114}.gantt-grid__column-tint--deadline{background:#ef44441a}.gantt-grid__column-tint--today.gantt-grid__column-tint--project-start{background:linear-gradient(135deg,#10b98114 0%,#f59e0b14 100%)}.gantt-grid__column-tint--today.gantt-grid__column-tint--deadline{background:linear-gradient(135deg,#ef44441a 0%,#f59e0b14 100%)}.gantt-grid__column-tint--project-start.gantt-grid__column-tint--deadline{background:linear-gradient(135deg,#10b98114 0%,#ef44441a 100%)}.gantt-grid__column-tint--today.gantt-grid__column-tint--project-start.gantt-grid__column-tint--deadline{background:linear-gradient(135deg,#10b98114 0%,#f59e0b14 50%,#ef44441a 100%)}.gantt-grid__today{z-index:5;pointer-events:none;background:#f59e0b;width:.125rem;position:absolute;top:0;bottom:0;box-shadow:0 0 8px #f59e0b4d}.gantt-grid__project-start{z-index:5;background:#10b981;width:.125rem;position:absolute;top:0;bottom:0}.gantt-grid__deadline{z-index:5;background:#ef4444;width:.125rem;position:absolute;top:0;bottom:0}.gantt-grid__project-start:before{content:"";border-top:10px solid #10b981;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0;position:absolute;top:0;left:-.3125rem}.gantt-grid__deadline:before{content:"";border-top:10px solid #ef4444;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0;position:absolute;top:0;left:-.3125rem}.gantt-grid__marker-label{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;z-index:6;border-radius:.1875rem;padding:.1875rem .375rem;font-size:.5625rem;font-weight:600;position:absolute;top:.875rem;left:.5rem}.gantt-grid__project-start .gantt-grid__marker-label{color:#0f172a;background:#10b981}.gantt-grid__deadline .gantt-grid__marker-label{background:var(--color-critical);color:#fff}.gantt-grid__marker--draggable{transition:transform .1s,box-shadow .15s;cursor:ew-resize!important;pointer-events:auto!important;z-index:100!important}.gantt-grid__marker--draggable:after{content:"";cursor:ew-resize;pointer-events:auto;background:0 0;width:1.625rem;position:absolute;top:0;bottom:0;left:-.75rem}.gantt-grid__marker--draggable:hover{filter:brightness(1.2);width:.375rem;margin-left:-.125rem;box-shadow:0 0 16px #00000080;z-index:201!important}.gantt-grid__marker--draggable:hover:before{transform:scale(1.3)}.gantt-grid__marker--draggable:hover:after{width:2.125rem;left:-1rem}.gantt-grid__marker--draggable .gantt-grid__marker-label{cursor:ew-resize!important;pointer-events:auto!important}.gantt-grid__marker--draggable:hover .gantt-grid__marker-label{transform:scale(1.05);box-shadow:0 .125rem .5rem #0000004d}.gantt-grid__marker--dragging{opacity:.8;z-index:30!important}.gantt-grid__marker--dragging .gantt-grid__marker-label{box-shadow:0 .25rem .75rem #0006}.gantt-task-bar{background:linear-gradient(180deg, var(--color-accent-tertiary) 0%, var(--color-accent-primary) 100%);--task-selection-color:var(--color-accent-primary);cursor:pointer;border:2px solid var(--color-accent-secondary);--bar-bb:2px;z-index:20;-webkit-user-select:none;user-select:none;touch-action:none;backface-visibility:hidden;contain:layout style;border-radius:.375rem;transition:box-shadow .15s,transform .15s,background .15s;position:absolute;overflow:visible;transform:translateZ(0);box-shadow:0 2px 4px #00000014,0 1px 2px #0000000a}.gantt-task-bar--dragging{will-change:transform, left, width;transition:none!important}.gantt-task-bar:hover{transform:translateZ(0)translateY(-1px);box-shadow:0 4px 12px #0000001f,0 2px 4px #00000014}.gantt-task-bar[data-can-drag-move=true]{cursor:grab}.gantt-task-bar[data-can-drag-move=false]{cursor:default}.gantt-task-bar[data-can-drag-move=true]:active,.gantt-task-bar--dragging{cursor:grabbing}.gantt-task-bar:focus{outline:2px solid var(--color-accent-tertiary);outline-offset:2px}.gantt-task-bar--summary:focus{outline:none}.gantt-task-bar--milestone{--bar-bb:0px;overflow:visible;box-shadow:none!important;cursor:grab!important;background:0 0!important;border:none!important;border-radius:0!important}.gantt-task-bar--milestone:before{content:"";clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);z-index:0;pointer-events:none;background:linear-gradient(135deg,#22d3ee 0%,#06b6d4 50%,#0891b2 100%);width:100%;height:100%;position:absolute;top:0;left:0;box-shadow:inset 0 2px 6px #fff6,inset 0 -2px 6px #0000004d}.gantt-task-bar--milestone:hover:before{box-shadow:inset 0 2px 6px #ffffff80,inset 0 -2px 6px #0006,0 6px 16px #06b6d480}.gantt-task-bar--milestone:active{cursor:grabbing!important}.gantt-task-bar--milestone.gantt-task-bar--color-blue:before{background:linear-gradient(135deg,#60a5fa 0%,#3b82f6 50%,#2563eb 100%)}.gantt-task-bar--milestone.gantt-task-bar--color-green:before{background:linear-gradient(135deg,#4ade80 0%,#22c55e 50%,#16a34a 100%)}.gantt-task-bar--milestone.gantt-task-bar--color-orange:before{background:linear-gradient(135deg,#fb923c 0%,#f97316 50%,#ea580c 100%)}.gantt-task-bar--milestone.gantt-task-bar--color-red:before{background:linear-gradient(135deg,#f87171 0%,#ef4444 50%,#dc2626 100%)}.gantt-task-bar--milestone.gantt-task-bar--color-purple:before{background:linear-gradient(135deg,#c084fc 0%,#a855f7 50%,#9333ea 100%)}.gantt-task-bar--milestone.gantt-task-bar--color-teal:before{background:linear-gradient(135deg,#2dd4bf 0%,#14b8a6 50%,#0d9488 100%)}.gantt-task-bar--milestone.gantt-task-bar--color-pink:before{background:linear-gradient(135deg,#f472b6 0%,#ec4899 50%,#db2777 100%)}.gantt-task-bar--milestone.gantt-task-bar--color-gray:before{background:linear-gradient(135deg,#9ca3af 0%,#6b7280 50%,#4b5563 100%)}.gantt-task-bar--milestone.gantt-task-bar--color-cyan:before{background:linear-gradient(135deg,#22d3ee 0%,#06b6d4 50%,#0891b2 100%)}.gantt-task-bar--milestone.gantt-task-bar--color-indigo:before{background:linear-gradient(135deg,#818cf8 0%,#6366f1 50%,#4f46e5 100%)}.gantt-task-bar--milestone.gantt-task-bar--color-amber:before{background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 50%,#d97706 100%)}.gantt-task-bar--milestone.gantt-task-bar--color-lime:before{background:linear-gradient(135deg,#a3e635 0%,#84cc16 50%,#65a30d 100%)}.gantt-task-bar--milestone.gantt-task-bar--color-fuchsia:before{background:linear-gradient(135deg,#e879f9 0%,#d946ef 50%,#c026d3 100%)}.gantt-task-bar--milestone.gantt-task-bar--color-neon:before{background:linear-gradient(135deg,#a78bfa 0%,#8b5cf6 50%,#7c3aed 100%)}.gantt-task-bar--summary{--bar-bb:0px;pointer-events:none;overflow:visible;box-shadow:none!important;cursor:default!important;background:0 0!important;border:none!important;border-radius:0!important}.gantt-task-bar--summary .gantt-task-bar__bracket-bar,.gantt-task-bar--summary .gantt-task-bar__bracket-fill,.gantt-task-bar--summary .gantt-task-bar__bracket-cap,.gantt-task-bar--summary .gantt-task-bar__label,.gantt-task-bar--summary .gantt-task-bar__connection-dot{pointer-events:auto;cursor:pointer}.gantt-task-bar--summary:before,.gantt-task-bar--summary:after{display:none}.gantt-task-bar__bracket-svg{pointer-events:none;z-index:1;position:absolute;top:0;left:0;overflow:visible}.gantt-task-bar__bracket-bar{fill:var(--task-selection-color,#06b6d4);opacity:.35;stroke:var(--task-selection-color,#06b6d4);stroke-width:.5px;transition:fill .15s,opacity .15s}.gantt-task-bar__bracket-bar--complete{opacity:1}.gantt-task-bar__bracket-fill{fill:var(--task-selection-color,#06b6d4);transition:fill .15s}.gantt-task-bar__bracket-cap{fill:var(--task-selection-color,#06b6d4);stroke:var(--task-selection-color,#06b6d4);stroke-width:.5px;stroke-linejoin:round;transition:fill .15s}.gantt-task-bar--summary:hover .gantt-task-bar__bracket-bar{opacity:.55}.gantt-task-bar--summary:hover .gantt-task-bar__bracket-fill,.gantt-task-bar--summary:hover .gantt-task-bar__bracket-cap{opacity:1}.gantt-task-bar--summary.gantt-task-bar--selected{filter:drop-shadow(0 0 3px var(--task-selection-color,#06b6d4)) drop-shadow(0 0 6px color-mix(in srgb, var(--task-selection-color,#06b6d4) 50%, transparent));box-shadow:none;z-index:20!important}.gantt-task-bar--summary.gantt-task-bar--selected:before{display:none}.gantt-task-bar--summary.gantt-task-bar--selected .gantt-task-bar__bracket-bar{opacity:.55}.gantt-task-bar--summary.gantt-task-bar--selected .gantt-task-bar__bracket-cap,.gantt-task-bar--summary.gantt-task-bar--selected .gantt-task-bar__bracket-fill{opacity:1}.gantt-task-bar--milestone.gantt-task-bar--selected{box-shadow:none;z-index:50!important}.gantt-task-bar--milestone.gantt-task-bar--selected:after{content:"";clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);z-index:0;pointer-events:none;width:calc(100% + 4px);height:calc(100% + 4px);filter:drop-shadow(2px 0 0 var(--task-selection-color,#06b6d4)) drop-shadow(-2px 0 0 var(--task-selection-color,#06b6d4)) drop-shadow(0 2px 0 var(--task-selection-color,#06b6d4)) drop-shadow(0 -2px 0 var(--task-selection-color,#06b6d4)) drop-shadow(1.4px 1.4px 0 var(--task-selection-color,#06b6d4)) drop-shadow(-1.4px 1.4px 0 var(--task-selection-color,#06b6d4)) drop-shadow(1.4px -1.4px 0 var(--task-selection-color,#06b6d4)) drop-shadow(-1.4px -1.4px 0 var(--task-selection-color,#06b6d4));background:#fff;position:absolute;top:-.125rem;left:-.125rem}.gantt-task-bar--milestone.gantt-task-bar--selected:before{inset:unset;border-radius:unset;z-index:2;background:linear-gradient(135deg,#22d3ee 0%,#06b6d4 50%,#0891b2 100%);width:100%;height:100%;top:0;left:0}.gantt-task-bar--milestone.gantt-task-bar--selected.gantt-task-bar--color-blue:before{background:linear-gradient(135deg,#60a5fa 0%,#3b82f6 50%,#2563eb 100%)}.gantt-task-bar--milestone.gantt-task-bar--selected.gantt-task-bar--color-green:before{background:linear-gradient(135deg,#4ade80 0%,#22c55e 50%,#16a34a 100%)}.gantt-task-bar--milestone.gantt-task-bar--selected.gantt-task-bar--color-orange:before{background:linear-gradient(135deg,#fb923c 0%,#f97316 50%,#ea580c 100%)}.gantt-task-bar--milestone.gantt-task-bar--selected.gantt-task-bar--color-red:before{background:linear-gradient(135deg,#f87171 0%,#ef4444 50%,#dc2626 100%)}.gantt-task-bar--milestone.gantt-task-bar--selected.gantt-task-bar--color-purple:before{background:linear-gradient(135deg,#c084fc 0%,#a855f7 50%,#9333ea 100%)}.gantt-task-bar--milestone.gantt-task-bar--selected.gantt-task-bar--color-teal:before{background:linear-gradient(135deg,#2dd4bf 0%,#14b8a6 50%,#0d9488 100%)}.gantt-task-bar--milestone.gantt-task-bar--selected.gantt-task-bar--color-pink:before{background:linear-gradient(135deg,#f472b6 0%,#ec4899 50%,#db2777 100%)}.gantt-task-bar--milestone.gantt-task-bar--selected.gantt-task-bar--color-gray:before{background:linear-gradient(135deg,#9ca3af 0%,#6b7280 50%,#4b5563 100%)}.gantt-task-bar--milestone.gantt-task-bar--selected.gantt-task-bar--color-cyan:before{background:linear-gradient(135deg,#22d3ee 0%,#06b6d4 50%,#0891b2 100%)}.gantt-task-bar--milestone.gantt-task-bar--selected.gantt-task-bar--color-indigo:before{background:linear-gradient(135deg,#818cf8 0%,#6366f1 50%,#4f46e5 100%)}.gantt-task-bar--milestone.gantt-task-bar--selected.gantt-task-bar--color-amber:before{background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 50%,#d97706 100%)}.gantt-task-bar--milestone.gantt-task-bar--selected.gantt-task-bar--color-lime:before{background:linear-gradient(135deg,#a3e635 0%,#84cc16 50%,#65a30d 100%)}.gantt-task-bar--milestone.gantt-task-bar--selected.gantt-task-bar--color-fuchsia:before{background:linear-gradient(135deg,#e879f9 0%,#d946ef 50%,#c026d3 100%)}.gantt-task-bar--milestone.gantt-task-bar--selected.gantt-task-bar--color-neon:before{background:linear-gradient(135deg,#a78bfa 0%,#8b5cf6 50%,#7c3aed 100%)}.gantt-task-bar--color-blue{--task-selection-color:#3b82f6;background:linear-gradient(#3b82f6 0%,#2563eb 100%);border-color:#1d4ed8}.gantt-task-bar--color-green{--task-selection-color:#22c55e;background:linear-gradient(#22c55e 0%,#16a34a 100%);border-color:#15803d}.gantt-task-bar--color-orange{--task-selection-color:#f97316;background:linear-gradient(#f97316 0%,#ea580c 100%);border-color:#c2410c}.gantt-task-bar--color-red{--task-selection-color:#ef4444;background:linear-gradient(#ef4444 0%,#dc2626 100%);border-color:#b91c1c}.gantt-task-bar--color-purple{--task-selection-color:#a855f7;background:linear-gradient(#a855f7 0%,#9333ea 100%);border-color:#7e22ce}.gantt-task-bar--color-teal{--task-selection-color:#14b8a6;background:linear-gradient(#14b8a6 0%,#0d9488 100%);border-color:#0f766e}.gantt-task-bar--color-pink{--task-selection-color:#ec4899;background:linear-gradient(#ec4899 0%,#db2777 100%);border-color:#be185d}.gantt-task-bar--color-gray{--task-selection-color:#6b7280;background:linear-gradient(#6b7280 0%,#4b5563 100%);border-color:#374151}.gantt-task-bar--color-cyan{--task-selection-color:#06b6d4;background:linear-gradient(#06b6d4 0%,#0891b2 100%);border-color:#0e7490}.gantt-task-bar--color-indigo{--task-selection-color:#6366f1;background:linear-gradient(#6366f1 0%,#4f46e5 100%);border-color:#4338ca}.gantt-task-bar--color-amber{--task-selection-color:#f59e0b;background:linear-gradient(#f59e0b 0%,#d97706 100%);border-color:#b45309}.gantt-task-bar--color-lime{--task-selection-color:#84cc16;background:linear-gradient(#84cc16 0%,#65a30d 100%);border-color:#4d7c0f}.gantt-task-bar--color-fuchsia{--task-selection-color:#d946ef;background:linear-gradient(#d946ef 0%,#c026d3 100%);border-color:#a21caf}.gantt-task-bar--color-neon{--task-selection-color:#8b5cf6;background:linear-gradient(#8b5cf6 0%,#7c3aed 100%);border-color:#6d28d9}.gantt-task-bar--selected{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--task-selection-color,#06b6d4), 0 4px 12px #00000026;z-index:50!important}.gantt-task-bar--selected:before{content:"";background:color-mix(in srgb, var(--task-selection-color,#06b6d4) 5%, transparent);z-index:-1;border-radius:.625rem;position:absolute;inset:-.5rem}.gantt-task-bar--dragging{opacity:.85;filter:brightness(.95);box-shadow:0 8px 16px #00000026}@media (pointer:coarse){.gantt-task-bar{transition:box-shadow 75ms,transform 75ms,background 75ms}.gantt-task-bar--focused{outline:1.5px solid var(--color-accent-primary,#60a5fa);outline-offset:1px;z-index:20;transition:outline 75ms ease-out,box-shadow 75ms ease-out;box-shadow:0 2px 8px #0000001f}.gantt-task-bar--focused .gantt-task-bar__resize-handle{display:none}.gantt-task-bar--dimmed{opacity:.5;transition:opacity 75ms ease-out}}@media (pointer:coarse) and (prefers-color-scheme:dark){.gantt-task-bar--focused{outline-color:var(--color-accent-primary,#3b82f6);box-shadow:0 2px 8px #0000004d}}.gantt-task-bar__mobile-resize-handle{display:none}@media (pointer:coarse){.gantt-task-bar__mobile-resize-handle{touch-action:none;-webkit-user-select:none;user-select:none;background:color-mix(in srgb, var(--task-selection-color,#06b6d4) 15%, #ffffffe6);border:1.5px solid var(--task-selection-color,#06b6d4);z-index:30;pointer-events:auto;opacity:0;touch-action:none;cursor:col-resize;border-radius:.5rem;width:1.75rem;height:3rem;animation:75ms ease-out forwards fadeInScale;display:block;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 1px 4px #00000026}.gantt-task-bar__mobile-resize-handle--left{left:-2rem}.gantt-task-bar__mobile-resize-handle--right{right:-2rem}@keyframes fadeInScale{0%{opacity:0;transform:translateY(-50%)scale(.8)}to{opacity:1;transform:translateY(-50%)scale(1)}}}@media (pointer:coarse) and (prefers-color-scheme:dark){.gantt-task-bar__mobile-resize-handle{background:color-mix(in srgb, var(--task-selection-color,#06b6d4) 20%, #27272af2);border-color:var(--color-accent-primary,#3b82f6);box-shadow:0 1px 4px #0000004d}}.gantt-mobile-connect-banner{background:var(--color-accent-primary,#3b82f6);color:#fff;z-index:40;justify-content:center;align-items:center;gap:.75rem;padding:.5rem 1rem;font-size:.8125rem;font-weight:500;display:flex}.gantt-mobile-connect-banner__cancel{color:#fff;cursor:pointer;touch-action:manipulation;background:#ffffff40;border:none;border-radius:50%;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;display:flex}@media (pointer:coarse){.gantt-task-bar--connect-source{z-index:25;animation:1.5s ease-in-out infinite connectPulse}@keyframes connectPulse{0%,to{outline:2px solid var(--color-accent-primary,#3b82f6);outline-offset:1px}50%{outline-offset:4px;outline:2px solid #0000}}.gantt-task-bar--connect-target{outline:1px dashed var(--color-accent-primary,#60a5fa);outline-offset:2px;cursor:pointer;opacity:1!important}.gantt-task-bar--focused .gantt-task-bar__connection-dot{opacity:1;z-index:28;width:1.75rem;height:1.75rem}.gantt-task-bar--focused .gantt-task-bar__connection-dot--start{left:-4.25rem}.gantt-task-bar--focused .gantt-task-bar__connection-dot--end{right:-4.25rem}.gantt-task-bar__mobile-connect-target-overlay{z-index:35;cursor:pointer;touch-action:manipulation;position:absolute;inset:-.5rem}}.gantt-task-bar--multi-drag-sibling{opacity:.8;z-index:99;pointer-events:none;box-shadow:0 2px 8px #00000026;transition:none!important}.gantt-task-bar--risk-critical{box-shadow:0 0 0 2px #ef4444,0 2px 8px #ef44444d}.gantt-task-bar--risk-high{box-shadow:0 0 0 2px #f97316,0 2px 8px #f9731640}.gantt-task-bar--risk-medium{box-shadow:0 0 0 2px #eab308,0 2px 8px #eab30833}.gantt-task-bar__risk-indicator{color:#fff;z-index:20;border-radius:50%;justify-content:center;align-items:center;width:1.125rem;height:1.125rem;font-size:.5625rem;font-weight:700;display:flex;position:absolute;top:50%;left:-.625rem;transform:translateY(-50%);box-shadow:0 1px 3px #0003}.gantt-task-bar__risk-indicator--critical{background:#ef4444}.gantt-task-bar__risk-indicator--high{background:#f97316}.gantt-task-bar__risk-indicator--medium{background:#eab308}.gantt-task-bar__label{color:#fff;white-space:nowrap;text-overflow:ellipsis;text-shadow:-1px -1px #00000026,1px -1px #00000026,-1px 1px #00000026,1px 1px #00000026;pointer-events:none;z-index:50;justify-content:center;align-items:center;padding:0 .25rem;font-size:.6875rem;font-weight:600;display:flex;position:absolute;inset:0;overflow:hidden}.gantt-task-bar__label--summary{text-transform:uppercase;letter-spacing:.08em;height:auto;color:var(--color-text-secondary);text-shadow:none;justify-content:center;padding:.0625rem .375rem;font-size:.6875rem;font-weight:500;top:.3125rem;bottom:auto}.gantt-task-bar__label--phase{text-transform:uppercase;letter-spacing:.08em;font-weight:600}.gantt-task-bar__label--initials{letter-spacing:.5px;justify-content:center;padding:0 .25rem;font-size:.625rem}.gantt-task-bar__label--outside{color:var(--color-text-primary);box-shadow:none;white-space:nowrap;z-index:50;pointer-events:none;background:0 0;border-radius:0;padding:0 .25rem;font-size:.6875rem;font-weight:500;line-height:1.4;position:absolute;inset:50% auto auto;overflow:visible;transform:translateY(-50%)}[data-color-mode=light] .gantt-task-bar__label--outside,:root:not([data-color-mode=dark]) .gantt-task-bar__label--outside{text-shadow:-1px -1px #fff,1px -1px #fff,-1px 1px #fff,1px 1px #fff,0 0 6px #fff,0 0 10px #fff,1px 1px 2px #00000026}[data-color-mode=dark] .gantt-task-bar__label--outside{text-shadow:0 0 4px var(--color-bg-primary), 0 0 8px var(--color-bg-primary), 0 0 12px #000c}.gantt-task-bar__resize-handle{z-index:10;opacity:0;pointer-events:auto;cursor:col-resize;background:0 0;width:.75rem;height:100%;transition:opacity .15s;position:absolute;top:0}.gantt-task-bar:hover .gantt-task-bar__resize-handle{opacity:1}.gantt-task-bar__resize-handle:before{content:"";background:#fffc;border-radius:.125rem;width:.25rem;height:1rem;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 .0625rem .125rem #0000004d}.gantt-task-bar__resize-handle:hover:before{background:#fff;height:1.25rem}.gantt-task-bar__resize-handle--left{border-radius:.375rem 0 0 .375rem;left:-.1875rem}.gantt-task-bar__resize-handle--left:before{left:.25rem}.gantt-task-bar__resize-handle--right{border-radius:0 .375rem .375rem 0;right:-.1875rem}.gantt-task-bar__resize-handle--right:before{right:.25rem}.gantt-task-bar__drag-indicator{background:var(--color-bg-elevated,#1e293b);color:var(--color-text-primary,#f1f5f9);border:1px solid var(--color-border,#334155);white-space:nowrap;z-index:100;pointer-events:none;border-radius:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;position:absolute;bottom:calc(100% + .375rem);left:50%;transform:translate(-50%);box-shadow:0 .25rem .75rem #0000004d}.gantt-task-bar__drag-indicator:after{content:"";border-left:.375rem solid #0000;border-right:.375rem solid #0000;border-top:.375rem solid var(--color-bg-elevated,#1e293b);position:absolute;bottom:-.375rem;left:50%;transform:translate(-50%)}[data-color-mode=light] .gantt-task-bar__drag-indicator{color:#1e293b;background:#fff;border-color:#e2e8f0;box-shadow:0 .25rem .75rem #0000001a}[data-color-mode=light] .gantt-task-bar__drag-indicator:after{border-top-color:#fff}.gantt-task-bar__drag-indicator__delta{color:var(--color-text-secondary,#ffffffb3);margin-top:.125rem;font-size:.625rem;font-weight:400;display:block}[data-color-mode=light] .gantt-task-bar__drag-indicator__delta{color:#00000080}.gantt-task-bar__drag-indicator__multi{color:var(--color-accent-primary,#06b6d4);margin-top:.125rem;font-size:.6rem;font-weight:600;display:block}.gantt-task-bar__connection-dot{background:var(--color-accent-primary);opacity:0;cursor:crosshair;z-index:15;touch-action:none;-webkit-user-select:none;user-select:none;border:.125rem solid #fff;border-radius:50%;width:.75rem;height:.75rem;transition:opacity .15s,transform .15s;position:absolute;box-shadow:0 .125rem .25rem #0003}.gantt-task-bar:hover .gantt-task-bar__connection-dot,.gantt-task-bar--selected .gantt-task-bar__connection-dot,.gantt-chart--connect-mode .gantt-task-bar__connection-dot{opacity:1}.gantt-task-bar__connection-dot--start{top:50%;left:-1.25rem;transform:translateY(-50%)}.gantt-task-bar__connection-dot--end{top:50%;right:-1.25rem;transform:translateY(-50%)}.gantt-task-bar__connection-dot:hover{background:var(--color-accent-secondary);transform:translateY(-50%)scale(1.3)}.gantt-task-bar__connection-dot--dragging{opacity:1;background:var(--color-accent-secondary);transform:translateY(-50%)scale(1.3)}.gantt-task-bar__connection-dot--drop-target{opacity:1;background:#10b981;border-color:#ecfdf5;transform:translateY(-50%)scale(1.4)}.gantt-task-bar__progress{pointer-events:none;background:#0000004d;border-radius:0 .375rem .375rem 0;height:100%;position:absolute;top:0;right:0}.gantt-task-bar__progress--full{border-radius:.375rem}.gantt-task-bar__progress--full:before{display:none}.gantt-task-bar__progress:before{content:"";background:#ffffff80;width:.0625rem;height:calc(100% - 4px);position:absolute;top:.125rem;left:0}.gantt-task-bar__progress-strip{left:0;right:0;top:calc(100% + 3px + var(--bar-bb,2px));z-index:9;cursor:ew-resize;pointer-events:none;height:11px;position:absolute}.gantt-task-bar:hover .gantt-task-bar__progress-strip,.gantt-task-bar--progress-scrubbing .gantt-task-bar__progress-strip,.gantt-task-bar--strip-grace .gantt-task-bar__progress-strip{pointer-events:auto}.gantt-task-bar--strip-grace .gantt-task-bar__progress-strip:before{opacity:1}.gantt-task-bar__progress-strip:before{content:"";opacity:0;background:#00000029;border-radius:3px;height:7px;transition:opacity .15s;position:absolute;top:0;left:0;right:0}[data-color-mode=dark] .gantt-task-bar__progress-strip:before{background:#ffffff2e}.gantt-task-bar:hover .gantt-task-bar__progress-strip:before,.gantt-task-bar--progress-scrubbing .gantt-task-bar__progress-strip:before{opacity:1}.gantt-task-bar__progress-strip:hover:before,.gantt-task-bar--progress-scrubbing .gantt-task-bar__progress-strip:before{background:#00000038}[data-color-mode=dark] .gantt-task-bar__progress-strip:hover:before,[data-color-mode=dark] .gantt-task-bar--progress-scrubbing .gantt-task-bar__progress-strip:before{background:#ffffff40}.gantt-task-bar__progress-rail-fill{background:color-mix(in srgb, var(--color-text-primary) 30%, transparent);pointer-events:none;opacity:0;border-radius:3px;height:7px;transition:opacity .15s;position:absolute;top:0;left:0}.gantt-task-bar:hover .gantt-task-bar__progress-rail-fill,.gantt-task-bar--progress-scrubbing .gantt-task-bar__progress-rail-fill{opacity:1}.gantt-task-bar__progress-ghost,.gantt-task-bar__progress-tick{pointer-events:none;opacity:0;border-radius:1px;width:2px;height:7px;position:absolute;top:0;transform:translate(-50%)}.gantt-task-bar__progress-ghost{background:color-mix(in srgb, var(--color-text-primary) 45%, transparent)}.gantt-task-bar__progress-tick{background:color-mix(in srgb, var(--color-text-primary) 85%, transparent);transition:opacity .15s}.gantt-task-bar:hover .gantt-task-bar__progress-tick,.gantt-task-bar--progress-scrubbing .gantt-task-bar__progress-tick{opacity:1}.gantt-task-bar--progress-scrubbing .gantt-task-bar__progress-ghost{opacity:0!important}.gantt-task-bar--progress-scrubbing{transform:translateZ(0)!important}.gantt-task-bar__drag-indicator--progress{text-align:center;font-variant-numeric:tabular-nums;z-index:1100;min-width:2.5rem}@media (pointer:coarse){.gantt-task-bar__progress-strip{display:none}}.gantt-task-bar__float{pointer-events:none;border-bottom:2px dashed #64748b66;height:0;position:absolute;top:50%;transform:translateY(-50%)}[data-color-mode=dark] .gantt-task-bar__float{border-bottom-color:#94a3b866}.gantt-task-bar__nonworking-overlay{pointer-events:none;z-index:25;background:repeating-linear-gradient(45deg,#0000,#0000 3px,#ffffff73 3px 6px);height:100%;position:absolute;top:0}[data-color-mode=dark] .gantt-task-bar__nonworking-overlay{background:repeating-linear-gradient(45deg,#0000,#0000 3px,#ffffff59 3px 6px)}.gantt-tooltip{z-index:100;background:var(--color-bg-elevated,#fff);color:var(--color-text-primary);border:1px solid var(--color-border);pointer-events:none;border-radius:.5rem;min-width:10rem;max-width:15rem;padding:.625rem .75rem;font-size:.75rem;position:fixed;transform:translate(-50%);box-shadow:0 4px 12px #00000026}:root[data-color-mode=dark] .gantt-tooltip{background:var(--color-bg-secondary,#2d2d2d);box-shadow:0 4px 12px #0006}.gantt-tooltip__title{white-space:nowrap;text-overflow:ellipsis;margin-bottom:.25rem;font-size:.8125rem;font-weight:600;overflow:hidden}.gantt-tooltip__dates{color:var(--color-text-secondary);margin-bottom:.5rem;font-size:.6875rem}.gantt-tooltip__progress{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.gantt-tooltip__progress-bar{background:var(--color-bg-tertiary);border-radius:.1875rem;flex:1;height:.375rem;overflow:hidden}.gantt-tooltip__progress-fill{background:var(--color-accent-primary);border-radius:.1875rem;height:100%;transition:width .2s}.gantt-tooltip__progress-text{color:var(--color-text-secondary);text-align:right;min-width:2rem;font-size:.6875rem;font-weight:600}.gantt-tooltip__cf{border-top:1px solid var(--color-border);flex-direction:column;gap:.125rem;padding-top:.5rem;font-size:.75rem;display:flex}.gantt-tooltip__cf-row{justify-content:space-between;gap:.75rem;display:flex}.gantt-tooltip__deps{border-top:1px solid var(--color-border-subtle,var(--color-border));color:var(--color-text-tertiary);margin-top:.25rem;padding-top:.25rem;font-size:.6875rem}.gantt-tooltip__dep-row{text-overflow:ellipsis;white-space:nowrap;max-width:16rem;overflow:hidden}.gantt-tooltip__cf-name{color:var(--color-text-tertiary);white-space:nowrap}.gantt-tooltip__cf-value{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;max-width:12rem;overflow:hidden}.gantt-tooltip__extra{border-top:1px solid var(--color-border);flex-wrap:wrap;gap:.25rem;padding-top:.5rem;display:flex}.gantt-tooltip__badge{border-radius:.25rem;align-items:center;padding:.125rem .375rem;font-size:.625rem;font-weight:600;display:inline-flex}.gantt-tooltip__badge--critical{color:#ef4444;background:#ef444426}.gantt-tooltip__badge--float{color:#3b82f6;background:#3b82f626}.gantt-tooltip__badge--attention-overdue{color:#ef4444;background:#ef444426}.gantt-tooltip__badge--attention-blocked{color:#f59e0b;background:#f59e0b26}.gantt-tooltip__badge--attention-should-start{color:#f97316;background:#f9731626}.gantt-tooltip__reason{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:16rem;margin-top:.25rem;font-size:.6875rem;overflow:hidden}.gantt-controls{background:var(--color-bg-elevated);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);z-index:200;border-radius:.625rem;align-items:center;gap:.125rem;padding:.25rem;display:flex;position:absolute;bottom:1rem;right:1rem}.gantt-controls__button{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:.375rem;padding:.4375rem .75rem;font-size:.75rem;font-weight:500;transition:all .15s}.gantt-controls__button:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.gantt-controls__button[aria-pressed=true]{background:var(--color-accent-primary);color:var(--color-on-accent)}.gantt-controls__button:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.gantt-controls__button:focus:not(:focus-visible){outline:none}.gantt-controls__button:disabled{opacity:.4;cursor:not-allowed}.gantt-controls__button--export{color:var(--color-accent-secondary);background:#06b6d41a}.gantt-controls__button--export:hover:not(:disabled){color:var(--color-accent-primary);background:#06b6d433}.gantt-controls__divider{background:var(--color-text-secondary);width:.0625rem;height:1.25rem;margin:0 .375rem}.gantt-dependency-arrows{z-index:1;position:relative;overflow:visible}.gantt-dependency-arrow{stroke-opacity:.85;filter:drop-shadow(0 1px 1px #0000001a);transition:stroke-width .12s,stroke-opacity .12s,opacity .12s,filter .12s}.gantt-dependency-arrow-group:hover .gantt-dependency-arrow{stroke-width:3.5px;stroke-opacity:1;filter:drop-shadow(0 0 3px color-mix(in srgb, currentColor 60%, transparent)) drop-shadow(0 2px 3px #0003)}svg:has(.gantt-dependency-arrow-group:hover) .gantt-dependency-arrow-group:not(:hover) .gantt-dependency-arrow{opacity:.3}.gantt-task-bar--dep-hover{outline:2px solid var(--color-accent-primary,#14b8a6);outline-offset:2px;box-shadow:0 0 12px 3px color-mix(in srgb, var(--color-accent-primary,#14b8a6) 60%, transparent), 0 0 28px 6px color-mix(in srgb, var(--color-accent-primary,#14b8a6) 25%, transparent);filter:brightness(1.12)}@media (prefers-reduced-motion:reduce){.gantt-dependency-arrow{transition:none}}.gantt-controls__button--critical{color:var(--color-error);background:#ef44441a}.gantt-controls__button--critical:hover{color:var(--color-critical);background:#ef444426}.gantt-controls__button--critical.gantt-controls__button--active,.gantt-controls__button--critical[aria-pressed=true]{background:var(--color-error);color:#fff;box-shadow:0 0 0 2px #ef444480}.gantt-controls__button--baseline{color:#60a5fa;text-align:center;background:#3b82f61a;min-width:5.625rem}.gantt-controls__button--baseline:hover{background:#3b82f633}.gantt-controls__button--baseline.gantt-controls__button--active,.gantt-controls__button--baseline[aria-pressed=true]{color:#fff;background:#3b82f6;box-shadow:0 0 0 2px #3b82f680}.gantt-controls__button--baseline-settings{color:#60a5fa;background:#3b82f61a;border-radius:.25rem;min-width:auto;margin-left:.125rem;padding:.375rem .5rem}.gantt-controls__button--baseline-settings:hover{background:#3b82f633}.gantt-chart--highlight-critical .gantt-task-bar{opacity:.3;transition:opacity .2s}.gantt-chart--highlight-critical .gantt-task-bar--critical{--bar-bb:3px;opacity:1;--task-selection-color:#ef4444;box-shadow:0 0 0 2px #ef4444,0 6px 16px #ef444459;background:linear-gradient(#ef4444 0%,#dc2626 100%)!important;border:3px solid #991b1b!important}.gantt-chart--highlight-critical .gantt-task-bar--milestone.gantt-task-bar--critical{--bar-bb:0px;box-shadow:none!important;background:0 0!important;border:none!important}.gantt-chart--highlight-critical .gantt-task-bar--critical:hover{box-shadow:0 4px 16px #ef444466,0 0 0 2px #ef4444}.gantt-chart--highlight-critical .gantt-task-bar--milestone.gantt-task-bar--critical:before{background:linear-gradient(135deg,#f87171 0%,#ef4444 50%,#dc2626 100%)!important}.gantt-chart--highlight-critical .gantt-task-bar--milestone.gantt-task-bar--critical:hover:before{box-shadow:inset 0 2px 6px #ffffff80,inset 0 -2px 6px #0006,0 6px 16px #ef444480}.gantt-chart--highlight-critical .gantt-task-bar--milestone.gantt-task-bar--selected.gantt-task-bar--critical:before{background:linear-gradient(135deg,#f87171 0%,#ef4444 50%,#dc2626 100%)!important}.gantt-chart--highlight-critical .gantt-dependency-arrow{stroke-opacity:.25}.gantt-chart--highlight-critical .gantt-dependency-arrow--critical{stroke-opacity:1;stroke-width:3px;filter:drop-shadow(0 2px 4px #dc262666);stroke:#dc2626!important}.gantt-chart--highlight-critical .gantt-task-bar--critical .gantt-task-bar__connection-dot{background:#ef4444}.gantt-chart--highlight-critical .gantt-task-bar--critical .gantt-task-bar__connection-dot:hover{background:#dc2626}.gantt-chart--highlight-critical .gantt-task-bar--milestone.gantt-task-bar--critical .gantt-task-bar__connection-dot{background:#ef4444!important}.gantt-chart--highlight-critical .gantt-task-bar--milestone.gantt-task-bar--critical .gantt-task-bar__connection-dot:hover{background:#dc2626!important}.gantt-critical-banner{color:#fff;z-index:50;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border-radius:.625rem;align-items:center;gap:.75rem;padding:.625rem 1.125rem;font-size:.8125rem;font-weight:500;animation:.2s ease-out slideDown;display:flex;position:absolute;top:3.5rem;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #ef444459}@keyframes slideDown{0%{opacity:0;transform:translate(-50%)translateY(-10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.gantt-critical-banner__icon{background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:1.375rem;height:1.375rem;font-size:.8125rem;font-weight:700;display:flex}.gantt-critical-banner__text{font-weight:600}.gantt-critical-banner__info{opacity:.9;border-left:1px solid #ffffff40;padding-left:.75rem;font-size:.75rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:.0625rem;height:.0625rem;margin:-.0625rem;padding:0;position:absolute;overflow:hidden}.gantt-marker-draggable{cursor:ew-resize;z-index:8;touch-action:none;width:.1875rem;transition:width .15s,box-shadow .15s;position:absolute;top:0;bottom:0;pointer-events:auto!important}.gantt-marker-draggable:after{content:"";cursor:ew-resize;width:.5625rem;position:absolute;top:0;bottom:0;left:-.1875rem}.gantt-marker-draggable:before{content:"";cursor:ew-resize;pointer-events:none;border-left:8px solid #0000;border-right:8px solid #0000;width:0;height:0;transition:transform .15s;position:absolute;top:0;left:50%;transform:translate(-50%)}.gantt-marker-draggable:hover{width:.3125rem;margin-left:-.0625rem;box-shadow:0 0 12px #0006}.gantt-marker-draggable:hover:before{transform:translate(-50%)scale(1.2)}.gantt-marker-draggable--dragging{opacity:.8;width:.3125rem;margin-left:-.0625rem;box-shadow:0 0 20px #06b6d4cc}.gantt-marker-draggable--start{background:#10b981}.gantt-marker-draggable--start:before{border-top:12px solid #10b981}.gantt-marker-draggable--deadline{background:#ef4444}.gantt-marker-draggable--deadline:before{border-top:12px solid #ef4444}.gantt-marker-draggable:active{opacity:.85;width:.375rem;margin-left:-.0625rem}.gantt-marker-draggable--readonly{cursor:default;pointer-events:none}.gantt-tasks{z-index:15;position:relative}.gantt-task-bar__connection-dot{cursor:crosshair;z-index:60;opacity:0;background:#06b6d4;border:2px solid #fff;border-radius:50%;width:.75rem;height:.75rem;transition:all .2s;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 4px #0000001a}.gantt-task-bar__connection-dot:before{content:"";background:0 0;border-radius:50%;width:1.25rem;height:1.25rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gantt-task-bar__connection-dot--start{left:calc(-.875rem - 6px)}.gantt-task-bar__connection-dot--end{right:calc(-.875rem - 6px)}.gantt-task-bar:hover .gantt-task-bar__connection-dot{opacity:1}.gantt-chart:has(.dependency-editor-overlay) .gantt-task-bar__connection-dot{opacity:.8;animation:.8s ease-in-out infinite connection-dot-pulse}.gantt-chart:has(.dependency-editor-overlay) .gantt-task-bar:hover .gantt-task-bar__connection-dot{opacity:1}.gantt-chart:has(.dependency-editor-overlay) .gantt-task-bar__connection-dot:hover{opacity:1}.gantt-task-bar__connection-dot:hover{background:#0891b2;transform:translateY(-50%)scale(1.2);box-shadow:0 4px 8px #0003;opacity:1!important}.gantt-task-bar__connection-dot--dragging{background:#0e7490;transform:translateY(-50%)scale(1.3);box-shadow:0 6px 12px #0000004d;opacity:1!important}.gantt-task-bar__connection-dot--drop-target{background:#10b981;animation:.8s infinite pulse-connection;transform:translateY(-50%)scale(1.4);opacity:1!important}@keyframes pulse-connection{0%,to{box-shadow:0 0 #10b981b3}50%{box-shadow:0 0 0 8px #10b98100}}@keyframes connection-dot-pulse{0%{opacity:.5;transform:translateY(-50%)scale(1);box-shadow:0 0 #3b82f6b3}50%{opacity:1;transform:translateY(-50%)scale(1.1);box-shadow:0 0 0 8px #3b82f600}to{opacity:.5;transform:translateY(-50%)scale(1);box-shadow:0 0 #3b82f600}}.gantt-task-bar--selected .gantt-task-bar__connection-dot{opacity:1}.gantt-task-bar--color-blue .gantt-task-bar__connection-dot{background:#3b82f6}.gantt-task-bar--color-blue .gantt-task-bar__connection-dot:hover{background:#2563eb}.gantt-task-bar--color-green .gantt-task-bar__connection-dot{background:#22c55e}.gantt-task-bar--color-green .gantt-task-bar__connection-dot:hover{background:#16a34a}.gantt-task-bar--color-orange .gantt-task-bar__connection-dot{background:#f97316}.gantt-task-bar--color-orange .gantt-task-bar__connection-dot:hover{background:#ea580c}.gantt-task-bar--color-red .gantt-task-bar__connection-dot{background:#ef4444}.gantt-task-bar--color-red .gantt-task-bar__connection-dot:hover{background:#dc2626}.gantt-task-bar--color-purple .gantt-task-bar__connection-dot{background:#a855f7}.gantt-task-bar--color-purple .gantt-task-bar__connection-dot:hover{background:#9333ea}.gantt-task-bar--color-teal .gantt-task-bar__connection-dot{background:#14b8a6}.gantt-task-bar--color-teal .gantt-task-bar__connection-dot:hover{background:#0d9488}.gantt-task-bar--color-pink .gantt-task-bar__connection-dot{background:#ec4899}.gantt-task-bar--color-pink .gantt-task-bar__connection-dot:hover{background:#db2777}.gantt-task-bar--color-gray .gantt-task-bar__connection-dot{background:#6b7280}.gantt-task-bar--color-gray .gantt-task-bar__connection-dot:hover{background:#4b5563}.gantt-task-bar--color-cyan .gantt-task-bar__connection-dot{background:#06b6d4}.gantt-task-bar--color-cyan .gantt-task-bar__connection-dot:hover{background:#0891b2}.gantt-task-bar--color-indigo .gantt-task-bar__connection-dot{background:#6366f1}.gantt-task-bar--color-indigo .gantt-task-bar__connection-dot:hover{background:#4f46e5}.gantt-task-bar--color-amber .gantt-task-bar__connection-dot{background:#f59e0b}.gantt-task-bar--color-amber .gantt-task-bar__connection-dot:hover{background:#d97706}.gantt-task-bar--color-lime .gantt-task-bar__connection-dot{background:#84cc16}.gantt-task-bar--color-lime .gantt-task-bar__connection-dot:hover{background:#65a30d}.gantt-task-bar--color-fuchsia .gantt-task-bar__connection-dot{background:#d946ef}.gantt-task-bar--color-fuchsia .gantt-task-bar__connection-dot:hover{background:#c026d3}.gantt-task-bar--color-neon .gantt-task-bar__connection-dot{background:#8b5cf6}.gantt-task-bar--color-neon .gantt-task-bar__connection-dot:hover{background:#7c3aed}.gantt-task-bar--milestone .gantt-task-bar__connection-dot--start{left:-1rem}.gantt-task-bar--milestone .gantt-task-bar__connection-dot--end{right:-1rem}@media (max-width:48em){.gantt-controls{flex-wrap:wrap;max-width:calc(100% - 16px);bottom:.5rem;right:.5rem}.gantt-controls__button{padding:.3125rem .625rem;font-size:.6875rem}.gantt-controls__divider{display:none}}.gantt-time-header--month-view{height:3.125rem}.gantt-time-header--month-view .gantt-time-header__months{height:1.875rem}.gantt-chart:has(.gantt-time-header--month-view) .gantt-header__month-tint{height:1.875rem}.gantt-time-header--month-view .gantt-time-header__month{font-size:.875rem;font-weight:700}.gantt-time-header--month-view .gantt-time-header__days{height:1.25rem}.gantt-time-header--month-view .gantt-time-header__cell{background:0 0;border-right:none}.gantt-time-header__cell--month-start{border-left:2px solid var(--color-border)}.gantt-time-header--month-view .gantt-time-header__cell--month-start .gantt-time-header__label{color:var(--color-text-primary);font-weight:600}.gantt-time-header__cell--week-start{border-left:1px solid var(--color-border-subtle)}.gantt-grid--month-view{background:var(--color-bg-tertiary)}.gantt-grid__line--month-divider{background:var(--color-border);opacity:.8;width:.125rem}.gantt-chart:has(.gantt-time-header--month-view) .gantt-header{height:3.125rem}[data-color-mode=dark] .gantt-dependency-arrow{stroke-opacity:1;filter:drop-shadow(0 1px 2px #0000004d)}[data-color-mode=dark] .gantt-dependency-arrow:hover{stroke-width:3px;filter:drop-shadow(0 2px 4px #0006)}[data-color-mode=dark] .gantt-chart--highlight-critical .gantt-dependency-arrow--critical{filter:drop-shadow(0 1px 3px #dc262680)}.gantt-day-context-menu{background:var(--color-bg-primary,#fff);border:1px solid var(--color-border,#e5e7eb);border-radius:.5rem;min-width:11.25rem;padding:.25rem;font-size:.8125rem;animation:.15s contextFadeIn;box-shadow:0 4px 12px #0000001a}@keyframes contextFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}[data-color-mode=dark] .gantt-day-context-menu{background:var(--bg-secondary,#1f2937);border-color:var(--border-color,#374151);box-shadow:0 4px 12px #0000004d}.gantt-day-context-menu__header{color:var(--color-text-tertiary,#9ca3af);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #0000000f;margin-bottom:.25rem;padding:.375rem .75rem .25rem;font-size:.625rem;font-weight:600}[data-color-mode=dark] .gantt-day-context-menu__header{color:var(--text-tertiary,#6b7280);border-color:#ffffff0f}.gantt-day-context-menu__item{width:100%;color:var(--color-text-primary,#1f2937);text-align:start;cursor:pointer;background:0 0;border:none;border-radius:.375rem;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.8125rem;font-weight:500;transition:all .15s;display:flex}.gantt-day-context-menu__item:hover{background:#06b6d41a}[data-color-mode=dark] .gantt-day-context-menu__item{color:var(--text-primary,#f9fafb)}[data-color-mode=dark] .gantt-day-context-menu__item:hover{background:#06b6d426}.gantt-day-context-menu__item--cancel{color:var(--color-text-secondary,#6b7280)}[data-color-mode=dark] .gantt-day-context-menu__item--cancel{color:var(--text-tertiary,#9ca3af)}.gantt-day-context-menu__divider{background:#0000000f;height:.0625rem;margin:.25rem 0}[data-color-mode=dark] .gantt-day-context-menu__divider{background:#ffffff0f}.gantt-time-header__cell--selected{box-shadow:inset 0 0 0 2px var(--color-accent-primary);background:#3b82f640!important}.gantt-time-header__cell:hover{cursor:pointer;background:#3b82f61f!important}.gantt-time-header__cell--selected:hover{background:#3b82f659!important}.gantt-day-selection-bar{background:var(--color-bg-primary,#fff);border:1px solid var(--color-border,#e5e7eb);z-index:1000;border-radius:.5rem;align-items:center;gap:.5rem;padding:.625rem .875rem;font-size:.8125rem;animation:.15s dayBarFadeIn;display:flex;position:fixed;top:12.5rem;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000001a}@keyframes dayBarFadeIn{0%{opacity:0;transform:translate(-50%)translateY(-4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}[data-color-mode=dark] .gantt-day-selection-bar{background:var(--bg-secondary,#1f2937);border-color:var(--border-color,#374151);box-shadow:0 4px 12px #0000004d}.gantt-day-selection-bar__count{color:var(--color-text-secondary,#6b7280);border-right:1px solid var(--color-border,#e5e7eb);padding-right:.625rem;font-size:.8125rem;font-weight:500}[data-color-mode=dark] .gantt-day-selection-bar__count{color:var(--text-tertiary,#9ca3af);border-color:#ffffff1a}.gantt-day-selection-bar__button{cursor:pointer;border:none;border-radius:.375rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:all .15s}.gantt-day-selection-bar__button--holiday,.gantt-day-selection-bar__button--working{color:var(--color-text-primary,#374151);background:#0000000a}.gantt-day-selection-bar__button--holiday:hover,.gantt-day-selection-bar__button--working:hover{color:#0891b2;background:#06b6d41a}[data-color-mode=dark] .gantt-day-selection-bar__button--holiday,[data-color-mode=dark] .gantt-day-selection-bar__button--working{color:var(--text-primary,#f9fafb);background:#ffffff0f}[data-color-mode=dark] .gantt-day-selection-bar__button--holiday:hover,[data-color-mode=dark] .gantt-day-selection-bar__button--working:hover{color:#22d3ee;background:#06b6d426}.gantt-day-selection-bar__button--close{color:var(--color-text-secondary,#9ca3af);background:0 0;padding:.25rem .5rem;font-size:1.125rem;line-height:1}.gantt-day-selection-bar__button--close:hover{color:#0891b2;background:#06b6d41a}[data-color-mode=dark] .gantt-day-selection-bar__button--close{color:var(--text-tertiary,#6b7280)}[data-color-mode=dark] .gantt-day-selection-bar__button--close:hover{color:#22d3ee;background:#06b6d426}.dependency-context-menu{background:var(--color-bg-secondary,#fff);border:1px solid var(--color-border,#e5e7eb);z-index:1000;border-radius:.375rem;min-width:8.75rem;padding:.25rem;box-shadow:0 4px 12px #00000026}.dependency-context-menu__delete{text-align:start;cursor:pointer;color:#ef4444;background:#dc26261a;border:none;border-radius:.25rem;width:100%;padding:.5rem .75rem;font-size:.8125rem;font-weight:500;transition:background .15s,color .15s;display:block}:root[data-color-mode=dark] .dependency-context-menu__delete,.dark .dependency-context-menu__delete{color:#f87171;background:#ef444426}.dependency-context-menu__delete:hover{color:#dc2626;background:#dc262633}:root[data-color-mode=dark] .dependency-context-menu__delete:hover,.dark .dependency-context-menu__delete:hover{color:#fca5a5;background:#ef444440}.dependency-context-menu__icon{margin-right:.5rem;font-size:.875rem}.dependency-tooltip{color:#fff;white-space:pre-line;pointer-events:none;background:#1f2937;border-radius:.375rem;max-width:15.625rem;padding:.5rem .75rem;font-size:.75rem;line-height:1.4;box-shadow:0 2px 8px #00000040}[data-color-mode=dark] .dependency-tooltip{background:#374151;border:1px solid #4b5563}.gantt-dependency-arrow-group:hover .gantt-dependency-arrow{stroke-width:3px;filter:brightness(1.2)}.delete-dependency-modal__info{background:var(--color-bg-tertiary);border-radius:.5rem;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin:.75rem 0;padding:.75rem 1rem;display:flex}.delete-dependency-modal__task{color:var(--color-text-primary);font-weight:500}.delete-dependency-modal__type-info{text-align:center;color:var(--color-text-secondary);margin:.5rem 0 1rem;font-size:.75rem}.gantt-task-bar--baseline-on-track,.gantt-task-bar--baseline-behind,.gantt-task-bar--baseline-ahead{border-left:3px solid #3b82f6cc}.gantt-task-bar--baseline-on-track{box-shadow:0 0 10px 3px #3b82f680}.gantt-task-bar--baseline-behind{animation:1s ease-in-out 3 baseline-behind-pulse;box-shadow:0 0 10px 3px #ef444499}@keyframes baseline-behind-pulse{0%,to{opacity:1}50%{opacity:.7}}.gantt-task-bar--baseline-ahead{box-shadow:0 0 10px 3px #22c55e99}.gantt-task-bar__variance-badge{white-space:nowrap;z-index:30;pointer-events:none;letter-spacing:-.5px;border-radius:.1875rem;padding:.125rem .3125rem;font-size:.5625rem;font-weight:700;position:absolute;top:50%;right:-2rem;transform:translateY(-50%)}.gantt-task-bar__variance-badge--behind{color:#fff;background:#ef4444f2;box-shadow:0 1px 3px #ef444466}.gantt-task-bar__variance-badge--ahead{color:#fff;background:#22c55ef2;box-shadow:0 1px 3px #22c55e66}.gantt-task-bar__variance-badge--on_track{color:#fff;background:#3b82f6f2;box-shadow:0 1px 3px #3b82f666}[data-color-mode=light] .gantt-task-bar__variance-badge--behind{background:#ef4444}[data-color-mode=light] .gantt-task-bar__variance-badge--ahead{background:#22c55e}[data-color-mode=light] .gantt-task-bar__variance-badge--on_track{background:#3b82f6}.gantt-task-bar__variance-badge--milestone{top:50%;right:-1.75rem}@media (max-width:64em){.gantt-header,.gantt-time-header{min-height:4rem}}@media (max-width:48em){.gantt-chart{min-width:100%}.gantt-header,.gantt-time-header{min-height:3.5rem}.gantt-time-header__months{height:1.375rem;font-size:.6875rem}.gantt-time-header__weekdays{display:none}.gantt-time-header__days{height:1.125rem}.gantt-time-header__label{font-size:.625rem}.gantt-body__row{height:1.75rem;min-height:1.75rem}.gantt-task-bar{min-height:1.5rem}.gantt-task-bar__label{font-size:.75rem}.gantt-task-bar__connection-dot{opacity:0;pointer-events:none;width:1rem;height:1rem}.gantt-task-bar--focused .gantt-task-bar__connection-dot{opacity:1;pointer-events:auto}.gantt-task-bar__connection-dot:before{width:2.25rem;height:2.25rem}.gantt-task-bar__resize-handle{display:none}.gantt-task-selection-bar{flex-wrap:wrap;justify-content:center;max-width:calc(100% - 32px);left:1rem;right:1rem;transform:none}.gantt-task-selection-bar__button{padding:.5rem .625rem;font-size:.6875rem}.gantt-controls{flex-wrap:wrap;gap:.25rem;padding:.375rem}.gantt-controls__button{padding:.375rem .625rem;font-size:.6875rem}}@media (max-width:30em),(max-height:500px) and (pointer:coarse){.gantt-header,.gantt-time-header{min-height:3rem}.gantt-time-header__months{height:1.375rem;font-size:.6875rem}.gantt-time-header__days{height:1.125rem}.gantt-time-header__label,.gantt-time-header__day-number{font-size:.6875rem}.gantt-time-header__weekday{font-size:.625rem}.gantt-task-bar{min-height:2rem}.gantt-task-bar__label{font-size:.75rem}.gantt-task-bar__variance-badge{padding:.0625rem .1875rem;font-size:.5rem}.gantt-task-selection-bar{gap:.375rem;padding:.5rem .625rem;font-size:.75rem}.gantt-task-selection-bar__count{padding-right:.5rem;font-size:.75rem}.gantt-task-selection-bar__button{min-height:2.25rem;padding:.5rem .75rem;font-size:.75rem}.gantt-controls--mobile{bottom:calc(var(--mobile-tab-bar-height) + .75rem);background:var(--color-bg-primary);border:1px solid var(--color-border-subtle);z-index:250;border-radius:50%;align-items:center;max-width:none;padding:0;display:flex;position:absolute;left:auto;right:.75rem;box-shadow:0 2px 8px #0000002e}.gantt-controls--mobile .gantt-controls__button--more{letter-spacing:1px;border-radius:50%;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:0;font-size:1.125rem;display:flex}.gantt-controls__dropdown{background:var(--color-bg-primary);border:1px solid var(--color-border-subtle);z-index:260;border-radius:.625rem;flex-direction:column;gap:.125rem;min-width:11.25rem;margin-bottom:.375rem;padding:.375rem;display:flex;position:absolute;bottom:100%;right:0;box-shadow:0 4px 16px #0000002e}.gantt-controls__dropdown .gantt-controls__button{text-align:start;border-radius:.375rem;width:100%;min-height:2.25rem;padding:.5rem .625rem;font-size:.75rem}.gantt-mobile-marker-legend{z-index:40;pointer-events:none;height:0;position:sticky;top:0}.gantt-mobile-marker-legend__pill{top:.25rem;bottom:auto}.gantt-mobile-marker-legend__pill--stacked{top:1.5rem}.gantt-controls__zoom-row{gap:.125rem;display:flex}.gantt-controls__dropdown .gantt-controls__button--zoom-item{text-align:center;white-space:nowrap;flex:1;width:auto;min-width:0;padding:.5rem .25rem}.gantt-header,.gantt-time-header{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.gantt-today-btn{bottom:calc(var(--mobile-tab-bar-height) + .75rem);background:var(--color-bg-primary);width:2.75rem;height:2.75rem;color:var(--color-text-primary);border:1px solid var(--color-border-subtle);cursor:pointer;z-index:250;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;right:4.125rem;box-shadow:0 2px 8px #0000002e}.gantt-today-btn__icon{width:1.125rem;height:1.125rem}.gantt-controls:not(.gantt-controls--mobile),.gantt-marker-flags{display:none}.fixed-task-column{padding-top:0}.gantt-task-bar__summary-pin{max-width:calc(100vw - 4rem);height:100%;margin-left:clamp(0px, calc(var(--gantt-scroll-left,0px) - var(--bar-left,0px) + .375rem), calc(var(--bar-width,0px) - 7.5rem));pointer-events:none;align-items:center;gap:.125rem;display:inline-flex;position:relative}.gantt-task-bar__phase-chevron{pointer-events:auto;width:2.75rem;height:2.75rem;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:-.5rem -.375rem -.5rem -.5rem;padding:0;display:flex}.gantt-task-bar__phase-chevron svg{width:1rem;height:1rem;transition:transform .15s}.gantt-task-bar__phase-chevron[aria-expanded=true] svg{transform:rotate(90deg)}.gantt-task-bar__label--pinned{text-align:start;text-overflow:ellipsis;white-space:nowrap;width:auto;max-width:100%;height:auto;padding:0;position:static;overflow:hidden}.gantt-task-bar--focused .gantt-task-bar__connection-dot,.gantt-task-bar .gantt-task-bar__progress-handle{opacity:1}.gantt-task-bar .gantt-task-bar__resize-handle{display:none}}@media (orientation:landscape) and (max-height:500px) and (pointer:coarse){.gantt-chart:not(.gantt-chart--export) .gantt-header,.gantt-chart:not(.gantt-chart--export) .gantt-time-header{height:auto;min-height:1.75rem}.gantt-time-header__months{display:none}.gantt-time-header__days{height:1.75rem}.gantt-time-header__label,.gantt-time-header__day-number{font-size:.5625rem}.gantt-body__row{height:1.375rem;min-height:1.375rem}.gantt-task-bar{min-height:1.125rem}.gantt-task-bar__label{font-size:.75rem}.gantt-controls{padding:.125rem .25rem}.gantt-controls__button{padding:.125rem .375rem;font-size:.5625rem}.gantt-controls--mobile,.gantt-today-btn{bottom:.5rem}}@media (pointer:coarse){.gantt-task-bar{border-radius:.375rem}.gantt-task-bar__progress{filter:brightness(.7)}.gantt-time-header__cell{border-right-color:var(--color-border-subtle,#e4e4e7);font-size:.625rem}.gantt-time-header__cell--today{font-weight:700}.gantt-task-bar{transition:opacity 75ms ease-out,outline 75ms ease-out,box-shadow 75ms ease-out}}@media (pointer:coarse) and (prefers-color-scheme:dark){.gantt-time-header__cell{border-right-color:var(--color-border-subtle,#3f3f46);color:var(--color-text-secondary,#a1a1aa)}.gantt-task-bar{filter:brightness(1.1)saturate(1.05)}.gantt-mobile-connect-banner{background:var(--color-accent-primary,#2563eb)}.gantt-zoom-indicator{color:var(--color-text-primary,#fafafa);background:#27272ae6}}@media (orientation:landscape) and (max-height:500px) and (pointer:coarse){.gantt-task-bar{min-height:1.375rem}.gantt-task-bar__phase-chevron{margin-top:-.6875rem;margin-bottom:-.6875rem}.gantt-task-bar__mobile-resize-handle{height:2.25rem}}@media (max-width:30em),(max-height:500px) and (pointer:coarse){.integrated-gantt__mobile-drawer-tab{border:1px solid var(--color-border-subtle);background:var(--color-bg-primary);width:2.5rem;min-height:3.5rem;color:var(--color-text-primary);cursor:pointer;touch-action:manipulation;z-index:240;border-left:none;border-radius:0 .625rem .625rem 0;flex-direction:column;justify-content:center;align-items:center;gap:.125rem;padding:.375rem 0;transition:opacity .15s;display:flex;position:absolute;top:50%;left:0;transform:translateY(-50%);box-shadow:2px 0 8px #0000001f}.integrated-gantt__mobile-timeline:has(.gantt-body[data-task-dragging=true]) .integrated-gantt__mobile-drawer-tab{opacity:0;pointer-events:none}.integrated-gantt__mobile-drawer-tab:active{background:var(--color-bg-tertiary,#0000000d)}.integrated-gantt__column-wrapper--small-mobile .integrated-gantt__drawer-close{width:2.75rem;height:2.75rem}.integrated-gantt__drawer-backdrop.integrated-gantt__drawer-backdrop--small-mobile{z-index:290;position:absolute}.integrated-gantt__column-wrapper--drawer.integrated-gantt__column-wrapper--small-mobile{z-index:300;width:auto;position:absolute;top:0;bottom:0;left:0}.integrated-gantt__column-wrapper--small-mobile .fixed-task-column{height:100%}}
.link-type-menu{display:inline-flex;position:relative}.link-type-menu__panel{top:calc(100% + 6px);background:var(--color-bg-primary);border:1px solid var(--color-border-primary);z-index:1000;transform-origin:0 0;border-radius:10px;min-width:250px;padding-bottom:.5rem;animation:.15s link-type-menu-open;position:absolute;inset-inline-start:0;box-shadow:0 8px 24px #00000024}[dir=rtl] .link-type-menu__panel{transform-origin:100% 0}@keyframes link-type-menu-open{0%{opacity:0;transform:scale(.95)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (prefers-reduced-motion:reduce){.link-type-menu__panel{animation:none}}.link-type-menu__order-hint{color:var(--color-text-tertiary);max-width:260px;padding:.5rem .75rem .25rem;font-size:.6875rem}.link-type-menu__chain{max-height:240px;margin:0;padding:.125rem .75rem .25rem;list-style:none;overflow-y:auto}.link-type-menu__chain-row{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);border-radius:.375rem;justify-content:space-between;align-items:center;gap:.5rem;padding:.2rem .375rem;display:flex}.link-type-menu__chain-name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:170px;font-size:.8125rem;overflow:hidden}.link-type-menu__chain-move{flex-shrink:0;gap:.125rem;display:inline-flex}.link-type-menu__move-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:.25rem;min-width:28px;min-height:28px;padding:.25rem .3rem;font-size:.625rem}.link-type-menu__move-btn:hover:not(:disabled){background:var(--color-bg-tertiary,var(--color-bg-secondary));color:var(--color-text-primary)}.link-type-menu__move-btn:disabled{opacity:.3;cursor:default}.link-type-menu__gap{padding:.05rem .75rem;font-size:.6875rem;position:relative}.link-type-menu__arrow{color:var(--color-text-secondary);pointer-events:none}.link-type-menu__arrow--existing{color:var(--color-text-tertiary);font-style:italic}.link-type-menu__arrow-btn{font:inherit;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:.25rem;padding:.15rem .375rem;font-size:.6875rem}.link-type-menu__arrow-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.link-type-menu__arrow-btn--overridden{color:var(--color-accent-primary,#14b8a6);font-weight:600}.link-type-menu__override-dot{vertical-align:middle;margin-inline-start:.3rem;font-size:.5rem}.link-type-menu__pair-menu{inset-inline-start:1.5rem;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);z-index:1001;border-radius:.5rem;flex-direction:column;min-width:170px;padding:.25rem;display:flex;position:absolute;top:calc(100% + 2px);box-shadow:0 6px 18px #0000002e}.link-type-menu__pair-option{font:inherit;color:var(--color-text-primary);text-align:start;cursor:pointer;background:0 0;border:none;border-radius:.375rem;padding:.3rem .5rem;font-size:.75rem}.link-type-menu__pair-option:hover{background:var(--color-bg-secondary)}.link-type-menu__pair-option--active{color:var(--color-accent-primary,#14b8a6);font-weight:600}.link-type-menu__drag-grip{color:var(--color-text-tertiary);cursor:grab;flex-shrink:0;font-size:.75rem}.link-type-menu__chain-row{cursor:grab}.link-type-menu__chain-row--drop{outline:2px dashed var(--color-accent-primary,#14b8a6);outline-offset:1px}.link-type-menu__too-many{max-width:240px;color:var(--color-text-secondary);padding:.75rem;font-size:.8125rem}.link-type-menu__apply:disabled{opacity:.5;cursor:default}.link-type-menu__heading{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);padding:.5rem .75rem .25rem;font-size:.6875rem;font-weight:600}.link-type-menu__option{cursor:pointer;align-items:flex-start;gap:.5rem;padding:.375rem .75rem;display:flex}.link-type-menu__option:hover{background:var(--color-bg-secondary)}.link-type-menu__option input{accent-color:var(--color-accent-primary);margin-top:.15rem}.link-type-menu__option-text{flex-direction:column;gap:.0625rem;display:flex}.link-type-menu__option-name{color:var(--color-text-primary);font-size:.8125rem;font-weight:500}.link-type-menu__option-desc{color:var(--color-text-tertiary);font-size:.6875rem}.link-type-menu__apply{background:var(--color-accent-primary,#14b8a6);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:.375rem;margin:.375rem .75rem 0;padding:.3rem .9rem;font-size:.8125rem;font-weight:600;display:block}.link-type-menu__apply:hover{background:color-mix(in srgb, var(--color-accent-primary,#14b8a6) 85%, #000)}
