.rw-share-marker{position:relative;display:inline-block;width:12px;height:12px;flex:0 0 12px;cursor:inherit}.rw-share-marker .rw-sm-dot,.rw-share-marker .rw-sm-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:none}.rw-share-marker .rw-sm-dot{width:5px;height:5px;border-radius:50%}.rw-share-marker .rw-sm-dot-shared{background:var(--primary)}.rw-share-marker .rw-sm-dot-private{background:color-mix(in srgb,var(--muted-foreground) 38%,transparent)}.rw-share-marker .rw-sm-icon{width:12px;height:12px}.rw-share-marker .rw-sm-icon-shared{color:var(--primary)}.rw-share-marker .rw-sm-icon-private{color:var(--muted-foreground)}.rw-share-marker .rw-sm-dot{display:block}[data-share-marks=always] .rw-share-marker .rw-sm-dot,[data-share-marks=hover] .rw-share-marker .rw-sm-dot{display:none}[data-share-marks=always] .rw-share-marker .rw-sm-icon{display:block}[data-share-row]:hover .rw-share-marker .rw-sm-dot{display:none}[data-share-row]:hover .rw-share-marker .rw-sm-icon{display:block}:root{--g-arrow-color:#1f2937;--g-bar-color:#fff;--g-bar-border:#fff;--g-tick-color-thick:#ededed;--g-tick-color:#f3f3f3;--g-actions-background:#f3f3f3;--g-border-color:#ebeff2;--g-text-muted:#7c7c7c;--g-text-light:#fff;--g-text-dark:#171717;--g-progress-color:#dbdbdb;--g-handle-color:#37352f;--g-weekend-label-color:#dcdce4;--g-expected-progress:#c4c4e9;--g-header-background:#fff;--g-row-color:#fdfdfd;--g-row-border-color:#c7c7c7;--g-today-highlight:#37352f;--g-popup-actions:#ebeff2;--g-weekend-highlight-color:#f7f7f7}html[data-theme=dark]{--g-arrow-color:#e5e5e5;--g-bar-color:#2a2a2a;--g-bar-border:#3a3a3a;--g-tick-color-thick:#1a1a1a;--g-tick-color:#0a0a0a;--g-actions-background:#1a1a1a;--g-border-color:#2a2a2a;--g-text-muted:#999999;--g-text-light:#ffffff;--g-text-dark:#f5f5f5;--g-progress-color:#4a4a4a;--g-handle-color:#d0d0d0;--g-weekend-label-color:#3a3a3a;--g-expected-progress:#5a5a5a;--g-header-background:#0a0a0a;--g-row-color:#141414;--g-row-border-color:#2a2a2a;--g-today-highlight:#999999;--g-popup-actions:#1a1a1a;--g-weekend-highlight-color:#0f0f0f}.gantt-container{line-height:14.5px;position:relative;overflow:auto;font-size:12px;height:var(--gv-grid-height);width:100%;border-radius:8px;isolation:isolate}.gantt-container .popup-wrapper{position:absolute;top:0;left:0;background:var(--g-header-background);box-shadow:0 10px 24px -3px #0003;padding:10px;border-radius:5px;width:max-content;z-index:1000}.gantt-container .popup-wrapper .title{margin-bottom:2px;color:var(--g-text-dark);font-size:.85rem;font-weight:650;line-height:15px}.gantt-container .popup-wrapper .subtitle{color:var(--g-text-dark);font-size:.8rem;margin-bottom:5px}.gantt-container .popup-wrapper .details{color:var(--g-text-muted);font-size:.7rem}.gantt-container .popup-wrapper .actions{margin-top:10px;margin-left:3px}.gantt-container .popup-wrapper .action-btn{border:none;padding:5px 8px;background-color:var(--g-popup-actions);border-right:1px solid var(--g-border-color)}.gantt-container .popup-wrapper .action-btn:hover{filter:brightness(97%)}.gantt-container .popup-wrapper .action-btn:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.gantt-container .popup-wrapper .action-btn:last-child{border-right:none;border-top-right-radius:4px;border-bottom-right-radius:4px}.gantt-container .grid-header{height:calc(var(--gv-lower-header-height) + var(--gv-upper-header-height) + 10px);background-color:var(--g-header-background);position:sticky;top:0;left:0;border-bottom:1px solid var(--g-row-border-color);z-index:1000}.gantt-container .lower-text,.gantt-container .upper-text{text-anchor:middle}.gantt-container .upper-header{height:var(--gv-upper-header-height)}.gantt-container .lower-header{height:var(--gv-lower-header-height)}.gantt-container .lower-text{font-size:12px;position:absolute;width:calc(var(--gv-column-width) * .8);height:calc(var(--gv-lower-header-height) * .8);margin:0 calc(var(--gv-column-width) * .1);align-content:center;text-align:center;color:var(--g-text-muted)}.gantt-container .upper-text{position:absolute;width:fit-content;font-weight:500;font-size:14px;color:var(--g-text-dark);height:calc(var(--gv-lower-header-height) * .66)}.gantt-container .current-upper{position:sticky;left:0!important;padding-left:17px;background:var(--g-header-background)}.gantt-container .side-header{position:sticky;top:0;right:0;float:right;z-index:1000;line-height:20px;font-weight:400;width:max-content;margin-left:auto;padding-right:10px;padding-top:10px;background:var(--g-header-background);display:flex}.gantt-container .side-header *{transition-property:background-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--g-actions-background);border-radius:.5rem;border:none;padding:5px 8px;color:var(--g-text-dark);font-size:14px;letter-spacing:.02em;font-weight:420;box-sizing:content-box;margin-right:5px}.gantt-container .side-header :last-child{margin-right:0}.gantt-container .side-header :hover{filter:brightness(97.5%)}.gantt-container .side-header select{width:60px;padding-top:2px;padding-bottom:2px}.gantt-container .side-header select:focus{outline:none}.gantt-container .date-range-highlight{background-color:var(--g-progress-color);border-radius:12px;height:calc(var(--gv-lower-header-height) - 6px);top:calc(var(--gv-upper-header-height) + 5px);position:absolute}.gantt-container .current-highlight{position:absolute;background:var(--g-today-highlight);width:1px;z-index:999}.gantt-container .current-ball-highlight{position:absolute;background:var(--g-today-highlight);z-index:1001;border-radius:50%}.gantt-container .current-date-highlight{background:var(--g-today-highlight);color:var(--g-text-light);border-radius:5px}.gantt-container .holiday-label{position:absolute;top:0;left:0;opacity:0;z-index:1000;background:var(--g-weekend-label-color);border-radius:5px;padding:2px 5px}.gantt-container .holiday-label.show{opacity:1}.gantt-container .extras{position:sticky;left:0}.gantt-container .extras .adjust{position:absolute;left:8px;top:calc(var(--gv-grid-height) - 60px);background-color:var(--g-actions-background);color:var(--g-text-light);border:none;padding:8px;border-radius:3px}.gantt-container .hide{display:none}.gantt{user-select:none;-webkit-user-select:none;position:absolute}.gantt .grid-background{fill:none}.gantt .grid-row{fill:var(--g-row-color)}.gantt .row-line{stroke:var(--g-border-color)}.gantt .tick{stroke:var(--g-tick-color);stroke-width:.4}.gantt .tick.thick{stroke:var(--g-tick-color-thick);stroke-width:.7}.gantt .arrow{fill:none;stroke:var(--g-arrow-color);stroke-width:1.5}.gantt .bar-wrapper .bar{fill:var(--g-bar-color);stroke:var(--g-bar-border);stroke-width:0;transition:stroke-width .3s ease}.gantt .bar-progress{fill:var(--g-progress-color);border-radius:4px}.gantt .bar-expected-progress{fill:var(--g-expected-progress)}.gantt .bar-invalid{fill:transparent;stroke:var(--g-bar-border);stroke-width:1;stroke-dasharray:5}:is(.gantt .bar-invalid)~.bar-label{fill:var(--g-text-light)}.gantt .bar-label{fill:var(--g-text-dark);dominant-baseline:central;font-family:Helvetica;font-size:13px;font-weight:400}.gantt .bar-label.big{fill:var(--g-text-dark);text-anchor:start}.gantt .handle{fill:var(--g-handle-color);opacity:0;transition:opacity .3s ease}.gantt .handle.active,.gantt .handle.visible{cursor:ew-resize;opacity:1}.gantt .handle.progress{fill:var(--g-text-muted)}.gantt .bar-wrapper{cursor:pointer}.gantt .bar-wrapper .bar{outline:1px solid var(--g-row-border-color);border-radius:3px}.gantt .bar-wrapper:hover .bar{transition:transform .3s ease}.gantt .bar-wrapper:hover .date-range-highlight{display:block}.gantt .grid-column{fill:transparent;pointer-events:all}.gantt .grid-column:hover{fill:var(--g-weekend-highlight-color);transition:fill .1s ease}.alcove-gantt-container{--g-header-background:var(--background);--g-row-color:var(--card);--g-row-border-color:color-mix(in srgb,var(--foreground) 18%,transparent);--g-border-color:var(--border);--g-text-dark:var(--foreground);--g-text-light:var(--primary-foreground);--g-text-muted:var(--muted-foreground);--g-bar-color:var(--secondary);--g-bar-border:var(--border);--g-progress-color:var(--primary);--g-expected-progress:var(--accent);--g-arrow-color:var(--muted-foreground);--g-tick-color:color-mix(in srgb,var(--border) 60%,transparent);--g-tick-color-thick:var(--border);--g-handle-color:var(--foreground);--g-actions-background:var(--muted);--g-popup-actions:var(--popover);--g-today-highlight:var(--primary);--g-weekend-highlight-color:color-mix(in srgb,var(--muted) 40%,transparent);--g-weekend-label-color:var(--muted)}.alcove-gantt-container .gantt .bar-wrapper.alcove-milestone .bar{fill:none;stroke:var(--primary);stroke-width:1.5;transform-box:fill-box;transform-origin:center;transform:rotate(45deg) scale(.7);rx:0}.alcove-gantt-container .gantt .bar-wrapper.alcove-milestone .bar-progress,.alcove-gantt-container .gantt .bar-wrapper.alcove-milestone .handle{display:none}.alcove-gantt-container .gantt .bar-wrapper.alcove-milestone .bar-label{fill:var(--foreground);font-weight:500}.alcove-gantt-container .gantt-container .side-header :hover{filter:brightness(115%)}.alcove-gantt-container .gantt-container{--gv-upper-header-height:14px!important;--gv-lower-header-height:18px!important;height:100%!important;background-color:var(--g-row-color)}.alcove-gantt-container .gantt-container .upper-header{height:14px!important}.alcove-gantt-container .gantt-container .lower-header{height:18px!important}.alcove-gantt-container .gantt-container .upper-text{top:1px!important;height:12px!important;font-size:11px}.alcove-gantt-container .gantt-container .lower-text{top:16px!important;height:14px!important;font-size:10px}.alcove-gantt-container .gantt .arrow{fill:none;stroke:color-mix(in srgb,var(--foreground) 55%,transparent);stroke-width:1;stroke-linejoin:round;stroke-linecap:round;opacity:.85}.alcove-gantt-container .gantt .alcove-critical-arrow{stroke:var(--destructive);stroke-width:1.4;opacity:1}.alcove-gantt-container .gantt .arrow-head{fill:context-stroke;stroke:none}.alcove-gantt-container .gantt .row-line{stroke:color-mix(in srgb,var(--foreground) 18%,transparent);stroke-width:.6}.alcove-gantt-container .gantt .bar-wrapper.alcove-phase-row .bar,.alcove-gantt-container .gantt .bar-wrapper.alcove-project-phase-row .bar{fill:none;stroke:none;rx:0}.alcove-gantt-container .gantt .alcove-phase-bracket{stroke:var(--muted-foreground);stroke-linecap:square;pointer-events:none}.alcove-gantt-container .gantt .bar-wrapper.alcove-phase-row .bar-progress,.alcove-gantt-container .gantt .bar-wrapper.alcove-project-phase-row .bar-progress{fill:var(--primary);fill-opacity:1}.alcove-gantt-container .gantt .bar-wrapper.alcove-project-phase-row .bar{stroke-width:1.25}.alcove-gantt-container .gantt .bar-wrapper.alcove-phase-row .bar-label,.alcove-gantt-container .gantt .bar-wrapper.alcove-project-phase-row .bar-label{display:none}.alcove-gantt-container .gantt .bar-wrapper.alcove-empty-phase-row .bar,.alcove-gantt-container .gantt .bar-wrapper.alcove-empty-phase-row .bar-label,.alcove-gantt-container .gantt .bar-wrapper.alcove-empty-phase-row .bar-progress,.alcove-gantt-container .gantt .bar-wrapper.alcove-empty-phase-row .handle{display:none;pointer-events:none}.alcove-gantt-container .gantt .bar-wrapper.alcove-activity-row .bar{fill:var(--primary);fill-opacity:.22;stroke:var(--primary);stroke-width:1;stroke-opacity:.9}.alcove-gantt-container .gantt .bar-wrapper.alcove-activity-row .bar-progress{fill:var(--primary);fill-opacity:1}.alcove-gantt-container .gantt .bar-wrapper.alcove-critical-row .bar{fill:var(--destructive);fill-opacity:.22;stroke:var(--destructive);stroke-width:1;stroke-opacity:.9}.alcove-gantt-container .gantt .bar-wrapper.alcove-critical-row .bar-progress{fill:var(--destructive);fill-opacity:1}.alcove-gantt-container .gantt .bar-wrapper.alcove-overallocated-row .bar{fill:#d97706}.alcove-gantt-container .gantt .bar-wrapper.alcove-connected-row .bar{fill:#38bdf8;fill-opacity:.65;stroke:#0284c7;stroke-width:1}.alcove-gantt-container .gantt .bar-wrapper.alcove-connected-row .bar-progress{fill:#0369a1}.alcove-gantt-container .gantt .alcove-bar-inprogress{fill:#ca8a04;pointer-events:none}.alcove-gantt-container .gantt-container .date-range-highlight{display:none!important}@keyframes schedule-rows-unfold{0%{grid-template-rows:0fr;opacity:0}}.schedule-rows-group{grid-template-rows:1fr;animation:schedule-rows-unfold .12s ease-out;transition:grid-template-rows .12s ease-out,opacity .12s ease-out}.schedule-rows-group-closing{grid-template-rows:0fr;opacity:0}@keyframes schedule-block-enter{0%{opacity:0;transform:translateY(-4px)}}.schedule-block-enter{animation:schedule-block-enter .12s ease-out}@media (prefers-reduced-motion:reduce){.schedule-block-enter,.schedule-rows-group{animation:none;transition:none}}.gantt-container .popup-wrapper .alcove-popup{display:flex;flex-direction:column;gap:8px;min-width:240px;max-width:320px;padding:2px;font-size:.75rem;color:var(--popover-foreground)}.alcove-popup .alcove-popup-header{display:flex;flex-direction:column;gap:4px}.alcove-popup .alcove-popup-title{font-size:.8125rem;font-weight:650;line-height:1.25}.alcove-popup .alcove-popup-badges{display:flex;flex-wrap:wrap;gap:4px}.alcove-popup .alcove-popup-badge{display:inline-flex;align-items:center;border-radius:9999px;padding:1px 7px;font-size:.625rem;font-weight:600;letter-spacing:.02em;background:color-mix(in srgb,var(--foreground) 8%,transparent);color:var(--muted-foreground)}.alcove-popup .alcove-popup-badge-critical{background:color-mix(in srgb,var(--destructive) 14%,transparent);color:var(--destructive)}.alcove-popup .alcove-popup-badge-overalloc{background:color-mix(in srgb,#d97706 16%,transparent);color:#b45309}.alcove-popup .alcove-popup-badge-milestone{background:color-mix(in srgb,var(--muted-foreground) 12%,transparent);color:var(--foreground)}.alcove-popup .alcove-popup-meta{display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:3px;align-items:baseline}.alcove-popup .alcove-popup-meta-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground)}.alcove-popup .alcove-popup-meta-value{font-variant-numeric:tabular-nums}.alcove-popup .alcove-popup-meta-dim{color:var(--muted-foreground)}.alcove-popup .alcove-popup-share-dot{display:inline-block;width:5px;height:5px;margin-right:6px;border-radius:50%;vertical-align:middle}.alcove-popup .alcove-popup-share-dot-shared{background:var(--primary)}.alcove-popup .alcove-popup-share-dot-private{background:color-mix(in srgb,var(--muted-foreground) 38%,transparent)}.alcove-popup .alcove-popup-progress-track{display:inline-block;width:56px;height:5px;margin-right:5px;border-radius:9999px;background:color-mix(in srgb,var(--foreground) 12%,transparent);vertical-align:middle;overflow:hidden}.alcove-popup .alcove-popup-progress-fill{display:block;height:100%;border-radius:9999px;background:var(--primary)}.alcove-popup .alcove-popup-section{border-top:1px solid var(--border);padding-top:6px;display:flex;flex-direction:column;gap:3px}.alcove-popup .alcove-popup-section-title{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground)}.alcove-popup .alcove-popup-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.alcove-popup .alcove-popup-list li{display:flex;align-items:center;gap:6px;line-height:1.35}.alcove-popup .alcove-popup-dot{display:inline-block;width:7px;height:7px;border-radius:9999px;flex-shrink:0;background:color-mix(in srgb,var(--foreground) 30%,transparent)}.alcove-popup .alcove-popup-dot-status-done{background:var(--primary)}.alcove-popup .alcove-popup-dot-status-in_progress{background:#ca8a04}.alcove-popup .alcove-popup-dot-status-skipped{background:color-mix(in srgb,var(--foreground) 15%,transparent)}.alcove-popup .alcove-popup-dot-critical{background:var(--destructive)}.alcove-popup .alcove-popup-dot-milestone{background:var(--muted-foreground);border-radius:1px;transform:rotate(45deg)}.alcove-popup .alcove-popup-notes{color:var(--muted-foreground);line-height:1.4}.alcove-gantt-container .gantt .bar-wrapper[data-undated] .bar,.alcove-gantt-container .gantt .bar-wrapper[data-undated] .bar-progress,.alcove-gantt-container .gantt .bar-wrapper[data-undated] .handle{display:none;pointer-events:none}.alcove-gantt-container .gantt .bar-wrapper[data-undated] .bar-label{fill:var(--muted-foreground);font-style:italic}.alcove-gantt-container .gantt .alcove-undated-lane{pointer-events:none}.alcove-gantt-container .gantt .alcove-undated-pill-bg{fill:color-mix(in srgb,var(--foreground) 12%,transparent);pointer-events:none}.alcove-gantt-container .gantt .alcove-undated-pill-text{fill:var(--muted-foreground);font-size:9.5px;font-weight:600;pointer-events:none}.alcove-gantt-container .gantt .alcove-bar-lead{fill:var(--muted-foreground);fill-opacity:.35;stroke:var(--muted-foreground);stroke-width:1;stroke-opacity:.75;pointer-events:none}.alcove-gantt-container .gantt .alcove-bar-lead[data-clipped]{fill-opacity:.5}.alcove-gantt-container .gantt .alcove-link-handle{fill:var(--primary);stroke:var(--background);stroke-width:1.5;opacity:0;cursor:crosshair;transition:opacity .12s ease-out}.alcove-gantt-container .gantt .bar-wrapper:hover .alcove-link-handle{opacity:1}.alcove-gantt-container.alcove-linking .gantt .alcove-link-handle{opacity:0}.alcove-gantt-container .gantt .alcove-link-rubber{fill:none;stroke:var(--primary);stroke-width:2;stroke-dasharray:4 3;pointer-events:none}.alcove-gantt-container .gantt .bar.alcove-link-target{stroke:var(--primary);stroke-width:2}.alcove-gantt-container .gantt .bar.alcove-link-target-invalid{stroke:var(--destructive);stroke-width:2}.alcove-gantt-container.alcove-linking .gantt *{cursor:crosshair!important}[data-phase-rollup=off] [data-phase-rollup-pct]{visibility:hidden}[data-phase-recede=on] [data-phase-collapsed]{background-color:transparent;border-color:transparent;font-weight:400}[data-phase-recede=on] .alcove-gantt-container .gantt .alcove-phase-bracket--collapsed{stroke-dasharray:3 2.5}.gantt .bar-wrapper.alcove-row-selected .bar,.gantt .bar-wrapper.alcove-row-selected .bar-progress{stroke:var(--primary);stroke-width:2px;paint-order:stroke}.gantt .bar-wrapper.alcove-row-selected .bar-label,.gantt .bar-wrapper.alcove-row-selected .bar-label.big{font-weight:600}svg.gantt .bar-wrapper:focus{outline:none}svg.gantt .bar-wrapper:focus-visible :is(.bar,.bar-progress,.alcove-undated-pill-bg){stroke:var(--ring);stroke-width:2px;paint-order:stroke fill}.alcove-gantt-container .gantt .alcove-ghost{fill:none;stroke:color-mix(in srgb,var(--foreground) 34%,transparent);stroke-width:1.5;stroke-dasharray:4 3;pointer-events:none}.alcove-gantt-container .gantt .alcove-ghost.alcove-ghost-late{stroke:color-mix(in srgb,var(--destructive) 70%,transparent)}.alcove-gantt-container .gantt .alcove-ghost.alcove-ghost-early{stroke:color-mix(in srgb,var(--positive) 70%,transparent)}.alcove-gantt-container .gantt .alcove-ghost.alcove-ghost-slab{fill:color-mix(in srgb,var(--foreground) 12%,transparent);stroke:color-mix(in srgb,var(--foreground) 26%,transparent);stroke-dasharray:none;stroke-width:1}.alcove-gantt-container .gantt .bar-wrapper.alcove-ghost-only-row .bar,.alcove-gantt-container .gantt .bar-wrapper.alcove-ghost-only-row .bar-progress,.alcove-gantt-container .gantt .bar-wrapper.alcove-ghost-only-row .handle{display:none}.alcove-gantt-container .gantt .bar-wrapper.alcove-ghost-only-row .bar-label{fill:var(--g-text-muted);font-style:italic}