:root{--primary: #2563eb;--primary-hover: #1d4ed8;--primary-light: #eff6ff;--primary-border: #bfdbfe;--bg-page: #f8fafc;--bg-card: #ffffff;--bg-subtle: #f1f5f9;--text-main: #0f172a;--text-muted: #64748b;--text-light: #94a3b8;--border-color: #e2e8f0;--border-subtle: #f1f5f9;--success: #10b981;--success-bg: #ecfdf5;--warning: #f59e0b;--warning-bg: #fffbeb;--danger: #ef4444;--danger-bg: #fef2f2;--info: #3b82f6;--info-bg: #eff6ff;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .07), 0 2px 4px -2px rgb(0 0 0 / .05);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .04)}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;height:100vh;margin:0;padding:0;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background-color:var(--bg-page);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn-primary{background-color:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:#fff;color:var(--text-main);border-color:var(--border-color)}.btn-secondary:hover{background-color:var(--bg-subtle);border-color:#cbd5e1}.btn-sm{padding:4px 8px;font-size:12px}.btn-icon{width:28px;height:28px;padding:0;border-radius:var(--radius-sm)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:600;line-height:1.4;white-space:nowrap}.badge-level-1{background-color:#e0e7ff;color:#3730a3;border:1px solid #c7d2fe}.badge-level-2{background-color:#f1f5f9;color:#334155;border:1px solid #e2e8f0}.badge-level-3{background-color:#faf5ff;color:#6b21a8;border:1px solid #f3e8ff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:999;animation:fadeIn .2s ease-out}.modal-box{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:90%;max-width:680px;max-height:90vh;overflow-y:auto;animation:slideUp .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(16px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.wbs-header-container[data-v-6effb5d0]{background:#fff;border-bottom:1px solid var(--border-color);padding:14px 24px;flex-shrink:0;transition:all .2s ease}.project-banner[data-v-6effb5d0]{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.project-tag-row[data-v-6effb5d0]{display:flex;align-items:center;gap:6px;margin-bottom:4px}.project-code-badge[data-v-6effb5d0]{background-color:#2563eb;color:#fff;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.5px}.project-version-badge[data-v-6effb5d0]{background-color:#ecfdf5;color:#059669;border:1px solid #a7f3d0;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:600}.project-sponsor[data-v-6effb5d0]{font-size:11px;color:var(--text-muted)}.title-row[data-v-6effb5d0]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:4px}.project-title[data-v-6effb5d0]{font-size:18px;font-weight:700;color:#0f172a;letter-spacing:-.01em}.quick-stats-badge[data-v-6effb5d0]{display:inline-flex;align-items:center;gap:6px}.quick-pill[data-v-6effb5d0]{font-size:11px;font-weight:600;padding:1px 7px;border-radius:9999px}.quick-pill.success[data-v-6effb5d0]{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}.quick-pill.info[data-v-6effb5d0]{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.quick-pill.amber[data-v-6effb5d0]{background:#fffbeb;color:#d97706;border:1px solid #fde68a}.meta-row[data-v-6effb5d0]{display:flex;align-items:center;gap:18px;font-size:12px;color:var(--text-muted);flex-wrap:wrap}.meta-label[data-v-6effb5d0]{color:#64748b}.meta-val[data-v-6effb5d0]{color:#1e293b}.highlight-val[data-v-6effb5d0]{color:#2563eb;font-weight:600}.banner-right[data-v-6effb5d0]{display:flex;align-items:center;gap:14px}.toggle-dashboard-btn[data-v-6effb5d0]{display:inline-flex;align-items:center;gap:5px;background-color:#f1f5f9;border:1px solid #cbd5e1;color:#475569;font-size:12px;font-weight:500;padding:5px 10px;border-radius:6px;cursor:pointer;transition:all .15s ease}.toggle-dashboard-btn[data-v-6effb5d0]:hover{background-color:#e2e8f0;color:#0f172a}.chevron-arrow[data-v-6effb5d0]{transition:transform .2s ease}.chevron-arrow.collapsed[data-v-6effb5d0]{transform:rotate(180deg)}.progress-ring-card[data-v-6effb5d0]{background:linear-gradient(135deg,#f8fafc,#edf2f7);padding:6px 14px;border-radius:10px;border:1px solid #e2e8f0;display:flex;align-items:center;box-shadow:0 1px 2px #00000008}.progress-ring-wrapper[data-v-6effb5d0]{position:relative;width:58px;height:58px}.ring-svg[data-v-6effb5d0]{width:100%;height:100%;transform:rotate(-90deg)}.ring-bg[data-v-6effb5d0]{stroke:#e2e8f0}.ring-fill[data-v-6effb5d0]{stroke:#2563eb;stroke-linecap:round;transition:stroke-dashoffset .6s ease}.ring-text[data-v-6effb5d0]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.ring-number[data-v-6effb5d0]{font-size:13px;font-weight:800;color:#0f172a;line-height:1}.ring-sub[data-v-6effb5d0]{font-size:8px;color:#64748b;transform:scale(.85)}.kpi-grid[data-v-6effb5d0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:12px;animation:fadeIn .2s ease}.kpi-card[data-v-6effb5d0]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;box-shadow:0 1px 2px #00000008}.kpi-top[data-v-6effb5d0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.kpi-title[data-v-6effb5d0]{font-size:11px;font-weight:500;color:#64748b}.kpi-icon-badge[data-v-6effb5d0]{width:22px;height:22px;border-radius:4px;display:flex;align-items:center;justify-content:center}.kpi-icon-badge.blue[data-v-6effb5d0]{background-color:#eff6ff;color:#2563eb}.kpi-icon-badge.amber[data-v-6effb5d0]{background-color:#fffbeb;color:#d97706}.kpi-icon-badge.emerald[data-v-6effb5d0]{background-color:#ecfdf5;color:#059669}.kpi-icon-badge.indigo[data-v-6effb5d0]{background-color:#eef2ff;color:#4f46e5}.kpi-number[data-v-6effb5d0]{font-size:16px;font-weight:700;color:#0f172a;line-height:1.2;margin-bottom:4px}.kpi-number .unit[data-v-6effb5d0]{font-size:11px;font-weight:400;color:#64748b}.kpi-meta-split[data-v-6effb5d0]{font-size:11px;color:#64748b;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.text-success[data-v-6effb5d0]{color:#10b981;font-weight:600}.text-primary[data-v-6effb5d0]{color:#3b82f6;font-weight:600}.text-danger[data-v-6effb5d0]{color:#ef4444;font-weight:600}.divider[data-v-6effb5d0]{color:#cbd5e1}.kpi-progress-bar[data-v-6effb5d0]{width:100%;height:5px;background-color:#f1f5f9;border-radius:9999px;overflow:hidden;margin-top:4px}.amber-bar[data-v-6effb5d0]{background:linear-gradient(90deg,#f59e0b,#fbbf24);height:100%;border-radius:9999px;transition:width .4s ease}.badge-usage[data-v-6effb5d0]{font-size:10px;padding:1px 5px;border-radius:3px}.badge-usage.normal[data-v-6effb5d0]{background:#eff6ff;color:#1d4ed8}.badge-usage.danger[data-v-6effb5d0]{background:#fef2f2;color:#b91c1c}.tag-status-ok[data-v-6effb5d0]{background:#ecfdf5;color:#047857;padding:1px 5px;border-radius:3px;font-size:10px}.wbs-toolbar[data-v-1e85744a]{background:#fff;border-bottom:1px solid var(--border-color);padding:10px 24px;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.toolbar-top-row[data-v-1e85744a]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.toolbar-group[data-v-1e85744a]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.right-group[data-v-1e85744a]{margin-left:auto}.group-label[data-v-1e85744a]{font-size:13px;color:#64748b;font-weight:500}.level-btn-group[data-v-1e85744a]{display:inline-flex;border:1px solid #cbd5e1;border-radius:6px;overflow:hidden;margin-left:6px}.level-btn[data-v-1e85744a]{background:#fff;border:none;border-right:1px solid #cbd5e1;padding:4px 10px;font-size:12px;color:#475569;cursor:pointer;transition:all .15s ease}.level-btn[data-v-1e85744a]:last-child{border-right:none}.level-btn[data-v-1e85744a]:hover{background-color:#f8fafc;color:#0f172a}.level-btn.active[data-v-1e85744a]{background-color:#2563eb;color:#fff;font-weight:600}.view-switch[data-v-1e85744a]{display:inline-flex;background-color:#f1f5f9;padding:3px;border-radius:8px}.view-btn[data-v-1e85744a]{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:500;border:none;background:transparent;color:#64748b;border-radius:6px;cursor:pointer;transition:all .15s ease}.view-btn.active[data-v-1e85744a]{background-color:#fff;color:#0f172a;font-weight:600;box-shadow:0 1px 3px #00000014}.toolbar-bottom-row[data-v-1e85744a]{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:4px}.search-box[data-v-1e85744a]{position:relative;display:flex;align-items:center;flex:1;min-width:240px;max-width:380px}.search-icon[data-v-1e85744a]{position:absolute;left:10px;color:#94a3b8;pointer-events:none}.search-input[data-v-1e85744a]{width:100%;height:32px;padding:0 28px 0 32px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px;color:#0f172a;outline:none;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.search-input[data-v-1e85744a]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.clear-btn[data-v-1e85744a]{position:absolute;right:8px;background:none;border:none;color:#94a3b8;cursor:pointer;font-size:12px}.clear-btn[data-v-1e85744a]:hover{color:#475569}.filter-item[data-v-1e85744a]{display:flex;align-items:center;gap:6px}.filter-label[data-v-1e85744a]{font-size:12px;color:#64748b}.filter-select[data-v-1e85744a]{height:32px;padding:0 8px;border:1px solid #cbd5e1;border-radius:6px;font-size:12px;color:#334155;background-color:#fff;outline:none;cursor:pointer}.filter-select[data-v-1e85744a]:focus{border-color:#2563eb}.milestone-toggle[data-v-1e85744a]{display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-size:12px;color:#475569;-webkit-user-select:none;user-select:none;padding:4px 8px;border-radius:6px;background-color:#f8fafc;border:1px solid #e2e8f0}.milestone-toggle[data-v-1e85744a]:hover{background-color:#f1f5f9}.toggle-star[data-v-1e85744a]{color:#f59e0b;font-size:14px}.reset-filter-btn[data-v-1e85744a]{margin-left:auto;background:none;border:none;color:#64748b;font-size:12px;text-decoration:underline;cursor:pointer}.reset-filter-btn[data-v-1e85744a]:hover{color:#2563eb}.wbs-table-wrapper[data-v-9a4bed5e]{background:#fff;width:100%;height:100%;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.table-scroll-container[data-v-9a4bed5e]{flex:1;min-height:0;overflow:auto;position:relative}.wbs-table[data-v-9a4bed5e]{width:100%;border-collapse:separate;border-spacing:0;text-align:left;font-size:13px;min-width:1200px}thead[data-v-9a4bed5e]{position:sticky;top:0;z-index:20}thead th[data-v-9a4bed5e]{background-color:#f8fafc;border-bottom:2px solid #cbd5e1;box-shadow:inset 0 -1px #cbd5e1;padding:10px 14px;font-size:12px;font-weight:600;color:#475569;letter-spacing:.02em;white-space:nowrap}tbody tr[data-v-9a4bed5e]{border-bottom:1px solid #f1f5f9;transition:background-color .15s ease}tbody tr[data-v-9a4bed5e]:hover{background-color:#f8fafc}.row-level-1[data-v-9a4bed5e]{background-color:#fff;font-weight:600;border-top:1px solid #e2e8f0}.row-level-1 td[data-v-9a4bed5e]{padding-top:14px;padding-bottom:14px}.row-level-2[data-v-9a4bed5e]{background-color:#fafbfc}.row-milestone[data-v-9a4bed5e]{background-color:#fffdf5!important}.row-delayed[data-v-9a4bed5e]{background-color:#fffbfa}td[data-v-9a4bed5e]{padding:10px 14px;vertical-align:middle}.code-badge[data-v-9a4bed5e]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;font-weight:600;padding:2px 6px;border-radius:4px;background-color:#f1f5f9;color:#334155}.code-level-1[data-v-9a4bed5e]{background-color:#dbeafe;color:#1e40af;font-weight:700}.code-level-2[data-v-9a4bed5e]{background-color:#ede9fe;color:#5b21b6}.tree-node-content[data-v-9a4bed5e]{display:flex;align-items:flex-start;gap:8px}.expand-icon-btn[data-v-9a4bed5e]{background:none;border:1px solid #cbd5e1;border-radius:4px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#475569;margin-top:2px;transition:all .15s ease;flex-shrink:0}.expand-icon-btn[data-v-9a4bed5e]:hover{border-color:#2563eb;color:#2563eb;background-color:#eff6ff}.chevron-icon[data-v-9a4bed5e]{transition:transform .2s ease}.chevron-icon.expanded[data-v-9a4bed5e]{transform:rotate(90deg)}.tree-leaf-placeholder[data-v-9a4bed5e]{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.tree-bullet[data-v-9a4bed5e]{font-size:6px;color:#94a3b8}.milestone-star[data-v-9a4bed5e]{color:#f59e0b;font-size:14px}.task-info-block[data-v-9a4bed5e]{display:flex;flex-direction:column;gap:3px}.task-name-line[data-v-9a4bed5e]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task-name-text[data-v-9a4bed5e]{color:#0f172a;cursor:pointer;line-height:1.4}.task-name-text[data-v-9a4bed5e]:hover{color:#2563eb;text-decoration:underline}.milestone-pill[data-v-9a4bed5e]{font-size:10px;background:#fef3c7;color:#b45309;border:1px solid #fde68a;padding:1px 6px;border-radius:4px;font-weight:600}.task-deliverable[data-v-9a4bed5e]{font-size:11px;color:#64748b;display:flex;align-items:center;gap:4px}.status-pill[data-v-9a4bed5e]{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:12px;font-size:11px;font-weight:600;border:1px solid transparent;white-space:nowrap}.status-dot[data-v-9a4bed5e]{width:6px;height:6px;border-radius:50%}.progress-cell[data-v-9a4bed5e]{display:flex;align-items:center;gap:8px;min-width:100px}.progress-bar-container[data-v-9a4bed5e]{flex:1;height:7px;background-color:#e2e8f0;border-radius:4px;overflow:hidden}.progress-bar-fill[data-v-9a4bed5e]{height:100%;background-color:#2563eb;border-radius:4px;transition:width .3s ease}.fill-completed[data-v-9a4bed5e]{background-color:#10b981}.fill-delayed[data-v-9a4bed5e]{background-color:#ef4444}.progress-number[data-v-9a4bed5e]{font-size:11px;font-weight:600;color:#475569;width:32px;text-align:right}.text-emerald[data-v-9a4bed5e]{color:#059669}.owner-cell[data-v-9a4bed5e]{display:flex;align-items:center;gap:8px}.avatar-circle[data-v-9a4bed5e]{width:26px;height:26px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0}.owner-info[data-v-9a4bed5e]{display:flex;flex-direction:column}.owner-name[data-v-9a4bed5e]{font-size:12px;font-weight:600;color:#1e293b;line-height:1.2}.owner-dept[data-v-9a4bed5e]{font-size:10px;color:#64748b}.schedule-cell[data-v-9a4bed5e]{display:flex;flex-direction:column;font-size:11px}.schedule-dates[data-v-9a4bed5e]{color:#334155;font-family:ui-monospace,SFMono-Regular,monospace}.schedule-duration[data-v-9a4bed5e]{color:#64748b}.priority-tag[data-v-9a4bed5e]{font-size:11px;font-weight:600}.cost-cell[data-v-9a4bed5e]{display:flex;flex-direction:column;font-size:11px}.cost-budget[data-v-9a4bed5e]{font-weight:600;color:#1e293b}.cost-actual[data-v-9a4bed5e]{color:#64748b}.cost-actual.overbudget[data-v-9a4bed5e]{color:#ef4444;font-weight:600}.action-btn-group[data-v-9a4bed5e]{display:flex;align-items:center;gap:4px}.action-btn[data-v-9a4bed5e]{width:26px;height:26px;border-radius:4px;border:1px solid #e2e8f0;background:#fff;color:#64748b;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.action-btn[data-v-9a4bed5e]:hover{background-color:#f1f5f9;color:#2563eb;border-color:#cbd5e1}.action-btn.delete-btn[data-v-9a4bed5e]:hover{background-color:#fef2f2;color:#ef4444;border-color:#fecaca}.empty-cell[data-v-9a4bed5e]{padding:60px 20px;text-align:center}.empty-state[data-v-9a4bed5e]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.empty-title[data-v-9a4bed5e]{font-size:15px;font-weight:600;color:#475569}.empty-desc[data-v-9a4bed5e]{font-size:13px;color:#94a3b8}[data-v-9a4bed5e] .search-highlight{background-color:#fef08a;color:#854d0e;padding:0 2px;border-radius:2px}.gantt-container[data-v-6a8de2cf]{background:#fff;height:100%;flex:1;min-height:0;display:flex;flex-direction:column;border-radius:8px;overflow:hidden;border:1px solid var(--border-color)}.gantt-header[data-v-6a8de2cf]{display:flex;background-color:#f8fafc;border-bottom:2px solid #e2e8f0;font-weight:600;font-size:12px;color:#475569;flex-shrink:0;position:sticky;top:0;z-index:10}.gantt-left-header[data-v-6a8de2cf]{width:380px;min-width:380px;padding:12px 16px;border-right:1px solid #e2e8f0}.gantt-right-header[data-v-6a8de2cf]{flex:1;position:relative;height:40px;min-width:600px}.month-timeline[data-v-6a8de2cf]{position:relative;width:100%;height:100%}.month-tick[data-v-6a8de2cf]{position:absolute;top:0;bottom:0;transform:translate(-50%)}.tick-label[data-v-6a8de2cf]{display:block;padding-top:10px;font-size:11px;color:#64748b;text-align:center}.gantt-body[data-v-6a8de2cf]{flex:1;min-height:0;overflow-y:auto;overflow-x:auto}.gantt-row[data-v-6a8de2cf]{display:flex;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:background-color .15s ease;min-height:38px;align-items:center}.gantt-row[data-v-6a8de2cf]:hover{background-color:#f8fafc}.level-1-row[data-v-6a8de2cf]{background-color:#fcfdfe;font-weight:600}.level-2-row[data-v-6a8de2cf]{font-weight:500}.gantt-left-cell[data-v-6a8de2cf]{width:380px;min-width:380px;padding-right:12px;display:flex;align-items:center;gap:8px;border-right:1px solid #e2e8f0;overflow:hidden}.expand-btn[data-v-6a8de2cf]{background:none;border:none;font-size:14px;color:#64748b;cursor:pointer;width:14px;text-align:center}.indent-bullet[data-v-6a8de2cf]{color:#94a3b8;font-size:12px;width:14px;text-align:center}.gantt-code[data-v-6a8de2cf]{font-family:monospace;font-size:11px;color:#2563eb;font-weight:600}.gantt-name[data-v-6a8de2cf]{font-size:12px;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.gantt-duration[data-v-6a8de2cf]{font-size:11px;color:#94a3b8;white-space:nowrap}.gantt-right-cell[data-v-6a8de2cf]{flex:1;position:relative;min-width:600px;height:38px;display:flex;align-items:center}.gantt-track[data-v-6a8de2cf]{position:relative;width:100%;height:20px}.gantt-bar[data-v-6a8de2cf]{position:absolute;top:0;height:18px;border-radius:4px;overflow:hidden;box-shadow:0 1px 2px #0000001a;display:flex;align-items:center;justify-content:flex-end;padding-right:6px;transition:width .3s ease,left .3s ease}.bar-progress-overlay[data-v-6a8de2cf]{position:absolute;left:0;top:0;bottom:0;background:#ffffff4d}.bar-label[data-v-6a8de2cf]{position:relative;z-index:2;font-size:10px;color:#fff;font-weight:700;line-height:1}.milestone-diamond[data-v-6a8de2cf]{position:absolute;top:50%;transform:translate(-50%,-50%);color:#f59e0b;font-size:20px;text-shadow:0 1px 3px rgba(0,0,0,.2)}.modal-header[data-v-a5d570be]{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px 16px;border-bottom:1px solid #e2e8f0}.modal-title[data-v-a5d570be]{font-size:18px;font-weight:700;color:#0f172a}.modal-subtitle[data-v-a5d570be]{font-size:12px;color:#64748b;margin-top:2px;display:block}.close-x-btn[data-v-a5d570be]{background:none;border:none;font-size:18px;color:#94a3b8;cursor:pointer;padding:4px;border-radius:4px}.close-x-btn[data-v-a5d570be]:hover{color:#0f172a;background-color:#f1f5f9}.modal-form[data-v-a5d570be]{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.form-row[data-v-a5d570be]{display:grid;gap:16px}.grid-2[data-v-a5d570be]{grid-template-columns:1fr 1fr}.grid-3[data-v-a5d570be]{grid-template-columns:1fr 1fr 1fr}.align-center[data-v-a5d570be]{align-items:center}.form-group[data-v-a5d570be]{display:flex;flex-direction:column;gap:6px}.form-label[data-v-a5d570be]{font-size:12px;font-weight:600;color:#334155}.form-label.required[data-v-a5d570be]:after{content:" *";color:#ef4444}.form-input[data-v-a5d570be],.form-select[data-v-a5d570be],.form-textarea[data-v-a5d570be]{width:100%;padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px;color:#0f172a;background-color:#fff;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.form-input[data-v-a5d570be]:focus,.form-select[data-v-a5d570be]:focus,.form-textarea[data-v-a5d570be]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.slider-wrapper[data-v-a5d570be]{display:flex;align-items:center;gap:12px;padding-top:4px}.range-slider[data-v-a5d570be]{flex:1;accent-color:#2563eb;cursor:pointer}.slider-value[data-v-a5d570be]{font-size:13px;font-weight:700;color:#2563eb;min-width:36px}.checkbox-group[data-v-a5d570be]{padding-top:18px}.custom-checkbox-label[data-v-a5d570be]{display:flex;align-items:flex-start;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-input[data-v-a5d570be]{width:16px;height:16px;accent-color:#2563eb;margin-top:2px}.checkbox-text[data-v-a5d570be]{font-size:13px;color:#1e293b}.text-muted[data-v-a5d570be]{color:#64748b;font-size:11px}.modal-footer[data-v-a5d570be]{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid #e2e8f0;margin-top:8px}.app-layout[data-v-66e126db]{height:100%;height:100vh;display:flex;flex-direction:column;background-color:#f8fafc;overflow:hidden}.main-content[data-v-66e126db]{flex:1;min-height:0;display:flex;flex-direction:column;padding:10px 24px;width:100%;box-sizing:border-box;overflow:hidden}.view-panel[data-v-66e126db]{flex:1;min-height:0;display:flex;flex-direction:column;background:#fff;border-radius:8px;border:1px solid var(--border-color);box-shadow:0 1px 3px #0000000a;overflow:hidden}.app-footer[data-v-66e126db]{flex-shrink:0;background:#fff;border-top:1px solid var(--border-color);padding:8px 24px;font-size:11px;color:#64748b;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.footer-left[data-v-66e126db]{display:flex;align-items:center;gap:8px}.footer-divider[data-v-66e126db]{color:#cbd5e1}.footer-hint[data-v-66e126db]{color:#94a3b8}.footer-right[data-v-66e126db]{font-weight:500;color:#475569}
