.split-pane-container[data-v-8ede002a]{display:flex;width:100%;height:100%;overflow:hidden;gap:0}.split-pane-left[data-v-8ede002a],.split-pane-right[data-v-8ede002a]{height:100%;overflow:hidden;display:flex;flex-direction:column;transition:width .3s cubic-bezier(.25,.8,.25,1)}.split-pane-left.is-collapsed[data-v-8ede002a],.split-pane-right.is-collapsed[data-v-8ede002a]{min-width:0!important;width:0!important;padding:0!important;overflow:hidden!important}.split-pane-left[data-v-8ede002a],.split-pane-right[data-v-8ede002a]{min-width:0}.split-pane-resizer[data-v-8ede002a]{flex-shrink:0;width:12px;margin:0 -3px;z-index:10;cursor:col-resize;position:relative;background:transparent;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px}.resizer-line[data-v-8ede002a]{position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translate(-50%);background:var(--color-border);transition:all var(--transition-fast);z-index:-1}.split-pane-resizer:hover .resizer-line[data-v-8ede002a],.split-pane-resizer.is-dragging .resizer-line[data-v-8ede002a]{background:var(--color-accent);width:4px}.toggle-btn[data-v-8ede002a]{width:16px;height:24px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:2px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);font-size:12px;line-height:1;padding:0;transition:all var(--transition-fast);z-index:20}.toggle-btn[data-v-8ede002a]:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.arrow[data-v-8ede002a]{margin-top:-2px;font-weight:700}.text-editor[data-v-fac525c6]{height:100%;display:flex;flex-direction:column}.editor-textarea[data-v-fac525c6]{flex:1;font-size:13px;line-height:1.8;-moz-tab-size:2;tab-size:2}.editor-textarea[data-v-fac525c6]::placeholder{color:var(--color-text-muted);opacity:.6}.table-editor[data-v-8bda8dfc]{height:100%;display:flex;flex-direction:column}.table-toolbar[data-v-8bda8dfc]{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.add-person input[data-v-8bda8dfc]{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);width:150px}.table-wrapper[data-v-8bda8dfc]{flex:1;overflow:auto}.col-project[data-v-8bda8dfc]{min-width:120px;position:relative}.col-project input[data-v-8bda8dfc]{font-weight:600}.btn-add-phase[data-v-8bda8dfc]{width:20px;height:20px;padding:0;font-size:12px;background:var(--color-accent);color:#fff;border:none;border-radius:4px;cursor:pointer;opacity:.7;transition:opacity var(--transition-fast)}.btn-add-phase[data-v-8bda8dfc]:hover{opacity:1}.col-phase[data-v-8bda8dfc],.col-date[data-v-8bda8dfc]{min-width:100px}.col-date input[data-v-8bda8dfc]{text-align:center}.col-total[data-v-8bda8dfc]{min-width:70px;text-align:center}.total-value[data-v-8bda8dfc]{display:inline-block;padding:2px 8px;background:var(--color-bg-tertiary);border-radius:var(--radius-sm);font-weight:500;color:var(--color-accent)}.col-person[data-v-8bda8dfc]{min-width:60px}.col-person input[data-v-8bda8dfc]{text-align:center;width:50px}.col-actions[data-v-8bda8dfc]{width:40px;text-align:center}.btn-delete[data-v-8bda8dfc]{width:24px;height:24px;padding:0;background:transparent;color:var(--color-text-muted);border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:all var(--transition-fast)}.btn-delete[data-v-8bda8dfc]:hover{background:var(--color-error);color:#fff}.is-pending[data-v-8bda8dfc]{opacity:.5}.is-pending td[data-v-8bda8dfc]{background:var(--color-bg-tertiary)}.project-actions[data-v-8bda8dfc]{display:flex;gap:4px;position:absolute;bottom:4px;right:4px}.btn-pending[data-v-8bda8dfc]{width:20px;height:20px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:4px;cursor:pointer;opacity:.7;transition:all var(--transition-fast)}.btn-pending[data-v-8bda8dfc]:hover{opacity:1;background:var(--color-bg-secondary)}.btn-pending.is-pending[data-v-8bda8dfc]{background:var(--color-warning);color:#fff;border-color:var(--color-warning);opacity:1}.confirm-dialog[data-v-97c7c9b0]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);border:none;border-radius:var(--radius-xl);background:var(--color-bg-secondary);color:var(--color-text-primary);padding:0;box-shadow:0 24px 48px #0006,0 0 0 1px var(--glass-border);max-width:420px;width:90%;margin:0}.confirm-dialog[data-v-97c7c9b0]::backdrop{background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dialog-content[data-v-97c7c9b0]{padding:var(--spacing-xl)}.dialog-title[data-v-97c7c9b0]{margin:0 0 var(--spacing-md);font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.dialog-message[data-v-97c7c9b0]{margin:0 0 var(--spacing-xl);color:var(--color-text-secondary);line-height:1.6;font-size:1rem}.dialog-actions[data-v-97c7c9b0]{display:flex;gap:var(--spacing-md);justify-content:flex-end}.dialog-actions .btn[data-v-97c7c9b0]{padding:var(--spacing-sm) var(--spacing-lg);font-size:1rem;font-weight:600;min-width:100px;border-radius:var(--radius-md)}.btn-primary[data-v-97c7c9b0]{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);color:#fff;border:none;box-shadow:0 4px 12px var(--color-accent-glow)}.btn-primary[data-v-97c7c9b0]:hover{transform:translateY(-2px);box-shadow:0 6px 16px var(--color-accent-glow)}.btn-danger[data-v-97c7c9b0]{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;box-shadow:0 4px 12px #ef44444d}.btn-danger[data-v-97c7c9b0]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ef444466}.btn-ghost[data-v-97c7c9b0]{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-ghost[data-v-97c7c9b0]:hover{background:var(--color-bg-hover);transform:translateY(-2px)}.workspace-dropdown[data-v-837aac13]{position:relative}.dropdown-toggle[data-v-837aac13]{display:flex;align-items:center;gap:var(--spacing-sm);background:transparent;border:none;cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);transition:background var(--transition-fast)}.dropdown-toggle[data-v-837aac13]:hover{background:var(--color-bg-hover)}.toggle-arrow[data-v-837aac13]{font-size:var(--font-size-base);color:var(--color-text-muted);transition:transform var(--transition-fast)}.toggle-arrow.open[data-v-837aac13]{transform:rotate(180deg)}.dropdown-menu[data-v-837aac13]{position:absolute;top:calc(100% + 8px);left:0;min-width:300px;max-width:400px;background:var(--color-bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:0 16px 48px #00000040,0 0 0 1px var(--glass-border);z-index:1000;overflow:hidden}.dropdown-menu[data-v-837aac13]:before{content:"";position:absolute;top:-6px;left:20px;width:12px;height:12px;background:var(--color-bg-secondary);border-left:1px solid var(--glass-border);border-top:1px solid var(--glass-border);transform:rotate(45deg)}.workspace-list[data-v-837aac13]{max-height:320px;overflow-y:auto;padding:var(--spacing-xs) 0}.workspace-item[data-v-837aac13]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;transition:background var(--transition-fast);gap:var(--spacing-md)}.workspace-item[data-v-837aac13]:hover{background:var(--color-bg-hover)}.workspace-item.active[data-v-837aac13]{background:#3b82f61f;border-left:4px solid var(--color-accent);padding-left:calc(var(--spacing-lg) - 4px)}.workspace-info[data-v-837aac13]{display:flex;flex-direction:column;gap:4px;overflow:hidden;flex:1}.workspace-name-row[data-v-837aac13]{display:flex;align-items:center;gap:var(--spacing-xs)}.workspace-name[data-v-837aac13]{font-weight:600;font-size:1rem;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gist-badge[data-v-837aac13],.source-badge[data-v-837aac13]{font-size:.75rem;opacity:.7}.workspace-item.active .workspace-name[data-v-837aac13]{color:var(--color-accent)}.workspace-desc[data-v-837aac13],.workspace-meta[data-v-837aac13]{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-actions[data-v-837aac13]{display:flex;gap:var(--spacing-xs);flex-shrink:0}.delete-btn[data-v-837aac13]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;opacity:.5;transition:all var(--transition-fast);flex-shrink:0;font-size:1.1rem}.delete-btn[data-v-837aac13]:hover{opacity:1;background:#ef444426;border-color:#ef44444d;transform:scale(1.05)}.refresh-btn[data-v-837aac13]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;opacity:.5;transition:all var(--transition-fast);flex-shrink:0;font-size:1.1rem}.refresh-btn[data-v-837aac13]:hover{opacity:1;background:#3b82f626;border-color:#3b82f64d;transform:scale(1.05)}.refresh-btn.refreshing[data-v-837aac13]{opacity:1;animation:spin-837aac13 1s linear infinite}@keyframes spin-837aac13{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown-divider[data-v-837aac13]{height:1px;background:var(--color-border);margin:var(--spacing-xs) var(--spacing-md)}.new-workspace-btn[data-v-837aac13]{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:none;cursor:pointer;color:var(--color-accent);font-weight:600;font-size:1rem;transition:background var(--transition-fast)}.new-workspace-btn[data-v-837aac13]:hover{background:#3b82f61a}.new-workspace-btn .icon[data-v-837aac13]{font-size:1rem}.dropdown-enter-active[data-v-837aac13],.dropdown-leave-active[data-v-837aac13]{transition:all var(--transition-normal)}.dropdown-enter-from[data-v-837aac13],.dropdown-leave-to[data-v-837aac13]{opacity:0;transform:translateY(-12px)}.editor-panel[data-v-d743d3fa]{min-width:320px}.panel-header[data-v-d743d3fa]{gap:var(--spacing-md)}.header-left[data-v-d743d3fa]{display:flex;align-items:center}.header-right[data-v-d743d3fa]{display:flex;align-items:center;gap:var(--spacing-sm)}.project-gantt[data-v-689e9141]{position:relative;height:100%;overflow:auto}.hidden-items-bar[data-v-689e9141]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:400}.hidden-label[data-v-689e9141]{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-right:4px}.hidden-chip[data-v-689e9141]{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--color-bg-hover);border:1px solid var(--color-border);border-radius:12px;font-size:var(--font-size-xs);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.hidden-chip[data-v-689e9141]:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.show-all-btn[data-v-689e9141]{padding:4px 10px;background:transparent;border:1px dashed var(--color-border);border-radius:12px;font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.show-all-btn[data-v-689e9141]:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-style:solid}.hide-toggle-btn[data-v-689e9141]{width:22px;height:22px;padding:4px;margin-right:6px;background:#ef44441a;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);opacity:.5;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;flex-shrink:0}.hide-toggle-btn[data-v-689e9141]:hover{opacity:1;background:#ef444433;border-color:#ef444466;color:#ef4444}.hide-toggle-btn .hide-slash[data-v-689e9141]{opacity:0;transition:opacity var(--transition-fast)}.hide-toggle-btn:hover .hide-slash[data-v-689e9141]{opacity:1}.gantt-container[data-v-689e9141]{min-width:max-content}.gantt-header[data-v-689e9141]{display:flex;position:sticky;top:0;background:var(--color-bg-tertiary);z-index:300;border-bottom:2px solid var(--color-border)}.header-label[data-v-689e9141]{font-weight:600;color:var(--color-text-secondary);display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);position:sticky;left:0;z-index:301;background:var(--color-bg-tertiary)}.month-header[data-v-689e9141]{flex-shrink:0;padding:var(--spacing-sm);text-align:center;font-size:var(--font-size-xs);color:var(--color-text-secondary);border-right:1px solid var(--color-border)}.project-group[data-v-689e9141]{border-bottom:2px solid var(--color-border)}.project-group.alt-group[data-v-689e9141]{background:var(--color-bg-alt)}.project-group[data-v-689e9141]:last-child{border-bottom:none}.project-group-inner[data-v-689e9141]{display:flex}.gantt-label[data-v-689e9141]{flex-shrink:0;width:140px;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);position:sticky;left:0;z-index:200}.project-label[data-v-689e9141]{display:flex;align-items:center;justify-content:flex-start;padding:var(--spacing-sm) var(--spacing-md);font-weight:500;font-size:var(--font-size-sm)}.project-rows[data-v-689e9141]{flex:1;display:flex;flex-direction:column}.gantt-row[data-v-689e9141]{display:flex;border-bottom:1px solid rgba(255,255,255,.05)}.project-rows .gantt-row[data-v-689e9141]:last-child{border-bottom:none}.gantt-timeline[data-v-689e9141]{position:relative;display:flex}.month-line[data-v-689e9141]{flex-shrink:0;border-right:1px solid var(--color-border);opacity:.3}.gantt-bar[data-v-689e9141]{position:absolute;height:28px;top:50%;transform:translateY(-50%);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:600;color:#fff;cursor:pointer;transition:all var(--transition-fast);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 var(--spacing-sm);box-shadow:0 2px 6px #0003;text-shadow:0 1px 2px rgba(0,0,0,.5)}.gantt-bar[data-v-689e9141]:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.25) 0%,transparent 100%);border-radius:var(--radius-sm) var(--radius-sm) 0 0;pointer-events:none}.gantt-bar[data-v-689e9141]:hover{transform:translateY(-50%) scale(1.03);box-shadow:0 4px 12px #0000004d;z-index:5}.gantt-bar.arrow-style[data-v-689e9141]{border-radius:0;padding-right:16px;box-shadow:none!important;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4));clip-path:polygon(0% 0%,calc(100% - 12px) 0%,100% 50%,calc(100% - 12px) 100%,0% 100%);padding-left:8px}.gantt-bar.arrow-style[data-v-689e9141]:before{border-radius:0;clip-path:polygon(0% 0%,calc(100% - 12px) 0%,100% 50%,calc(100% - 12px) 100%,0% 100%)}.gantt-bar.arrow-style[data-v-689e9141]:hover{transform:translateY(-50%) scale(1.02);filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}.today-marker-line[data-v-689e9141]{position:absolute;top:0;bottom:0;width:2px;background:#ef4444;z-index:150;pointer-events:none;box-shadow:0 0 8px #ef444480}.today-header-indicator[data-v-689e9141]{position:absolute;bottom:-6px;width:12px;height:12px;margin-left:-6px;background:#ef4444;border-radius:50%;z-index:305;box-shadow:0 0 8px #ef444499}.tooltip[data-v-689e9141]{position:fixed;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);z-index:1000;pointer-events:none}.tooltip-title[data-v-689e9141]{font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.tooltip-info[data-v-689e9141]{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.person-gantt[data-v-c3c6ebff]{position:relative;height:100%;overflow:auto}.hidden-items-bar[data-v-c3c6ebff]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:400}.hidden-label[data-v-c3c6ebff]{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-right:4px}.hidden-chip[data-v-c3c6ebff]{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--color-bg-hover);border:1px solid var(--color-border);border-radius:12px;font-size:var(--font-size-xs);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.hidden-chip[data-v-c3c6ebff]:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.show-all-btn[data-v-c3c6ebff]{padding:4px 10px;background:transparent;border:1px dashed var(--color-border);border-radius:12px;font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.show-all-btn[data-v-c3c6ebff]:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-style:solid}.hide-toggle-btn[data-v-c3c6ebff]{width:22px;height:22px;padding:4px;margin-right:6px;background:#ef44441a;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);opacity:.5;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;flex-shrink:0}.hide-toggle-btn[data-v-c3c6ebff]:hover{opacity:1;background:#ef444433;border-color:#ef444466;color:#ef4444}.hide-toggle-btn .hide-slash[data-v-c3c6ebff]{opacity:0;transition:opacity var(--transition-fast)}.hide-toggle-btn:hover .hide-slash[data-v-c3c6ebff]{opacity:1}.gantt-container[data-v-c3c6ebff]{min-width:max-content}.gantt-header[data-v-c3c6ebff]{display:flex;position:sticky;top:0;background:var(--color-bg-tertiary);z-index:300;border-bottom:2px solid var(--color-border)}.header-label[data-v-c3c6ebff]{font-weight:600;color:var(--color-text-secondary);display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);position:sticky;left:0;z-index:301;background:var(--color-bg-tertiary)}.month-header[data-v-c3c6ebff]{flex-shrink:0;padding:var(--spacing-sm);text-align:center;font-size:var(--font-size-xs);color:var(--color-text-secondary);border-right:1px solid var(--color-border)}.person-group[data-v-c3c6ebff]{border-bottom:2px solid var(--color-border)}.person-group.alt-group[data-v-c3c6ebff]{background:var(--color-bg-alt)}.person-group[data-v-c3c6ebff]:last-child{border-bottom:none}.person-group-inner[data-v-c3c6ebff]{display:flex;position:relative}.gantt-label[data-v-c3c6ebff]{flex-shrink:0;width:140px;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);position:sticky;left:0;z-index:200}.person-label[data-v-c3c6ebff]{display:flex;align-items:center;justify-content:flex-start;padding:var(--spacing-sm) var(--spacing-md);font-weight:500;font-size:var(--font-size-sm)}.workload-background-layer[data-v-c3c6ebff]{position:absolute;left:140px;top:0;display:flex;z-index:1;pointer-events:none}.workload-column[data-v-c3c6ebff]{flex-shrink:0;border-right:1px solid rgba(255,255,255,.1)}.workload-column.workload-overload[data-v-c3c6ebff]{background:#ef44442e}.workload-column.workload-underload[data-v-c3c6ebff]{background:#22c55e26}.workload-column.workload-unavailable[data-v-c3c6ebff]{background:#94a3b826}.person-rows[data-v-c3c6ebff]{flex:1;display:flex;flex-direction:column;z-index:2}.gantt-row[data-v-c3c6ebff]{display:flex;border-bottom:1px solid rgba(255,255,255,.05)}.person-rows .gantt-row[data-v-c3c6ebff]:last-child{border-bottom:none}.gantt-timeline[data-v-c3c6ebff]{position:relative;display:flex}.month-cell[data-v-c3c6ebff]{flex-shrink:0;border-right:1px solid var(--color-border);opacity:.3}.gantt-bar[data-v-c3c6ebff]{position:absolute;height:28px;top:50%;transform:translateY(-50%);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:600;color:#fff;cursor:pointer;transition:all var(--transition-fast);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 var(--spacing-sm);box-shadow:0 2px 6px #0003;text-shadow:0 1px 2px rgba(0,0,0,.3)}.gantt-bar[data-v-c3c6ebff]:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.25) 0%,transparent 100%);border-radius:var(--radius-sm) var(--radius-sm) 0 0;pointer-events:none}.gantt-bar[data-v-c3c6ebff]:hover{transform:translateY(-50%) scale(1.03);box-shadow:0 4px 12px #0000004d;z-index:5;opacity:1!important}.gantt-bar.arrow-style[data-v-c3c6ebff]{border-radius:0;padding-right:16px;box-shadow:none!important;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4));clip-path:polygon(0% 0%,calc(100% - 12px) 0%,100% 50%,calc(100% - 12px) 100%,0% 100%);padding-left:8px}.gantt-bar.arrow-style[data-v-c3c6ebff]:before{border-radius:0;clip-path:polygon(0% 0%,calc(100% - 12px) 0%,100% 50%,calc(100% - 12px) 100%,0% 100%)}.gantt-bar.arrow-style[data-v-c3c6ebff]:hover{transform:translateY(-50%) scale(1.02);filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}.today-marker-line[data-v-c3c6ebff]{position:absolute;top:0;bottom:0;width:2px;background:#ef4444;z-index:150;pointer-events:none;box-shadow:0 0 8px #ef444480}.today-header-indicator[data-v-c3c6ebff]{position:absolute;bottom:-6px;width:12px;height:12px;margin-left:-6px;background:#ef4444;border-radius:50%;z-index:305;box-shadow:0 0 8px #ef444499}.tooltip[data-v-c3c6ebff]{position:fixed;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);z-index:1000;pointer-events:none}.tooltip-title[data-v-c3c6ebff]{font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.tooltip-project[data-v-c3c6ebff]{color:var(--color-accent);font-size:var(--font-size-xs);margin-bottom:var(--spacing-xs)}.tooltip-info[data-v-c3c6ebff]{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.tooltip-percentage[data-v-c3c6ebff]{color:var(--color-success);font-size:var(--font-size-xs);font-weight:500;margin-top:var(--spacing-xs)}.gantt-panel[data-v-59a143e7]{min-width:400px}.panel-content[data-v-59a143e7]{position:relative}#gantt-content[data-v-59a143e7]{padding:0;overflow:hidden;display:flex;flex-direction:column}#gantt-content[data-v-59a143e7]>*{flex:1}.panel-controls[data-v-59a143e7]{display:flex;align-items:center;gap:var(--spacing-md)}.zoom-controls[data-v-59a143e7]{display:flex;align-items:center;gap:2px;background:var(--color-bg-primary);border-radius:var(--radius-md);padding:2px}.zoom-controls .btn[data-v-59a143e7]{width:28px;height:28px;padding:0;font-size:16px}.export-dropdown[data-v-59a143e7]{position:relative}.dropdown-menu[data-v-59a143e7]{position:absolute;top:100%;right:0;margin-top:var(--spacing-xs);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--spacing-xs);z-index:1000;min-width:150px;display:flex;flex-direction:column}.dropdown-item[data-v-59a143e7]{text-align:left;background:transparent;border:none;padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.dropdown-item[data-v-59a143e7]:hover{background:var(--color-bg-hover)}.conflict-dialog[data-v-1d80caa8]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);border:none;border-radius:var(--radius-xl);background:var(--color-bg-secondary);color:var(--color-text-primary);padding:0;box-shadow:0 24px 48px #0006,0 0 0 1px var(--glass-border);max-width:480px;width:90%;margin:0}.conflict-dialog[data-v-1d80caa8]::backdrop{background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dialog-content[data-v-1d80caa8]{padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-lg);text-align:center}.dialog-icon[data-v-1d80caa8]{font-size:3rem;margin-bottom:var(--spacing-md);filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.dialog-title[data-v-1d80caa8]{margin:0 0 var(--spacing-md);font-size:1.4rem;font-weight:700;color:var(--color-text-primary)}.dialog-message[data-v-1d80caa8]{margin:0 0 var(--spacing-xl);color:var(--color-text-secondary);line-height:1.7;font-size:1rem}.dialog-message strong[data-v-1d80caa8]{color:var(--color-accent);font-weight:600}.dialog-actions[data-v-1d80caa8]{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap;padding-top:var(--spacing-md);border-top:1px solid var(--glass-border)}.dialog-actions .btn[data-v-1d80caa8]{padding:var(--spacing-sm) var(--spacing-lg);font-size:1rem;font-weight:600;min-width:110px;border-radius:var(--radius-md);transition:all var(--transition-fast)}.btn-secondary[data-v-1d80caa8]{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary[data-v-1d80caa8]:hover{background:var(--color-bg-hover);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-danger[data-v-1d80caa8]{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;box-shadow:0 4px 12px #ef44444d}.btn-danger[data-v-1d80caa8]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ef444466}.btn-ghost[data-v-1d80caa8]{background:transparent;color:var(--color-text-secondary);border:1px solid transparent}.btn-ghost[data-v-1d80caa8]:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.app-container[data-v-9c85e2e8]{height:100vh;padding:var(--spacing-sm);overflow:hidden}:root{--color-bg-primary: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #334155;--color-bg-hover: #475569;--color-bg-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);--glass-bg: rgba(30, 41, 59, .8);--glass-border: rgba(255, 255, 255, .1);--glass-blur: 12px;--color-text-primary: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-border: #334155;--color-border-focus: #60a5fa;--color-accent: #3b82f6;--color-accent-hover: #2563eb;--color-accent-glow: rgba(59, 130, 246, .4);--color-success: #22c55e;--color-success-glow: rgba(34, 197, 94, .3);--color-warning: #f59e0b;--color-error: #ef4444;--color-error-glow: rgba(239, 68, 68, .3);--color-today-line: #ef4444;--gantt-color-1: hsl(210, 65%, 55%);--gantt-color-1-light: hsl(210, 65%, 70%);--gantt-color-2: hsl(150, 55%, 50%);--gantt-color-2-light: hsl(150, 55%, 70%);--gantt-color-3: hsl(30, 70%, 55%);--gantt-color-3-light: hsl(30, 70%, 70%);--gantt-color-4: hsl(280, 50%, 60%);--gantt-color-4-light: hsl(280, 50%, 70%);--gantt-color-5: hsl(350, 60%, 60%);--gantt-color-5-light: hsl(350, 60%, 70%);--gantt-color-6: hsl(180, 55%, 50%);--gantt-color-6-light: hsl(180, 55%, 70%);--gantt-color-7: hsl(60, 60%, 50%);--gantt-color-7-light: hsl(60, 60%, 70%);--gantt-color-8: hsl(320, 55%, 55%);--gantt-color-8-light: hsl(320, 55%, 70%);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .625rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-pill: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .1);--shadow-md: 0 4px 12px -2px rgb(0 0 0 / .2), 0 2px 6px -2px rgb(0 0 0 / .1);--shadow-lg: 0 12px 24px -4px rgb(0 0 0 / .25), 0 4px 8px -4px rgb(0 0 0 / .15);--shadow-glow: 0 0 20px var(--color-accent-glow);--shadow-panel: 0 8px 32px -8px rgb(0 0 0 / .3);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .4s cubic-bezier(.34, 1.56, .64, 1);--color-bg-alt: rgba(255, 255, 255, .03);--color-today-line: rgba(59, 130, 246, .6)}[data-theme=light]{--color-bg-primary: #f8fafc;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f1f5f9;--color-bg-hover: #e2e8f0;--color-bg-gradient: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 50%, #f8fafc 100%);--glass-bg: rgba(255, 255, 255, .85);--glass-border: rgba(0, 0, 0, .08);--glass-blur: 12px;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-border: #cbd5e1;--color-border-focus: #3b82f6;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-accent-glow: rgba(37, 99, 235, .3);--color-success-glow: rgba(34, 197, 94, .25);--color-error-glow: rgba(239, 68, 68, .25);--color-bg-alt: rgba(0, 0, 0, .025);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 12px -2px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .04);--shadow-lg: 0 12px 24px -4px rgb(0 0 0 / .12), 0 4px 8px -4px rgb(0 0 0 / .06);--shadow-panel: 0 4px 24px -6px rgb(0 0 0 / .1);--gantt-color-1: hsl(210, 85%, 50%);--gantt-color-1-light: hsl(210, 85%, 75%);--gantt-color-2: hsl(150, 75%, 40%);--gantt-color-2-light: hsl(150, 75%, 70%);--gantt-color-3: hsl(30, 90%, 50%);--gantt-color-3-light: hsl(30, 90%, 75%);--gantt-color-4: hsl(280, 70%, 55%);--gantt-color-4-light: hsl(280, 70%, 75%);--gantt-color-5: hsl(350, 80%, 55%);--gantt-color-5-light: hsl(350, 80%, 75%);--gantt-color-6: hsl(180, 75%, 40%);--gantt-color-6-light: hsl(180, 75%, 70%);--gantt-color-7: hsl(80, 80%, 40%);--gantt-color-7-light: hsl(80, 80%, 70%);--gantt-color-8: hsl(320, 75%, 50%);--gantt-color-8-light: hsl(320, 75%, 75%);--color-today-line: rgba(37, 99, 235, .5)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{font-size:16px;height:100%;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--color-text-primary);background:var(--color-bg-gradient);background-attachment:fixed;transition:background var(--transition-slow),color var(--transition-slow)}#app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-container{display:flex;flex:1;height:100%;overflow:hidden}.panel{display:flex;flex-direction:column;background:var(--color-bg-secondary);border-radius:var(--radius-lg);overflow:hidden;height:100%;box-shadow:var(--shadow-panel);border:1px solid var(--glass-border);transition:background var(--transition-slow),border-color var(--transition-slow)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--glass-border);flex-shrink:0;transition:background var(--transition-slow);position:relative;z-index:500}.panel-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.panel-content{flex:1;overflow:auto;padding:var(--spacing-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 50%);opacity:0;transition:opacity var(--transition-fast)}.btn:hover:after{opacity:1}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);color:#fff;box-shadow:0 2px 8px var(--color-accent-glow)}.btn-primary:hover{box-shadow:0 4px 16px var(--color-accent-glow);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover{background:var(--color-bg-hover);color:var(--color-text-primary);transform:translateY(-1px)}.btn-ghost.active{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);color:#fff;box-shadow:0 2px 8px var(--color-accent-glow)}.toggle-group{display:inline-flex;background:var(--color-bg-primary);border-radius:var(--radius-pill);padding:3px;gap:2px;border:1px solid var(--glass-border)}.toggle-group .btn{border-radius:var(--radius-pill);padding:var(--spacing-xs) var(--spacing-md);transition:all var(--transition-normal)}.toggle-group .btn.active{box-shadow:0 2px 8px var(--color-accent-glow)}.editor-textarea{width:100%;height:100%;min-height:200px;padding:var(--spacing-md);font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:1.7;color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);resize:none;outline:none;transition:border-color var(--transition-fast)}.editor-textarea:focus{border-color:var(--color-border-focus)}.data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.data-table th,.data-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.data-table th{font-weight:600;color:var(--color-text-secondary);background:var(--color-bg-tertiary);position:sticky;top:0;z-index:10}.data-table tr:hover td{background:var(--color-bg-hover)}.data-table input{width:100%;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid transparent;border-radius:var(--radius-sm);outline:none;transition:border-color var(--transition-fast)}.data-table input:focus{border-color:var(--color-border-focus)}.gantt-container{position:relative}.gantt-header{display:flex;position:sticky;top:0;background:var(--color-bg-tertiary);z-index:20;border-bottom:1px solid var(--color-border)}.month-header{flex-shrink:0;padding:var(--spacing-sm);text-align:center;font-size:var(--font-size-xs);color:var(--color-text-secondary);border-right:1px solid var(--color-border);transition:background var(--transition-fast);display:flex;align-items:flex-end;justify-content:center}.month-header.year-even{background:#3b82f614}.month-header.year-first{border-left:2px solid var(--color-accent);font-weight:600}[data-theme=light] .month-header.year-even{background:#2563eb0f}.gantt-row{display:flex;align-items:stretch;border-bottom:1px solid var(--color-border);min-height:40px}.gantt-label{flex-shrink:0;width:120px;padding:var(--spacing-sm) var(--spacing-md);font-weight:500;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);display:flex;align-items:center;position:sticky;left:0;z-index:10}.gantt-timeline{flex:1;display:flex;position:relative}.gantt-bar{position:absolute;height:28px;top:50%;transform:translateY(-50%);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:600;color:#fff;cursor:pointer;transition:all var(--transition-fast);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 2px 4px #00000026;text-shadow:0 1px 2px rgba(0,0,0,.2)}.gantt-bar:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.2) 0%,transparent 100%);border-radius:var(--radius-sm) var(--radius-sm) 0 0;pointer-events:none}.gantt-bar:hover{transform:translateY(-50%) scale(1.02);box-shadow:0 4px 12px #00000040;z-index:5}.zoom-controls{display:flex;align-items:center;gap:var(--spacing-sm)}.zoom-controls span{font-size:var(--font-size-xs);color:var(--color-text-muted)}.tooltip{position:absolute;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);z-index:100;pointer-events:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-bg-hover)}.flex{display:flex}.flex-1{flex:1}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.theme-toggle,.style-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;font-size:var(--font-size-xl);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal)}.theme-toggle:hover,.style-toggle:hover{background:var(--color-bg-hover);border-color:var(--color-accent);transform:rotate(15deg) scale(1.05);box-shadow:var(--shadow-glow)}.theme-toggle:active,.style-toggle:active{transform:rotate(0) scale(.95)}.brand-logo{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:700;font-size:var(--font-size-lg);background:linear-gradient(135deg,var(--color-accent) 0%,#a78bfa 50%,#f472b6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 200%;animation:gradient-shift 3s ease infinite}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.today-marker{position:absolute;top:0;bottom:0;width:2px;background:var(--color-today-line);z-index:15;pointer-events:none;box-shadow:0 0 8px var(--color-error-glow)}.today-marker:before{content:"今天";position:absolute;top:-20px;left:50%;transform:translate(-50%);font-size:var(--font-size-xs);color:var(--color-today-line);white-space:nowrap;font-weight:600;background:var(--color-bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm)}.gantt-row:nth-child(2n){background:var(--color-bg-alt)}
