@font-face{font-family:EDIX;font-style:normal;font-weight:300;src:url(/assets/EDIX-CAy3GPrt.ttf)format("truetype");font-display:swap}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1e293b;background-color:#f2f4f7;font-family:EDIX,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.app-header[data-v-9dc01b79]{z-index:100;background:#fff;border-bottom:1px solid #e2e8f0;grid-template-columns:1fr 1fr 1fr;align-items:center;height:64px;padding:0 24px;display:grid;position:sticky;top:0}.header-left[data-v-9dc01b79]{align-items:center;gap:20px;display:flex}.logo[data-v-9dc01b79]{align-items:center;gap:10px;display:flex}.logo-text[data-v-9dc01b79]{color:#1e293b;font-size:18px;font-weight:700}.header-nav[data-v-9dc01b79]{justify-self:center;gap:4px;display:flex}.nav-item[data-v-9dc01b79]{color:#64748b;border-radius:6px;align-items:center;padding:10px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-item[data-v-9dc01b79]:hover{color:#1e293b;background:#f1f5f9}.nav-item.active[data-v-9dc01b79]{color:#1677ff;background:#e6f0ff}.nav-text[data-v-9dc01b79]{font-weight:600}.header-right[data-v-9dc01b79]{justify-content:flex-end;align-items:center;gap:12px;display:flex}.icon-btn[data-v-9dc01b79]{cursor:pointer;color:#475569;background:0 0;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;transition:all .2s;display:flex}.icon-btn[data-v-9dc01b79]:hover{color:#1677ff;background:#f1f5f9;border-color:#cbd5e1}.icon-label[data-v-9dc01b79]{font-weight:500}.user-avatar[data-v-9dc01b79]{color:#94a3b8;cursor:pointer;background:#e2e8f0;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.filter-bar[data-v-4120366e]{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 32px;display:flex}.filter-left[data-v-4120366e]{flex-wrap:wrap;gap:8px;display:flex}.category-tag[data-v-4120366e]{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s}.category-tag[data-v-4120366e]:hover{color:#1e293b;background:#e2e8f0}.category-tag.active[data-v-4120366e]{color:#fff;background:#1677ff}.filter-right[data-v-4120366e]{align-items:center;gap:16px;display:flex}.checkbox-label[data-v-4120366e]{color:#475569;cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.checkbox-label input[data-v-4120366e]{accent-color:#1677ff;cursor:pointer;width:16px;height:16px}.dropdown[data-v-4120366e]{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;transition:all .2s;display:flex}.dropdown[data-v-4120366e]:hover{background:#f8fafc;border-color:#cbd5e1}.search-box[data-v-4120366e]{background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:8px;min-width:220px;padding:8px 14px;transition:all .2s;display:flex}.search-box[data-v-4120366e]:focus-within{border-color:#1677ff;box-shadow:0 0 0 3px #1677ff1a}.search-box svg[data-v-4120366e]{color:#94a3b8;flex-shrink:0}.search-box input[data-v-4120366e]{color:#1e293b;border:none;outline:none;width:100%;font-size:14px}.search-box input[data-v-4120366e]::placeholder{color:#94a3b8}.create-app-card[data-v-3ff9b97d]{cursor:pointer;background:#f8fafc;border:2px dashed #cbd5e1;padding:20px}.create-app-card[data-v-3ff9b97d]:hover{background:#f0f7ff;border-color:#1677ff}.create-app-header[data-v-3ff9b97d]{align-items:center;gap:12px;margin-bottom:20px;display:flex}.create-icon[data-v-3ff9b97d]{color:#fff;background:linear-gradient(135deg,#1677ff 0%,#4096ff 100%);border-radius:6px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.create-title[data-v-3ff9b97d]{color:#1e293b;font-size:16px;font-weight:600}.create-options[data-v-3ff9b97d]{flex-direction:column;gap:8px;display:flex}.create-option[data-v-3ff9b97d]{border-radius:6px;align-items:center;gap:12px;padding:12px;transition:background .2s;display:flex}.create-option[data-v-3ff9b97d]:hover{background:#fff}.option-icon[data-v-3ff9b97d]{color:#64748b;background:#f1f5f9;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.flow-icon[data-v-3ff9b97d]:hover{color:#1677ff;background:#e6f4ff}.template-icon[data-v-3ff9b97d]:hover{color:#16a34a;background:#dcfce7}.upload-icon[data-v-3ff9b97d]:hover{color:#d97706;background:#fef3c7}.create-option span[data-v-3ff9b97d]{color:#475569;font-size:14px}.create-option:hover span[data-v-3ff9b97d]{color:#1e293b}.app-container[data-v-7964645a]{background-color:#f2f4f7;min-height:100vh;position:relative}.main-content[data-v-7964645a]{max-width:1400px;margin:0 auto;padding:24px 32px}.content-grid[data-v-7964645a]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:24px;display:grid}.app-card[data-v-7964645a]{background:#fff;border-radius:6px;min-height:180px;transition:box-shadow .2s,transform .2s;box-shadow:0 2px 8px #00000014,0 1px 2px #0000000a}.app-card[data-v-7964645a]:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.flow-card[data-v-7964645a]{cursor:pointer;flex-direction:column;padding:16px;display:flex}.flow-card-header[data-v-7964645a]{gap:12px;margin-bottom:12px;display:flex}.flow-icon-wrapper[data-v-7964645a]{color:#fff;background:linear-gradient(135deg,#1677ff 0%,#4096ff 100%);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.flow-info[data-v-7964645a]{flex:1;min-width:0}.flow-name[data-v-7964645a]{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:15px;font-weight:600;overflow:hidden}.flow-desc[data-v-7964645a]{color:#64748b;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:13px;overflow:hidden}.flow-card-footer[data-v-7964645a]{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.flow-time[data-v-7964645a]{color:#94a3b8;font-size:12px}.execute-btn[data-v-7964645a]{color:#fff;cursor:pointer;background:#1677ff;border:none;border-radius:4px;padding:6px 16px;font-size:13px;transition:background .2s}.execute-btn[data-v-7964645a]:hover:not(:disabled){background:#4096ff}.execute-btn[data-v-7964645a]:disabled{cursor:not-allowed;background:#94a3b8}.flow-status-bar[data-v-7964645a]{border-top:1px solid #f1f5f9;margin-top:12px;padding-top:12px}.status-info[data-v-7964645a]{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.status-badge[data-v-7964645a]{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500}.status-badge.running[data-v-7964645a]{color:#0284c7;background:#e0f2fe}.status-badge.success[data-v-7964645a]{color:#16a34a;background:#dcfce7}.status-badge.failed[data-v-7964645a]{color:#dc2626;background:#fee2e2}.status-badge.wait[data-v-7964645a]{color:#64748b;background:#f1f5f9}.progress-text[data-v-7964645a]{color:#64748b;font-size:12px}.progress-bar[data-v-7964645a]{background:#f1f5f9;border-radius:2px;height:4px;overflow:hidden}.progress-fill[data-v-7964645a]{background:linear-gradient(90deg,#1677ff,#4096ff);border-radius:2px;height:100%;transition:width .3s}.placeholder-card[data-v-7964645a]{justify-content:center;align-items:center;display:flex;position:relative}.placeholder-content[data-v-7964645a]{text-align:center;color:#94a3b8}.placeholder-icon[data-v-7964645a]{opacity:.5;margin-bottom:12px}.placeholder-text[data-v-7964645a]{margin:0;font-size:14px}.drop-hint[data-v-7964645a]{color:#94a3b8;background:#fafbfc;border:2px dashed #d1d5db;border-radius:6px;justify-content:center;align-items:center;gap:8px;margin-top:20px;padding:20px;font-size:14px;display:flex}.drop-hint svg[data-v-7964645a]{opacity:.6}.vue-flow{z-index:0;direction:ltr;width:100%;height:100%;position:relative;overflow:hidden}.vue-flow__container{width:100%;height:100%;position:absolute;top:0;left: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{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute}.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:1px;fill:none}.vue-flow__edge{pointer-events:visibleStroke;cursor:pointer}.vue-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.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;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.vue-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{pointer-events:none;min-width:5px;min-height:5px;position:absolute}.vue-flow__handle.connectable{pointer-events:all;cursor:crosshair}.vue-flow__handle-bottom{bottom:0;left:50%;transform:translate(-50%,50%)}.vue-flow__handle-top{top:0;left:50%;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{z-index:5;margin:15px;position:absolute}.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:10px}}: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{text-align:center;width:150px;color:var(--vf-node-text);background-color:var(--vf-node-bg);border-style:solid;border-width:1px;border-color:var(--vf-node-color);border-radius:3px;padding:10px;font-size:12px}.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{border:1px solid #555;outline:none}.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{border:1px solid var(--vf-node-color,#0041d0);outline:none}.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{border:1px solid var(--vf-node-color,#1a192b);outline:none}.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{border:1px solid var(--vf-node-color,#ff0072);outline:none}.vue-flow__nodesselection-rect,.vue-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.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{background:var(--vf-handle);border:1px solid #fff;border-radius:100%;width:6px;height:6px}.vue-flow__controls{box-shadow:0 0 2px 1px #00000014}.vue-flow__controls-button{box-sizing:content-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fefefe;border:none;border-bottom:1px solid #eee;justify-content:center;align-items:center;width:16px;height:16px;padding:5px;display:flex}.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}.vue-flow__minimap{background-color:#fff}.vue-flow__minimap.pannable{cursor:grab}.vue-flow__minimap.dragging{cursor:grabbing}.vue-flow__minimap-mask.pannable{cursor:grab}.app-container[data-v-dc17e100]{background-color:#f2f4f7;flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.workflow-editor[data-v-dc17e100]{flex:1;display:flex;overflow:hidden}.node-panel[data-v-dc17e100]{background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;width:260px;transition:width .3s;display:flex}.node-panel.collapsed[data-v-dc17e100]{width:50px}.panel-header[data-v-dc17e100]{border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px;display:flex}.panel-header h3[data-v-dc17e100]{color:#1e293b;margin:0;font-size:14px;font-weight:600}.node-panel.collapsed .panel-header h3[data-v-dc17e100]{display:none}.collapse-btn[data-v-dc17e100]{cursor:pointer;color:#64748b;background:0 0;border:none;padding:4px}.panel-content[data-v-dc17e100]{flex:1;padding:12px;overflow-y:auto}.node-category[data-v-dc17e100]{margin-bottom:20px}.category-header[data-v-dc17e100]{color:#64748b;text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;margin-bottom:10px;font-size:12px;font-weight:600;display:flex}.node-list[data-v-dc17e100]{flex-direction:column;gap:8px;display:flex}.node-item[data-v-dc17e100]{cursor:grab;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;transition:all .2s;display:flex}.node-item[data-v-dc17e100]:hover{border-color:#1677ff;transform:translate(2px);box-shadow:0 2px 8px #1677ff26}.node-item[data-v-dc17e100]:active{cursor:grabbing}.node-icon[data-v-dc17e100]{color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.node-item span[data-v-dc17e100]{color:#475569;font-size:13px;font-weight:500}.canvas-container[data-v-dc17e100]{background:#f8fafc;flex:1;position:relative;overflow:hidden}.canvas-empty[data-v-dc17e100]{text-align:center;color:#94a3b8;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.canvas-empty svg[data-v-dc17e100]{opacity:.5;margin-bottom:16px}.canvas-empty p[data-v-dc17e100]{margin:0;font-size:14px}[data-v-dc17e100] .vue-flow{width:100%;height:100%}[data-v-dc17e100] .vue-flow__node{cursor:pointer}[data-v-dc17e100] .vue-flow__node.selected{box-shadow:0 0 0 3px #1677ff4d}[data-v-dc17e100] .vue-flow__edge.selected{stroke:#4096ff;stroke-width:3px}[data-v-dc17e100] .vue-flow__controls{border-radius:6px;overflow:hidden;box-shadow:0 2px 8px #0000001a}[data-v-dc17e100] .vue-flow__minimap{border-radius:6px;box-shadow:0 2px 8px #0000001a}.property-panel[data-v-dc17e100]{background:#fff;border-left:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;width:0;transition:width .3s;display:flex;overflow:hidden}.property-panel.active[data-v-dc17e100]{width:320px}.property-panel .panel-header[data-v-dc17e100]{flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.close-btn[data-v-dc17e100]{cursor:pointer;color:#64748b;background:0 0;border:none;padding:4px}.property-panel .panel-content[data-v-dc17e100]{flex:1;padding:16px;overflow-y:auto}.property-group[data-v-dc17e100]{margin-bottom:16px}.property-group label[data-v-dc17e100]{color:#64748b;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.property-group input[data-v-dc17e100],.property-group select[data-v-dc17e100],.property-group textarea[data-v-dc17e100]{color:#1e293b;border:1px solid #e2e8f0;border-radius:6px;width:100%;padding:8px 12px;font-size:13px;transition:border-color .2s}.property-group input[data-v-dc17e100]:focus,.property-group select[data-v-dc17e100]:focus,.property-group textarea[data-v-dc17e100]:focus{border-color:#1677ff;outline:none;box-shadow:0 0 0 3px #1677ff1a}.property-group textarea[data-v-dc17e100]{resize:vertical;font-family:monospace}.node-type-badge[data-v-dc17e100]{border-radius:4px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-block}.node-type-badge.source[data-v-dc17e100]{color:#16a34a;background:#dcfce7}.node-type-badge.process[data-v-dc17e100]{color:#2563eb;background:#dbeafe}.node-type-badge.target[data-v-dc17e100]{color:#ea580c;background:#ffedd5}.switch-label[data-v-dc17e100]{cursor:pointer;color:#475569;align-items:center;gap:8px;font-size:13px;display:flex}.switch-label input[data-v-dc17e100]{accent-color:#1677ff;width:16px;height:16px}.delete-btn[data-v-dc17e100]{color:#dc2626;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px;font-size:13px;transition:all .2s;display:flex}.delete-btn[data-v-dc17e100]:hover{background:#fee2e2;border-color:#f87171}.panel-empty[data-v-dc17e100]{color:#94a3b8;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:20px;display:flex}.panel-empty svg[data-v-dc17e100]{opacity:.5;margin-bottom:12px}.panel-empty p[data-v-dc17e100]{text-align:center;margin:0;font-size:13px}.toolbar[data-v-dc17e100]{background:#fff;border-top:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.toolbar-left[data-v-dc17e100]{align-items:center;gap:20px;display:flex}.status-text[data-v-dc17e100]{color:#16a34a;font-size:13px}.node-count[data-v-dc17e100]{color:#64748b;font-size:12px}.toolbar-right[data-v-dc17e100]{gap:12px;display:flex}.tool-btn[data-v-dc17e100]{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;transition:all .2s;display:flex}.tool-btn[data-v-dc17e100]:hover{color:#1e293b;background:#f8fafc;border-color:#cbd5e1}.tool-btn.primary[data-v-dc17e100]{color:#fff;background:#1677ff;border-color:#1677ff}.tool-btn.primary[data-v-dc17e100]:hover{background:#4096ff;border-color:#4096ff}.modal-overlay[data-v-dc17e100]{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-dc17e100]{background:#fff;border-radius:12px;width:480px;max-width:90vw;box-shadow:0 20px 40px #0003}.modal-header[data-v-dc17e100]{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3[data-v-dc17e100]{color:#1e293b;margin:0;font-size:18px;font-weight:600}.modal-close[data-v-dc17e100]{cursor:pointer;color:#64748b;background:0 0;border:none;padding:4px}.modal-body[data-v-dc17e100]{padding:24px}.form-group[data-v-dc17e100]{margin-bottom:20px}.form-group[data-v-dc17e100]:last-child{margin-bottom:0}.form-group label[data-v-dc17e100]{color:#374151;margin-bottom:8px;font-size:14px;font-weight:500;display:block}.form-group .required[data-v-dc17e100]{color:#dc2626}.form-group input[data-v-dc17e100],.form-group select[data-v-dc17e100],.form-group textarea[data-v-dc17e100]{color:#1e293b;border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:10px 14px;font-size:14px;transition:all .2s}.form-group input[data-v-dc17e100]:focus,.form-group select[data-v-dc17e100]:focus,.form-group textarea[data-v-dc17e100]:focus{border-color:#1677ff;outline:none;box-shadow:0 0 0 3px #1677ff1a}.form-hint[data-v-dc17e100]{color:#94a3b8;margin-top:6px;font-size:12px;display:block}.modal-footer[data-v-dc17e100]{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.btn-cancel[data-v-dc17e100]{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px 20px;font-size:14px;transition:all .2s}.btn-cancel[data-v-dc17e100]:hover{background:#f8fafc;border-color:#cbd5e1}.btn-confirm[data-v-dc17e100]{color:#fff;cursor:pointer;background:#1677ff;border:none;border-radius:8px;padding:10px 24px;font-size:14px;transition:all .2s}.btn-confirm[data-v-dc17e100]:hover{background:#4096ff}.toast[data-v-dc17e100]{z-index:2000;animation:.3s slideDown-dc17e100;position:fixed;top:24px;left:50%;transform:translate(-50%)}@keyframes slideDown-dc17e100{0%{opacity:0;transform:translate(-50%)translateY(-20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.toast-content[data-v-dc17e100]{background:#fff;border-radius:8px;align-items:center;gap:10px;padding:14px 20px;font-size:14px;display:flex;box-shadow:0 4px 20px #00000026}.toast.success .toast-content[data-v-dc17e100]{color:#16a34a}.toast.error .toast-content[data-v-dc17e100]{color:#dc2626}.toast.info .toast-content[data-v-dc17e100]{color:#64748b}.app-container[data-v-8c7f3d7c]{background-color:#f2f4f7;min-height:100vh}.filter-bar[data-v-8c7f3d7c]{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 32px;display:flex}.filter-left[data-v-8c7f3d7c]{gap:16px;display:flex}.filter-right[data-v-8c7f3d7c]{gap:12px;display:flex}.search-box[data-v-8c7f3d7c]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:8px;min-width:280px;padding:8px 14px;display:flex}.search-box svg[data-v-8c7f3d7c]{color:#94a3b8}.search-box input[data-v-8c7f3d7c]{background:0 0;border:none;outline:none;width:100%;font-size:14px}.dropdown[data-v-8c7f3d7c]{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;display:flex}.stats-grid[data-v-8c7f3d7c]{grid-template-columns:repeat(6,1fr);gap:16px;padding:24px 32px;display:grid}.stat-card[data-v-8c7f3d7c]{background:#fff;border-radius:6px;align-items:center;gap:16px;padding:20px;display:flex;box-shadow:0 1px 3px #00000014}.stat-icon[data-v-8c7f3d7c]{border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-content[data-v-8c7f3d7c]{flex-direction:column;display:flex}.stat-value[data-v-8c7f3d7c]{color:#1e293b;font-size:24px;font-weight:700}.stat-label[data-v-8c7f3d7c]{color:#64748b;margin-top:4px;font-size:13px}.workflow-list[data-v-8c7f3d7c]{padding:0 32px 32px}.workflow-table[data-v-8c7f3d7c]{border-collapse:collapse;background:#fff;border-radius:6px;width:100%;box-shadow:0 1px 3px #00000014}.workflow-table th[data-v-8c7f3d7c],.workflow-table td[data-v-8c7f3d7c]{text-align:left;border-bottom:1px solid #f1f5f9;padding:14px 16px}.workflow-table th[data-v-8c7f3d7c]{color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#f8fafc;font-size:12px;font-weight:600}.workflow-table tr[data-v-8c7f3d7c]:hover{background:#f8fafc}.workflow-table tr:last-child td[data-v-8c7f3d7c]{border-bottom:none}.empty-cell[data-v-8c7f3d7c]{text-align:center;color:#94a3b8;padding:40px!important}.id-cell[data-v-8c7f3d7c]{color:#64748b;font-family:monospace;font-size:13px}.name-cell[data-v-8c7f3d7c]{color:#1e293b;font-weight:500}.desc-cell[data-v-8c7f3d7c]{color:#64748b;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:13px;overflow:hidden}.cron-cell[data-v-8c7f3d7c]{color:#64748b;font-family:monospace;font-size:12px}.time-cell[data-v-8c7f3d7c]{color:#64748b;font-size:13px}.type-tag[data-v-8c7f3d7c]{border-radius:4px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-block}.type-tag.manual[data-v-8c7f3d7c]{color:#1677ff;background:#e6f0ff}.type-tag.cron[data-v-8c7f3d7c]{color:#d97706;background:#fef3c7}.status-tag[data-v-8c7f3d7c]{align-items:center;gap:6px;font-size:13px;display:inline-flex}.status-dot[data-v-8c7f3d7c]{border-radius:50%;width:8px;height:8px}.progress-inline[data-v-8c7f3d7c]{align-items:center;gap:8px;min-width:120px;display:flex}.progress-inline-bar[data-v-8c7f3d7c]{background:linear-gradient(90deg,#1677ff,#4096ff);border-radius:3px;flex:1;max-width:80px;height:6px;transition:width .3s}.progress-inline-text[data-v-8c7f3d7c]{color:#1677ff;min-width:35px;font-size:12px;font-weight:600}.status-tag.wait .status-dot[data-v-8c7f3d7c]{background:#fbbf23}.status-tag.wait[data-v-8c7f3d7c]{color:#d97706}.status-tag.running .status-dot[data-v-8c7f3d7c]{background:#1677ff;animation:1.5s infinite pulse-8c7f3d7c}.status-tag.running[data-v-8c7f3d7c]{color:#1677ff}.status-tag.success .status-dot[data-v-8c7f3d7c]{background:#36d399}.status-tag.success[data-v-8c7f3d7c]{color:#16a34a}.status-tag.failed .status-dot[data-v-8c7f3d7c]{background:#f87272}.status-tag.failed[data-v-8c7f3d7c]{color:#dc2626}@keyframes pulse-8c7f3d7c{0%,to{opacity:1}50%{opacity:.5}}.action-cell[data-v-8c7f3d7c]{flex-wrap:wrap;gap:8px;display:flex}.action-btn[data-v-8c7f3d7c]{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:4px;padding:6px 12px;font-size:12px;transition:all .2s}.action-btn[data-v-8c7f3d7c]:hover{color:#1e293b;background:#f8fafc;border-color:#cbd5e1}.action-btn[data-v-8c7f3d7c]:disabled{opacity:.5;cursor:not-allowed}.action-btn.danger[data-v-8c7f3d7c]:hover{color:#dc2626;background:#fef2f2;border-color:#fecaca}.modal-overlay[data-v-8c7f3d7c]{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-8c7f3d7c]{background:#fff;border-radius:6px;width:520px;max-width:90vw;box-shadow:0 20px 40px #0003}.modal.small[data-v-8c7f3d7c]{width:400px}.modal.large[data-v-8c7f3d7c]{flex-direction:column;width:700px;max-height:80vh;display:flex}.modal.large .modal-body[data-v-8c7f3d7c]{flex:1;overflow-y:auto}.modal-header[data-v-8c7f3d7c]{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h3[data-v-8c7f3d7c]{color:#1e293b;margin:0;font-size:16px;font-weight:600}.modal-close[data-v-8c7f3d7c]{cursor:pointer;color:#64748b;background:0 0;border:none}.modal-body[data-v-8c7f3d7c]{padding:20px}.modal-body p[data-v-8c7f3d7c]{color:#475569;margin:0}.modal-footer[data-v-8c7f3d7c]{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:12px;padding:16px 20px;display:flex}.btn-cancel[data-v-8c7f3d7c]{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:8px 16px;font-size:14px}.btn-confirm[data-v-8c7f3d7c]{color:#fff;cursor:pointer;background:#1677ff;border:none;border-radius:6px;padding:8px 20px;font-size:14px}.btn-confirm.danger[data-v-8c7f3d7c]{background:#dc2626}.btn-confirm[data-v-8c7f3d7c]:hover{opacity:.9}.log-list[data-v-8c7f3d7c]{max-height:400px;overflow-y:auto}.log-item[data-v-8c7f3d7c]{border-radius:4px;align-items:flex-start;gap:12px;padding:10px 12px;font-family:monospace;font-size:13px;display:flex}.log-item[data-v-8c7f3d7c]:nth-child(odd){background:#f8fafc}.log-level[data-v-8c7f3d7c]{border-radius:3px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:600}.log-item.info .log-level[data-v-8c7f3d7c]{color:#2563eb;background:#dbeafe}.log-item.warn .log-level[data-v-8c7f3d7c]{color:#d97706;background:#fef3c7}.log-item.error .log-level[data-v-8c7f3d7c]{color:#dc2626;background:#fee2e2}.log-time[data-v-8c7f3d7c]{color:#94a3b8;flex-shrink:0}.log-message[data-v-8c7f3d7c]{color:#475569}.empty-logs[data-v-8c7f3d7c]{text-align:center;color:#94a3b8;padding:40px}
