@media(max-width:768px){thead[data-v-460b11e5]{display:none}tbody tr[data-v-460b11e5]{display:block;margin-bottom:1rem;border:1px solid #e5e7eb;border-radius:.5rem;background:#fff;box-shadow:0 1px 3px #0000000d}tbody td[data-v-460b11e5]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #f3f4f6}tbody td[data-v-460b11e5]:last-child{border-bottom:none}tbody td[data-v-460b11e5]:before{content:attr(data-label);font-weight:600;color:#374151;text-transform:capitalize}}@keyframes skeleton-loading-de045ae0{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton[data-v-de045ae0]{animation:skeleton-loading-de045ae0 1.2s infinite linear;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 37%,#f0f0f0 63%);background-size:400% 100%;border-radius:4px}.table-skeleton[data-v-de045ae0]{width:100%;border-collapse:collapse}.skeleton-cell[data-v-de045ae0]{height:20px;width:100%}.vue-flow{position:relative;width:100%;height:100%;overflow:hidden;z-index:0;direction:ltr}.vue-flow__container{position:absolute;height:100%;width:100%;left:0;top:0}.vue-flow__pane{z-index:1}.vue-flow__pane.draggable{cursor:grab}.vue-flow__pane.selection{cursor:pointer}.vue-flow__pane.dragging{cursor:grabbing}.vue-flow__transformationpane{transform-origin:0 0;z-index:2;pointer-events:none}.vue-flow__viewport{z-index:4;overflow:clip}.vue-flow__selection{z-index:6}.vue-flow__edge-labels{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible{outline:none}.vue-flow .vue-flow__edges{pointer-events:none;overflow:visible}.vue-flow__edge-path,.vue-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.vue-flow__edge{pointer-events:visibleStroke;cursor:pointer}.vue-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__edge.animated path.vue-flow__edge-interaction{stroke-dasharray:none;animation:none}.vue-flow__edge.inactive{pointer-events:none}.vue-flow__edge.selected,.vue-flow__edge:focus,.vue-flow__edge:focus-visible{outline:none}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:focus .vue-flow__edge-path,.vue-flow__edge:focus-visible .vue-flow__edge-path{stroke:#555}.vue-flow__edge-textwrapper{pointer-events:all}.vue-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.vue-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px}.vue-flow__handle.connectable{pointer-events:all;cursor:crosshair}.vue-flow__handle-bottom{left:50%;bottom:0;transform:translate(-50%,50%)}.vue-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.vue-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.vue-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.vue-flow__edgeupdater{cursor:move;pointer-events:all}.vue-flow__panel{position:absolute;z-index:5;margin:15px}.vue-flow__panel.top{top:0}.vue-flow__panel.bottom{bottom:0}.vue-flow__panel.left{left:0}.vue-flow__panel.right{right:0}.vue-flow__panel.center{left:50%;transform:translate(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10}}:root{--vf-node-bg: #fff;--vf-node-text: #222;--vf-connection-path: #b1b1b7;--vf-handle: #555}.vue-flow__edge.updating .vue-flow__edge-path{stroke:#777}.vue-flow__edge-text{font-size:10px}.vue-flow__edge-textbg{fill:#fff}.vue-flow__connection-path{stroke:var(--vf-connection-path)}.vue-flow__node{cursor:grab}.vue-flow__node.selectable:focus,.vue-flow__node.selectable:focus-visible{outline:none}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{padding:10px;border-radius:3px;width:150px;font-size:12px;text-align:center;border-width:1px;border-style:solid;color:var(--vf-node-text);background-color:var(--vf-node-bg);border-color:var(--vf-node-color)}.vue-flow__node-default.selected,.vue-flow__node-default.selected:hover,.vue-flow__node-input.selected,.vue-flow__node-input.selected:hover,.vue-flow__node-output.selected,.vue-flow__node-output.selected:hover{box-shadow:0 0 0 .5px var(--vf-box-shadow)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible,.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible,.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid #555}.vue-flow__node-default .vue-flow__handle,.vue-flow__node-input .vue-flow__handle,.vue-flow__node-output .vue-flow__handle{background:var(--vf-handle)}.vue-flow__node-default.selectable:hover,.vue-flow__node-input.selectable:hover,.vue-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.vue-flow__node-input{--vf-node-color: var(--vf-node-color, #0041d0);--vf-handle: var(--vf-node-color, #0041d0);--vf-box-shadow: var(--vf-node-color, #0041d0);background:var(--vf-node-bg);border-color:var(--vf-node-color, #0041d0)}.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible{outline:none;border:1px solid var(--vf-node-color, #0041d0)}.vue-flow__node-default{--vf-handle: var(--vf-node-color, #1a192b);--vf-box-shadow: var(--vf-node-color, #1a192b);background:var(--vf-node-bg);border-color:var(--vf-node-color, #1a192b)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible{outline:none;border:1px solid var(--vf-node-color, #1a192b)}.vue-flow__node-output{--vf-handle: var(--vf-node-color, #ff0072);--vf-box-shadow: var(--vf-node-color, #ff0072);background:var(--vf-node-bg);border-color:var(--vf-node-color, #ff0072)}.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid var(--vf-node-color, #ff0072)}.vue-flow__nodesselection-rect,.vue-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible,.vue-flow__selection:focus,.vue-flow__selection:focus-visible{outline:none}.vue-flow__handle{width:6px;height:6px;background:var(--vf-handle);border:1px solid #fff;border-radius:100%}.vue-flow__controls{box-shadow:0 0 2px 1px #00000014}.vue-flow__controls-button{background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:5px}.vue-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.vue-flow__controls-button:hover{background:#f4f4f4}.vue-flow__controls-button:disabled{pointer-events:none}.vue-flow__controls-button:disabled svg{fill-opacity:.4}.org-node[data-v-a1f01e2c]{display:flex;align-items:stretch;width:172px;min-height:58px;border-radius:10px;background:#fff;border:1.5px solid #fecaca;box-shadow:0 2px 10px #ef44441a,0 1px 3px #0000000f;transition:box-shadow .18s,border-color .18s,transform .18s;cursor:grab;overflow:hidden}.org-node[data-v-a1f01e2c]:hover{box-shadow:0 4px 16px #ef444433,0 2px 6px #00000014;transform:translateY(-1px)}.is-selected[data-v-a1f01e2c]{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef444438,0 4px 16px #ef444426!important}.node-stripe[data-v-a1f01e2c]{width:5px;background:linear-gradient(180deg,#f87171,#dc2626);flex-shrink:0}.node-body[data-v-a1f01e2c]{display:flex;align-items:center;gap:7px;padding:8px 10px 8px 8px;flex:1;min-width:0}.node-icon[data-v-a1f01e2c]{width:20px;height:20px;color:#ef4444;flex-shrink:0}.node-icon svg[data-v-a1f01e2c]{width:100%;height:100%}.node-text[data-v-a1f01e2c]{display:flex;flex-direction:column;min-width:0;gap:1px}.node-type-label[data-v-a1f01e2c]{font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#ef4444;line-height:1}.node-name[data-v-a1f01e2c]{font-size:11.5px;font-weight:600;color:#111827;word-break:break-word;line-height:1.35}.handle-dot[data-v-a1f01e2c]{background:#ef4444!important;width:10px!important;height:10px!important;border:2px solid #fff!important;box-shadow:0 0 0 1.5px #ef4444}.org-node[data-v-f4450c2e]{display:flex;align-items:stretch;width:172px;min-height:58px;border-radius:10px;background:#fff;border:1.5px solid #bfdbfe;box-shadow:0 2px 10px #3b82f61a,0 1px 3px #0000000f;transition:box-shadow .18s,border-color .18s,transform .18s;cursor:grab;overflow:hidden}.org-node[data-v-f4450c2e]:hover{box-shadow:0 4px 16px #3b82f633,0 2px 6px #00000014;transform:translateY(-1px)}.is-selected[data-v-f4450c2e]{border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f638,0 4px 16px #3b82f626!important}.node-stripe[data-v-f4450c2e]{width:5px;background:linear-gradient(180deg,#60a5fa,#2563eb);flex-shrink:0}.node-body[data-v-f4450c2e]{display:flex;align-items:center;gap:7px;padding:8px 10px 8px 8px;flex:1;min-width:0}.node-icon[data-v-f4450c2e]{width:18px;height:18px;color:#3b82f6;flex-shrink:0}.node-icon svg[data-v-f4450c2e]{width:100%;height:100%}.node-text[data-v-f4450c2e]{display:flex;flex-direction:column;min-width:0;gap:1px}.node-type-label[data-v-f4450c2e]{font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#3b82f6;line-height:1}.node-name[data-v-f4450c2e]{font-size:11.5px;font-weight:600;color:#111827;word-break:break-word;line-height:1.35}.handle-dot[data-v-f4450c2e]{width:10px!important;height:10px!important;border:2px solid #fff!important}.handle-top[data-v-f4450c2e]{background:#3b82f6!important;box-shadow:0 0 0 1.5px #3b82f6}.handle-bot[data-v-f4450c2e]{background:#6366f1!important;box-shadow:0 0 0 1.5px #6366f1}.org-node[data-v-07a81ee4]{display:flex;align-items:stretch;width:172px;min-height:58px;border-radius:10px;background:#fff;border:1.5px solid #bbf7d0;box-shadow:0 2px 10px #10b9811a,0 1px 3px #0000000f;transition:box-shadow .18s,border-color .18s,transform .18s;cursor:grab;overflow:hidden}.org-node[data-v-07a81ee4]:hover{box-shadow:0 4px 16px #10b98133,0 2px 6px #00000014;transform:translateY(-1px)}.is-selected[data-v-07a81ee4]{border-color:#10b981!important;box-shadow:0 0 0 3px #10b98138,0 4px 16px #10b98126!important}.node-stripe[data-v-07a81ee4]{width:5px;background:linear-gradient(180deg,#34d399,#059669);flex-shrink:0}.node-body[data-v-07a81ee4]{display:flex;align-items:center;gap:7px;padding:8px 10px 8px 8px;flex:1;min-width:0}.node-icon[data-v-07a81ee4]{width:18px;height:18px;color:#10b981;flex-shrink:0}.node-icon svg[data-v-07a81ee4]{width:100%;height:100%}.node-text[data-v-07a81ee4]{display:flex;flex-direction:column;min-width:0;gap:1px}.node-type-label[data-v-07a81ee4]{font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#10b981;line-height:1}.node-name[data-v-07a81ee4]{font-size:11.5px;font-weight:600;color:#111827;word-break:break-word;line-height:1.35}.handle-dot[data-v-07a81ee4]{background:#10b981!important;width:10px!important;height:10px!important;border:2px solid #fff!important;box-shadow:0 0 0 1.5px #10b981}.edge-toolbar[data-v-c8e8295a]{display:flex;align-items:center;gap:4px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:3px 6px;box-shadow:0 2px 6px #0000001f;white-space:nowrap;font-size:10px;color:#6b7280}.edge-info[data-v-c8e8295a]{font-weight:500;color:#374151}.edge-btn-delete[data-v-c8e8295a]{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#ef4444;color:#fff;border:none;cursor:pointer;flex-shrink:0;transition:background .15s}.edge-btn-delete[data-v-c8e8295a]:hover{background:#dc2626}.org-chart-page{display:flex;flex-direction:column;height:calc(100vh - 56px);overflow:hidden;font-family:inherit}.org-chart-body{display:flex;flex:1;overflow:hidden}.toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:8px 16px;background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0}.toolbar-left{display:flex;flex-direction:column;gap:3px}.toolbar-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#111827}.toolbar-icon{width:16px;height:16px;color:#6366f1}.toolbar-hints{display:flex;flex-wrap:wrap;gap:5px}.hint-chip{display:inline-flex;align-items:center;gap:3px;font-size:10px;color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;padding:1px 6px}.hint-chip kbd{background:#e5e7eb;border:1px solid #d1d5db;border-radius:3px;padding:0 3px;font-size:9px;font-family:monospace;color:#374151}.toolbar-right{display:flex;align-items:center;gap:6px}.date-field{display:flex;align-items:center;gap:4px}.date-field label{font-size:11px;color:#6b7280;white-space:nowrap}.date-field input{font-size:11px;border:1px solid #d1d5db;border-radius:5px;padding:4px 6px;outline:none;color:#374151;transition:border-color .15s}.date-field input:focus{border-color:#6366f1}.btn-ghost{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#6b7280;cursor:pointer;transition:background .15s,color .15s}.btn-ghost:hover{background:#f3f4f6;color:#374151}.btn-ghost:disabled{opacity:.4;cursor:not-allowed}.btn-save{display:flex;align-items:center;gap:5px;padding:0 12px;height:30px;background:#4f46e5;color:#fff;font-size:12px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:background .15s;white-space:nowrap}.btn-save:hover{background:#4338ca}.btn-save:disabled{opacity:.5;cursor:not-allowed}.org-sidebar{width:252px;min-width:252px;display:flex;flex-direction:column;background:#fff;border-right:1px solid #e5e7eb;transition:width .22s ease,min-width .22s ease;overflow:hidden}.org-sidebar.sidebar-collapsed{width:38px;min-width:38px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:7px 8px;border-bottom:1px solid #f3f4f6;background:#fafafa;min-height:34px;flex-shrink:0}.sidebar-header-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#9ca3af}.collapse-btn{color:#9ca3af;cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center;transition:color .15s,background .15s}.collapse-btn:hover{background:#f3f4f6;color:#374151}.sidebar-content{display:flex;flex-direction:column;flex:1;overflow-y:auto;overflow-x:hidden}.sidebar-block{padding:8px 10px;border-bottom:1px solid #f3f4f6}.flex-block{flex:1;display:flex;flex-direction:column;min-height:0}.block-label{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#9ca3af;margin-bottom:6px}.count-badge{margin-left:auto;font-size:10px;font-weight:600;padding:1px 5px;border-radius:10px}.count-badge.blue{background:#dbeafe;color:#1d4ed8}.count-badge.green{background:#dcfce7;color:#15803d}.filter-select{width:100%;font-size:11px;border:1px solid #d1d5db;border-radius:5px;padding:4px 7px;background:#fff;color:#374151;outline:none;transition:border-color .15s}.filter-select:focus{border-color:#ef4444}.filter-badge{display:flex;align-items:center;gap:4px;margin-top:5px;background:#fef2f2;border:1px solid #fecaca;border-radius:5px;padding:3px 7px;font-size:10px;color:#ef4444;font-weight:500}.filter-badge button{margin-left:auto;flex-shrink:0;color:#ef4444;cursor:pointer;display:flex;align-items:center;opacity:.7;transition:opacity .15s}.filter-badge button:hover{opacity:1}.legend-list{display:flex;flex-direction:column;gap:3px;margin-bottom:6px}.legend-item{display:flex;align-items:center;gap:5px;font-size:10px;color:#6b7280}.legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.legend-dot.red{background:#f87171;box-shadow:0 0 0 1.5px #ef4444}.legend-dot.blue{background:#60a5fa;box-shadow:0 0 0 1.5px #3b82f6}.legend-dot.green{background:#34d399;box-shadow:0 0 0 1.5px #10b981}.flow-hint{display:flex;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:5px;padding:4px 7px;font-size:10px;gap:3px}.search-box{display:flex;align-items:center;gap:5px;border:1px solid #e5e7eb;border-radius:5px;padding:4px 7px;margin-bottom:5px;background:#fff;transition:border-color .15s}.search-box:focus-within{border-color:#6366f1}.search-box input{flex:1;font-size:11px;border:none;outline:none;background:transparent;color:#374151;min-width:0}.drag-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px;max-height:180px}.empty-list{text-align:center;font-size:11px;color:#9ca3af;padding:10px 0}.drag-item{display:flex;align-items:center;gap:5px;padding:5px 7px;border-radius:6px;font-size:11px;font-weight:500;cursor:grab;-webkit-user-select:none;user-select:none;border:1px solid transparent;transition:all .12s}.drag-item:active{cursor:grabbing}.drag-item .grip{width:12px;height:12px;flex-shrink:0;color:#cbd5e1}.drag-item .item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drag-item .check{width:11px;height:11px;flex-shrink:0}.drag-item .check.blue{color:#3b82f6}.drag-item .check.green{color:#10b981}.blue-item{background:#eff6ff;color:#1e40af;border-color:transparent}.green-item{background:#f0fdf4;color:#166534;border-color:transparent}.blue-item:hover{background:#dbeafe;border-color:#93c5fd}.green-item:hover{background:#dcfce7;border-color:#86efac}.on-canvas{opacity:.55;border-style:dashed!important}.blue-item.on-canvas{border-color:#93c5fd!important}.green-item.on-canvas{border-color:#86efac!important}.canvas-wrap{flex:1;position:relative;overflow:hidden;background:#f8fafc}.loading-overlay{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#fffc;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);font-size:13px;color:#6b7280}.stats-strip{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:4px;pointer-events:none;flex-wrap:wrap;justify-content:center;padding:0 8px}.stat-pill{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;padding:3px 8px;border-radius:20px;border:1px solid transparent;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.stat-pill.red{background:#fef2f2e6;color:#ef4444;border-color:#fecaca}.stat-pill.blue{background:#eff6ffe6;color:#3b82f6;border-color:#bfdbfe}.stat-pill.green{background:#f0fdf4e6;color:#10b981;border-color:#bbf7d0}.stat-pill.purple{background:#f5f3ffe6;color:#7c3aed;border-color:#ddd6fe}.stat-pill.filter-active{background:#fef2f2f2;color:#dc2626;border-color:#fca5a5;pointer-events:all;cursor:default}.stat-pill.filter-active button{margin-left:3px;font-size:12px;font-weight:700;color:#dc2626;cursor:pointer;pointer-events:all;line-height:1;opacity:.7;transition:opacity .15s}.stat-pill.filter-active button:hover{opacity:1}.flow-canvas{width:100%;height:100%}.vue-flow__edge-path{stroke-width:2}.vue-flow__handle{transition:transform .15s}.vue-flow__handle:hover{transform:scale(1.4)}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter-from,.fade-leave-to{opacity:0}.progress-bar-container{position:fixed;top:0;left:0;width:100%;height:4px;background:#3c6aebe6;z-index:1000}.progress-bar{height:100%;background-color:#fff;transition:width .2s ease}
