:root{--g-arrow-color:#6366f1;--g-bar-color:#4f46e5;--g-bar-border:transparent;--g-tick-color-thick:#e5e7eb;--g-tick-color:#f3f4f6;--g-actions-background:#f3f4f6;--g-border-color:#e5e7eb;--g-text-muted:#6b7280;--g-text-light:#fff;--g-text-dark:#111827;--g-progress-color:#00000040;--g-handle-color:#fff;--g-weekend-label-color:#e5e7eb;--g-expected-progress:#818cf8;--g-header-background:#fafafa;--g-row-color:#fff;--g-row-border-color:#f3f4f6;--g-today-highlight:#3b82f6;--g-popup-actions:#f3f4f6;--g-weekend-highlight-color:#fafafa}html.dark,html[data-theme=dark]{--g-arrow-color:#818cf8;--g-bar-color:#4f46e5;--g-bar-border:transparent;--g-tick-color-thick:#262626;--g-tick-color:#1c1c1c;--g-actions-background:#262626;--g-border-color:#262626;--g-text-muted:#9ca3af;--g-text-light:#fff;--g-text-dark:#f9fafb;--g-progress-color:#00000059;--g-handle-color:#fff;--g-weekend-label-color:#262626;--g-expected-progress:#6366f1;--g-header-background:#171717;--g-row-color:#171717;--g-row-border-color:#262626;--g-today-highlight:#60a5fa;--g-popup-actions:#262626;--g-weekend-highlight-color:#1f1f1f}.gantt-container{isolation:isolate;border-radius:0;width:100%;font-size:12px;line-height:14.5px;position:relative;overflow:auto;height:100%!important}.gantt-container .popup-wrapper{background:var(--g-header-background);border:1px solid var(--g-border-color);z-index:1000;border-radius:8px;width:max-content;padding:10px 14px;position:absolute;top:0;left:0;box-shadow:0 10px 24px -3px #0003}.gantt-container .popup-wrapper .title{color:var(--g-text-dark);margin-bottom:3px;font-size:.85rem;font-weight:700;line-height:16px}.gantt-container .popup-wrapper .subtitle{color:var(--g-text-dark);margin-bottom:5px;font-size:.8rem}.gantt-container .popup-wrapper .details{color:var(--g-text-muted);font-size:.75rem}.gantt-container .popup-wrapper .actions{margin-top:10px;margin-left:3px}.gantt-container .popup-wrapper .action-btn{background-color:var(--g-popup-actions);border:none;border-right:1px solid var(--g-border-color);padding:5px 8px}.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,30px) + var(--gv-upper-header-height,45px) + 10px);background-color:var(--g-header-background);border-bottom:1px solid var(--g-row-border-color);z-index:100;position:sticky;top:0;left:0}.gantt-container .lower-text,.gantt-container .upper-text{text-anchor:middle}.gantt-container .upper-header{height:var(--gv-upper-header-height,45px)}.gantt-container .lower-header{height:var(--gv-lower-header-height,30px)}.gantt-container .lower-text{width:calc(var(--gv-column-width) * .8);height:calc(var(--gv-lower-header-height,30px) * .8);margin:0 calc(var(--gv-column-width) * .1);text-align:center;color:var(--g-text-muted);align-content:center;font-size:11px;font-weight:600;position:absolute}.gantt-container .upper-text{width:fit-content;color:var(--g-text-dark);height:calc(var(--gv-lower-header-height,30px) * .66);font-size:12px;font-weight:700;position:absolute}.gantt-container .current-upper{background:var(--g-header-background);padding-left:17px;position:sticky;left:0!important}.gantt-container .side-header{float:right;z-index:100;background:var(--g-header-background);width:max-content;margin-left:auto;padding-top:10px;padding-right:10px;font-weight:400;line-height:20px;display:flex;position:sticky;top:0;right:0}.gantt-container .side-header *{background-color:var(--g-actions-background);color:var(--g-text-dark);letter-spacing:.02em;box-sizing:content-box;border:none;border-radius:.5rem;margin-right:5px;padding:5px 8px;font-size:13px;font-weight:500;transition-property:background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.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);height:calc(var(--gv-lower-header-height,30px) - 6px);top:calc(var(--gv-upper-header-height,45px) + 5px);border-radius:12px;position:absolute}.gantt-container .current-highlight{background:var(--g-today-highlight);z-index:90;width:2px;position:absolute}.gantt-container .current-ball-highlight{background:var(--g-today-highlight);z-index:91;border-radius:50%;width:8px;height:8px;position:absolute}.gantt-container .current-date-highlight{background:var(--g-today-highlight);color:var(--g-text-light);border-radius:4px}.gantt-container .holiday-label{opacity:0;z-index:1000;background:var(--g-weekend-label-color);border-radius:5px;padding:2px 5px;position:absolute;top:0;left:0}.gantt-container .holiday-label.show{opacity:100}.gantt-container .extras{position:sticky;left:0}.gantt-container .extras .adjust{left:8px;top:calc(var(--gv-grid-height,400px) - 60px);background-color:var(--g-actions-background);color:var(--g-text-light);border:none;border-radius:3px;padding:8px;position:absolute}.gantt-container .hide{display:none}.gantt{-webkit-user-select:none;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:.5px}.gantt .tick.thick{stroke:var(--g-tick-color-thick);stroke-width:.8px}.gantt .arrow{fill:none;stroke:var(--g-arrow-color);stroke-width:1.5px}.gantt .bar-wrapper .bar{fill:var(--g-bar-color);stroke:var(--g-bar-border);stroke-width:0;rx:4px;ry:4px;border-radius:4px;transition:stroke-width .3s}.gantt .bar-progress{fill:var(--g-progress-color);rx:4px;ry:4px;border-radius:4px}.gantt .bar-expected-progress{fill:var(--g-expected-progress)}.gantt .bar-invalid{fill:#0000;stroke:var(--g-bar-border);stroke-width:1px;stroke-dasharray:5}:is(.gantt .bar-invalid)~.bar-label{fill:var(--g-text-light)}.gantt .bar-label{fill:var(--g-text-light);dominant-baseline:central;font-family:inherit;font-size:11px;font-weight:600}.gantt .bar-label.big{fill:var(--g-text-dark);text-anchor:start}.gantt .handle{fill:var(--g-handle-color);opacity:0;transition:opacity .3s}.gantt .handle.active,.gantt .handle.visible{cursor:ew-resize;opacity:.85}.gantt .handle.progress{fill:#fff}.gantt .bar-wrapper{cursor:pointer}.gantt .bar-wrapper:hover .bar{filter:brightness(1.05);transition:transform .3s}.gantt .bar-wrapper:hover .date-range-highlight{display:block}.gantt .grid-column{fill:#0000;pointer-events:all}.gantt .grid-column:hover{fill:var(--g-weekend-highlight-color);transition:fill .1s}.gantt .bar-group .bar{fill:#10b981!important}.gantt .bar-overdue .bar{fill:#ef4444!important}.gantt .bar-completed .bar{fill:#059669!important}.gantt .bar-subtask .bar{fill:#3b82f6!important}
