.app-shell[data-v-ea5dd652]{display:flex;height:100vh;overflow:hidden}.sidebar[data-v-ea5dd652]{width:var(--sidebar-width);flex-shrink:0;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;padding:0}.sidebar-logo[data-v-ea5dd652]{display:flex;align-items:center;gap:10px;padding:20px 18px;border-bottom:1px solid var(--color-border);font-size:16px;font-weight:700;letter-spacing:-.02em}.logo-icon[data-v-ea5dd652]{color:var(--color-accent);font-size:22px}.nav-links[data-v-ea5dd652]{list-style:none;padding:12px 0;flex:1}.nav-links li a[data-v-ea5dd652]{display:flex;align-items:center;gap:10px;padding:9px 18px;color:var(--color-text-muted);border-left:3px solid transparent;transition:all .15s}.nav-links li a[data-v-ea5dd652]:hover{color:var(--color-text);background:var(--color-surface-2)}.nav-links li a.active[data-v-ea5dd652]{color:var(--color-accent-hover);background:#6366f11a;border-left-color:var(--color-accent)}.nav-icon[data-v-ea5dd652]{width:18px;text-align:center;font-size:16px}.sidebar-footer[data-v-ea5dd652]{padding:14px 18px;border-top:1px solid var(--color-border)}.version-badge[data-v-ea5dd652]{font-size:11px;color:var(--color-text-muted);font-family:monospace}.version-badge.live[data-v-ea5dd652]{color:#4ade80}.version-badge.mock[data-v-ea5dd652]{color:#facc15}.version-badge.loading[data-v-ea5dd652]{color:var(--color-text-muted)}.version-badge.error[data-v-ea5dd652]{color:#f87171}.user-row[data-v-ea5dd652]{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.username[data-v-ea5dd652]{font-size:12px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn[data-v-ea5dd652]{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:14px;padding:2px 4px;border-radius:4px;line-height:1;flex-shrink:0}.logout-btn[data-v-ea5dd652]:hover{color:#f87171;background:#f871711a}.main-content[data-v-ea5dd652]{flex:1;overflow:hidden;display:flex;flex-direction:column}.connection-error[data-v-ea5dd652]{display:flex;align-items:center;gap:16px;margin:32px;padding:20px 24px;background:#f8717114;border:1px solid rgba(248,113,113,.3);border-radius:8px}.error-icon[data-v-ea5dd652]{font-size:28px;flex-shrink:0}.error-text[data-v-ea5dd652]{flex:1}.error-text strong[data-v-ea5dd652]{display:block;font-size:15px;color:#f87171;margin-bottom:4px}.error-text p[data-v-ea5dd652]{margin:0;font-size:13px;color:var(--color-text-muted)}.retry-btn[data-v-ea5dd652]{background:var(--color-accent);color:#fff;border:none;padding:8px 18px;border-radius:6px;cursor:pointer;font-size:13px;flex-shrink:0}.retry-btn[data-v-ea5dd652]:hover{opacity:.9}.page[data-v-e645b401]{padding:28px 32px;overflow-y:auto;height:100%}.page-header[data-v-e645b401]{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:24px}.page-header h1[data-v-e645b401]{font-size:20px;font-weight:600}.search-input[data-v-e645b401]{flex:1;max-width:300px;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);padding:6px 10px;border-radius:5px;font-size:12px}.btn-primary[data-v-e645b401]{background:var(--color-accent);color:#fff;border:none;padding:7px 16px;border-radius:6px;cursor:pointer;font-size:13px}.btn-primary[data-v-e645b401]:disabled{opacity:.5;cursor:default}.dag-grid[data-v-e645b401]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.dag-card[data-v-e645b401]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:18px;cursor:pointer;transition:border-color .15s,background .15s}.dag-card[data-v-e645b401]:hover{border-color:var(--color-accent);background:var(--color-surface-2)}.dag-card-title[data-v-e645b401]{font-weight:600;margin-bottom:6px;font-family:monospace;font-size:14px}.dag-card-desc[data-v-e645b401]{color:var(--color-text-muted);font-size:12px;margin-bottom:14px;line-height:1.5}.dag-card-meta[data-v-e645b401]{display:flex;gap:12px;font-size:11px;color:var(--color-text-muted)}.dag-card-header[data-v-e645b401]{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.btn-delete[data-v-e645b401]{background:none;border:none;color:var(--color-text-muted);font-size:13px;cursor:pointer;padding:0 4px;opacity:0;transition:opacity .15s,color .15s}.dag-card:hover .btn-delete[data-v-e645b401]{opacity:1}.btn-delete[data-v-e645b401]:hover{color:#f87171}.btn-danger[data-v-e645b401]{background:#f87171;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px}.btn-danger[data-v-e645b401]:disabled{opacity:.5;cursor:default}.modal-overlay[data-v-e645b401]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-card[data-v-e645b401]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;width:90%;max-width:480px;overflow:hidden}.modal-header[data-v-e645b401]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border);font-weight:600}.close-btn[data-v-e645b401]{background:none;border:none;color:var(--color-text-muted);font-size:18px;cursor:pointer;padding:0 4px}.close-btn[data-v-e645b401]:hover{color:var(--color-text)}.modal-body[data-v-e645b401]{padding:20px;display:flex;flex-direction:column;gap:16px}.modal-footer[data-v-e645b401]{display:flex;gap:10px;padding:16px 20px;border-top:1px solid var(--color-border);background:var(--color-bg)}.field-label[data-v-e645b401]{display:block;font-size:12px;color:var(--color-text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}.required[data-v-e645b401]{color:#f87171}.form-input[data-v-e645b401]{width:100%;box-sizing:border-box;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);padding:7px 10px;border-radius:5px;font-size:13px;font-family:inherit;resize:vertical}.form-input[data-v-e645b401]:focus{outline:none;border-color:var(--color-accent)}.btn-cancel[data-v-e645b401]{padding:8px 14px;background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:5px;font-size:13px;cursor:pointer}.btn-cancel[data-v-e645b401]:hover{color:var(--color-text);border-color:var(--color-text-muted)}.error-banner[data-v-e645b401]{background:#f871711a;border:1px solid rgba(248,113,113,.3);color:#f87171;border-radius:5px;padding:10px 14px;font-size:13px}.pagination[data-v-e645b401]{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:20px}.pagination button[data-v-e645b401]{background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}.pagination button[data-v-e645b401]:disabled{opacity:.4;cursor:default}.page-info[data-v-e645b401]{font-size:12px;color:var(--color-text-muted)}.fn-node[data-v-e18d4e27]{background:#1a1d27;border:1.5px solid #2e3348;border-radius:8px;min-width:200px;overflow:hidden;box-shadow:0 4px 20px #0006;transition:border-color .15s}.fn-node[data-v-e18d4e27]:hover,.selected .fn-node[data-v-e18d4e27]{border-color:#6366f1}.fn-header[data-v-e18d4e27]{background:#6366f1;padding:4px 10px;display:flex;align-items:center;justify-content:space-between}.fn-node-id[data-v-e18d4e27]{font-size:10px;font-family:monospace;color:#fffc;text-transform:uppercase;letter-spacing:.06em}.fn-body[data-v-e18d4e27]{padding:8px 10px}.fn-name[data-v-e18d4e27]{font-weight:600;font-family:monospace;font-size:13px;margin-bottom:2px;color:#e2e8f0}.fn-version[data-v-e18d4e27]{font-size:10px;color:#94a3b8;margin-bottom:8px}.fn-ports[data-v-e18d4e27]{display:flex;justify-content:space-between;gap:8px}.ports-col[data-v-e18d4e27]{display:flex;flex-direction:column;gap:3px}.ports-col.right[data-v-e18d4e27]{align-items:flex-end}.port-label[data-v-e18d4e27]{font-size:11px;font-family:monospace;padding:1px 6px;border-radius:3px}.port-label.in[data-v-e18d4e27]{background:#6366f126;color:#818cf8}.port-label.out[data-v-e18d4e27]{background:#22c55e1a;color:#4ade80}[data-v-e18d4e27] .vue-flow__handle{width:10px;height:10px;border-radius:50%}.handle-in[data-v-e18d4e27]{background:#818cf8;border:2px solid #1a1d27}.handle-out[data-v-e18d4e27]{background:#4ade80;border:2px solid #1a1d27}.fn-node.run-pending[data-v-e18d4e27]{border-color:#94a3b8}.fn-node.run-running[data-v-e18d4e27]{border-color:#6366f1;box-shadow:0 0 12px #6366f166,0 4px 20px #0006}.fn-node.run-succeeded[data-v-e18d4e27]{border-color:#4ade80}.fn-node.run-failed[data-v-e18d4e27]{border-color:#f87171}.run-indicator[data-v-e18d4e27]{font-size:11px;line-height:1}.run-indicator.running[data-v-e18d4e27]{color:#c7d2fe}.run-indicator.succeeded[data-v-e18d4e27]{color:#4ade80}.run-indicator.failed[data-v-e18d4e27]{color:#f87171}.run-indicator.pending[data-v-e18d4e27]{color:#94a3b8}.spinner[data-v-e18d4e27]{display:inline-block;width:10px;height:10px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-e18d4e27 .7s linear infinite}@keyframes spin-e18d4e27{to{transform:rotate(360deg)}}.ds-node[data-v-f85e1b58]{background:#1a1d27;border:1.5px dashed #2e3348;border-radius:6px;padding:8px 12px;min-width:150px;max-width:200px;box-shadow:0 2px 10px #0000004d;transition:border-color .15s}.ds-node[data-v-f85e1b58]:hover{border-color:#f59e0b}.ds-node.inline[data-v-f85e1b58]{border-color:#f59e0b4d;background:#f59e0b0a}.ds-node.inline[data-v-f85e1b58]:hover{border-color:#f59e0b}.ds-badge[data-v-f85e1b58]{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.05em;background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3);padding:1px 6px;border-radius:3px;margin-bottom:5px}.ds-name[data-v-f85e1b58]{font-family:monospace;font-size:12px;font-weight:600;color:#e2e8f0;margin-bottom:3px}.ds-uri[data-v-f85e1b58]{font-size:10px;font-family:monospace;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.ds-uri.inline-hint[data-v-f85e1b58]{font-style:italic;color:#f59e0b80}[data-v-f85e1b58] .vue-flow__handle{width:8px;height:8px;border-radius:50%}.handle-ds[data-v-f85e1b58]{background:#f59e0b;border:2px solid #1a1d27}.not-found[data-v-266c3784]{padding:40px;color:var(--color-text-muted)}.editor-shell[data-v-266c3784]{display:flex;flex-direction:column;height:100%}.editor-topbar[data-v-266c3784]{display:flex;align-items:center;gap:14px;padding:10px 20px;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.back-btn[data-v-266c3784]{background:none;border:1px solid var(--color-border);color:var(--color-text-muted);padding:5px 10px;border-radius:5px;cursor:pointer;font-size:12px}.back-btn[data-v-266c3784]:hover{color:var(--color-text);border-color:var(--color-text-muted)}.dag-title-input[data-v-266c3784]{font-weight:600;font-family:monospace;font-size:15px;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--color-text);padding:2px 6px;min-width:120px}.dag-title-input[data-v-266c3784]:hover{border-color:var(--color-border)}.dag-title-input[data-v-266c3784]:focus{outline:none;border-color:#6366f1;background:var(--color-surface)}.dag-desc[data-v-266c3784]{color:var(--color-text-muted);font-size:12px}.topbar-actions[data-v-266c3784]{margin-left:auto;display:flex;align-items:center;gap:10px}.mock-badge[data-v-266c3784]{font-size:11px;background:#f59e0b26;color:var(--color-warning);border:1px solid rgba(245,158,11,.3);padding:2px 8px;border-radius:10px}.btn-primary[data-v-266c3784]{background:var(--color-accent);color:#fff;border:none;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px}.btn-primary[data-v-266c3784]:disabled{opacity:.4;cursor:default}.btn-arrange[data-v-266c3784]{background:none;border:1px solid var(--color-border);color:var(--color-text-muted);padding:5px 11px;border-radius:6px;cursor:pointer;font-size:12px}.btn-arrange[data-v-266c3784]:hover{color:var(--color-text);border-color:var(--color-text-muted)}.btn-add-node[data-v-266c3784]{background:var(--color-accent);color:#fff;border:none;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500}.btn-add-node[data-v-266c3784]:hover{opacity:.9}.btn-save[data-v-266c3784]{background:var(--color-accent);color:#fff;border:none;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px}.btn-save[data-v-266c3784]:disabled{opacity:.5;cursor:default}.error-hint[data-v-266c3784]{font-size:12px;color:#f87171;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-body[data-v-266c3784]{flex:1;display:flex;overflow:hidden;position:relative}.editor-body.resizing[data-v-266c3784]{-webkit-user-select:none;user-select:none;cursor:col-resize}.palette[data-v-266c3784]{width:260px;background:var(--color-surface);border-right:1px solid var(--color-border);overflow-y:auto;flex-shrink:0}.palette-header[data-v-266c3784]{padding:16px;font-weight:600;font-size:14px;border-bottom:1px solid var(--color-border)}.palette-section[data-v-266c3784]{padding:12px 0;border-bottom:1px solid var(--color-border)}.palette-section-title[data-v-266c3784]{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);padding:0 16px 8px;font-weight:500}.palette-empty[data-v-266c3784]{padding:8px 16px;font-size:12px;color:var(--color-text-muted);font-style:italic}.palette-item[data-v-266c3784]{padding:10px 16px;cursor:pointer;transition:background .15s}.palette-item[data-v-266c3784]:hover{background:var(--color-surface-2)}.palette-item-name[data-v-266c3784]{font-size:13px;font-family:monospace;margin-bottom:3px}.palette-item-meta[data-v-266c3784]{font-size:11px;color:var(--color-text-muted)}.inline-dataset[data-v-266c3784]{border-bottom:1px solid var(--color-border)}.inline-dataset .palette-item-name[data-v-266c3784]{color:var(--color-accent)}.flow-canvas[data-v-266c3784]{flex:1;background:var(--color-bg)}.inspector[data-v-266c3784]{width:420px;flex-shrink:0;background:var(--color-surface);border-left:1px solid var(--color-border);overflow-y:auto;z-index:10;display:flex;flex-direction:column;position:relative}.resize-handle[data-v-266c3784]{position:absolute;left:-3px;top:0;bottom:0;width:7px;cursor:col-resize;z-index:20;display:flex;align-items:center;justify-content:center}.resize-handle[data-v-266c3784]:hover,.resize-handle[data-v-266c3784]:active{background:var(--color-accent);opacity:.35}.resize-grip[data-v-266c3784]{width:3px;height:32px;border-radius:2px;background:var(--color-text-muted);opacity:.35;transition:opacity .15s}.resize-handle:hover .resize-grip[data-v-266c3784]{opacity:.8;background:var(--color-accent)}.panel-slide-enter-active[data-v-266c3784],.panel-slide-leave-active[data-v-266c3784]{transition:transform .2s ease,opacity .2s ease}.panel-slide-enter-from[data-v-266c3784],.panel-slide-leave-to[data-v-266c3784]{transform:translate(40px);opacity:0}.inspector-header[data-v-266c3784]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--color-border);font-weight:600;font-size:13px}.close-btn[data-v-266c3784]{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:14px}.inspector-section[data-v-266c3784]{padding:12px 16px;border-bottom:1px solid var(--color-border)}.field-label[data-v-266c3784]{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:4px}.field-value[data-v-266c3784]{font-size:13px}.field-value.mono[data-v-266c3784]{font-family:monospace}.field-value.muted[data-v-266c3784]{color:var(--color-text-muted)}.field-value.small[data-v-266c3784]{font-size:11px;word-break:break-all}.node-name-input[data-v-266c3784]{width:100%;font-family:monospace;font-size:13px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);padding:4px 8px;box-sizing:border-box}.node-name-input[data-v-266c3784]:focus{outline:none;border-color:#6366f1}.port-list[data-v-266c3784]{display:flex;flex-direction:column;gap:4px}.port-item[data-v-266c3784]{font-size:12px;font-family:monospace;padding:3px 8px;border-radius:4px;display:flex;align-items:center;gap:6px}.port-item.in[data-v-266c3784]{background:#6366f11a;color:#818cf8}.port-item.out[data-v-266c3784]{background:#22c55e1a;color:#4ade80}.optional-badge[data-v-266c3784]{font-size:10px;background:#94a3b826;color:var(--color-text-muted);padding:1px 6px;border-radius:8px}.code-block[data-v-266c3784]{font-size:11px;font-family:monospace;background:var(--color-bg);padding:8px;border-radius:4px;color:var(--color-text-muted);overflow-x:auto;line-height:1.5}.tag-list[data-v-266c3784]{display:flex;flex-wrap:wrap;gap:4px}.code-section[data-v-266c3784]{flex:1;display:flex;flex-direction:column;min-height:0}.code-editor[data-v-266c3784]{flex:1;min-height:200px;font-family:monospace;font-size:12px;line-height:1.5;background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:4px;padding:8px;resize:vertical;-moz-tab-size:4;tab-size:4}.code-editor[data-v-266c3784]:focus{outline:none;border-color:var(--color-accent)}.code-actions[data-v-266c3784]{display:flex;align-items:center;gap:8px;margin-top:8px;justify-content:flex-end}.btn-save-code[data-v-266c3784]{background:var(--color-accent);color:#fff;border:none;padding:5px 12px;border-radius:5px;cursor:pointer;font-size:12px}.btn-save-code[data-v-266c3784]:disabled{opacity:.5;cursor:default}.save-ok[data-v-266c3784]{font-size:12px;color:#4ade80}.tag[data-v-266c3784]{font-size:11px;background:#6366f11a;color:var(--color-accent-hover);padding:2px 8px;border-radius:10px}.inline-note[data-v-266c3784]{display:flex;gap:10px;align-items:flex-start;background:#f59e0b12;border:1px solid rgba(245,158,11,.25);border-radius:5px;padding:10px}.inline-icon[data-v-266c3784]{font-size:16px;color:var(--color-warning);flex-shrink:0}.progress-bar-container[data-v-266c3784]{display:flex;align-items:center;gap:12px;padding:6px 20px;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.progress-bar-track[data-v-266c3784]{flex:1;height:8px;background:var(--color-surface-2);border-radius:4px;overflow:hidden}.progress-bar-fill[data-v-266c3784]{height:100%;border-radius:4px;transition:width .3s ease}.progress-bar-fill.initializing[data-v-266c3784]{background:#94a3b8;width:100%;animation:pulse-266c3784 1.5s ease-in-out infinite}.progress-bar-fill.running[data-v-266c3784]{background:var(--color-accent)}.progress-bar-fill.succeeded[data-v-266c3784]{background:#4ade80}.progress-bar-fill.failed[data-v-266c3784]{background:#f87171}.progress-label[data-v-266c3784]{font-size:12px;color:var(--color-text-muted);white-space:nowrap;min-width:120px;text-align:right}@keyframes pulse-266c3784{0%,to{opacity:.4}50%{opacity:1}}.catalog-shell[data-v-1899d12c]{display:flex;height:100%;overflow:hidden}.catalog-list[data-v-1899d12c]{width:260px;flex-shrink:0;border-right:1px solid var(--color-border);overflow-y:auto}.catalog-header[data-v-1899d12c]{padding:16px;border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:8px}.catalog-header h2[data-v-1899d12c]{font-size:15px;font-weight:600}.btn-new[data-v-1899d12c]{width:100%;padding:6px 0;background:var(--color-accent);color:#fff;border:none;border-radius:5px;font-size:12px;font-weight:600;cursor:pointer}.btn-new[data-v-1899d12c]:hover{background:var(--color-accent-hover)}.search-input[data-v-1899d12c]{width:100%;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);padding:6px 10px;border-radius:5px;font-size:12px}.catalog-list ul[data-v-1899d12c]{list-style:none;padding:6px 0}.catalog-list li[data-v-1899d12c]{padding:10px 16px;cursor:pointer;border-left:3px solid transparent}.catalog-list li[data-v-1899d12c]:hover{background:var(--color-surface-2)}.catalog-list li.active[data-v-1899d12c]{background:#6366f114;border-left-color:var(--color-accent)}.item-name[data-v-1899d12c]{font-family:monospace;font-size:13px;font-weight:500;margin-bottom:4px}.item-meta[data-v-1899d12c]{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.version-tag[data-v-1899d12c]{font-size:10px;background:#94a3b81a;color:var(--color-text-muted);padding:1px 6px;border-radius:8px;font-family:monospace}.version-tag.large[data-v-1899d12c]{font-size:12px;padding:3px 10px}.tag[data-v-1899d12c]{font-size:10px;background:#6366f11a;color:var(--color-accent-hover);padding:1px 6px;border-radius:8px}.detail-panel[data-v-1899d12c]{flex:1;overflow-y:auto;padding:24px 28px}.detail-header[data-v-1899d12c]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.detail-title[data-v-1899d12c]{font-size:18px;font-weight:600;font-family:monospace;margin-bottom:6px}.detail-subtitle[data-v-1899d12c]{color:var(--color-text-muted);font-size:13px;margin-top:4px}.header-actions[data-v-1899d12c]{display:flex;align-items:center;gap:12px}.field-label[data-v-1899d12c]{display:block;font-size:12px;color:var(--color-text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}.required[data-v-1899d12c]{color:#f87171}.form-input[data-v-1899d12c]{width:100%;box-sizing:border-box;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);padding:7px 10px;border-radius:5px;font-size:13px;margin-bottom:8px}.form-input[data-v-1899d12c]:focus{outline:none;border-color:var(--color-accent)}.form-actions[data-v-1899d12c]{display:flex;gap:10px;margin-top:8px}.btn-primary[data-v-1899d12c]{padding:8px 18px;background:var(--color-accent);color:#fff;border:none;border-radius:5px;font-size:13px;font-weight:600;cursor:pointer}.btn-primary[data-v-1899d12c]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-1899d12c]:not(:disabled):hover{background:var(--color-accent-hover)}.btn-cancel[data-v-1899d12c]{padding:8px 14px;background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:5px;font-size:13px;cursor:pointer}.btn-cancel[data-v-1899d12c]:hover{color:var(--color-text);border-color:var(--color-text-muted)}.btn-danger[data-v-1899d12c]{padding:6px 14px;background:transparent;color:#f87171;border:1px solid rgba(248,113,113,.4);border-radius:5px;font-size:12px;cursor:pointer}.btn-danger[data-v-1899d12c]:hover{background:#f871711a}.error-banner[data-v-1899d12c]{background:#f871711a;border:1px solid rgba(248,113,113,.3);color:#f87171;border-radius:5px;padding:10px 14px;font-size:13px;margin-bottom:8px}.hint-muted[data-v-1899d12c]{font-size:12px;color:var(--color-text-muted)}.detail-body[data-v-1899d12c]{display:flex;flex-direction:column;gap:24px}.detail-body h3[data-v-1899d12c]{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:10px}.port-table[data-v-1899d12c]{width:100%;border-collapse:collapse;font-size:13px}.port-table th[data-v-1899d12c],.port-table td[data-v-1899d12c]{padding:7px 10px;text-align:left;border-bottom:1px solid var(--color-border)}.port-table th[data-v-1899d12c]{color:var(--color-text-muted);font-weight:500;font-size:11px}.mono[data-v-1899d12c]{font-family:monospace}.muted[data-v-1899d12c]{color:var(--color-text-muted)}.small[data-v-1899d12c]{font-size:12px}.port-input[data-v-1899d12c]{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);padding:4px 7px;border-radius:4px;font-size:12px;font-family:monospace;width:100%;box-sizing:border-box}.port-input[data-v-1899d12c]:focus{outline:none;border-color:var(--color-accent)}.btn-remove-port[data-v-1899d12c]{background:transparent;border:none;color:#f87171;cursor:pointer;font-size:14px;padding:2px 6px;border-radius:3px}.btn-remove-port[data-v-1899d12c]:hover{background:#f871711a}.btn-add-port[data-v-1899d12c]{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;font-size:11px;padding:3px 10px;border-radius:4px}.btn-add-port[data-v-1899d12c]:hover{color:var(--color-text);border-color:var(--color-text-muted)}.section-header[data-v-1899d12c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.section-header h3[data-v-1899d12c]{margin-bottom:0}.edit-grid[data-v-1899d12c]{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.edit-grid .full-width[data-v-1899d12c]{grid-column:1 / -1}.code-textarea[data-v-1899d12c]{width:100%;box-sizing:border-box;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);padding:10px 12px;border-radius:6px;font-family:monospace;font-size:12px;line-height:1.6;resize:vertical}.code-textarea[data-v-1899d12c]:focus{outline:none;border-color:var(--color-accent)}.source-textarea[data-v-1899d12c]{color:#a5f3a0;border-left:2px solid #4ade80}.prompt-textarea[data-v-1899d12c]{color:#c4b5fd;border-left:2px solid #a78bfa}.empty-state[data-v-1899d12c]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.list-pagination[data-v-1899d12c]{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;border-top:1px solid var(--color-border)}.list-pagination button[data-v-1899d12c]{background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text);padding:4px 10px;border-radius:4px;cursor:pointer;font-size:12px}.list-pagination button[data-v-1899d12c]:disabled{opacity:.4;cursor:default}.list-pagination .page-info[data-v-1899d12c]{font-size:11px;color:var(--color-text-muted)}.catalog-shell[data-v-982a230b]{display:flex;height:100%;overflow:hidden}.catalog-list[data-v-982a230b]{width:260px;flex-shrink:0;border-right:1px solid var(--color-border);overflow-y:auto}.catalog-header[data-v-982a230b]{padding:16px;border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:8px}.catalog-header h2[data-v-982a230b]{font-size:15px;font-weight:600}.btn-new[data-v-982a230b]{width:100%;padding:6px 0;background:var(--color-accent);color:#fff;border:none;border-radius:5px;font-size:12px;font-weight:600;cursor:pointer}.btn-new[data-v-982a230b]:hover{background:var(--color-accent-hover)}.search-input[data-v-982a230b]{width:100%;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);padding:6px 10px;border-radius:5px;font-size:12px}.catalog-list ul[data-v-982a230b]{list-style:none;padding:6px 0}.catalog-list li[data-v-982a230b]{padding:10px 16px;cursor:pointer;border-left:3px solid transparent}.catalog-list li[data-v-982a230b]:hover{background:var(--color-surface-2)}.catalog-list li.active[data-v-982a230b]{background:#6366f114;border-left-color:var(--color-accent)}.item-header[data-v-982a230b]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.storage-dot[data-v-982a230b]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.item-name[data-v-982a230b]{font-family:monospace;font-size:13px;font-weight:500}.item-meta[data-v-982a230b]{display:flex;gap:4px;padding-left:16px;flex-wrap:wrap}.tag[data-v-982a230b]{font-size:10px;background:#6366f11a;color:var(--color-accent-hover);padding:1px 6px;border-radius:8px}.detail-panel[data-v-982a230b]{flex:1;overflow-y:auto;padding:24px 28px}.detail-header[data-v-982a230b]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.detail-title[data-v-982a230b]{font-size:18px;font-weight:600;font-family:monospace;margin-bottom:6px}.detail-subtitle[data-v-982a230b]{color:var(--color-text-muted);font-size:13px;margin-top:4px}.header-actions[data-v-982a230b]{display:flex;align-items:center;gap:12px}.field-label[data-v-982a230b]{display:block;font-size:12px;color:var(--color-text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}.required[data-v-982a230b]{color:#f87171}.form-input[data-v-982a230b]{width:100%;box-sizing:border-box;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);padding:7px 10px;border-radius:5px;font-size:13px;margin-bottom:8px}.form-input[data-v-982a230b]:focus{outline:none;border-color:var(--color-accent)}.form-actions[data-v-982a230b]{display:flex;gap:10px;margin-top:8px}.btn-primary[data-v-982a230b]{padding:8px 18px;background:var(--color-accent);color:#fff;border:none;border-radius:5px;font-size:13px;font-weight:600;cursor:pointer}.btn-primary[data-v-982a230b]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-982a230b]:not(:disabled):hover{background:var(--color-accent-hover)}.btn-cancel[data-v-982a230b]{padding:8px 14px;background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:5px;font-size:13px;cursor:pointer}.btn-cancel[data-v-982a230b]:hover{color:var(--color-text);border-color:var(--color-text-muted)}.btn-danger[data-v-982a230b]{padding:6px 14px;background:transparent;color:#f87171;border:1px solid rgba(248,113,113,.4);border-radius:5px;font-size:12px;cursor:pointer}.btn-danger[data-v-982a230b]:hover{background:#f871711a}.error-banner[data-v-982a230b]{background:#f871711a;border:1px solid rgba(248,113,113,.3);color:#f87171;border-radius:5px;padding:10px 14px;font-size:13px;margin-bottom:8px}.mono[data-v-982a230b]{font-family:monospace}.storage-badge[data-v-982a230b]{font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;border:1px solid;text-transform:uppercase;letter-spacing:.04em}.detail-body[data-v-982a230b]{display:flex;flex-direction:column;gap:24px}.detail-body h3[data-v-982a230b]{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:8px}.uri-block[data-v-982a230b]{font-family:monospace;font-size:13px;background:var(--color-bg);padding:10px 14px;border-radius:6px;word-break:break-all;color:#f59e0b}.code-block[data-v-982a230b]{font-size:12px;font-family:monospace;background:var(--color-bg);padding:12px;border-radius:6px;color:var(--color-text-muted);line-height:1.6}.tag-list[data-v-982a230b]{display:flex;flex-wrap:wrap;gap:6px}.future-note[data-v-982a230b]{display:flex;gap:12px;background:#6366f10d;border:1px solid rgba(99,102,241,.2);border-radius:6px;padding:14px}.note-icon[data-v-982a230b]{font-size:18px;color:var(--color-accent);flex-shrink:0;margin-top:1px}.note-title[data-v-982a230b]{font-weight:600;font-size:13px;margin-bottom:4px}.note-body[data-v-982a230b]{font-size:12px;color:var(--color-text-muted);line-height:1.6}.empty-state[data-v-982a230b]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.list-pagination[data-v-982a230b]{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;border-top:1px solid var(--color-border)}.list-pagination button[data-v-982a230b]{background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text);padding:4px 10px;border-radius:4px;cursor:pointer;font-size:12px}.list-pagination button[data-v-982a230b]:disabled{opacity:.4;cursor:default}.list-pagination .page-info[data-v-982a230b]{font-size:11px;color:var(--color-text-muted)}.catalog-shell[data-v-8836e443]{display:flex;height:100%;overflow:hidden}.catalog-list[data-v-8836e443]{width:260px;flex-shrink:0;border-right:1px solid var(--color-border);overflow-y:auto}.catalog-header[data-v-8836e443]{padding:16px;border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:8px}.catalog-header h2[data-v-8836e443]{font-size:15px;font-weight:600}.btn-new[data-v-8836e443]{width:100%;padding:6px 0;background:var(--color-accent);color:#fff;border:none;border-radius:5px;font-size:12px;font-weight:600;cursor:pointer}.btn-new[data-v-8836e443]:hover{background:var(--color-accent-hover)}.search-input[data-v-8836e443]{width:100%;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);padding:6px 10px;border-radius:5px;font-size:12px}.catalog-list ul[data-v-8836e443]{list-style:none;padding:6px 0}.catalog-list li[data-v-8836e443]{padding:10px 16px;cursor:pointer;border-left:3px solid transparent}.catalog-list li[data-v-8836e443]:hover{background:var(--color-surface-2)}.catalog-list li.active[data-v-8836e443]{background:#6366f114;border-left-color:var(--color-accent)}.item-header[data-v-8836e443]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.kind-dot[data-v-8836e443]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.item-name[data-v-8836e443]{font-family:monospace;font-size:13px;font-weight:500}.item-meta[data-v-8836e443]{display:flex;gap:4px;flex-wrap:wrap}.kind-badge[data-v-8836e443]{font-size:10px;padding:1px 7px;border-radius:8px;font-weight:500}.kind-badge.large[data-v-8836e443]{font-size:12px;padding:3px 10px}.detail-panel[data-v-8836e443]{flex:1;overflow-y:auto;padding:24px 28px}.detail-header[data-v-8836e443]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.detail-title[data-v-8836e443]{font-size:18px;font-weight:600;font-family:monospace;margin-bottom:6px}.detail-subtitle[data-v-8836e443]{margin-top:4px}.header-actions[data-v-8836e443]{display:flex;align-items:center;gap:12px}.detail-body[data-v-8836e443]{display:flex;flex-direction:column;gap:20px}.detail-body h3[data-v-8836e443]{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:10px}.secret-note[data-v-8836e443]{display:flex;align-items:flex-start;gap:12px;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:6px;padding:12px 14px;margin-bottom:10px}.lock-icon[data-v-8836e443]{font-size:18px}.fields-hint[data-v-8836e443]{font-size:12px;color:var(--color-text-muted)}.fields-hint code[data-v-8836e443]{background:#6366f11a;color:var(--color-accent-hover);padding:1px 5px;border-radius:4px;font-family:monospace;font-size:11px}.dataset-list[data-v-8836e443]{display:flex;flex-direction:column;gap:6px}.dataset-chip[data-v-8836e443]{display:flex;align-items:center;gap:10px;background:var(--color-surface-2);border-radius:5px;padding:6px 10px;font-size:12px}.field-value[data-v-8836e443]{font-size:13px;margin-bottom:4px}.mono[data-v-8836e443]{font-family:monospace}.muted[data-v-8836e443]{color:var(--color-text-muted)}.small[data-v-8836e443]{font-size:12px}.field-label[data-v-8836e443]{display:block;font-size:12px;color:var(--color-text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}.required[data-v-8836e443]{color:#f87171}.optional-hint[data-v-8836e443]{color:var(--color-text-muted);font-size:11px;font-weight:400}.form-input[data-v-8836e443]{width:100%;box-sizing:border-box;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);padding:7px 10px;border-radius:5px;font-size:13px;margin-bottom:8px}.form-input[data-v-8836e443]:focus{outline:none;border-color:var(--color-accent)}.textarea[data-v-8836e443]{resize:vertical;font-family:monospace}.form-actions[data-v-8836e443]{display:flex;gap:10px;margin-top:8px}.btn-primary[data-v-8836e443]{padding:8px 18px;background:var(--color-accent);color:#fff;border:none;border-radius:5px;font-size:13px;font-weight:600;cursor:pointer}.btn-primary[data-v-8836e443]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-8836e443]:not(:disabled):hover{background:var(--color-accent-hover)}.btn-cancel[data-v-8836e443]{padding:8px 14px;background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:5px;font-size:13px;cursor:pointer}.btn-cancel[data-v-8836e443]:hover{color:var(--color-text);border-color:var(--color-text-muted)}.btn-danger[data-v-8836e443]{padding:6px 14px;background:transparent;color:#f87171;border:1px solid rgba(248,113,113,.4);border-radius:5px;font-size:12px;cursor:pointer}.btn-danger[data-v-8836e443]:hover{background:#f871711a}.error-banner[data-v-8836e443]{background:#f871711a;border:1px solid rgba(248,113,113,.3);color:#f87171;border-radius:5px;padding:10px 14px;font-size:13px}.empty-state[data-v-8836e443]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.list-pagination[data-v-8836e443]{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;border-top:1px solid var(--color-border)}.list-pagination button[data-v-8836e443]{background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text);padding:4px 10px;border-radius:4px;cursor:pointer;font-size:12px}.list-pagination button[data-v-8836e443]:disabled{opacity:.4;cursor:default}.list-pagination .page-info[data-v-8836e443]{font-size:11px;color:var(--color-text-muted)}.catalog-shell[data-v-c77b52c0]{display:flex;height:100%;overflow:hidden}.catalog-list[data-v-c77b52c0]{width:260px;flex-shrink:0;border-right:1px solid var(--color-border);overflow-y:auto}.catalog-header[data-v-c77b52c0]{padding:16px;border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:8px}.catalog-header h2[data-v-c77b52c0]{font-size:15px;font-weight:600}.search-input[data-v-c77b52c0]{width:100%;box-sizing:border-box;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);padding:6px 10px;border-radius:5px;font-size:12px}.btn-new[data-v-c77b52c0]{width:100%;padding:6px 0;background:var(--color-accent);color:#fff;border:none;border-radius:5px;font-size:12px;font-weight:600;cursor:pointer}.btn-new[data-v-c77b52c0]:hover{background:var(--color-accent-hover)}.catalog-list ul[data-v-c77b52c0]{list-style:none;padding:6px 0}.catalog-list li[data-v-c77b52c0]{padding:10px 16px;cursor:pointer;border-left:3px solid transparent}.catalog-list li[data-v-c77b52c0]:hover{background:var(--color-surface-2)}.catalog-list li.active[data-v-c77b52c0]{background:#6366f114;border-left-color:var(--color-accent)}.item-header[data-v-c77b52c0]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.exec-icon[data-v-c77b52c0]{font-size:14px;color:var(--color-text-muted);flex-shrink:0}.item-name[data-v-c77b52c0]{font-family:monospace;font-size:13px;font-weight:500}.item-meta[data-v-c77b52c0]{padding-left:22px}.exec-chip[data-v-c77b52c0]{font-size:11px;color:#a5f3a0;background:#4ade8014;border:1px solid rgba(74,222,128,.2);padding:1px 7px;border-radius:6px}.detail-panel[data-v-c77b52c0]{flex:1;overflow-y:auto;padding:24px 28px}.detail-header[data-v-c77b52c0]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.detail-title[data-v-c77b52c0]{font-size:18px;font-weight:600;font-family:monospace;margin-bottom:6px}.detail-subtitle[data-v-c77b52c0]{color:var(--color-text-muted);font-size:13px;margin-top:4px}.header-actions[data-v-c77b52c0]{display:flex;align-items:center;gap:12px}.detail-body[data-v-c77b52c0]{display:flex;flex-direction:column;gap:20px}.detail-body h3[data-v-c77b52c0]{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:10px}.exec-block[data-v-c77b52c0]{font-family:monospace;font-size:14px;background:var(--color-bg);color:#a5f3a0;padding:10px 14px;border-radius:6px;border-left:2px solid #4ade80;word-break:break-all}.env-table[data-v-c77b52c0]{width:100%;border-collapse:collapse;font-size:13px}.env-table th[data-v-c77b52c0],.env-table td[data-v-c77b52c0]{padding:7px 10px;text-align:left;border-bottom:1px solid var(--color-border)}.env-table th[data-v-c77b52c0]{color:var(--color-text-muted);font-weight:500;font-size:11px}.value-cell[data-v-c77b52c0]{color:var(--color-text-muted)}.fn-list[data-v-c77b52c0]{display:flex;flex-direction:column;gap:6px}.fn-chip[data-v-c77b52c0]{display:flex;align-items:center;gap:10px;background:var(--color-surface-2);border-radius:5px;padding:6px 10px;font-size:12px}.field-label[data-v-c77b52c0]{display:block;font-size:12px;color:var(--color-text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}.required[data-v-c77b52c0]{color:#f87171}.form-input[data-v-c77b52c0]{width:100%;box-sizing:border-box;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);padding:7px 10px;border-radius:5px;font-size:13px;margin-bottom:8px}.form-input[data-v-c77b52c0]:focus{outline:none;border-color:var(--color-accent)}.env-header[data-v-c77b52c0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.env-row[data-v-c77b52c0]{display:flex;gap:6px;align-items:center;margin-bottom:6px}.env-name[data-v-c77b52c0]{flex:1;margin-bottom:0}.env-value[data-v-c77b52c0]{flex:2;margin-bottom:0}.btn-add-row[data-v-c77b52c0]{padding:4px 10px;background:transparent;color:var(--color-accent-hover);border:1px solid var(--color-accent);border-radius:4px;font-size:11px;cursor:pointer}.btn-add-row[data-v-c77b52c0]:hover{background:#6366f11a}.btn-remove-row[data-v-c77b52c0]{padding:4px 8px;background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:4px;font-size:11px;cursor:pointer;flex-shrink:0}.btn-remove-row[data-v-c77b52c0]:hover{color:#f87171;border-color:#f8717166}.form-actions[data-v-c77b52c0]{display:flex;gap:10px;margin-top:8px}.btn-primary[data-v-c77b52c0]{padding:8px 18px;background:var(--color-accent);color:#fff;border:none;border-radius:5px;font-size:13px;font-weight:600;cursor:pointer}.btn-primary[data-v-c77b52c0]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-c77b52c0]:not(:disabled):hover{background:var(--color-accent-hover)}.btn-cancel[data-v-c77b52c0]{padding:8px 14px;background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:5px;font-size:13px;cursor:pointer}.btn-cancel[data-v-c77b52c0]:hover{color:var(--color-text);border-color:var(--color-text-muted)}.btn-danger[data-v-c77b52c0]{padding:6px 14px;background:transparent;color:#f87171;border:1px solid rgba(248,113,113,.4);border-radius:5px;font-size:12px;cursor:pointer}.btn-danger[data-v-c77b52c0]:hover{background:#f871711a}.btn-edit[data-v-c77b52c0]{padding:6px 14px;background:transparent;color:var(--color-accent);border:1px solid var(--color-accent);border-radius:5px;font-size:12px;cursor:pointer}.btn-edit[data-v-c77b52c0]:hover{background:#6366f11a}.error-banner[data-v-c77b52c0]{background:#f871711a;border:1px solid rgba(248,113,113,.3);color:#f87171;border-radius:5px;padding:10px 14px;font-size:13px;margin-bottom:8px}.hint-muted[data-v-c77b52c0]{font-size:12px;color:var(--color-text-muted);line-height:1.5;margin-bottom:8px}.hint-muted code[data-v-c77b52c0]{background:#6366f11a;color:var(--color-accent-hover);padding:1px 5px;border-radius:4px;font-family:monospace;font-size:11px}.field-value[data-v-c77b52c0]{font-size:13px;margin-bottom:4px}.mono[data-v-c77b52c0]{font-family:monospace}.muted[data-v-c77b52c0]{color:var(--color-text-muted)}.small[data-v-c77b52c0]{font-size:12px}.replicas-row[data-v-c77b52c0]{display:flex;gap:16px}.replica-input[data-v-c77b52c0]{width:80px}.resources-row[data-v-c77b52c0]{display:flex;gap:12px}.resource-input[data-v-c77b52c0]{width:100px}.scaling-info[data-v-c77b52c0]{display:flex;gap:24px;font-size:13px}.empty-state[data-v-c77b52c0]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.list-pagination[data-v-c77b52c0]{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;border-top:1px solid var(--color-border)}.list-pagination button[data-v-c77b52c0]{background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text);padding:4px 10px;border-radius:4px;cursor:pointer;font-size:12px}.list-pagination button[data-v-c77b52c0]:disabled{opacity:.4;cursor:default}.list-pagination .page-info[data-v-c77b52c0]{font-size:11px;color:var(--color-text-muted)}.page[data-v-5204e202]{padding:28px 32px;overflow-y:auto;height:100%}.page-header[data-v-5204e202]{display:flex;align-items:center;gap:14px;margin-bottom:24px}.page-header h1[data-v-5204e202]{font-size:20px;font-weight:600}.task-count[data-v-5204e202]{font-size:13px;color:var(--color-text-muted)}.search-input[data-v-5204e202]{flex:1;max-width:300px;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);padding:6px 10px;border-radius:5px;font-size:12px}.error-banner[data-v-5204e202]{background:#f871711a;border:1px solid rgba(248,113,113,.3);color:#f87171;border-radius:5px;padding:10px 14px;font-size:13px;margin-bottom:16px}.table-wrap[data-v-5204e202]{overflow-x:auto}.task-table[data-v-5204e202]{width:100%;border-collapse:collapse;font-size:13px}.task-table th[data-v-5204e202]{text-align:left;padding:10px 14px;border-bottom:2px solid var(--color-border);color:var(--color-text-muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.task-table td[data-v-5204e202]{padding:10px 14px;border-bottom:1px solid var(--color-border)}.empty-row[data-v-5204e202]{text-align:center;color:var(--color-text-muted);padding:32px 14px!important}.mono[data-v-5204e202]{font-family:monospace;font-size:12px}.muted[data-v-5204e202]{color:var(--color-text-muted);font-size:12px}.status-badge[data-v-5204e202]{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.status-initializing[data-v-5204e202]{background:#94a3b826;color:#94a3b8}.status-running[data-v-5204e202]{background:#6366f126;color:#818cf8}.status-succeeded[data-v-5204e202]{background:#4ade8026;color:#4ade80}.status-failed[data-v-5204e202]{background:#f8717126;color:#f87171}.task-row[data-v-5204e202]{cursor:pointer;transition:background .1s}.task-row[data-v-5204e202]:hover{background:var(--color-surface-2)}.actions-cell[data-v-5204e202]{text-align:right;width:40px}.btn-delete-row[data-v-5204e202]{background:transparent;border:1px solid rgba(248,113,113,.3);color:#f87171;border-radius:4px;font-size:11px;padding:2px 7px;cursor:pointer;opacity:.6;transition:opacity .15s}.btn-delete-row[data-v-5204e202]:hover{opacity:1;background:#f871711a}.expand-icon[data-v-5204e202]{display:inline-block;width:16px;font-size:11px;color:var(--color-text-muted);margin-right:4px}.fn-row td[data-v-5204e202]{padding:6px 14px;border-bottom:1px solid var(--color-border);background:var(--color-surface);font-size:12px}.fn-indent[data-v-5204e202]{padding-left:36px!important}.fn-cell[data-v-5204e202]{font-size:12px}.fn-loading[data-v-5204e202]{color:var(--color-text-muted);font-style:italic;padding-left:36px!important}.fn-status-badge[data-v-5204e202]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.fn-status-pending[data-v-5204e202]{background:#94a3b81a;color:#94a3b8}.fn-status-running[data-v-5204e202]{background:#6366f11a;color:#818cf8}.fn-status-succeeded[data-v-5204e202]{background:#4ade801a;color:#4ade80}.fn-status-failed[data-v-5204e202]{background:#f871711a;color:#f87171}.fn-error[data-v-5204e202]{color:#f87171;font-size:11px;max-width:200px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pagination[data-v-5204e202]{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:20px}.pagination button[data-v-5204e202]{background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}.pagination button[data-v-5204e202]:disabled{opacity:.4;cursor:default}.page-info[data-v-5204e202]{font-size:12px;color:var(--color-text-muted)}.catalog-shell[data-v-b68a597e]{display:flex;height:100%;overflow:hidden}.catalog-list[data-v-b68a597e]{width:260px;flex-shrink:0;border-right:1px solid var(--color-border);overflow-y:auto}.catalog-header[data-v-b68a597e]{padding:16px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:8px}.catalog-header h2[data-v-b68a597e]{font-size:15px;font-weight:600}.online-count[data-v-b68a597e]{font-size:11px;color:var(--color-text-muted);margin-left:auto;background:#22c55e1a;padding:2px 8px;border-radius:8px}.offline-toggle[data-v-b68a597e]{display:flex;align-items:center;gap:6px;padding:6px 16px;font-size:11px;color:var(--color-text-muted);cursor:pointer;border-bottom:1px solid var(--color-border)}.offline-toggle input[data-v-b68a597e]{cursor:pointer}.catalog-list ul[data-v-b68a597e]{list-style:none;padding:6px 0}.catalog-list li[data-v-b68a597e]{padding:10px 16px;cursor:pointer;border-left:3px solid transparent}.catalog-list li[data-v-b68a597e]:hover{background:var(--color-surface-2)}.catalog-list li.active[data-v-b68a597e]{background:#6366f114;border-left-color:var(--color-accent)}.item-header[data-v-b68a597e]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.storage-dot[data-v-b68a597e]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.item-name[data-v-b68a597e]{font-family:monospace;font-size:13px;font-weight:500}.item-meta[data-v-b68a597e]{display:flex;gap:4px;padding-left:16px;flex-wrap:wrap}.tag[data-v-b68a597e]{font-size:10px;background:#6366f11a;color:var(--color-accent-hover);padding:1px 6px;border-radius:8px}.detail-panel[data-v-b68a597e]{flex:1;overflow-y:auto;padding:24px 28px}.detail-header[data-v-b68a597e]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.detail-title[data-v-b68a597e]{font-size:18px;font-weight:600;font-family:monospace;margin-bottom:6px}.detail-subtitle[data-v-b68a597e]{color:var(--color-text-muted);font-size:13px;margin-top:4px}.header-actions[data-v-b68a597e]{display:flex;align-items:center;gap:12px}.storage-badge[data-v-b68a597e]{font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;border:1px solid;text-transform:uppercase;letter-spacing:.04em}.detail-body[data-v-b68a597e]{display:flex;flex-direction:column;gap:24px}.detail-body h3[data-v-b68a597e]{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:8px}.uri-block[data-v-b68a597e]{font-family:monospace;font-size:13px;background:var(--color-bg);padding:10px 14px;border-radius:6px;word-break:break-all;color:#f59e0b}.hint-muted[data-v-b68a597e]{font-size:12px;color:var(--color-text-muted)}.tag-list[data-v-b68a597e]{display:flex;flex-wrap:wrap;gap:6px}.empty-hint[data-v-b68a597e]{padding:24px 16px;text-align:center;color:var(--color-text-muted);font-size:13px}.empty-state[data-v-b68a597e]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.btn[data-v-b68a597e]{padding:5px 12px;border-radius:6px;border:1px solid transparent;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.btn-warning[data-v-b68a597e]{background:#f59e0b26;color:#f59e0b;border-color:#f59e0b4d}.btn-warning[data-v-b68a597e]:hover{background:#f59e0b40}.btn-danger[data-v-b68a597e]{background:#ef44441f;color:#ef4444;border-color:#ef44444d}.btn-danger[data-v-b68a597e]:hover{background:#ef444438}.task-table[data-v-b68a597e]{width:100%;border-collapse:collapse;font-size:12px}.task-table th[data-v-b68a597e]{text-align:left;padding:4px 8px;border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-weight:500}.task-table td[data-v-b68a597e]{padding:4px 8px;border-bottom:1px solid var(--color-border)}.tag-succeeded[data-v-b68a597e]{background:#22c55e26;color:#22c55e}.tag-failed[data-v-b68a597e]{background:#ef444426;color:#ef4444}.tag-running[data-v-b68a597e]{background:#6366f126;color:#6366f1}.tag-pending[data-v-b68a597e]{background:#6b728026;color:#6b7280}.login-shell[data-v-9ae8204f]{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--color-bg)}.login-card[data-v-9ae8204f]{width:360px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:40px 36px 36px;display:flex;flex-direction:column;gap:28px}.login-logo[data-v-9ae8204f]{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;letter-spacing:-.02em}.logo-icon[data-v-9ae8204f]{color:var(--color-accent);font-size:24px}.login-form[data-v-9ae8204f]{display:flex;flex-direction:column;gap:16px}.field[data-v-9ae8204f]{display:flex;flex-direction:column;gap:6px}.field label[data-v-9ae8204f]{font-size:13px;color:var(--color-text-muted);font-weight:500}.field input[data-v-9ae8204f]{padding:9px 12px;background:var(--color-surface-2, #1e1e2e);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-size:14px;outline:none;transition:border-color .15s}.field input[data-v-9ae8204f]:focus{border-color:var(--color-accent)}.field input[data-v-9ae8204f]:disabled{opacity:.6}.login-error[data-v-9ae8204f]{font-size:13px;color:#f87171;background:#f8717114;border:1px solid rgba(248,113,113,.3);border-radius:6px;padding:8px 12px}.login-btn[data-v-9ae8204f]{margin-top:4px;padding:10px;background:var(--color-accent);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s}.login-btn[data-v-9ae8204f]:hover:not(:disabled){opacity:.9}.login-btn[data-v-9ae8204f]:disabled{opacity:.6;cursor:not-allowed}.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%}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #0f1117;--color-surface: #1a1d27;--color-surface-2: #242736;--color-border: #2e3348;--color-accent: #6366f1;--color-accent-hover: #818cf8;--color-text: #e2e8f0;--color-text-muted: #94a3b8;--color-success: #22c55e;--color-warning: #f59e0b;--color-error: #ef4444;--sidebar-width: 260px;--font: "Inter", system-ui, sans-serif}html,body,#app{height:100%;background:var(--color-bg);color:var(--color-text);font-family:var(--font);font-size:14px}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}
