.gantt-chart-container[data-v-ef8da4b2]{padding:20px;background:#fff;height:calc(100vh - 50px);overflow:hidden;display:flex;flex-direction:column}.header-controls[data-v-ef8da4b2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #eee}.header-controls .left-controls[data-v-ef8da4b2]{display:flex;align-items:center;gap:15px}.header-controls .left-controls h2[data-v-ef8da4b2]{margin:0;font-size:20px;color:#333}.header-controls .date-controls[data-v-ef8da4b2]{display:flex;align-items:center;gap:15px}.header-controls .date-controls .current-date[data-v-ef8da4b2]{font-size:16px;font-weight:500;color:#409eff;min-width:100px;text-align:center}.gantt-chart[data-v-ef8da4b2]{flex:1;overflow:hidden;border-bottom:2px solid #409eff}.gantt-wrapper[data-v-ef8da4b2]{display:flex;height:100%}.project-column[data-v-ef8da4b2]{width:200px;min-width:200px;flex-shrink:0;background:#fff;border-right:2px solid #e0e0e0}.project-column-header[data-v-ef8da4b2]{height:50px;background:#f5f7fa;border-bottom:2px solid #409eff;display:flex;align-items:center;justify-content:space-between;padding:0 15px;font-weight:600;font-size:14px;color:#333}.project-column-header .add-project-btn[data-v-ef8da4b2]{font-size:18px;color:#409eff;padding:5px;background:rgba(64,158,255,.1)}.project-column-header .add-project-btn[data-v-ef8da4b2]:hover{color:#fff;background:rgba(64,158,255,.5)}.project-list[data-v-ef8da4b2]{overflow-y:auto;height:calc(100% - 50px);scrollbar-width:none;-ms-overflow-style:none}.project-list[data-v-ef8da4b2]::-webkit-scrollbar{display:none}.project-name-cell[data-v-ef8da4b2]{padding:15px;border-bottom:1px solid #e0e0e0;min-height:120px;display:flex;flex-direction:column;justify-content:center;cursor:pointer;transition:all .3s}.project-name-cell[data-v-ef8da4b2]:hover{background:#ecf5ff;box-shadow:inset 3px 0 0 #409eff}.project-name-cell .project-title[data-v-ef8da4b2]{font-weight:600;font-size:14px;color:#303133;margin-bottom:8px}.project-name-cell .project-info[data-v-ef8da4b2]{font-size:12px;color:#909399}.timeline-scroll-wrapper[data-v-ef8da4b2]{flex:1;overflow-x:auto;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.timeline-scroll-wrapper[data-v-ef8da4b2]::-webkit-scrollbar{display:none}.timeline-content[data-v-ef8da4b2]{position:relative;min-width:100%}.timeline-header[data-v-ef8da4b2]{position:sticky;top:0;background:#fff;z-index:10;border-bottom:2px solid #409eff}.week-row[data-v-ef8da4b2]{display:flex;height:50px;position:relative}.week-cell[data-v-ef8da4b2]{position:absolute;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fafafa;border-right:1px solid #e0e0e0;font-size:12px;color:#909399;transition:background .2s;cursor:pointer;padding:8px 5px}.week-cell[data-v-ef8da4b2]:hover{background:#e6f7ff}.week-cell.current-week[data-v-ef8da4b2]{background:#ecf5ff;color:#409eff;font-weight:600}.week-cell .week-label[data-v-ef8da4b2]{margin-bottom:6px;text-align:center}.week-cell .week-total-progress[data-v-ef8da4b2]{width:100%;padding:0 8px}.week-cell .week-total-progress .week-progress-bar[data-v-ef8da4b2]{height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden;margin-bottom:3px}.week-cell .week-total-progress .week-progress-bar .week-progress-fill[data-v-ef8da4b2]{height:100%;background:linear-gradient(90deg,#409eff,#66b1ff);transition:width .3s ease}.week-cell .week-total-progress .week-progress-text[data-v-ef8da4b2]{font-size:10px;color:#909399;text-align:center}.gantt-body[data-v-ef8da4b2]{position:relative}.project-row[data-v-ef8da4b2]{border-bottom:1px solid #e0e0e0;min-height:120px}.project-row[data-v-ef8da4b2]:hover{background:#fafafa}.timeline-grid[data-v-ef8da4b2]{position:relative;min-height:120px}.grid-cell[data-v-ef8da4b2]{position:absolute;height:100%;border-right:1px solid #e0e0e0;cursor:pointer;transition:background .2s;padding:12px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.grid-cell[data-v-ef8da4b2]::-webkit-scrollbar{display:none}.grid-cell[data-v-ef8da4b2]:hover{background:rgba(64,158,255,.03)}.grid-cell.all-completed[data-v-ef8da4b2]{background:rgba(160,216,254,.53)}.grid-cell.past-week[data-v-ef8da4b2]{background:rgba(0,0,0,.03)}.grid-cell.past-week-completed[data-v-ef8da4b2]{background:rgba(160,216,254,.25)}.cell-tasks[data-v-ef8da4b2]{display:flex;flex-direction:column}.cell-task-item[data-v-ef8da4b2]{font-size:13px;padding:4px 0}.cell-task-item .task-text[data-v-ef8da4b2]{color:#606266}.task-checkbox-item[data-v-ef8da4b2]{display:flex;align-items:flex-start}.checkbox_content[data-v-ef8da4b2]{margin-right:5px}.checkbox_content[data-v-ef8da4b2] .el-checkbox{display:flex}.task-text-two[data-v-ef8da4b2]{display:inline-block;white-space:normal;word-wrap:break-word;word-break:break-word;color:#606266;position:relative;top:-2px;font-size:13px;font-weight:400;letter-spacing:1px}.task-dot-item[data-v-ef8da4b2]{display:flex;align-items:center;gap:8px}.task-dot-item .task-dot[data-v-ef8da4b2]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.task-dot-item .task-dot.completed[data-v-ef8da4b2]{background:#67c23a}.task-dot-item .task-dot.incomplete[data-v-ef8da4b2]{background:#f56c6c}.today-line[data-v-ef8da4b2]{position:absolute;top:0;bottom:0;width:0;border-left:3px dashed rgba(245,108,108,.3);z-index:3;cursor:pointer}.today-popover[data-v-ef8da4b2]{position:fixed;z-index:9999;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.2);padding:0;min-width:100px;color:#303030;overflow:hidden;background:#edf3ff}.today-popover .popover-header[data-v-ef8da4b2]{display:flex;align-items:center;gap:8px;padding:10px 16px 0;background:hsla(0,0%,100%,.1);border-bottom:1px solid hsla(0,0%,100%,.2);font-size:14px;font-weight:600}.today-popover .popover-header i[data-v-ef8da4b2]{font-size:16px}.today-popover .popover-body[data-v-ef8da4b2]{padding:0 10px 8px}.today-popover .popover-body .date-display[data-v-ef8da4b2]{font-size:14px;font-weight:700;text-align:center;letter-spacing:1px}.today-popover .popover-body .weekday-display[data-v-ef8da4b2]{font-size:14px;text-align:center;opacity:.9}.popover-fade-enter-active[data-v-ef8da4b2],.popover-fade-leave-active[data-v-ef8da4b2]{transition:all .3s cubic-bezier(.4,0,.2,1)}.popover-fade-enter[data-v-ef8da4b2]{opacity:0;transform:translateY(-10px) scale(.95)}.popover-fade-leave-to[data-v-ef8da4b2]{opacity:0;transform:translateY(-10px) scale(.95)}.drawer-content[data-v-ef8da4b2]{padding:10px 0}.drawer-actions[data-v-ef8da4b2]{padding:0 0 20px 0;border-bottom:1px solid #eee}.task-list[data-v-ef8da4b2]{margin-top:20px}.task-item[data-v-ef8da4b2]{margin-bottom:20px;padding:15px;background:#f9f9f9;border-radius:4px;border:1px solid #e0e0e0;transition:all .3s}.task-item[data-v-ef8da4b2]:last-child{margin-bottom:0}.task-item[data-v-ef8da4b2]:hover{box-shadow:0 2px 8px rgba(0,0,0,.1);border-color:#409eff}.task-item.selected[data-v-ef8da4b2]{box-shadow:0 2px 8px rgba(0,0,0,.1);border-color:#409eff;background:#ecf5ff}.task-item.movable[data-v-ef8da4b2]{cursor:move;border-color:#409eff;background:#ecf5ff;box-shadow:0 2px 12px rgba(64,158,255,.3)}.task-view[data-v-ef8da4b2]{position:relative}.task-view .task-header[data-v-ef8da4b2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.task-view .task-header .task-name[data-v-ef8da4b2]{font-size:15px;font-weight:600;color:#303133;display:flex;align-items:center}.task-view .task-header .task-name i[data-v-ef8da4b2]{margin-right:6px;color:#409eff}.task-view .task-header .task-name .copy-icon[data-v-ef8da4b2]{cursor:pointer;transition:color .3s}.task-view .task-header .task-name .copy-icon[data-v-ef8da4b2]:hover{color:#67c23a}.task-view .task-details .task-detail-item[data-v-ef8da4b2]{margin-bottom:8px;font-size:13px;color:#606266}.task-view .task-details .task-detail-item .label[data-v-ef8da4b2]{color:#909399;margin-right:8px}.task-view .task-details .task-detail-item .value[data-v-ef8da4b2]{color:#606266}.task-view .task-details .task-detail-item[data-v-ef8da4b2]:last-child{margin-bottom:0}.task-view .task-actions[data-v-ef8da4b2]{position:absolute;bottom:-5px;right:0}.task-edit-form[data-v-ef8da4b2]{background:#fff;padding:15px;border-radius:4px}.no-tasks[data-v-ef8da4b2]{text-align:center;padding:60px 20px;color:#909399}.no-tasks i[data-v-ef8da4b2]{font-size:48px;margin-bottom:15px;color:#d0d0d0}.no-tasks p[data-v-ef8da4b2]{font-size:14px;margin:0}