.gantt-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.gantt-main{display:flex;position:relative;height:100%}.gantt-sidebar{min-width:200px;max-width:300px;border-right:2px solid #ddd;background:#fafafa;overflow-x:auto;flex-shrink:0;position:relative;display:flex;flex-direction:column}.gantt-sidebar-header{height:50px;box-sizing:border-box;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;padding:0 15px;font-weight:600;color:#333;font-size:14px}.gantt-sidebar-content{overflow-y:auto;flex:1}.gantt-row-label{height:40px;box-sizing:border-box;border-bottom:1px solid #e0e0e0;padding:0 10px;display:flex;align-items:center;background:#fff;transition:background .2s;cursor:pointer}.gantt-row-label:hover{background:#f5f5f5}.gantt-group-label{background:#e8f4f8;font-weight:600}.gantt-group-label:hover{background:#d6ecf3}.gantt-child-label{padding-left:35px}.gantt-collapse-icon{width:20px;height:20px;margin-right:8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .2s;font-size:12px}.gantt-task-info{flex:1;display:flex;flex-direction:column;min-width:0}.gantt-task-name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#333}.gantt-task-meta{font-size:11px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-resize-handle{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:ew-resize;background:transparent;transition:background .2s}.gantt-resize-handle:hover{background:#2196f3}.gantt-chart-container{flex:1;overflow:auto;position:relative;height:100%}.gantt-chart-header-sticky{position:sticky;top:0;z-index:5;background:#f8f9fa;border-bottom:1px solid #e0e0e0}.gantt-wrapper{position:relative;min-width:100%}.gantt-svg{display:block;min-width:100%}.gantt-grid-line{stroke:#e0e0e0;stroke-width:1}.gantt-month-separator{stroke:#cfcfcf;stroke-width:1.5}.gantt-year-separator{stroke:#bdbdbd;stroke-width:2}.gantt-weekend{stroke:#ffeaa7;stroke-width:1;fill:#ffeaa7;opacity:.3}.gantt-marked-day{fill:#ff7675;opacity:.2}.gantt-header-text{fill:#333;font-size:12px;font-weight:500}.gantt-header-bg{fill:#f8f9fa}.gantt-container.gantt-theme-dark .gantt-header-bg{fill:#2d2d2d}.gantt-row{fill:#f9f9f9}.gantt-row:nth-child(2n){fill:#fff}.gantt-group-row{fill:#e8f4f8}.gantt-task-segment{cursor:move}.gantt-task-segment .gantt-task-bar{transition:fill .2s}.gantt-task-segment .gantt-task-segment-text{fill:#fff}.gantt-row.gantt-group-row{fill:#e8f4f8}.gantt-task{cursor:move;transition:opacity .2s}.gantt-task:hover{opacity:.8}.gantt-task.gantt-dragging{opacity:.5}.gantt-task-bar{transition:fill .2s}.gantt-task-progress{pointer-events:none}.gantt-task-text{fill:#fff;font-size:12px;pointer-events:none;-webkit-user-select:none;user-select:none}.gantt-milestone{cursor:pointer;transition:opacity .2s}.gantt-milestone:hover{opacity:.8}.gantt-dependency{stroke:#666;stroke-width:2;fill:none;opacity:.6;transition:opacity .2s}.gantt-dependencies:hover .gantt-dependency{opacity:1}.gantt-chart-container::-webkit-scrollbar,.gantt-sidebar::-webkit-scrollbar{width:8px;height:8px}.gantt-chart-container::-webkit-scrollbar-track,.gantt-sidebar::-webkit-scrollbar-track{background:#f1f1f1}.gantt-chart-container::-webkit-scrollbar-thumb,.gantt-sidebar::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.gantt-chart-container::-webkit-scrollbar-thumb:hover,.gantt-sidebar::-webkit-scrollbar-thumb:hover{background:#555}.gantt-container.gantt-theme-dark{background:#1e1e1e;color:#fff}.gantt-container.gantt-theme-dark .gantt-sidebar{background:#2d2d2d;border-right-color:#444}.gantt-container.gantt-theme-dark .gantt-sidebar-header{background:#2d2d2d;border-bottom-color:#444;color:#fff}.gantt-container.gantt-theme-dark .gantt-row-label{background:#1e1e1e;border-bottom-color:#444}.gantt-container.gantt-theme-dark .gantt-row-label:hover{background:#2d2d2d}.gantt-container.gantt-theme-dark .gantt-group-label{background:#2a3f5f}.gantt-container.gantt-theme-dark .gantt-group-label:hover{background:#3a4f6f}.gantt-container.gantt-theme-dark .gantt-task-name{color:#fff}.gantt-container.gantt-theme-dark .gantt-task-meta{color:#aaa}.gantt-container.gantt-theme-dark .gantt-grid-line{stroke:#444}.gantt-container.gantt-theme-dark .gantt-month-separator{stroke:#555}.gantt-container.gantt-theme-dark .gantt-year-separator{stroke:#666}.gantt-container.gantt-theme-dark .gantt-row{fill:#2d2d2d}.gantt-container.gantt-theme-dark .gantt-row:nth-child(2n){fill:#1e1e1e}.gantt-container.gantt-theme-dark .gantt-group-row{fill:#2a3f5f}.gantt-container.gantt-theme-dark .gantt-header-text{fill:#fff}@media (max-width: 768px){.gantt-sidebar{min-width:150px}.gantt-task-name{font-size:12px}.gantt-task-meta{font-size:10px}}.gantt-container.gantt-theme-dark .gantt-chart-header-sticky{background:#2d2d2d;border-bottom-color:#444}
