.gantt-chart[data-v-2fd7752e]{width:100%;background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.header[data-v-2fd7752e],.task-row[data-v-2fd7752e]{display:flex;border-bottom:1px solid #e0e0e0}.header[data-v-2fd7752e]{position:sticky;top:0;z-index:10;background-color:#f9f9f9}.task-label[data-v-2fd7752e]{width:120px;flex-shrink:0;padding:8px;font-weight:700;background-color:#ecf3ee;color:#204565}.sticky[data-v-2fd7752e]{position:sticky;left:0;z-index:5}.months[data-v-2fd7752e],.task-timeline[data-v-2fd7752e]{display:flex;flex-grow:1}.months>div[data-v-2fd7752e]{flex:1;text-align:center;padding:8px 0;font-weight:700;color:#555}.months[data-v-2fd7752e]{position:relative}.month[data-v-2fd7752e]{position:relative;z-index:1}.months[data-v-2fd7752e]:before{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background:repeating-linear-gradient(90deg,rgba(230,255,230,.5) 0,rgba(230,255,230,.5) 8.33%,rgba(255,240,230,.5) 0,rgba(255,240,230,.5) 16.66%);z-index:0}.task-timeline[data-v-2fd7752e]{position:relative;height:36px;background:repeating-linear-gradient(90deg,rgba(230,255,230,.3) 0,rgba(230,255,230,.3) 8.33%,rgba(255,240,230,.3) 0,rgba(255,240,230,.3) 16.66%)}.task-bar[data-v-2fd7752e]{position:absolute;height:20px;top:8px;border-radius:4px;transition:all .2s ease;cursor:pointer}.task-bar[data-v-2fd7752e]:hover{transform:scale(1.05)}.task-end-date[data-v-2fd7752e],.task-start-date[data-v-2fd7752e]{position:absolute;top:1px;font-size:12px;color:#000;padding:2px 4px;border-radius:2px;white-space:nowrap}.task-start-date[data-v-2fd7752e]{left:0;transform:translateX(-100%)}.task-end-date[data-v-2fd7752e]{right:0;transform:translateX(100%)}.task-details[data-v-2fd7752e]{display:none;position:absolute;bottom:100%;left:50%;background-color:rgba(0,0,0,.8);color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;z-index:10}.task-bar:hover .task-details[data-v-2fd7752e]{display:block}@media (max-width:768px){.task-label[data-v-2fd7752e]{width:80px;font-size:12px;font-weight:400}.months>div[data-v-2fd7752e]{padding:6px 0;font-size:12px}.task-timeline[data-v-2fd7752e]{height:28px}.task-bar[data-v-2fd7752e]{height:16px;top:6px}.task-details[data-v-2fd7752e],.task-end-date[data-v-2fd7752e],.task-start-date[data-v-2fd7752e]{font-size:9px}}.data-editor[data-v-f55da9a8]{background-color:#f9f9f9;border-radius:8px;padding:20px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.task-container[data-v-f55da9a8]{margin-bottom:15px;border:1px solid #ddd;border-radius:4px;padding:10px}.task-input[data-v-f55da9a8]{display:flex;flex-direction:row;margin-bottom:10px}.task-actions[data-v-f55da9a8]{display:flex;justify-content:flex-end}input[data-v-f55da9a8]{margin-bottom:10px;padding:8px;border:1px solid #ddd;border-radius:4px;flex:1;margin-right:10px;margin-bottom:0}.add-btn[data-v-f55da9a8],.move-btn[data-v-f55da9a8],.remove-btn[data-v-f55da9a8],.save-btn[data-v-f55da9a8]{padding:8px 15px;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s;margin-left:5px}.move-btn[data-v-f55da9a8]{background-color:#4caf50;color:#fff}.remove-btn[data-v-f55da9a8]{background-color:#ff4d4d;color:#fff}.add-btn[data-v-f55da9a8]{background-color:#4caf50;color:#fff;margin-right:10px}.save-btn[data-v-f55da9a8]{background-color:#2196f3;color:#fff}.add-btn[data-v-f55da9a8]:hover,.move-btn[data-v-f55da9a8]:hover{background-color:#45a049}.remove-btn[data-v-f55da9a8]:hover{background-color:#f33}.save-btn[data-v-f55da9a8]:hover{background-color:#0b7dda}button i[data-v-f55da9a8]{margin-right:8px}@media (max-width:769px){input[data-v-f55da9a8]{width:20px}.task-actions[data-v-f55da9a8]{align-items:center}}#app{max-width:1024px;margin:0 auto;padding:20px;font-family:Arial,sans-serif}.title,.toggle-container{margin-bottom:20px}.title{text-align:center;color:#143149}button{background-color:#4caf50;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:16px}button:hover{background-color:#45a049}button i{margin-right:8px}.copyright{text-align:center;padding:40px 0 14px;color:#999}@media (max-width:768px){#app{padding:10px}.title{font-size:1.5em}}