.pm-project-timeline[data-v-58fbf453]{padding:24px;max-width:1200px;margin:0 auto}.pm-project-timeline .page-breadcrumb[data-v-58fbf453]{font-size:12px;color:var(--pm-text-dim,#64748b);margin-bottom:16px}.pm-project-timeline .breadcrumb-sep[data-v-58fbf453]{margin:0 6px}.pm-project-timeline .breadcrumb-current[data-v-58fbf453]{color:var(--pm-text-mid,#334155);font-weight:500}.pm-project-timeline .page-header[data-v-58fbf453]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:16px;margin-bottom:24px}.pm-project-timeline .page-title[data-v-58fbf453]{font-size:22px;font-weight:700;color:var(--pm-text-bright,#0f172a);margin:0 0 4px}.pm-project-timeline .page-subtitle[data-v-58fbf453]{font-size:12px;color:var(--pm-text-dim,#64748b);margin:0}.pm-project-timeline .meta-sep[data-v-58fbf453]{margin:0 6px}.pm-project-timeline .header-right[data-v-58fbf453]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px}.pm-project-timeline .status-pill[data-v-58fbf453]{font-size:12px;padding:2px 10px;border-radius:999px;font-weight:500}.pm-project-timeline .pm-badge-red[data-v-58fbf453]{background:rgba(220,38,38,.1);color:#dc2626}.pm-project-timeline .pm-badge-green[data-v-58fbf453]{background:rgba(5,150,105,.1);color:#059669}.pm-project-timeline .pm-badge-blue[data-v-58fbf453]{background:rgba(59,130,246,.1);color:#3b82f6}.pm-project-timeline .pm-badge-gray[data-v-58fbf453]{background:var(--pm-bg-deep,#f1f5f9);color:var(--pm-text-dim,#64748b)}.pm-project-timeline .card-progress-pct[data-v-58fbf453]{font-size:20px;font-weight:700}.pm-project-timeline .detail-timeline-section[data-v-58fbf453]{padding:16px;border-radius:12px;background:var(--pm-card,#fff);border:1px solid var(--pm-border,#cbd5e1);-webkit-box-shadow:0 0 0 1px var(--pm-border,#cbd5e1),0 2px 8px rgba(15,23,42,.08);box-shadow:0 0 0 1px var(--pm-border,#cbd5e1),0 2px 8px rgba(15,23,42,.08)}.pm-project-timeline .timeline-header[data-v-58fbf453]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:4px}.pm-project-timeline .detail-section-title[data-v-58fbf453]{font-size:14px;font-weight:600;color:var(--pm-text-mid,#334155);margin:0}.pm-project-timeline .detail-section-count[data-v-58fbf453]{font-size:12px;font-weight:400;color:var(--pm-text-dim,#64748b)}.pm-project-timeline .timeline-actions[data-v-58fbf453]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px}.pm-project-timeline .timeline-btn[data-v-58fbf453]{font-size:11px;color:var(--pm-text-dim,#64748b);padding:4px 10px;border-radius:6px;border:1px solid var(--pm-border,#cbd5e1);background:transparent;cursor:pointer;-webkit-transition:all .2s ease;transition:all .2s ease}.pm-project-timeline .timeline-btn[data-v-58fbf453]:hover{color:#3b82f6;border-color:rgba(59,130,246,.3)}.pm-project-timeline .timeline-hint[data-v-58fbf453]{font-size:12px;color:var(--pm-text-dim,#64748b);margin:0 0 16px}.pm-project-timeline .timeline-container[data-v-58fbf453]{position:relative}.pm-project-timeline .timeline-v-line[data-v-58fbf453]{position:absolute;left:5px;top:12px;bottom:12px;width:2px;background:var(--pm-border-soft,#e2e8f0)}.pm-project-timeline .timeline-day-row[data-v-58fbf453]{position:relative;padding-left:24px;margin-bottom:16px}.pm-project-timeline .timeline-day-row[data-v-58fbf453]:last-child{margin-bottom:0}.pm-project-timeline .timeline-day-dot[data-v-58fbf453]{position:absolute;left:0;top:12px;width:12px;height:12px;border-radius:50%;background:var(--pm-text-dim,#64748b);border:4px solid var(--pm-bg,#f1f5f9);cursor:pointer;z-index:1}.pm-project-timeline .timeline-dot--today[data-v-58fbf453]{background:#3b82f6}.pm-project-timeline .timeline-dot--end[data-v-58fbf453]{background:var(--pm-text-dim,#64748b);cursor:default}.pm-project-timeline .timeline-day-header[data-v-58fbf453]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:12px}.pm-project-timeline .timeline-date-circle[data-v-58fbf453]{width:44px;height:44px;border-radius:50%;background:var(--pm-card,#fff);border:2px solid var(--pm-border,#cbd5e1);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0}.pm-project-timeline .timeline-circle--today[data-v-58fbf453]{border-color:#3b82f6}.pm-project-timeline .timeline-circle--end[data-v-58fbf453]{background:var(--pm-bg-deep,#f1f5f9);border:2px dashed var(--pm-border,#cbd5e1)}.pm-project-timeline .timeline-date-month[data-v-58fbf453]{font-size:9px;color:var(--pm-text-dim,#64748b);line-height:1}.pm-project-timeline .timeline-circle--today .timeline-date-month[data-v-58fbf453]{color:#3b82f6}.pm-project-timeline .timeline-date-day[data-v-58fbf453]{font-size:14px;font-weight:700;color:var(--pm-text-mid,#334155);line-height:1}.pm-project-timeline .timeline-circle--today .timeline-date-day[data-v-58fbf453]{color:#3b82f6}.pm-project-timeline .timeline-day-info[data-v-58fbf453]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;-webkit-box-flex:1;-ms-flex:1;flex:1}.pm-project-timeline .timeline-weekday[data-v-58fbf453]{font-size:14px;font-weight:500;color:var(--pm-text-mid,#334155)}.pm-project-timeline .timeline-today-badge[data-v-58fbf453]{font-size:10px;padding:1px 8px;border-radius:999px;background:#3b82f6;color:#fff}.pm-project-timeline .timeline-task-count[data-v-58fbf453]{font-size:10px;color:var(--pm-text-dim,#64748b)}.pm-project-timeline .timeline-bottleneck-flag[data-v-58fbf453]{font-size:10px;color:#dc2626}.pm-project-timeline .timeline-collapse-btn[data-v-58fbf453]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;font-size:10px;color:var(--pm-text-dim,#64748b);padding:4px 8px;border-radius:6px;border:none;background:transparent;cursor:pointer;-webkit-transition:all .2s ease;transition:all .2s ease}.pm-project-timeline .timeline-collapse-btn[data-v-58fbf453]:hover{color:#3b82f6;background:var(--pm-bg-deep,#f1f5f9)}.pm-project-timeline .day-summary[data-v-58fbf453]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;-ms-flex-wrap:wrap;flex-wrap:wrap;font-size:11px;background:var(--pm-bg-deep,#f1f5f9);border-radius:12px;padding:10px 16px;margin-bottom:12px}.pm-project-timeline .day-summary-project[data-v-58fbf453]{font-size:12px;font-weight:600;color:var(--pm-text-mid,#334155);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-project-timeline .day-summary-progress[data-v-58fbf453]{font-size:12px;font-weight:700}.pm-project-timeline .day-summary-doing-badge[data-v-58fbf453]{font-size:10px;padding:1px 8px;border-radius:999px;background:rgba(59,130,246,.1);color:#3b82f6;font-weight:500}.pm-project-timeline .day-summary--simple[data-v-58fbf453]{cursor:pointer;-webkit-transition:background .2s ease;transition:background .2s ease}.pm-project-timeline .day-summary--simple[data-v-58fbf453]:hover{background:var(--pm-bg-hover,#e2e8f0)}.pm-project-timeline .day-summary-bottleneck-flag[data-v-58fbf453]{font-size:10px;padding:1px 8px;border-radius:999px;background:rgba(220,38,38,.1);color:#dc2626;font-weight:500}.pm-project-timeline .day-summary-dblclick-hint[data-v-58fbf453]{margin-left:auto;font-size:10px;color:var(--pm-text-dim,#94a3b8);font-weight:400}.pm-project-timeline .task-h-scroll[data-v-58fbf453]{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.pm-project-timeline .task-h-row[data-v-58fbf453]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;min-width:-webkit-min-content;min-width:-moz-min-content;min-width:min-content}.pm-project-timeline .task-card-h[data-v-58fbf453]{-webkit-box-flex:0;-ms-flex:0 0 220px;flex:0 0 220px;padding:12px;border-radius:12px;background:var(--pm-card,#fff);border:1px solid var(--pm-border,#cbd5e1);-webkit-box-shadow:0 0 0 1px var(--pm-border,#cbd5e1),0 2px 8px rgba(15,23,42,.08);box-shadow:0 0 0 1px var(--pm-border,#cbd5e1),0 2px 8px rgba(15,23,42,.08);cursor:pointer;-webkit-transition:all .25s ease;transition:all .25s ease}.pm-project-timeline .task-card-h[data-v-58fbf453]:hover{border-color:var(--pm-border-mid,#94a3b8);-webkit-box-shadow:0 0 0 1px var(--pm-border-mid,#94a3b8),0 4px 20px rgba(37,99,235,.08);box-shadow:0 0 0 1px var(--pm-border-mid,#94a3b8),0 4px 20px rgba(37,99,235,.08);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.pm-project-timeline .task-card--bottleneck[data-v-58fbf453]{border-color:rgba(220,38,38,.3);-webkit-box-shadow:0 0 0 1px rgba(220,38,38,.15),0 2px 12px rgba(220,38,38,.08);box-shadow:0 0 0 1px rgba(220,38,38,.15),0 2px 12px rgba(220,38,38,.08)}.pm-project-timeline .task-card-name[data-v-58fbf453]{font-size:12px;font-weight:500;color:var(--pm-text-mid,#334155);line-height:1.4;margin-bottom:8px}.pm-project-timeline .task-card-tags[data-v-58fbf453]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:8px}.pm-project-timeline .task-stage-tag[data-v-58fbf453]{font-size:10px;padding:1px 6px;border-radius:999px;white-space:nowrap}.pm-project-timeline .stage--blue[data-v-58fbf453]{background:rgba(59,130,246,.1);color:#3b82f6}.pm-project-timeline .stage--navy[data-v-58fbf453]{background:rgba(29,78,216,.1);color:#1d4ed8}.pm-project-timeline .stage--purple[data-v-58fbf453]{background:rgba(124,58,237,.1);color:#7c3aed}.pm-project-timeline .stage--green[data-v-58fbf453]{background:rgba(5,150,105,.1);color:#059669}.pm-project-timeline .stage--red[data-v-58fbf453]{background:rgba(220,38,38,.1);color:#dc2626}.pm-project-timeline .stage--amber[data-v-58fbf453]{background:rgba(217,119,6,.1);color:#d97706}.pm-project-timeline .stage--gray[data-v-58fbf453]{background:var(--pm-bg-deep,#f1f5f9);color:var(--pm-text-dim,#64748b)}.pm-project-timeline .task-status-tag[data-v-58fbf453]{font-size:10px;padding:1px 6px;border-radius:999px;white-space:nowrap}.pm-project-timeline .task-status--done[data-v-58fbf453]{background:rgba(5,150,105,.1);color:#059669}.pm-project-timeline .task-status--doing[data-v-58fbf453]{background:rgba(59,130,246,.1);color:#3b82f6}.pm-project-timeline .task-status--delay[data-v-58fbf453]{background:rgba(220,38,38,.1);color:#dc2626}.pm-project-timeline .task-status--pending[data-v-58fbf453]{background:var(--pm-bg-deep,#f1f5f9);color:var(--pm-text-dim,#64748b)}.pm-project-timeline .task-card-dept[data-v-58fbf453]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:11px;color:var(--pm-text-dim,#64748b)}.pm-project-timeline .task-dept--bottleneck[data-v-58fbf453]{color:#dc2626;font-weight:600}.pm-project-timeline .task-bottleneck-flag[data-v-58fbf453]{color:#dc2626}.pm-project-timeline .task-bottleneck-note[data-v-58fbf453]{margin-top:8px;font-size:11px;color:#dc2626;background:rgba(220,38,38,.05);border-radius:8px;padding:6px 10px;line-height:1.6}.pm-project-timeline .task-card-footer[data-v-58fbf453]{margin-top:8px;font-size:9px;color:var(--pm-text-dim,#64748b);text-align:center;border-top:1px solid var(--pm-border-faint,#e2e8f0);padding-top:6px}.pm-project-timeline .timeline-end-row .timeline-end-icon[data-v-58fbf453]{font-size:16px;color:var(--pm-text-dim,#64748b)}.pm-project-timeline .timeline-end-row .timeline-end-label[data-v-58fbf453]{font-size:14px;font-weight:500;color:var(--pm-text-dim,#64748b)}.pm-project-timeline .timeline-end-row .timeline-end-date[data-v-58fbf453]{font-size:12px;color:var(--pm-text-dim,#64748b);margin:0}.pm-project-timeline .timeline-header--clickable[data-v-58fbf453]{cursor:pointer;border-radius:8px;padding:4px 8px;margin:-4px -8px 0;-webkit-transition:background .2s ease;transition:background .2s ease}.pm-project-timeline .timeline-header--clickable[data-v-58fbf453]:hover{background:var(--pm-bg-deep,#f1f5f9)}.pm-project-timeline .subtask-list-modal[data-v-58fbf453]{background:var(--pm-card,#fff);border-radius:16px;-webkit-box-shadow:0 8px 30px rgba(15,23,42,.15);box-shadow:0 8px 30px rgba(15,23,42,.15);width:720px;max-width:90vw;max-height:80vh;overflow-y:auto;-webkit-animation:modalIn-58fbf453 .25s ease;animation:modalIn-58fbf453 .25s ease}.pm-project-timeline .subtask-list-body[data-v-58fbf453]{padding:16px 24px 24px}.pm-project-timeline .subtask-day-group[data-v-58fbf453]{margin-bottom:20px}.pm-project-timeline .subtask-day-group[data-v-58fbf453]:last-child{margin-bottom:0}.pm-project-timeline .subtask-day-header[data-v-58fbf453]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--pm-border-faint,#e2e8f0)}.pm-project-timeline .subtask-day-date[data-v-58fbf453]{font-size:14px;font-weight:600;color:var(--pm-text-bright,#0f172a)}.pm-project-timeline .subtask-day-weekday[data-v-58fbf453]{font-size:12px;color:var(--pm-text-dim,#64748b)}.pm-project-timeline .subtask-day-count[data-v-58fbf453]{font-size:11px;color:var(--pm-text-dim,#64748b)}.pm-project-timeline .subtask-day-tasks[data-v-58fbf453]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;-ms-flex-wrap:wrap;flex-wrap:wrap}.pm-project-timeline .task-detail-overlay[data-v-58fbf453]{position:fixed;inset:0;z-index:1000;background:rgba(15,23,42,.4);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-animation:fadeIn-58fbf453 .2s ease;animation:fadeIn-58fbf453 .2s ease}@-webkit-keyframes fadeIn-58fbf453{0%{opacity:0}to{opacity:1}}@keyframes fadeIn-58fbf453{0%{opacity:0}to{opacity:1}}.pm-project-timeline .task-detail-modal[data-v-58fbf453]{background:var(--pm-card,#fff);border-radius:16px;-webkit-box-shadow:0 8px 30px rgba(15,23,42,.15);box-shadow:0 8px 30px rgba(15,23,42,.15);width:480px;max-width:90vw;max-height:80vh;overflow-y:auto;-webkit-animation:modalIn-58fbf453 .25s ease;animation:modalIn-58fbf453 .25s ease}@-webkit-keyframes modalIn-58fbf453{0%{opacity:0;-webkit-transform:scale(.95) translateY(10px);transform:scale(.95) translateY(10px)}to{opacity:1;-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes modalIn-58fbf453{0%{opacity:0;-webkit-transform:scale(.95) translateY(10px);transform:scale(.95) translateY(10px)}to{opacity:1;-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}.pm-project-timeline .task-detail-header[data-v-58fbf453]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--pm-border-soft,#e2e8f0)}.pm-project-timeline .task-detail-title[data-v-58fbf453]{margin:0;font-size:16px;font-weight:700;color:var(--pm-text-bright,#0f172a)}.pm-project-timeline .task-detail-close[data-v-58fbf453]{border:none;background:transparent;font-size:18px;color:var(--pm-text-dim,#64748b);cursor:pointer;padding:4px 8px;border-radius:6px;-webkit-transition:all .2s ease;transition:all .2s ease}.pm-project-timeline .task-detail-close[data-v-58fbf453]:hover{background:var(--pm-bg-deep,#f1f5f9);color:var(--pm-text-mid,#334155)}.pm-project-timeline .task-detail-body[data-v-58fbf453]{padding:20px 24px}.pm-project-timeline .task-detail-row[data-v-58fbf453]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--pm-border-faint,#e2e8f0)}.pm-project-timeline .task-detail-row[data-v-58fbf453]:last-child{border-bottom:none}.pm-project-timeline .task-detail-label[data-v-58fbf453]{font-size:13px;color:var(--pm-text-dim,#64748b);-ms-flex-negative:0;flex-shrink:0}.pm-project-timeline .task-detail-value[data-v-58fbf453]{font-size:13px;color:var(--pm-text-mid,#334155);text-align:right}.pm-project-timeline .task-detail-bottleneck[data-v-58fbf453]{margin-top:12px;padding:10px 14px;border-radius:10px;background:rgba(220,38,38,.08);color:#dc2626;font-size:13px;font-weight:500}.pm-project-timeline .task-detail-note[data-v-58fbf453]{margin-top:8px;padding:10px 14px;border-radius:10px;background:rgba(220,38,38,.05);color:#dc2626;font-size:12px;line-height:1.6}.pm-project-timeline .ctx-menu[data-v-58fbf453]{position:fixed;z-index:2000;background:var(--pm-card,#fff);border:1px solid var(--pm-border-mid,#94a3b8);border-radius:12px;-webkit-box-shadow:0 8px 30px rgba(15,23,42,.15);box-shadow:0 8px 30px rgba(15,23,42,.15);padding:6px;min-width:160px;-webkit-animation:ctxIn-58fbf453 .15s ease;animation:ctxIn-58fbf453 .15s ease}@-webkit-keyframes ctxIn-58fbf453{0%{opacity:0;-webkit-transform:scale(.95);transform:scale(.95)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes ctxIn-58fbf453{0%{opacity:0;-webkit-transform:scale(.95);transform:scale(.95)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.pm-project-timeline .ctx-item[data-v-58fbf453]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:8px 12px;font-size:13px;color:var(--pm-text-mid,#334155);border-radius:8px;cursor:pointer;-webkit-transition:all .15s ease;transition:all .15s ease}.pm-project-timeline .ctx-item[data-v-58fbf453]:hover{background:var(--pm-bg-deep,#f1f5f9);color:var(--pm-accent,#2563eb)}