:root{--bg-color:#fff;--surface-color:#fff;--text-color:#374151;--text-secondary:#6b7280;--text-disabled:#9ca3af;--border-color:#e5e7eb;--border-hover:#d1d5db;--header-bg:#282c34;--header-text:#fff;--button-bg:#fff;--button-hover-bg:#f3f4f6;--button-hover-border:#d1d5db;--shadow:#0000001a;--shadow-hover:#00000026;--success-color:#10b981;--success-hover:#059669;--warning-color:#f59e0b;--danger-color:#ef4444;--primary-color:#4f46e5;--info-color:#3b82f6;--bg-secondary:#f8f9fa;--text-placeholder:#9ca3af}:root.dark{--bg-color:#111827;--surface-color:#1f2937;--text-color:#f9fafb;--text-secondary:#9ca3af;--text-disabled:#6b7280;--border-color:#374151;--border-hover:#4b5563;--header-bg:#1f2937;--header-text:#f9fafb;--button-bg:#374151;--button-hover-bg:#4b5563;--button-hover-border:#6b7280;--shadow:#0000004d;--shadow-hover:#0006;--success-color:#059669;--success-hover:#047857;--warning-color:#d97706;--danger-color:#dc2626;--primary-color:#6366f1;--info-color:#2563eb;--bg-secondary:#374151;--text-placeholder:#6b7280}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--bg-color);color:#374151;color:var(--text-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;transition:background-color .2s ease,color .2s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}.react-flow__node,.react-flow__node-input,.react-flow__node-output{font-size:12px}.react-flow__handle{background:#555;height:8px;width:8px}.react-flow__handle.connectingfrom{background:#ff6b6b}.react-flow__handle.connectingto{background:#4ecdc4}.react-flow__edge-path{stroke:#4f46e5;stroke:var(--primary-color);stroke-width:2}.react-flow__edge-text{fill:#374151;fill:var(--text-color);font-size:12px;font-weight:500}.react-flow__edge.selected .react-flow__edge-path{stroke:#4f46e5;stroke:var(--primary-color);stroke-width:3}.react-flow__edge .react-flow__edge-textbg{fill:#fff;fill:var(--surface-color);fill-opacity:.9}.react-flow__edge.edge-simple .react-flow__edge-path{stroke:#10b981;animation:flow 2s ease-in-out infinite}.react-flow__edge.edge-condition .react-flow__edge-path{stroke:#f59e0b}.react-flow__edge.edge-default .react-flow__edge-path{stroke:var(--text-secondary);stroke-dasharray:5,5}.react-flow__edge.edge-end .react-flow__edge-path{stroke:#ef4444;stroke:var(--danger-color)}@keyframes flow{0%,to{stroke-dasharray:5,5;stroke-dashoffset:0}50%{stroke-dasharray:5,5;stroke-dashoffset:-10}}.react-flow__arrowhead{fill:#4f46e5;fill:var(--primary-color)}.react-flow__edge.edge-simple .react-flow__arrowhead{fill:#10b981;fill:var(--success-color)}.react-flow__edge.edge-condition .react-flow__arrowhead{fill:#f59e0b;fill:var(--warning-color)}.react-flow__edge.edge-default .react-flow__arrowhead{fill:#6b7280;fill:var(--text-secondary)}.react-flow__edge.edge-end .react-flow__arrowhead{fill:#ef4444;fill:var(--danger-color)}:root.dark .react-flow__pane{background:#fff;background:var(--bg-color)}:root.dark .react-flow__controls{background:#fff;background:var(--surface-color);border:1px solid #e5e7eb;border:1px solid var(--border-color)}:root.dark .react-flow__controls button{background:#fff;background:var(--surface-color);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);color:#374151;color:var(--text-color)}:root.dark .react-flow__controls button:hover{background:#f3f4f6;background:var(--button-hover-bg)}:root.dark .react-flow__minimap{background:#fff;background:var(--surface-color);border:1px solid #e5e7eb;border:1px solid var(--border-color)}:root.dark .react-flow__handle{background:#6b7280;background:var(--text-secondary);border:2px solid #fff;border:2px solid var(--surface-color)}.react-flow__pane{background:#fff;background:var(--bg-color)}.react-flow__background{background-color:#fff;background-color:var(--bg-color)}.react-flow__background.react-flow__container{background-image:radial-gradient(circle,#cbd5e1 1px,#0000 0);background-size:15px 15px}.react-flow{direction:ltr}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{cursor:grab;z-index:1}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{overflow:visible;pointer-events:none}.react-flow__connection-path,.react-flow__edge-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{cursor:pointer;pointer-events:visibleStroke}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:grab;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;user-select:none}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background:#1a192b;border:1px solid #fff;border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:-4px;left:50%;top:auto;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{left:-4px;top:50%;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translateX(-50%)}.react-flow__attribution{background:#ffffff80;font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:#fff;border:1px solid #1a192b;border-radius:3px;color:#222;font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{align-items:center;background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:initial;cursor:pointer;display:flex;height:16px;justify-content:center;padding:5px;-webkit-user-select:none;user-select:none;width:16px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{max-height:12px;max-width:12px;width:100%}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;height:4px;transform:translate(-50%,-50%);width:4px}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.json-editor{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;display:flex;flex-direction:column;overflow:hidden;transition:all .2s ease}.json-editor:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 2px #4f46e51a}.json-editor-header{align-items:center;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:8px 12px}.json-editor-label{color:var(--text-color);font-size:12px;font-weight:500;margin:0}.json-editor-controls{align-items:center;display:flex;gap:8px}.json-validation{align-items:center;border-radius:12px;display:flex;font-size:11px;font-weight:500;gap:4px;padding:2px 6px;transition:all .2s ease}.json-validation.valid{background-color:#10b9811f;color:var(--success-color)}.json-validation.invalid{background-color:#ef44441f;color:var(--danger-color)}.json-control-btn{align-items:center;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s ease}.json-control-btn:hover{background-color:var(--button-hover-bg);border-color:var(--border-hover);color:var(--text-color)}.json-control-btn:active{transform:scale(.92);transition:transform .1s ease}.json-control-btn.modal-btn{box-shadow:0 2px 4px #4f46e533}.json-control-btn.modal-btn,.json-control-btn.modal-btn:hover{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.json-control-btn.modal-btn:hover{box-shadow:0 4px 8px #4f46e54d;filter:brightness(.85);transform:translateY(-1px)}.json-control-btn.modal-btn:active{background-color:var(--primary-color);border-color:var(--primary-color);box-shadow:0 1px 2px #4f46e566;filter:brightness(.7);transform:translateY(0) scale(.95);transition:all .1s ease}.json-editor-content{overflow:hidden;position:relative;transition:height .3s ease}.json-text-editor{height:100%;position:relative}.json-textarea{background-color:var(--surface-color);border:none;font-family:Monaco,Menlo,Ubuntu Mono,monospace;height:100%;overflow-wrap:normal;overflow-x:auto;tab-size:2;white-space:pre}.json-textarea::placeholder{color:var(--text-placeholder);font-style:italic}.json-textarea.error{background-color:#ef444414}.json-error{align-items:center;background-color:#ef44441f;border-top:1px solid #ef444440;bottom:0;color:var(--danger-color);display:flex;font-size:11px;font-weight:500;gap:6px;left:0;padding:6px 12px;position:absolute;right:0}.json-visual-editor{height:100%;overflow:auto;padding:8px}.json-textarea::-webkit-scrollbar,.json-visual-editor::-webkit-scrollbar{height:8px;width:8px}.json-textarea::-webkit-scrollbar-track,.json-visual-editor::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.json-textarea::-webkit-scrollbar-thumb,.json-visual-editor::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.json-textarea::-webkit-scrollbar-thumb:hover,.json-visual-editor::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media (max-width:640px){.json-editor-header{padding:6px 8px}.json-editor-controls{gap:4px}.json-validation span{display:none}.json-textarea{padding:8px}}.json-editor-content{transition:height .3s cubic-bezier(.4,0,.2,1)}.json-textarea:focus{box-shadow:inset 0 0 0 1px var(--primary-color)}.json-textarea::selection{background-color:#4f46e533}.json-editor-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.json-editor-modal{animation:modalSlideIn .3s ease-out;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;height:80vh;max-height:700px;max-width:900px;overflow:hidden;width:90vw}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.json-editor-modal-header{align-items:center;background-color:var(--surface-color);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px 24px}.json-editor-modal-header h3{color:var(--text-color);font-size:18px;font-weight:600;margin:0}.json-editor-modal-actions{align-items:center;display:flex;gap:8px}.json-editor-modal-actions button{align-items:center;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);cursor:pointer;display:flex;font-size:14px;gap:6px;padding:8px 12px;transition:all .2s ease}.json-editor-modal-actions button:hover:not(:disabled){background-color:var(--button-hover-bg);border-color:var(--border-hover);box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.json-editor-modal-actions button:active:not(:disabled){box-shadow:0 1px 2px #0000001a;transform:translateY(0) scale(.96);transition:all .1s ease}.json-editor-modal-actions .save-btn{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.json-editor-modal-actions .save-btn:hover:not(:disabled){background-color:var(--primary-color);border-color:var(--primary-color);box-shadow:0 4px 8px #4f46e54d;filter:brightness(.85);transform:translateY(-1px)}.json-editor-modal-actions .save-btn:active:not(:disabled){background-color:var(--primary-color);border-color:var(--primary-color);box-shadow:0 2px 4px #4f46e566;filter:brightness(.7);transform:translateY(0) scale(.96)}.json-editor-modal-actions .save-btn:disabled{cursor:not-allowed;opacity:.5}.json-editor-modal-actions .reset-btn{background-color:var(--warning-color);border-color:var(--warning-color);color:#fff}.json-editor-modal-actions .close-btn{background-color:initial;border:none;color:var(--text-secondary);padding:8px}.json-editor-modal-actions .close-btn:hover{background-color:var(--button-hover-bg);color:var(--text-color)}.json-editor-modal-content{background-color:var(--bg-color);flex:1 1;overflow:hidden;padding:24px}.json-editor-modal-content .json-editor{height:100%}.json-editor-modal-content .json-editor-content{border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.json-editor-modal-footer{align-items:center;background-color:var(--surface-color);border-top:1px solid var(--border-color);display:flex;justify-content:space-between;padding:16px 24px}.json-editor-modal-info{flex:1 1}.changes-indicator{color:var(--warning-color);font-size:14px;font-weight:500}.json-editor-modal-buttons{align-items:center;display:flex;gap:12px}.json-editor-modal-buttons button{border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.cancel-btn{background-color:var(--bg-color)}.cancel-btn:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.cancel-btn:active{box-shadow:0 1px 2px #0000001a;transform:translateY(0) scale(.96);transition:all .1s ease}.save-btn.primary{color:#fff}.save-btn.primary,.save-btn.primary:hover:not(:disabled){background-color:var(--primary-color);border-color:var(--primary-color)}.save-btn.primary:hover:not(:disabled){box-shadow:0 4px 8px #4f46e54d;filter:brightness(.85);transform:translateY(-1px)}.save-btn.primary:active:not(:disabled){background-color:var(--primary-color);border-color:var(--primary-color);box-shadow:0 2px 4px #4f46e566;filter:brightness(.7);transform:translateY(0) scale(.96);transition:all .1s ease}.save-btn.primary:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.json-editor-modal{height:85vh;margin:20px;width:95vw}.json-editor-modal-header{padding:16px 20px}.json-editor-modal-content{padding:20px}.json-editor-modal-footer{align-items:stretch;flex-direction:column;gap:12px;padding:12px 20px}.json-editor-modal-buttons{justify-content:stretch;width:100%}.json-editor-modal-buttons button{flex:1 1}}.node-properties-editor{display:flex;flex-direction:column;gap:1rem}.form-group{gap:4px;margin-bottom:16px}.form-group input,.form-group select,.form-group textarea{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);font-family:inherit;font-size:12px;padding:8px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #4f46e51a;outline:none}.form-group select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;cursor:pointer;padding-right:32px}.form-group select:hover{border-color:var(--border-hover)}.form-group select:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%234f46e5' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E")}.form-group textarea{font-family:Courier New,monospace;resize:vertical}.section{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;margin-bottom:20px;padding:16px}.section-header{font-weight:500}.add-btn{padding:4px}.action-item,.condition-item,.error-handler-item{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:4px;margin-bottom:16px;padding:16px}.error-handler-item{border-left:4px solid #ef444480}.item-header{align-items:center;color:var(--text-color);display:flex;font-size:12px;font-weight:500;gap:8px;margin-bottom:16px}.item-header span{flex:1 1}.action-buttons{display:flex;gap:4px}.insert-btn{background-color:var(--surface-color);border:1px solid var(--primary-color);border-radius:4px;color:var(--primary-color);cursor:pointer;padding:4px;transition:all .2s ease}.insert-btn:hover{background-color:var(--primary-color);color:#fff}.remove-btn{padding:4px}.drag-handle{align-items:center;border-radius:2px;color:var(--text-secondary);cursor:grab;display:flex;padding:2px;transition:all .2s ease}.drag-handle:hover{background-color:var(--border-color);color:var(--text-color)}.drag-handle:active{cursor:grabbing}.action-item{transition:all .2s ease}.action-item:hover{border-color:var(--border-hover)}.action-item.dragging{box-shadow:0 4px 8px #0000001a;opacity:.5;transform:rotate(2deg)}.action-item[draggable=true]{cursor:move}.drop-zone{background-color:initial;border-radius:2px;height:4px;margin:8px 0;position:relative;transition:all .2s ease}.drop-zone.drag-over{background-color:#4f46e50d;border:2px dashed var(--primary-color);height:40px}.drop-indicator{align-items:center;display:none;height:100%;justify-content:center;position:relative}.drop-zone.drag-over .drop-indicator{display:flex}.drop-line{border-radius:1px;height:2px;left:0;position:absolute;right:0;top:50%}.drop-line,.drop-text{background-color:var(--primary-color)}.drop-text{border-radius:12px;color:#fff;font-size:11px;font-weight:500;padding:4px 8px;white-space:nowrap;z-index:1}.action-item.drag-target{background-color:#4f46e505;border-color:var(--primary-color)}.action-item.dragging{border-color:var(--primary-color);box-shadow:0 8px 16px #00000026;opacity:.6;transform:rotate(1deg) scale(.98);z-index:1000}.no-properties{color:var(--text-secondary);padding:2rem 1rem;text-align:center}.no-properties-message{color:var(--text-color);font-size:14px;font-weight:500;margin:0 0 8px}.node-info{color:var(--text-secondary);font-size:12px;font-style:italic;margin:0}.retry-policy-item{border-radius:4px;margin-bottom:16px;padding:16px}.form-row{grid-gap:8px;gap:8px}.no-retry-policies{padding:1rem}.create-retry-btn{font-size:12px;margin:8px auto 0;padding:8px 16px}.retry-policies-management{margin-top:12px}.retry-policy-item .form-group input[type=number]{min-width:0}.action-item .json-editor,.condition-item .json-editor,.event-item .json-editor{margin-bottom:16px}.retry-policy-item .form-row .form-group{min-width:0}.retry-policy-hint{background-color:#4f46e50d;border:1px solid #4f46e533;border-radius:4px;color:var(--primary-color);font-size:11px;margin-top:4px;padding:8px;text-align:center}.form-help{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:4px;font-size:11px;margin-top:8px;padding:12px}.form-help p{color:var(--text-color);font-weight:500;margin:0 0 8px}.form-help ul{list-style-type:disc;margin:0;padding-left:16px}.form-help li{font-family:Courier New,monospace;margin-bottom:2px}.subsection{background-color:#f9fafb80;border:1px solid #9ca3af4d;border-radius:4px;margin-top:16px;padding:12px}.subsection-header{color:var(--text-color);font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.form-group label input[type=checkbox]{margin-bottom:0;margin-right:8px;margin-top:0}.metadata-item{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;margin-bottom:8px;padding:12px}.metadata-item.small{margin-bottom:6px;padding:8px}.metadata-fields{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:8px}.metadata-fields .form-group{margin-bottom:0}.metadata-fields .form-group label{color:var(--text-secondary);font-size:12px;font-weight:500;margin-bottom:4px}.metadata-fields .form-group input{border-radius:4px;font-size:14px;padding:6px 8px;width:100%}.metadata-fields .form-group input:focus{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6;outline:none}.subsection .metadata-item{background-color:#fff;border:1px solid #d1d5db}.subsection .metadata-fields{gap:8px;grid-template-columns:1fr 1fr}.subsection .metadata-fields .form-group input{font-size:12px;padding:4px 6px}.metadata-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.metadata-input-group,.metadata-row{align-items:center;display:flex;width:100%}.metadata-input-group{gap:8px}.metadata-key-input{flex:1 1;min-width:120px}.metadata-key-input,.metadata-value-input{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);font-size:14px;padding:8px}.metadata-value-input{flex:2 1;min-width:180px}.metadata-key-input:focus,.metadata-value-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #4f46e51a;outline:none}.remove-btn-inline{align-items:center;background-color:initial;border:1px solid var(--danger-color);border-radius:4px;color:var(--danger-color);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:6px;transition:all .2s ease}.remove-btn-inline:hover{background-color:var(--danger-color);color:#fff}.required-indicator{color:#ef4444;font-weight:600;margin-left:2px}.required-field{background-color:#fef2f2;border-color:#ef4444!important}.required-field:focus{border-color:#ef4444!important;box-shadow:0 0 0 1px #ef4444!important}.validation-error{background-color:#fef2f2;border:1px solid #fecaca;border-radius:4px;font-size:11px;margin-top:4px;padding:6px 8px}.validation-error small{color:#dc2626;font-weight:500}.workflow-properties-editor{display:flex;flex-direction:column;gap:1.5rem;padding:0}.workflow-section{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;padding:20px}.section-header{align-items:center;color:var(--text-color);display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:16px}.section-description{background-color:var(--surface-color);border-left:3px solid var(--primary-color);border-radius:6px;color:var(--text-secondary);font-size:13px;line-height:1.4;margin-bottom:20px;padding:12px}.workflow-info .section-description{background-color:#4f46e50d;border-left-color:var(--primary-color)}.no-retry-policies{background-color:var(--surface-color);border:2px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);padding:2rem 1rem;text-align:center}.no-retry-policies p{margin:0 0 8px}.no-retry-policies .help-text{font-size:12px;margin-bottom:16px;opacity:.8}.create-retry-btn{align-items:center;background-color:var(--surface-color);border:1px solid var(--primary-color);border-radius:6px;color:var(--primary-color);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;margin:0 auto;padding:10px 20px;transition:all .2s ease}.create-retry-btn:hover{background-color:var(--primary-color);box-shadow:0 2px 8px #4f46e533;color:#fff;transform:translateY(-1px)}.add-btn{background-color:var(--surface-color);border:1px solid var(--success-color);border-radius:4px;color:var(--success-color);cursor:pointer;margin-left:auto;padding:6px;transition:all .2s ease}.add-btn:hover{background-color:var(--success-color);color:#fff}.retry-policies-list{display:flex;flex-direction:column;gap:16px}.retry-policy-item{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:20px;transition:all .2s ease}.retry-policy-item:hover{border-color:var(--border-hover);box-shadow:0 2px 8px #0000000d}.retry-policy-item .item-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.policy-name{color:var(--text-color);font-size:14px;font-weight:600}.remove-btn{background-color:var(--surface-color);border:1px solid var(--danger-color);border-radius:4px;color:var(--danger-color);cursor:pointer;padding:6px;transition:all .2s ease}.remove-btn:hover{background-color:var(--danger-color);color:#fff}.policy-form{display:flex;flex-direction:column;gap:16px}.form-group label{font-size:12px}.form-group input{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);font-family:inherit;font-size:13px;padding:8px 12px;transition:all .2s ease}.form-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a;outline:none}.policies-summary{background-color:#10b9810d;border:1px solid #10b98133;border-radius:8px;margin-top:24px;padding:16px}.summary-header{color:var(--success-color);font-size:13px;font-weight:600;margin-bottom:12px}.policies-list{display:flex;flex-direction:column;gap:8px}.policy-summary-item{align-items:center;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.policy-summary-item .policy-name{color:var(--text-color);font-size:12px;font-weight:500}.policy-details{color:var(--text-secondary);font-family:Courier New,monospace;font-size:11px}@media (max-width:480px){.form-row{grid-template-columns:1fr}.retry-policy-item,.workflow-section{padding:16px}}.operations-palette{display:flex;flex-direction:column;gap:16px;height:100%}.operations-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding-bottom:8px}.operations-header h3{color:var(--text-color);font-size:1rem;font-weight:600;margin:0}.refresh-btn{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.refresh-btn:hover:not(:disabled){background:var(--button-hover-bg);border-color:var(--border-hover)}.refresh-btn:disabled{cursor:not-allowed;opacity:.5}.operations-filters{display:flex;flex-direction:column;gap:12px}.search-box{align-items:center;display:flex;position:relative}.search-box svg{color:var(--text-secondary);left:12px;pointer-events:none;position:absolute}.search-box input{background:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);font-size:14px;padding:8px 12px 8px 40px;transition:border-color .2s ease;width:100%}.search-box input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a;outline:none}.category-filter{align-items:center;display:flex;position:relative}.category-filter svg{color:var(--text-secondary);left:12px;pointer-events:none;position:absolute}.category-filter select{background:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);cursor:pointer;font-size:14px;padding:8px 12px 8px 40px;transition:border-color .2s ease;width:100%}.category-filter select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a;outline:none}.loading-state{color:var(--text-secondary);padding:40px 20px}.error-state,.loading-state{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center}.error-state{background:#ef44441a;border:1px solid var(--danger-color);border-radius:8px;padding:20px;text-align:center}.error-state,.retry-btn{color:var(--danger-color)}.retry-btn{background:var(--surface-color);border:1px solid var(--danger-color);border-radius:4px;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s ease}.retry-btn:hover{background:#ef44441a}.empty-state{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:12px;justify-content:center;padding:40px 20px;text-align:center}.clear-search-btn{background:var(--surface-color);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s ease}.clear-search-btn:hover{background:var(--button-hover-bg);border-color:var(--border-hover)}.operations-list{display:flex;flex:1 1;flex-direction:column;gap:8px;overflow-y:auto}.operations-category{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px}.category-header{align-items:center;background:var(--bg-secondary);border-radius:7px 7px 0 0;color:var(--text-color);cursor:pointer;display:flex;font-weight:500;gap:8px;padding:12px 16px;transition:background-color .2s ease}.category-header:hover{background:var(--button-hover-bg)}.category-name{flex:1 1;font-size:14px}.category-count{color:var(--text-secondary);font-size:12px;font-weight:400}.category-operations{display:flex;flex-direction:column;gap:8px;padding:8px}.operation-item{background:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;cursor:move;padding:12px;position:relative;transition:all .2s ease}.operation-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #6366f11f;transform:translateY(-1px)}.operation-item:active{box-shadow:0 1px 4px #6366f133;transform:translateY(0)}.operation-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.operation-name{color:var(--text-color);flex:1 1;font-size:14px;font-weight:500}.add-icon{color:var(--primary-color);opacity:0;transition:opacity .2s ease}.operation-item:hover .add-icon{opacity:1}.operation-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:12px;line-height:1.4;margin:0 0 8px;overflow:hidden}.operation-tags{gap:4px;margin-bottom:8px}.operation-tag{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);display:flex;font-size:10px;gap:2px;padding:2px 6px}.operation-tag.more{background:#6366f11a;border-color:var(--primary-color);color:var(--primary-color)}.operation-meta{align-items:center;color:var(--text-disabled);display:flex;font-size:11px;justify-content:space-between}.operation-version{font-weight:500}.action-count{font-style:italic}.palette-tabs{border-bottom:1px solid var(--border-color)}.palette-tab{color:var(--text-secondary)}.palette-tab:hover{background:var(--button-hover-bg);color:var(--text-color)}.palette-tab.active{border-bottom-color:var(--primary-color);color:var(--primary-color)}.operations-list::-webkit-scrollbar{width:6px}.operations-list::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:3px}.operations-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.operations-list::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.api-settings-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.api-settings-modal{background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 20px 25px -5px var(--shadow),0 10px 10px -5px var(--shadow);display:flex;flex-direction:column;max-height:80vh;max-width:600px;width:100%}.api-settings-header{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:20px 24px}.header-title{gap:12px}.header-title h2{color:var(--text-color);font-size:1.25rem;font-weight:600;margin:0}.close-button{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.close-button:hover{background:var(--button-hover-bg);color:var(--text-color)}.api-settings-content{display:flex;flex:1 1;flex-direction:column;gap:24px;overflow-y:auto;padding:24px}.settings-section{display:flex;flex-direction:column;gap:16px}.settings-section h3{align-items:center;color:var(--text-color);display:flex;font-size:1rem;font-weight:600;gap:8px;margin:0}.connection-status{display:flex;flex-direction:column;gap:8px}.status-indicator{align-items:center;border-radius:8px;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 16px}.status-indicator.connected{background:#10b9811a;border:1px solid var(--success-color);color:var(--success-color)}.status-indicator.disconnected{background:#ef44441a;border:1px solid var(--danger-color);color:var(--danger-color)}.last-validated{align-items:center;color:var(--text-secondary);display:flex;font-size:12px;gap:6px;padding-left:4px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{align-items:center;display:flex;font-weight:500;gap:6px}.form-group label,.form-input{color:var(--text-color);font-size:14px}.form-input{background:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a;outline:none}.form-input:invalid{border-color:var(--danger-color)}.form-help{color:var(--text-secondary);font-size:12px;margin:0}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.validation-result{align-items:flex-start;border-radius:8px;display:flex;font-size:14px;gap:12px;padding:16px}.validation-result.success{background:#10b9811a;border:1px solid var(--success-color);color:var(--success-color)}.validation-result.error{background:#ef44441a;border:1px solid var(--danger-color);color:var(--danger-color)}.validation-result strong{display:block;margin-bottom:4px}.validation-result p{margin:0;opacity:.9}.unsaved-changes-warning{align-items:center;background:#f59e0b1a;border:1px solid var(--warning-color);border-radius:8px;color:var(--warning-color);display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 16px}.api-settings-footer{background:var(--bg-secondary);border-radius:0 0 12px 12px;border-top:1px solid var(--border-color);justify-content:space-between;padding:20px 24px}.api-settings-footer,.footer-left,.footer-right{align-items:center;display:flex}.footer-right{gap:12px}.btn{align-items:center;border:1px solid #0000;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;text-decoration:none;transition:all .2s ease}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{color:#fff}.btn-primary,.btn-primary:hover:not(:disabled){background:var(--primary-color);border-color:var(--primary-color)}.btn-primary:hover:not(:disabled){opacity:.9}.btn-secondary{background:var(--surface-color);border-color:var(--border-color);color:var(--text-secondary)}.btn-secondary:hover:not(:disabled){background:var(--button-hover-bg);border-color:var(--border-hover);color:var(--text-color)}.btn-outline{background:#0000;border-color:var(--primary-color);color:var(--primary-color)}.btn-outline:hover:not(:disabled){background:var(--primary-color);color:#fff}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}@media (max-width:640px){.api-settings-overlay{padding:10px}.api-settings-modal{max-height:90vh}.form-row{grid-template-columns:1fr}.footer-right{flex-wrap:wrap;gap:8px}.btn{font-size:13px;padding:6px 12px}}.sidebar{background-color:var(--surface-color);border-left:1px solid var(--border-color);display:flex;flex-direction:column;height:100%;min-width:250px;position:relative;transition:background-color .2s ease,border-color .2s ease;-webkit-user-select:none;user-select:none}.resize-handle{align-items:center;background-color:initial;bottom:0;cursor:col-resize;display:flex;justify-content:center;left:0;position:absolute;top:0;transition:all .2s ease;width:8px;z-index:10}.resize-handle:hover{background-color:#4f46e51a;width:12px}.resize-handle:active{background-color:#4f46e533}.resize-indicator{align-items:center;animation:subtle-pulse 3s ease-in-out infinite;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 1px 3px #0000001a;color:var(--text-secondary);display:flex;justify-content:center;opacity:.6;padding:4px;transition:all .2s ease}@keyframes subtle-pulse{0%,to{opacity:.6}50%{opacity:.8}}.resize-handle:hover .resize-indicator{animation:none;border-color:var(--primary-color);box-shadow:0 2px 6px #4f46e533;color:var(--primary-color);opacity:1}.sidebar.resizing{pointer-events:none}.sidebar.resizing .resize-handle{background-color:#4f46e533;cursor:grabbing;pointer-events:auto;width:12px}.sidebar.resizing .resize-indicator{animation:none;border-color:var(--primary-color);box-shadow:0 2px 6px #4f46e54d;color:var(--primary-color);opacity:1;transform:scale(1.1)}.sidebar-header{background-color:var(--surface-color);border-bottom:1px solid var(--border-color);padding:1rem;transition:background-color .2s ease,border-color .2s ease}.sidebar-tabs{display:flex;gap:2px}.tab{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);cursor:pointer;flex:1 1;font-size:12px;font-weight:500;padding:8px;text-align:center;transition:all .2s ease}.tab:hover:not(:disabled){background-color:var(--button-hover-bg);border-color:var(--border-hover)}.tab.active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.tab:disabled{cursor:not-allowed;opacity:.5}.sidebar-content{flex:1 1;overflow-y:auto;padding:1rem}.sidebar-footer{background-color:var(--surface-color);border-top:1px solid var(--border-color);padding:1rem;transition:background-color .2s ease,border-color .2s ease}.node-palette h3{color:var(--text-color);font-size:16px;font-weight:600;margin:0 0 1rem}.palette-tabs{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);display:flex;gap:4px;margin-bottom:16px}.palette-tab{background:none;border:none;border-bottom:2px solid #0000;border-radius:4px 4px 0 0;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.palette-tab:hover{background:#f9fafb;background:var(--bg-hover,#f9fafb);color:#1f2937;color:var(--text-primary,#1f2937)}.palette-tab.active{background:#fff;background:var(--bg-secondary,#fff);border-bottom-color:#6366f1;border-bottom-color:var(--primary,#6366f1);color:#6366f1;color:var(--primary,#6366f1)}.basic-nodes h3{color:#1f2937;color:var(--text-primary,#1f2937);font-size:1rem;font-weight:600;margin:0 0 16px}.node-types{display:flex;flex-direction:column;gap:8px}.node-type-item{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;cursor:grab;padding:12px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.node-type-item:hover{border-color:var(--primary-color);box-shadow:0 2px 4px var(--shadow)}.node-type-item:active{cursor:grabbing;transform:scale(.98)}.node-type-item:focus{outline:2px solid var(--primary-color);outline-offset:2px}.node-type-header{align-items:center;color:var(--text-color);display:flex;font-weight:500;gap:8px;margin-bottom:4px}.add-icon{margin-left:auto;opacity:.5}.node-type-item:hover .add-icon{opacity:1}.node-type-description{color:var(--text-secondary);font-size:12px;margin:0}.node-properties h3,.workflow-properties h3{color:var(--text-color);font-size:16px;font-weight:600;margin:0 0 1rem}.properties-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.delete-btn{background-color:var(--surface-color);border:1px solid var(--danger-color);border-radius:4px;color:var(--danger-color);cursor:pointer;padding:6px;transition:all .2s ease}.delete-btn:hover{background-color:var(--danger-color);color:#fff}.no-selection{font-style:italic;margin-top:2rem;text-align:center}.no-selection,.save-status{color:var(--text-secondary)}.save-status{align-items:center;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:4px;display:flex;font-size:12px;gap:6px;margin-bottom:1rem;padding:6px 8px}.footer-actions{display:flex;flex-direction:column;gap:8px}.save-action{margin-bottom:8px}.save-project-btn{background-color:var(--success-color);border-radius:8px;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:10px 16px;width:100%}.save-project-btn:hover:not(:disabled){background-color:var(--success-hover);box-shadow:0 4px 12px #22c55e4d}.save-project-btn:active:not(:disabled){box-shadow:0 2px 6px #22c55e66;transform:translateY(0) scale(.98)}.save-project-btn:disabled{background-color:var(--text-disabled);box-shadow:none;opacity:.6}.json-actions{display:flex;gap:8px}.undo-redo-actions{display:flex;gap:4px;margin-bottom:8px}.redo-btn,.undo-btn{align-items:center;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:500;gap:6px;justify-content:center;padding:8px 12px;transition:all .2s ease}.redo-btn:hover:not(:disabled),.undo-btn:hover:not(:disabled){background-color:var(--button-hover-bg);border-color:var(--border-hover)}.redo-btn:disabled,.undo-btn:disabled{color:var(--text-secondary);cursor:not-allowed;opacity:.5}.import-btn{align-items:center;background-color:var(--surface-color);border:1px solid var(--info-color);color:var(--info-color);display:flex;font-size:14px;gap:8px;justify-content:center;padding:10px;width:100%}.import-btn:hover{background-color:var(--info-color);color:#fff}.export-btn{align-items:center;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:8px;justify-content:center;padding:12px;transition:all .2s ease;width:100%}.export-btn,.export-btn:hover{background-color:var(--success-color)}.multi-selection,.multi-selection-info{margin-top:1rem}.multi-selection-info p{color:var(--text-color);font-weight:500;margin:0 0 1rem}.selected-nodes-list{border:1px solid var(--border-color);border-radius:6px;margin-bottom:1rem;max-height:200px;overflow-y:auto}.selected-node-item{align-items:center;background-color:var(--surface-color);border-bottom:1px solid var(--border-color);display:flex;gap:8px;padding:8px 12px}.selected-node-item:last-child{border-bottom:none}.selected-node-item:hover{background-color:var(--button-hover-bg)}.node-type{background-color:var(--bg-color);border-radius:4px;color:var(--text-secondary);font-size:12px;font-weight:500;padding:2px 6px;text-transform:capitalize}.node-label{color:var(--text-color);flex:1 1;font-size:14px}.multi-selection-actions{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;padding:12px}.help-text{color:var(--text-secondary);font-size:12px;margin:0;text-align:center}.help-text kbd{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:3px;color:var(--text-color);font-size:11px;font-weight:500;padding:2px 4px}.projects-tab{display:flex;flex-direction:column;gap:20px}.current-project-section h3{color:var(--text-color);font-size:16px;font-weight:600;margin:0 0 12px}.current-project-info{background-color:var(--bg-alt);border:1px solid var(--border-color);border-radius:8px;padding:16px;transition:all .2s ease}.current-project-info:hover{border-color:var(--border-hover);box-shadow:0 2px 4px var(--shadow)}.project-header{align-items:center}.project-header h4{color:var(--text-color);flex:1 1;font-size:14px;font-weight:600;margin:0}.unsaved-dot{animation:pulse-warning 2s ease-in-out infinite;font-size:18px}.project-desc{color:var(--text-secondary);font-size:12px;line-height:1.4;margin:0 0 12px}.project-actions{gap:8px}.save-btn{align-items:center;background-color:var(--success-color);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:6px;padding:8px 12px;transition:all .2s ease}.save-btn:hover:not(:disabled){background-color:var(--success-hover);box-shadow:0 2px 4px #22c55e4d;transform:translateY(-1px)}.save-btn:disabled{background-color:var(--text-disabled);box-shadow:none;cursor:not-allowed;transform:none}.no-project-selected{color:var(--text-secondary);padding:24px 16px;text-align:center}.no-project-selected p{font-size:14px;margin:0 0 12px}.select-project-btn{background-color:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s ease}.select-project-btn:hover{background-color:var(--primary-hover);box-shadow:0 2px 4px #6366f14d;transform:translateY(-1px)}.project-manager-section{border-top:1px solid var(--border-color);padding-top:16px}.manage-projects-btn{align-items:center;background-color:var(--bg-alt);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:center;padding:12px 16px;transition:all .2s ease;width:100%}.manage-projects-btn:hover{background-color:var(--button-hover-bg);border-color:var(--border-hover);box-shadow:0 2px 4px var(--shadow);transform:translateY(-1px)}.manage-projects-btn:active{box-shadow:0 1px 2px var(--shadow);transform:translateY(0)}.settings-actions{border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px;margin-top:8px;padding-top:8px}.settings-btn{align-items:center;background:var(--bg-alt);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;padding:8px 12px;transition:all .2s ease}.settings-btn:hover{background:var(--button-hover-bg);border-color:var(--border-hover);box-shadow:0 2px 4px var(--shadow);color:var(--text-color);transform:translateY(-1px)}.settings-btn:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a;outline:none}.custom-node{background-color:var(--surface-color);border:2px solid var(--border-color);border-radius:8px;box-shadow:0 2px 8px var(--shadow);color:var(--text-color);font-size:12px;min-width:150px;padding:12px;transition:all .2s ease}.custom-node.selected{border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.custom-node:hover{box-shadow:0 4px 12px var(--shadow-hover)}.node-header{align-items:center;display:flex;font-weight:600;gap:8px;margin-bottom:8px}.node-title{font-size:14px}.node-content{display:flex;flex-direction:column;gap:4px}.node-field{color:var(--text-secondary);font-size:11px}.operation-node{background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border-color:var(--success-color)}.operation-node .node-header{color:var(--success-color)}.switch-node{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:var(--warning-color);min-height:auto;min-width:180px}.switch-node .node-header{color:#d97706}.switch-node-data{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:var(--warning-color)}.switch-node-data .node-header{color:#d97706}.switch-node-event{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-color:#8b5cf6}.switch-node-event .node-header{color:#7c3aed}.switch-outputs{display:flex;flex-direction:column;gap:6px;margin-top:8px}.switch-output-item{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:4px;display:flex;justify-content:space-between;padding:4px 8px;position:relative}.output-label{color:var(--text-color);flex:1 1;font-size:11px;font-weight:500}.condition-handle-dot,.default-handle-dot{border-radius:50%!important;cursor:crosshair!important;height:12px!important;width:12px!important}.switch-node .condition-handle-dot:hover{box-shadow:0 0 0 2px #f59e0b4d!important;transform:scale(1.2)!important}.switch-node .default-handle-dot:hover{box-shadow:0 0 0 2px #6b72804d!important;transform:scale(1.2)!important}.start-node{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#3b82f6}.start-node .node-header{color:#2563eb}.end-node{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#ef4444}.end-node .node-header{color:#dc2626}.event-node{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-color:#8b5cf6}.event-node .node-header{color:#7c3aed}.sleep-node{background:linear-gradient(135deg,#ecfeff,#cffafe);border-color:#06b6d4}.sleep-node .node-header{color:#0891b2}.metadata-indicator{color:var(--text-secondary);margin-left:4px;opacity:.7}.condition-metadata-indicator{color:var(--text-secondary);margin-left:4px;opacity:.6}.metadata-preview{border-top:1px solid var(--border-color);margin-top:8px;padding-top:8px}.metadata-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.metadata-tag{background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:3px;color:#374151;font-size:10px;font-weight:500;padding:2px 6px}.metadata-tag.more{background-color:#e5e7eb;color:#6b7280;font-style:italic}.switch-output-item .output-label{align-items:center;display:flex;gap:2px}.operation-node.dynamic-operation{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-color:#8b5cf6;box-shadow:0 2px 8px #8b5cf626}.operation-node.dynamic-operation .node-header{color:#7c3aed}.dynamic-indicator{color:#8b5cf6;margin-left:4px;opacity:.8}.operation-tags-preview{margin-top:4px}.operation-tags{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.operation-tag{background-color:#f1f5f9;border:1px solid #cbd5e1;border-radius:2px;color:#475569;font-size:9px;font-weight:500;padding:1px 4px}.operation-tag.more{background-color:#eef2ff;border-color:#c7d2fe;color:#8b5cf6}.action-preview{color:#64748b;font-size:9px;font-style:italic;margin-top:2px;opacity:.8}.json-exporter-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.json-exporter{background-color:var(--surface-color);border-radius:8px;box-shadow:0 20px 25px -5px var(--shadow);display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:90%}.exporter-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.exporter-header h2{color:var(--text-color);font-size:1.5rem;font-weight:600;margin:0}.export-format-selector{background-color:var(--surface-color);border-bottom:1px solid var(--border-color);padding:1.5rem}.format-options{display:flex;flex-direction:column;gap:1rem}.format-option{align-items:flex-start;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .2s ease}.format-option:hover{background-color:#4f46e50d;border-color:var(--primary-color)}.format-option input[type=radio]{accent-color:var(--primary-color);margin:2px 0 0}.format-details{display:flex;flex-direction:column;gap:4px}.format-details strong{color:var(--text-color);font-size:14px;font-weight:500}.format-details span{color:var(--text-secondary);font-size:12px;line-height:1.4}.workflow-info{background-color:var(--bg-color);border-bottom:1px solid var(--border-color);padding:1.5rem}.info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.json-output{display:flex;flex:1 1;flex-direction:column;min-height:0}.output-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1rem 1.5rem}.output-header h3{color:var(--text-color);font-size:1.125rem;font-weight:600;margin:0}.output-actions{display:flex;gap:8px}.copy-btn,.download-btn{align-items:center;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 12px;transition:all .2s ease}.copy-btn:hover{background-color:var(--button-hover-bg);border-color:var(--border-hover)}.copy-btn.copied{background-color:#10b981;border-color:#10b981;color:#fff;transform:scale(1.02)}.copy-btn.copied:disabled{cursor:default;opacity:1}.copy-btn.error{background-color:#ef4444;border-color:#ef4444;color:#fff}.copy-btn.error:disabled{cursor:default;opacity:1}.copy-btn:disabled{cursor:not-allowed;opacity:.7}.download-btn{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.download-btn:hover{background-color:#4338ca}.json-content{background-color:#1f2937;border-bottom-left-radius:8px;border-bottom-right-radius:8px;color:#f9fafb;flex:1 1;font-family:Courier New,monospace;font-size:12px;line-height:1.5;margin:0;overflow:auto;padding:1.5rem;white-space:pre-wrap}.validation-warnings{background-color:#fef3c7;border:1px solid #f59e0b;border-radius:6px;color:#92400e;margin:1rem 1.5rem;padding:1rem}.validation-warnings h4{color:#92400e;font-size:14px;font-weight:600;margin:0 0 .5rem}.validation-warnings ul{list-style-type:disc;margin:.5rem 0;padding-left:1.5rem}.validation-warnings li{font-size:13px;line-height:1.4;margin-bottom:.25rem}.validation-warnings p{font-size:12px;font-style:italic;margin:.5rem 0 0}.json-importer-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.json-importer{background-color:var(--surface-color);border-radius:8px;box-shadow:0 20px 25px -5px var(--shadow);display:flex;flex-direction:column;max-height:90vh;max-width:700px;width:90%}.importer-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.importer-header h2{color:var(--text-color);font-size:1.5rem;font-weight:600;margin:0}.close-btn{background-color:initial;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;padding:8px;transition:all .2s ease}.close-btn:hover{background-color:var(--button-hover-bg);color:var(--text-color)}.import-mode-selector{background-color:var(--bg-color);border-bottom:1px solid var(--border-color);display:flex;gap:4px;padding:1rem 1.5rem}.mode-btn{align-items:center;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:6px;justify-content:center;padding:8px 12px;transition:all .2s ease}.mode-btn:hover:not(.active){background-color:var(--button-hover-bg)}.mode-btn.active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.file-upload-section{background-color:var(--bg-color);border-bottom:1px solid var(--border-color);padding:1rem 1.5rem}.file-input{background-color:var(--surface-color);border:2px dashed var(--border-color);border-radius:6px;color:var(--text-color);cursor:pointer;padding:8px;transition:all .2s ease;width:100%}.file-input:hover{border-color:var(--primary-color)}.file-help{color:var(--text-secondary);font-size:12px;margin:8px 0 0}.json-input-section{display:flex;flex:1 1;flex-direction:column;min-height:0;padding:1.5rem}.input-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.input-header label{color:var(--text-color);font-weight:500}.example-btn{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s ease}.example-btn:hover{background-color:var(--button-hover-bg);border-color:var(--border-hover)}.json-textarea{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);flex:1 1;font-family:Courier New,monospace;font-size:12px;line-height:1.5;outline:none;padding:12px;resize:none;width:100%}.json-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.error-message{background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:14px;margin:1rem 1.5rem 0;padding:12px}:root.dark .error-message{background-color:#dc26261a;border-color:#dc26264d;color:#fca5a5}.importer-actions{border-top:1px solid var(--border-color);display:flex;gap:12px;justify-content:flex-end;padding:1.5rem}.cancel-btn{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);cursor:pointer;font-weight:500;padding:10px 16px;transition:all .2s ease}.cancel-btn:hover{background-color:var(--button-hover-bg);border-color:var(--border-hover)}.import-btn{border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 16px;transition:all .2s ease}.import-btn,.import-btn:hover:not(:disabled){background-color:var(--success-color)}.import-btn:disabled{background-color:var(--text-secondary);cursor:not-allowed}.project-manager{display:flex;flex-direction:column;height:100%;padding:0}.project-manager-header{align-items:center;background:#fafafa;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:12px 16px}.current-project-info{flex:1 1;min-width:0}.current-project{align-items:center;display:flex;gap:8px;min-width:0}.current-project svg{color:var(--primary-color);flex-shrink:0}.project-details{align-items:center;display:flex;gap:4px;min-width:0}.project-name{color:var(--surface-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unsaved-indicator{color:var(--warning-color)}.save-project-btn{align-items:center;background:var(--success-color);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:12px;gap:4px;padding:6px 8px;transition:all .2s ease}.save-project-btn:hover:not(:disabled){background:var(--success-color);transform:translateY(-1px)}.save-project-btn:disabled{background:#d1d5db;cursor:not-allowed;transform:none}.no-project{color:var(--text-secondary);font-size:14px;font-style:italic}.new-project-btn{align-items:center;background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:13px;font-weight:500;gap:6px;padding:8px 12px;transition:all .2s ease}.new-project-btn:hover{background:var(--primary-color);box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.project-form{background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-shrink:0}.form-header{padding:12px 16px 8px}.form-header h4{color:var(--surface-color);margin:0}.form-content{display:flex;flex-direction:column;gap:12px;padding:0 16px 16px}.form-content input,.form-content textarea{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 12px;transition:border-color .2s ease}.form-content input:focus,.form-content textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a;outline:none}.form-content textarea{font-family:inherit;min-height:60px;resize:vertical}.form-actions button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 12px;transition:all .2s ease}.form-actions button:first-child{background:var(--success-color);color:#fff}.form-actions button:first-child:hover:not(:disabled){background:var(--success-color)}.form-actions button:first-child:disabled{background:#d1d5db;cursor:not-allowed}.form-actions button:last-child{background:#f3f4f6;color:#6b7280}.form-actions button:last-child:hover{background:#e5e7eb;color:#374151}.projects-list h4{border-bottom:1px solid #f3f4f6;color:var(--surface-color);flex-shrink:0;font-size:14px;font-weight:600;margin:0;padding:16px 16px 12px}.empty-projects{color:#6b7280;font-size:14px}.projects-grid{display:flex;flex:1 1;flex-direction:column;gap:8px;overflow-y:auto;padding:8px}.project-item{background:#fff;border:1px solid #e5e7eb}.project-item:hover{border-color:#d1d5db;box-shadow:0 2px 8px #00000014}.project-item.active{border-color:var(--primary-color);box-shadow:0 0 0 1px #6366f133}.project-header{gap:8px}.project-header h5{color:var(--surface-color);flex:1 1;font-size:14px;font-weight:600;line-height:1.3;margin:0;min-width:0;word-break:break-word}.project-actions{display:flex;flex-shrink:0;gap:4px;opacity:0;transition:opacity .2s ease}.project-item:hover .project-actions{opacity:1}.project-actions button{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;padding:4px;transition:all .2s ease}.project-actions button:hover{background:#f3f4f6;color:#374151}.delete-project-btn:hover{background:#fef2f2!important;color:#dc2626!important}.project-description{color:#6b7280}.project-meta{color:#9ca3af;justify-content:space-between}.project-edit-form{background:#f9fafb;border-bottom:1px solid #e5e7eb}.project-edit-form input,.project-edit-form textarea{border:1px solid #d1d5db;font-size:13px}.project-edit-form textarea{font-family:inherit;min-height:50px;resize:vertical}.edit-actions button{background:none;border:1px solid #d1d5db;border-radius:4px;color:#6b7280;cursor:pointer;padding:4px 8px;transition:all .2s ease}.edit-actions button:first-child{color:#fff}.edit-actions button:first-child,.edit-actions button:first-child:hover:not(:disabled){background:var(--success-color);border-color:var(--success-color)}.edit-actions button:first-child:disabled{background:#d1d5db;border-color:#d1d5db;cursor:not-allowed}.edit-actions button:last-child:hover{background:#f3f4f6;border-color:#d1d5db;color:#374151}@media (max-width:640px){.project-manager-header{align-items:stretch;flex-direction:column;gap:12px}.current-project-info{order:2}.new-project-btn{justify-content:center;order:1}}.projects-grid::-webkit-scrollbar{width:6px}.projects-grid::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.projects-grid::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.projects-grid::-webkit-scrollbar-thumb:hover{background:#94a3b8}.project-sidebar{background:var(--surface-color);border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all .3s ease;width:280px;z-index:100}.project-sidebar.collapsed{width:60px}.project-sidebar-header{align-items:center;background:var(--surface-color);border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:16px}.project-sidebar-header.collapsed{flex-direction:column;gap:8px;padding:12px 8px}.header-title{align-items:center;color:var(--text-color);display:flex;gap:8px}.header-title h3{font-size:14px;font-weight:600;margin:0}.project-count{color:var(--text-secondary);font-size:12px;font-weight:500}.header-actions{align-items:center;display:flex;gap:4px}.new-project-btn,.toggle-btn{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .2s ease}.new-project-btn:hover,.toggle-btn:hover{background:var(--button-hover-bg);color:var(--text-color)}.new-project-btn:hover{background:var(--button-hover-bg);color:var(--primary-color)}.projects-indicator{align-items:center;color:var(--text-secondary);display:flex;font-size:12px;gap:4px}.current-project-banner{display:none}.project-name{align-items:center;color:#fff;display:flex;font-size:14px;font-weight:600;gap:6px;margin-bottom:2px}.project-status{font-size:11px;opacity:.9}.unsaved-indicator{animation:pulse-warning 2s ease-in-out infinite;color:#fbbf24;font-size:16px;font-weight:700;line-height:1}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.save-current-btn{background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:6px 8px;transition:all .2s ease}.save-current-btn:hover:not(:disabled){background:#ffffff4d;transform:translateY(-1px)}.save-current-btn:disabled{cursor:not-allowed;opacity:.5}.search-section{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0;padding:16px}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-input-wrapper svg{color:var(--text-placeholder);left:8px;position:absolute;z-index:1}.search-input{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);font-size:13px;padding:10px 12px 10px 32px;transition:all .2s ease;width:100%}.search-input:focus{background:var(--surface-color);border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a;outline:none}.create-project-form{animation:slide-down .2s ease-out;background:var(--surface-color);border-bottom:1px solid var(--border-color);flex-shrink:0;padding:16px}@keyframes slide-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form-header h4{color:var(--text-color);font-size:14px;font-weight:600;margin:0 0 12px}.create-project-form input,.create-project-form textarea{background:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);font-size:13px;margin-bottom:8px;padding:8px 10px;transition:border-color .2s ease;width:100%}.create-project-form input:focus,.create-project-form textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a;outline:none}.create-project-form textarea{font-family:inherit;min-height:50px;resize:vertical}.form-actions{display:flex;gap:8px;margin-top:8px}.cancel-btn,.create-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:4px;padding:6px 12px;transition:all .2s ease}.create-btn{background:var(--success-color);color:#fff;flex:1 1}.create-btn:hover:not(:disabled){background:var(--success-color);opacity:.9;transform:translateY(-1px)}.create-btn:disabled{background:var(--text-secondary);cursor:not-allowed}.cancel-btn{background:var(--button-hover-bg);color:var(--text-secondary)}.cancel-btn:hover{background:var(--border-hover);color:var(--text-color)}.projects-list{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.empty-projects{color:var(--text-secondary);font-size:13px;padding:32px 16px;text-align:center}.projects-container{flex:1 1;overflow-y:auto;padding:8px}.project-item{border-radius:8px;margin-bottom:4px;overflow:hidden;transition:all .2s ease}.project-item:hover{box-shadow:0 2px 8px var(--shadow);transform:translateY(-1px)}.project-item.active{box-shadow:0 0 0 .5px var(--primary-color)}.project-content{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;padding:12px;transition:all .2s ease}.project-content:hover{border-color:var(--border-hover)}.project-item.active .project-content{background:var(--bg-secondary);border-color:var(--primary-color)}.project-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px;position:relative}.project-title{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.project-title svg{color:var(--text-secondary);flex-shrink:0}.project-item.active .project-title svg{color:var(--primary-color)}.project-title h5{color:var(--text-color);flex:1 1;font-size:14px;font-weight:600;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unsaved-dot{color:var(--warning-color);font-size:16px;font-weight:700;line-height:1;margin-left:4px}.project-menu-btn{background:none;border:none;border-radius:4px;color:var(--text-placeholder);cursor:pointer;opacity:0;padding:4px;transition:all .2s ease}.project-item:hover .project-menu-btn{opacity:1}.project-menu-btn:hover{background:var(--button-hover-bg);color:var(--text-secondary)}.project-dropdown{animation:fade-in-up .15s ease-out;background:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px var(--shadow);min-width:120px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}@keyframes fade-in-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.project-dropdown button{align-items:center;background:none;border:none;color:var(--text-color);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 12px;text-align:left;transition:background-color .2s ease;width:100%}.project-dropdown button:hover{background:var(--button-hover-bg)}.project-dropdown .delete-option:hover{background:#fef2f2;color:var(--danger-color)}.project-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:12px;line-height:1.4;margin:0 0 8px;overflow:hidden}.project-meta{align-items:center;color:var(--text-placeholder);display:flex;font-size:11px}.project-modified{align-items:center;display:flex;gap:4px}.project-edit-form{animation:slide-down .2s ease-out;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:12px}.project-edit-form input,.project-edit-form textarea{background:var(--surface-color);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);font-size:12px;margin-bottom:8px;padding:6px 8px;transition:border-color .2s ease;width:100%}.project-edit-form input:focus,.project-edit-form textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a;outline:none}.edit-actions{display:flex;gap:6px;justify-content:flex-end}.cancel-edit-btn,.save-edit-btn{align-items:center;background:none;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;display:flex;padding:4px 8px;transition:all .2s ease}.save-edit-btn{color:#fff}.save-edit-btn,.save-edit-btn:hover:not(:disabled){background:var(--success-color);border-color:var(--success-color)}.save-edit-btn:hover:not(:disabled){opacity:.9}.save-edit-btn:disabled{background:var(--text-secondary);border-color:var(--text-secondary);cursor:not-allowed}.cancel-edit-btn{color:var(--text-secondary)}.cancel-edit-btn:hover{background:var(--button-hover-bg);border-color:var(--border-color);color:var(--text-color)}.collapsed-projects{display:flex;flex:1 1;flex-direction:column;gap:4px;overflow-y:auto;padding:8px 4px}.collapsed-project-item{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;height:48px;justify-content:center;position:relative;transition:all .2s ease;width:48px}.collapsed-project-item:hover{border-color:var(--border-hover);box-shadow:0 2px 4px var(--shadow);transform:translateY(-1px)}.collapsed-project-item.active{background:var(--bg-secondary);border-color:var(--primary-color)}.project-icon{color:var(--text-secondary);position:relative}.collapsed-project-item.active .project-icon{color:var(--primary-color)}.project-icon .unsaved-dot{background:var(--warning-color);border:2px solid var(--surface-color);border-radius:50%;height:8px;position:absolute;right:-4px;top:-4px;width:8px}.more-projects{align-items:center;background:var(--button-hover-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-placeholder);cursor:pointer;display:flex;height:48px;justify-content:center;transition:all .2s ease;width:48px}.more-projects:hover{background:var(--border-hover);color:var(--text-secondary)}@media (max-width:1024px){.project-sidebar{width:260px}.project-sidebar.collapsed{width:50px}}@media (max-width:768px){.project-sidebar{box-shadow:2px 0 8px var(--shadow);left:0;position:fixed;top:0;z-index:1000}.project-sidebar.collapsed{overflow:hidden;width:0}}.collapsed-projects::-webkit-scrollbar,.projects-container::-webkit-scrollbar{width:4px}.collapsed-projects::-webkit-scrollbar-track,.projects-container::-webkit-scrollbar-track{background:var(--bg-secondary)}.collapsed-projects::-webkit-scrollbar-thumb,.projects-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.collapsed-projects::-webkit-scrollbar-thumb:hover,.projects-container::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.workflow-editor{display:flex;height:100%;width:100%}.workflow-canvas{flex:1 1;height:100%;position:relative;transition:margin-left .3s ease}.workflow-canvas.drag-over{background-color:#4f46e50d;transition:background-color .2s ease}.workflow-canvas.drag-over:after{animation:bounce-in .2s ease-out;background-color:var(--primary-color);border-radius:8px;box-shadow:0 4px 12px #4f46e54d;content:"Drop here to add node";font-size:14px;font-weight:500;padding:12px 24px}.react-flow__minimap{background-color:var(--surface-color)!important;border:2px solid var(--border-color)!important;border-radius:8px!important;bottom:16px!important;box-shadow:0 4px 12px #00000026!important;height:150px!important;overflow:hidden!important;position:absolute!important;right:16px!important;width:200px!important;z-index:10!important}.react-flow__minimap-mask{fill:#4f46e514!important;stroke:var(--primary-color)!important;stroke-width:1!important;stroke-opacity:.6!important}.react-flow__minimap-node{fill:var(--text-secondary)!important;stroke:var(--border-color)!important;stroke-width:1!important}.react-flow__minimap .react-flow__node-start{fill:var(--success-color)!important}.react-flow__minimap .react-flow__node-end{fill:var(--danger-color)!important}.react-flow__minimap .react-flow__node-operation{fill:var(--primary-color)!important}.react-flow__minimap .react-flow__node-switch{fill:var(--warning-color)!important}.react-flow__minimap .react-flow__node-event{fill:var(--info-color)!important}.react-flow__minimap .react-flow__node-sleep{fill:var(--text-secondary)!important}.project-manager-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.project-manager-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;height:80%;max-height:600px;max-width:800px;overflow:hidden;position:relative;width:90%}.close-project-manager{align-items:center;background:#f3f4f6;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s ease;width:32px;z-index:10}.close-project-manager:hover{background:#e5e7eb;color:#374151}@media (max-width:768px){.project-manager-modal{border-radius:8px;height:90%;max-height:none;max-width:none;width:95%}.close-project-manager{font-size:16px;height:28px;right:12px;top:12px;width:28px}}@media (max-width:480px){.project-manager-modal{border-radius:0;height:100%;width:100%}.close-project-manager{right:8px;top:8px}}.project-manager-overlay{animation:fade-in .2s ease-out}.project-manager-modal{animation:slide-up .3s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.workflow-canvas.drag-over:after{animation:bounce-in .3s ease-out;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border-radius:12px;box-shadow:0 8px 32px #6366f166;color:#fff;content:"📁 Drop here to add node";font-size:16px;font-weight:600;left:50%;padding:16px 24px;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1000}@keyframes bounce-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}50%{transform:translate(-50%,-50%) scale(1.05)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.react-flow__edge.edge-animated .react-flow__edge-path{stroke-dasharray:5,5;animation:flow-forward 1s linear infinite}.react-flow__edge.edge-error .react-flow__edge-path{stroke:#ef444466;stroke-width:2;stroke-dasharray:5,5;animation:dash 1s linear infinite}.react-flow__edge.edge-error .react-flow__edge-text{fill:#ef444499;font-size:12px;font-weight:500}.react-flow__edge.edge-error .react-flow__arrowhead{fill:#ef444466}.react-flow__edge.edge-simple .react-flow__edge-path{stroke:var(--success-color);stroke-width:2}.react-flow__edge.edge-condition .react-flow__edge-path{stroke:var(--warning-color);stroke-width:2}.react-flow__edge.edge-default .react-flow__edge-path{stroke:#6b7280;stroke-width:2}.react-flow__edge.edge-end .react-flow__edge-path{stroke:#ef4444b3;stroke-width:3}@keyframes flow-forward{0%{stroke-dashoffset:0}to{stroke-dashoffset:-10}}@keyframes dash{0%{stroke-dashoffset:0}to{stroke-dashoffset:-20}}.App{display:flex;flex-direction:column;height:100vh}.App-header{align-items:center;background-color:var(--header-bg);border-bottom:1px solid var(--border-color);box-shadow:0 1px 2px #0000000d;color:var(--header-text);display:flex;justify-content:space-between;min-height:48px;padding:.5rem 1rem}.App-header h1{font-size:1.25rem;font-weight:600;margin:0}.header-controls{gap:.5rem}.github-link,.header-controls{align-items:center;display:flex}.github-link{background:var(--button-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);cursor:pointer;height:32px;justify-content:center;padding:6px;text-decoration:none;transition:all .2s ease;width:32px}.github-link:hover{background:var(--button-hover-bg);border-color:var(--button-hover-border);color:var(--text-color)}.dark-mode-toggle{align-items:center;background:var(--button-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);cursor:pointer;display:flex;height:32px;justify-content:center;padding:6px;transition:all .2s ease;width:32px}.dark-mode-toggle:hover{background:var(--button-hover-bg);border-color:var(--button-hover-border)}.App-main{display:flex;flex:1 1;overflow:hidden}
/*# sourceMappingURL=main.b776e7be.css.map*/