:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.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{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation: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;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-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:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;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{position:absolute;z-index:5;margin:15px}.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:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.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-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.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-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,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.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 rgba(0,89,220,.8)}.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{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.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.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.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.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.database-node{background:#1a1a1a;border:2px solid #3a3a3a;border-radius:8px;padding:12px;min-width:180px;transition:all .2s ease}.database-node.selected{border-color:#0f8;box-shadow:0 0 20px #00ff884d}.database-node .node-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #3a3a3a}.database-node .node-icon{font-size:20px}.database-node .node-title{color:#fff;font-weight:600;font-size:14px}.database-node .node-body{display:flex;flex-direction:column;gap:6px}.database-node .node-info{display:flex;flex-direction:column;gap:4px}.database-node .db-type{background:#0f8;color:#000;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;width:fit-content}.database-node .db-operation{color:#888;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.expression-editor,.expression-input-wrapper{position:relative;width:100%}.expression-input{width:100%;padding:10px 35px 10px 12px;background:#0d1117;border:1px solid #30363d;border-radius:8px;color:#c9d1d9;font-size:14px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;transition:all .3s}.expression-input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.expression-input.multiline{resize:vertical;min-height:80px;font-family:inherit}.expression-indicator{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:18px;pointer-events:none;opacity:.6;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.expression-suggestions{position:absolute;top:100%;left:0;right:0;margin-top:8px;background:#161b22;border:1px solid #30363d;border-radius:12px;box-shadow:0 8px 24px #0000004d;z-index:1000;max-height:400px;overflow:hidden;display:flex;flex-direction:column}.suggestions-header{padding:12px 16px;background:#0d1117;border-bottom:1px solid #30363d;font-weight:600;color:#10b981;font-size:13px}.suggestions-list{overflow-y:auto;max-height:320px}.suggestion-item{padding:12px 16px;cursor:pointer;transition:background .2s;border-bottom:1px solid #21262d;display:flex;flex-direction:column;gap:4px}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background:#21262d}.suggestion-item code{color:#10b981;font-weight:600;font-size:13px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace}.suggestion-desc{color:#8b949e;font-size:12px}.suggestions-footer{padding:8px 16px;background:#0d1117;border-top:1px solid #30363d;text-align:center}.suggestions-footer small{color:#6e7681;font-size:11px}.expression-help{margin-top:12px}.expression-help details{background:#0d1117;border:1px solid #30363d;border-radius:8px;overflow:hidden}.expression-help summary{padding:10px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600;color:#c9d1d9;background:#161b22;transition:background .2s}.expression-help summary:hover{background:#21262d}.help-content{padding:16px;max-height:400px;overflow-y:auto}.help-section{margin-bottom:20px}.help-section h4{margin:0 0 10px;color:#10b981;font-size:14px;font-weight:600}.help-section ul{margin:0;padding-left:20px;list-style:none}.help-section li{margin-bottom:8px;color:#8b949e;font-size:13px;position:relative}.help-section li:before{content:"→";position:absolute;left:-16px;color:#10b981}.help-section code{background:#161b22;border:1px solid #30363d;padding:2px 6px;border-radius:4px;color:#10b981;font-size:12px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace}.help-section strong{color:#c9d1d9;font-weight:600}.expression-highlight{color:#10b981;font-weight:600;background:#10b9811a;padding:2px 4px;border-radius:3px}.suggestions-list::-webkit-scrollbar,.help-content::-webkit-scrollbar{width:8px}.suggestions-list::-webkit-scrollbar-track,.help-content::-webkit-scrollbar-track{background:#0d1117}.suggestions-list::-webkit-scrollbar-thumb,.help-content::-webkit-scrollbar-thumb{background:#30363d;border-radius:4px}.suggestions-list::-webkit-scrollbar-thumb:hover,.help-content::-webkit-scrollbar-thumb:hover{background:#484f58}@media(max-width:768px){.expression-suggestions{max-height:300px}.suggestions-list{max-height:220px}.help-content{max-height:300px}}.database-node-config{position:fixed;top:0;right:0;width:500px;height:100vh;background:#1a1a1a;border-left:2px solid #3a3a3a;display:flex;flex-direction:column;z-index:1000;box-shadow:-4px 0 20px #00000080}.database-node-config .config-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:2px solid #3a3a3a}.database-node-config .config-header h3{color:#0f8;margin:0;font-size:20px}.database-node-config .btn-close{background:transparent;border:none;color:#888;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.database-node-config .btn-close:hover{background:#3a3a3a;color:#fff}.database-node-config .config-body{flex:1;overflow-y:auto;padding:20px}.database-node-config .config-footer{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:2px solid #3a3a3a}.db-type-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:25px}.db-type-btn{background:#2a2a2a;border:2px solid #3a3a3a;border-radius:8px;padding:15px 10px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:all .2s ease;color:#888}.db-type-btn:hover{border-color:#4a4a4a;background:#3a3a3a}.db-type-btn.active{border-color:#0f8;background:#00ff881a;color:#0f8}.db-type-btn .db-icon{font-size:28px}.db-type-btn span:last-child{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.db-config-section{margin-bottom:25px;padding:20px;background:#2a2a2a;border-radius:8px;border:1px solid #3a3a3a}.db-config-section h4{color:#fff;margin:0 0 20px;font-size:14px;text-transform:uppercase;letter-spacing:1px}.db-config-section .form-group{margin-bottom:20px}.db-config-section .form-group:last-of-type{margin-bottom:0}.db-config-section .form-group label{display:block;color:#888;font-size:12px;font-weight:600;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.db-config-section .form-group input[type=text],.db-config-section .form-group input[type=number],.db-config-section .form-group textarea,.db-config-section .form-group select{width:100%;background:#1a1a1a;border:1px solid #3a3a3a;color:#fff;padding:10px 12px;border-radius:6px;font-size:13px;font-family:Courier New,monospace;transition:all .2s ease}.db-config-section .form-group textarea{resize:vertical;min-height:80px}.db-config-section .form-group input:focus,.db-config-section .form-group textarea:focus,.db-config-section .form-group select:focus{outline:none;border-color:#0f8;box-shadow:0 0 0 3px #00ff881a}.db-config-section .form-group small{display:block;color:#666;font-size:11px;margin-top:6px;font-style:italic}.examples{margin-top:20px;padding:15px;background:#1a1a1a;border-radius:6px;border:1px solid #3a3a3a}.examples strong{display:block;color:#0f8;margin-bottom:10px;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.examples code{display:block;color:#fff;font-family:Courier New,monospace;font-size:11px;line-height:1.8;padding:4px 0}.database-node-config .btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.database-node-config .btn-primary{background:#0f8;color:#000}.database-node-config .btn-primary:hover{background:#00cc6a;transform:translateY(-2px);box-shadow:0 4px 12px #00ff884d}.database-node-config .btn-secondary{background:#3a3a3a;color:#fff;border:1px solid #4a4a4a}.database-node-config .btn-secondary:hover{background:#4a4a4a;border-color:#0f8}.database-node-config .config-body::-webkit-scrollbar{width:8px}.database-node-config .config-body::-webkit-scrollbar-track{background:#1a1a1a}.database-node-config .config-body::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:4px}.database-node-config .config-body::-webkit-scrollbar-thumb:hover{background:#4a4a4a}@media(max-width:768px){.database-node-config{width:100%}.db-type-selector{grid-template-columns:1fr}}.table-data-viewer-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2001;animation:fadeIn .2s ease-in}.table-data-viewer-modal{background:#1a1a1a;border:1px solid #00ff88;border-radius:8px;width:95%;max-width:1400px;max-height:95vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00ff884d}.table-data-viewer-header{display:flex;align-items:center;gap:15px;padding:15px 20px;border-bottom:1px solid #333;background:#0d0d0d}.table-data-viewer-header h2{flex:1;margin:0;color:#0f8;font-size:1.3rem}.header-actions{display:flex;align-items:center;gap:15px}.row-count{color:#999;font-size:14px}.btn-back{padding:8px 16px;background:transparent;border:1px solid #666;border-radius:4px;color:#999;cursor:pointer;font-size:14px;transition:all .2s}.btn-back:hover{border-color:#0f8;color:#0f8}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 20px;border-bottom:1px solid #333;background:#0d0d0d;flex-wrap:wrap}.search-form{display:flex;gap:10px;flex:1;min-width:300px}.search-form input{flex:1;padding:8px 12px;background:#1a1a1a;border:1px solid #333;border-radius:4px;color:#fff;font-size:14px}.search-form input:focus{outline:none;border-color:#0f8}.btn-search,.btn-clear{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.btn-search{background:#0f8;color:#000;font-weight:500}.btn-search:hover{background:#00cc6a}.btn-clear{background:#333;color:#fff}.btn-clear:hover{background:#444}.toolbar-actions{display:flex;gap:10px}.btn-add{padding:8px 16px;background:#0f8;border:none;border-radius:4px;color:#000;cursor:pointer;font-weight:500;transition:all .2s}.btn-add:hover{background:#00cc6a}.btn-danger{padding:8px 16px;background:transparent;border:1px solid #ff4444;border-radius:4px;color:#f44;cursor:pointer;transition:all .2s}.btn-danger:hover{background:#f44;color:#fff}.table-content{flex:1;overflow:auto;padding:20px}.table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table thead{position:sticky;top:0;background:#0d0d0d;z-index:10}.data-table th{padding:12px;text-align:left;border-bottom:2px solid #00ff88;color:#0f8;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.data-table th:hover{background:#1a1a1a}.data-table td{padding:10px 12px;border-bottom:1px solid #333;color:#ccc}.data-table tbody tr:hover{background:#1a1a1a}.cell-value{display:block;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.null-value{color:#666;font-style:italic}.actions-column{text-align:center;white-space:nowrap}.data-table td input{width:100%;padding:6px;background:#0d0d0d;border:1px solid #00ff88;border-radius:4px;color:#fff;font-size:13px}.btn-edit,.btn-delete,.btn-save,.btn-cancel{padding:6px 10px;background:transparent;border:1px solid #666;border-radius:4px;cursor:pointer;font-size:14px;margin:0 3px;transition:all .2s}.btn-edit:hover{border-color:#0f8;background:#0f8}.btn-delete:hover{border-color:#f44;background:#f44}.btn-save{border-color:#0f8;color:#0f8}.btn-save:hover{background:#0f8;color:#000}.btn-cancel{border-color:#f44;color:#f44}.btn-cancel:hover{background:#f44;color:#fff}.pagination{display:flex;align-items:center;justify-content:center;gap:20px;padding:15px 20px;border-top:1px solid #333;background:#0d0d0d}.page-info{color:#999;font-size:14px}.btn-page{padding:8px 16px;background:transparent;border:1px solid #666;border-radius:4px;color:#999;cursor:pointer;transition:all .2s}.btn-page:hover:not(:disabled){border-color:#0f8;color:#0f8}.btn-page:disabled{opacity:.3;cursor:not-allowed}.add-row-modal{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2002}.add-row-content{background:#1a1a1a;border:1px solid #00ff88;border-radius:8px;padding:30px;width:90%;max-width:600px;max-height:80vh;overflow-y:auto}.add-row-content h3{margin:0 0 20px;color:#0f8}.form-fields{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.form-field{display:flex;flex-direction:column;gap:5px}.form-field label{color:#fff;font-size:14px;font-weight:500}.required{color:#f44;margin-left:4px}.form-field input{padding:10px;background:#0d0d0d;border:1px solid #333;border-radius:4px;color:#fff;font-size:14px}.form-field input:focus{outline:none;border-color:#0f8}.form-field input:disabled{opacity:.5;cursor:not-allowed}.form-field small{color:#666;font-size:12px}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.database-viewer-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease-in}.database-viewer-modal{background:#1a1a1a;border:1px solid #00ff88;border-radius:8px;width:90%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00ff884d}.database-viewer-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #333;background:#0d0d0d}.database-viewer-header h2{margin:0;color:#0f8;font-size:1.5rem}.database-viewer-content{flex:1;overflow-y:auto;padding:20px}.search-bar{display:flex;gap:10px;margin-bottom:20px}.search-bar input{flex:1;padding:10px 15px;background:#0d0d0d;border:1px solid #333;border-radius:4px;color:#fff;font-size:14px}.search-bar input:focus{outline:none;border-color:#0f8}.btn-refresh{padding:10px 15px;background:#0f8;border:none;border-radius:4px;color:#000;cursor:pointer;font-size:16px;transition:all .2s}.btn-refresh:hover{background:#00cc6a;transform:scale(1.05)}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999}.btn-retry{padding:10px 20px;background:#0f8;border:none;border-radius:4px;color:#000;cursor:pointer;font-weight:500}.tables-summary{margin-bottom:15px;color:#999;font-size:14px}.tables-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.table-card{background:#0d0d0d;border:1px solid #333;border-radius:8px;padding:20px;cursor:pointer;transition:all .2s}.table-card:hover{border-color:#0f8;transform:translateY(-2px);box-shadow:0 4px 12px #0f83}.table-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.table-card-header h3{margin:0;color:#fff;font-size:1.1rem}.table-row-count{background:#0f8;color:#000;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.table-card-body{margin-bottom:15px}.table-columns strong{color:#999;font-size:13px;display:block;margin-bottom:8px}.columns-list{display:flex;flex-wrap:wrap;gap:6px}.column-badge{background:#1a1a1a;border:1px solid #333;padding:4px 8px;border-radius:4px;font-size:12px;color:#ccc}.column-badge.more{background:#0f8;color:#000;border-color:#0f8;font-weight:600}.table-card-footer{display:flex;justify-content:flex-end}.btn-view{padding:8px 16px;background:transparent;border:1px solid #00ff88;border-radius:4px;color:#0f8;cursor:pointer;font-size:14px;transition:all .2s}.btn-view:hover{background:#0f8;color:#000}.empty-state{text-align:center;padding:60px 20px;color:#999}.empty-state p{font-size:1.2rem;margin-bottom:10px}.empty-state small{color:#666}.expressions-help-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.expressions-help-panel{background:#0d1117;border:1px solid #30363d;border-radius:16px;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 16px 48px #00000080;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.help-header{padding:24px 28px;border-bottom:1px solid #30363d;display:flex;align-items:center;justify-content:space-between;background:#161b22;border-radius:16px 16px 0 0}.help-header h2{margin:0;color:#10b981;font-size:24px;font-weight:700}.help-body{padding:24px 28px;overflow-y:auto;flex:1}.help-footer{padding:20px 28px;border-top:1px solid #30363d;display:flex;justify-content:center;background:#161b22;border-radius:0 0 16px 16px}.help-controls{display:flex;gap:12px;margin-bottom:24px}.help-search{flex:1;padding:12px 16px;background:#161b22;border:1px solid #30363d;border-radius:8px;color:#c9d1d9;font-size:14px;transition:all .3s}.help-search:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.help-category-select{padding:12px 16px;background:#161b22;border:1px solid #30363d;border-radius:8px;color:#c9d1d9;font-size:14px;cursor:pointer;min-width:150px;transition:all .3s}.help-category-select:focus{outline:none;border-color:#10b981}.help-section{margin-bottom:32px}.help-section:last-child{margin-bottom:0}.help-section h3{margin:0 0 16px;color:#c9d1d9;font-size:18px;font-weight:600;display:flex;align-items:center;gap:8px}.function-count{font-size:14px;color:#6e7681;font-weight:400}.syntax-examples{display:grid;gap:12px}.syntax-item{background:#161b22;border:1px solid #30363d;border-radius:8px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.syntax-item code{background:#0d1117;color:#10b981;padding:6px 12px;border-radius:6px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:13px;flex:1}.syntax-item span{color:#8b949e;font-size:13px}.examples-list{display:grid;gap:12px}.example-item{background:#161b22;border:1px solid #30363d;border-left:3px solid #10b981;border-radius:8px;padding:16px}.example-desc{color:#c9d1d9;font-weight:600;margin-bottom:8px;font-size:14px}.example-code{display:block;background:#0d1117;color:#10b981;padding:10px 14px;border-radius:6px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:13px;overflow-x:auto}.functions-list{display:grid;gap:8px;max-height:400px;overflow-y:auto;padding-right:8px}.function-item{background:#161b22;border:1px solid #30363d;border-radius:8px;padding:14px 16px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;transition:all .2s}.function-item:hover{background:#21262d;border-color:#10b981}.function-name{background:#0d1117;color:#10b981;padding:6px 12px;border-radius:6px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:13px;font-weight:600;white-space:nowrap}.function-desc{color:#8b949e;font-size:13px}.function-category{background:#0d1117;color:#6e7681;padding:4px 10px;border-radius:12px;font-size:11px;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.no-results{text-align:center;padding:40px 20px;color:#6e7681;font-size:14px}.help-tips ul{margin:0;padding-left:20px;list-style:none}.help-tips li{margin-bottom:10px;color:#8b949e;font-size:14px;position:relative}.help-tips li:before{content:"→";position:absolute;left:-18px;color:#10b981;font-weight:700}.help-tips code{background:#161b22;border:1px solid #30363d;padding:2px 6px;border-radius:4px;color:#10b981;font-size:12px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace}.loading{text-align:center;padding:60px 20px;color:#6e7681;font-size:16px}.help-body::-webkit-scrollbar,.functions-list::-webkit-scrollbar{width:10px}.help-body::-webkit-scrollbar-track,.functions-list::-webkit-scrollbar-track{background:#0d1117;border-radius:5px}.help-body::-webkit-scrollbar-thumb,.functions-list::-webkit-scrollbar-thumb{background:#30363d;border-radius:5px}.help-body::-webkit-scrollbar-thumb:hover,.functions-list::-webkit-scrollbar-thumb:hover{background:#484f58}.btn-primary{background:#10b981;color:#0d1117;border:none;padding:12px 32px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s}.btn-primary:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn-close{background:transparent;border:none;color:#8b949e;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.btn-close:hover{background:#21262d;color:#c9d1d9}@media(max-width:768px){.expressions-help-panel{max-width:100%;max-height:95vh}.help-header{padding:20px}.help-header h2{font-size:20px}.help-body{padding:20px}.help-controls{flex-direction:column}.syntax-item{flex-direction:column;align-items:flex-start}.function-item{grid-template-columns:1fr;gap:8px}.functions-list{max-height:300px}}.credentials-manager-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.credentials-manager{background:#1a1a1a;border:2px solid #10b981;border-radius:12px;width:90%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #10b9814d}.credentials-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #333}.credentials-header h2{margin:0;color:#10b981;font-size:24px}.close-btn{background:transparent;border:none;color:#888;font-size:28px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.close-btn:hover{background:#333;color:#10b981}.credentials-error{margin:16px 24px;padding:12px 16px;background:#ef44441a;border:1px solid #ef4444;border-radius:6px;color:#fca5a5}.credentials-toolbar{display:flex;gap:12px;padding:16px 24px;border-bottom:1px solid #333;flex-wrap:wrap}.search-box{flex:1;min-width:200px}.search-box input{width:100%;padding:10px 16px;background:#0a0a0a;border:1px solid #333;border-radius:6px;color:#fff;font-size:14px}.search-box input:focus{outline:none;border-color:#10b981}.filter-box select{padding:10px 16px;background:#0a0a0a;border:1px solid #333;border-radius:6px;color:#fff;font-size:14px;cursor:pointer;min-width:180px}.filter-box select:focus{outline:none;border-color:#10b981}.btn-new-credential{padding:10px 20px;background:#10b981;border:none;border-radius:6px;color:#000;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-new-credential:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.credentials-list{flex:1;overflow-y:auto;padding:24px}.credentials-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#888}.spinner{width:48px;height:48px;border:4px solid #333;border-top-color:#10b981;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.credentials-empty{text-align:center;padding:60px 20px;color:#888}.credentials-empty h3{color:#fff;margin:0 0 8px}.credentials-empty p{max-width:400px;margin:0 auto 24px}.btn-create-first{padding:12px 24px;background:#10b981;border:none;border-radius:6px;color:#000;font-weight:600;cursor:pointer;transition:all .2s}.btn-create-first:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.credentials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.credential-card{background:#0a0a0a;border:1px solid #333;border-radius:8px;padding:20px;transition:all .2s}.credential-card:hover{border-color:#10b981;box-shadow:0 4px 12px #10b98133;transform:translateY(-2px)}.credential-header{display:flex;gap:12px;margin-bottom:12px}.credential-icon{font-size:32px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#10b9811a;border-radius:8px;flex-shrink:0}.credential-info{flex:1;min-width:0}.credential-info h3{margin:0 0 4px;color:#fff;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.credential-type{display:inline-block;padding:2px 8px;background:#10b98133;border:1px solid rgba(16,185,129,.3);border-radius:4px;color:#10b981;font-size:12px;font-weight:500}.credential-description{color:#888;font-size:14px;margin:0 0 12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.credential-meta{display:flex;gap:12px;margin-bottom:12px;padding-top:12px;border-top:1px solid #222}.credential-date{color:#666;font-size:12px}.credential-actions{display:flex;gap:8px}.credential-actions button{flex:1;padding:8px 12px;border:none;border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s;font-weight:500}.btn-edit{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#10b981}.btn-edit:hover{background:#10b98133;border-color:#10b981}.credentials-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid #333}.credentials-stats{display:flex;gap:16px;color:#888;font-size:14px}.btn-refresh{padding:8px 16px;background:transparent;border:1px solid #333;border-radius:6px;color:#888;cursor:pointer;transition:all .2s}.btn-refresh:hover{border-color:#10b981;color:#10b981;background:#10b9811a}@media(max-width:768px){.credentials-manager{width:95%;max-height:95vh}.credentials-toolbar{flex-direction:column}.search-box,.filter-box select,.btn-new-credential{width:100%}.credentials-grid{grid-template-columns:1fr}.credentials-footer{flex-direction:column;gap:12px}.credentials-stats{flex-direction:column;gap:4px;text-align:center}}.credential-modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:11000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.credential-modal{background:#1a1a1a;border:2px solid #10b981;border-radius:12px;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #10b98166}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #333}.modal-header h2{margin:0;color:#10b981;font-size:22px}.modal-error{margin:16px 24px 0;padding:12px 16px;background:#ef44441a;border:1px solid #ef4444;border-radius:6px;color:#fca5a5}.modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#888}.modal-form{flex:1;overflow-y:auto;padding:24px}.form-group label{display:block;color:#fff;font-weight:500;margin-bottom:8px;font-size:14px}.required{color:#ef4444;margin-left:4px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;background:#0a0a0a;border:1px solid #333;border-radius:6px;color:#fff;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#10b981}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{opacity:.6;cursor:not-allowed}.form-group small{display:block;color:#666;font-size:12px;margin-top:4px}.input-with-toggle{position:relative;display:flex;align-items:center}.input-with-toggle input{flex:1;padding-right:40px}.toggle-sensitive{position:absolute;right:8px;background:transparent;border:none;color:#888;cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px;transition:all .2s}.toggle-sensitive:hover{background:#10b9811a;color:#10b981}.json-textarea{font-family:Courier New,monospace;font-size:13px;line-height:1.5}.form-section{margin-top:24px;padding-top:24px;border-top:1px solid #333}.form-section h3{color:#10b981;font-size:16px;margin:0 0 16px}.view-warning{margin-top:16px;padding:12px 16px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:6px;color:#93c5fd;font-size:13px;line-height:1.5}.modal-actions{display:flex;gap:12px;padding:20px 24px;border-top:1px solid #333}.btn-cancel,.btn-save{flex:1;padding:12px 24px;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;font-size:14px}.btn-save{background:#10b981;color:#000}.btn-save:hover:not(:disabled){background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.btn-save:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.credential-modal{width:95%;max-height:95vh}.modal-header h2{font-size:18px}.modal-form{padding:16px}.modal-actions{flex-direction:column;padding:16px}}.execution-history-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.execution-history{background:#1a1a1a;border:2px solid #10b981;border-radius:12px;width:90%;max-width:1400px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #10b9814d}.execution-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #333}.execution-header h2{margin:0;color:#10b981;font-size:24px}.execution-error{margin:16px 24px;padding:12px 16px;background:#ef44441a;border:1px solid #ef4444;border-radius:6px;color:#fca5a5}.execution-stats{display:flex;gap:16px;padding:16px 24px;border-bottom:1px solid #333;flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-value{font-size:24px;font-weight:700;color:#10b981}.stat-value.success{color:#10b981}.stat-value.error{color:#ef4444}.execution-filters{display:flex;gap:12px;padding:16px 24px;border-bottom:1px solid #333;flex-wrap:wrap}.execution-filters select{padding:8px 12px;background:#0a0a0a;border:1px solid #333;border-radius:6px;color:#fff;font-size:14px;cursor:pointer;min-width:180px}.execution-filters select:focus{outline:none;border-color:#10b981}.btn-refresh{padding:8px 16px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:6px;color:#10b981;cursor:pointer;transition:all .2s;font-weight:500}.btn-refresh:hover{background:#10b98133;border-color:#10b981}.execution-list{flex:1;overflow-y:auto;padding:24px}.execution-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#888}.execution-empty{text-align:center;padding:60px 20px;color:#888}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.execution-empty h3{color:#fff;margin:0 0 8px}.execution-card{background:#0a0a0a;border:1px solid #333;border-radius:8px;padding:16px;margin-bottom:12px;transition:all .2s}.execution-card:hover{border-color:#10b981;box-shadow:0 4px 12px #10b98133;transform:translateY(-2px)}.execution-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.execution-title{display:flex;align-items:center;gap:8px}.status-icon{font-size:20px}.workflow-name{font-size:16px;font-weight:600;color:#fff}.execution-badges{display:flex;gap:8px}.badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;border:1px solid}.env-badge{background:#10b9811a}.mode-badge{background:#8b5cf61a;border-color:#8b5cf64d;color:#a78bfa}.execution-card-body{margin-bottom:12px}.execution-info{display:flex;flex-wrap:wrap;gap:16px}.info-item{font-size:13px;color:#888}.info-item.error{color:#ef4444}.execution-card-actions{display:flex;gap:8px}.btn-action{flex:1;padding:8px 12px;border:none;border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s;font-weight:500}.btn-view{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);color:#3b82f6}.btn-view:hover{background:#3b82f633;border-color:#3b82f6}.btn-rerun{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#10b981}.btn-rerun:hover{background:#10b98133;border-color:#10b981}.btn-cancel{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#f59e0b}.btn-cancel:hover{background:#f59e0b33;border-color:#f59e0b}.btn-delete{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;flex:0 0 auto;padding:8px}.btn-delete:hover{background:#ef444433;border-color:#ef4444}.execution-details-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:11000}.execution-details{background:#1a1a1a;border:2px solid #10b981;border-radius:12px;width:90%;max-width:900px;max-height:90vh;display:flex;flex-direction:column}.details-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #333}.details-header h3{margin:0;color:#10b981;font-size:20px}.details-body{flex:1;overflow-y:auto;padding:24px}.detail-section{margin-bottom:24px}.detail-section h4{color:#10b981;margin:0 0 12px;font-size:16px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:12px;color:#888;text-transform:uppercase;letter-spacing:.5px}.detail-value{color:#fff;font-weight:500}.detail-code{background:#0a0a0a;border:1px solid #333;border-radius:6px;padding:12px;color:#10b981;font-family:Courier New,monospace;font-size:13px;line-height:1.5;overflow-x:auto}.detail-code.error{color:#ef4444;border-color:#ef44444d}.details-footer{padding:16px 24px;border-top:1px solid #333;display:flex;justify-content:flex-end}.btn-close{padding:10px 24px;background:transparent;border:1px solid #333;border-radius:6px;color:#888;cursor:pointer;transition:all .2s;font-weight:500}.btn-close:hover{border-color:#666;color:#fff;background:#ffffff0d}@media(max-width:768px){.execution-history{width:95%;max-height:95vh}.execution-stats,.execution-filters{flex-direction:column}.execution-filters select{width:100%}.execution-card-header{flex-direction:column;align-items:flex-start;gap:8px}.execution-card-actions{flex-direction:column}.detail-grid{grid-template-columns:1fr}}.mock-editor-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mock-editor{background:#1a1a1a;border:2px solid #a78bfa;border-radius:12px;width:90%;max-width:1000px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #a78bfa4d}.mock-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #333}.mock-header h2{margin:0;color:#a78bfa;font-size:24px}.mock-error{margin:16px 24px;padding:12px 16px;background:#ef44441a;border:1px solid #ef4444;border-radius:6px;color:#fca5a5;font-size:14px}.mock-toolbar{display:flex;gap:12px;padding:16px 24px;border-bottom:1px solid #333;align-items:center;flex-wrap:wrap}.preset-selector{display:flex;gap:8px;align-items:center;flex:1}.preset-selector label{color:#888;font-size:14px;font-weight:500}.preset-selector select{padding:8px 12px;background:#0a0a0a;border:1px solid #333;border-radius:6px;color:#fff;font-size:14px;cursor:pointer;min-width:200px}.preset-selector select:focus{outline:none;border-color:#a78bfa}.btn-delete-preset{padding:8px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#ef4444;cursor:pointer;transition:all .2s}.btn-delete-preset:hover{background:#ef444433;border-color:#ef4444}.btn-save-preset{padding:8px 16px;background:#a78bfa1a;border:1px solid rgba(167,139,250,.3);border-radius:6px;color:#a78bfa;cursor:pointer;transition:all .2s;font-weight:500}.btn-save-preset:hover{background:#a78bfa33;border-color:#a78bfa}.enabled-count{padding:8px 16px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:6px;color:#10b981;font-size:14px;font-weight:600}.save-preset-modal{margin:0 24px 16px;padding:16px;background:#0a0a0a;border:1px solid #a78bfa;border-radius:8px}.save-preset-modal h3{margin:0 0 12px;color:#a78bfa;font-size:16px}.save-preset-modal input,.save-preset-modal textarea{width:100%;padding:10px 12px;background:#1a1a1a;border:1px solid #333;border-radius:6px;color:#fff;font-size:14px;font-family:inherit;margin-bottom:8px}.save-preset-modal input:focus,.save-preset-modal textarea:focus{outline:none;border-color:#a78bfa}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.modal-actions button{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;transition:all .2s;font-weight:500}.modal-actions button:first-child{background:transparent;border:1px solid #333;color:#888}.modal-actions button:first-child:hover{border-color:#666;color:#fff}.modal-actions .btn-primary{background:#a78bfa;color:#000}.modal-actions .btn-primary:hover{background:#8b5cf6}.mock-nodes{flex:1;overflow-y:auto;padding:24px}.mock-node{background:#0a0a0a;border:1px solid #333;border-radius:8px;padding:16px;margin-bottom:12px;transition:all .2s}.mock-node.enabled{border-color:#a78bfa;background:#a78bfa0d}.mock-node-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.mock-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.mock-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.node-label{font-size:16px;font-weight:600;color:#fff}.node-type{font-size:12px;font-weight:400;color:#888;margin-left:8px}.btn-use-default{padding:6px 12px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:4px;color:#3b82f6;cursor:pointer;transition:all .2s;font-size:13px;font-weight:500}.btn-use-default:hover{background:#3b82f633;border-color:#3b82f6}.mock-node-body{display:flex;flex-direction:column;gap:8px}.mock-data-input{width:100%;padding:12px;background:#1a1a1a;border:1px solid #333;border-radius:6px;color:#10b981;font-family:Courier New,monospace;font-size:13px;line-height:1.5;resize:vertical}.mock-data-input:focus{outline:none;border-color:#a78bfa}.mock-description-input{width:100%;padding:8px 12px;background:#1a1a1a;border:1px solid #333;border-radius:6px;color:#fff;font-size:13px}.mock-description-input:focus{outline:none;border-color:#a78bfa}.mock-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid #333}.btn-reset{padding:10px 20px;background:transparent;border:1px solid #333;border-radius:6px;color:#888;cursor:pointer;transition:all .2s;font-weight:500}.btn-reset:hover{border-color:#f59e0b;color:#f59e0b;background:#f59e0b1a}.footer-actions{display:flex;gap:12px}.btn-cancel,.btn-apply{padding:10px 24px;border:none;border-radius:6px;cursor:pointer;transition:all .2s;font-weight:600}.btn-cancel{background:transparent;border:1px solid #333;color:#888}.btn-cancel:hover{border-color:#666;color:#fff;background:#ffffff0d}.btn-apply{background:#10b981;color:#000}.btn-apply:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}@media(max-width:768px){.mock-editor{width:95%;max-height:95vh}.mock-toolbar,.preset-selector{flex-direction:column;align-items:stretch}.preset-selector select{width:100%}.mock-node-header{flex-direction:column;align-items:flex-start;gap:8px}.mock-footer{flex-direction:column;gap:12px}.footer-actions{width:100%}.btn-cancel,.btn-apply{flex:1}}.webhook-modal{max-width:700px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #3a3a3a}.modal-header h3{margin:0;color:#0f8;font-size:24px}.btn-close{background:transparent;border:none;color:#888;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.btn-close:hover{background:#3a3a3a;color:#fff}.form-section{margin-bottom:30px;padding:20px;background:#1a1a1a;border-radius:8px;border:1px solid #3a3a3a}.form-section h4{color:#fff;margin:0 0 20px;font-size:16px;text-transform:uppercase;letter-spacing:1px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;color:#888;font-size:13px;font-weight:600;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.form-group input[type=text],.form-group input[type=password],.form-group textarea,.form-group select{width:100%;background:#2a2a2a;border:1px solid #3a3a3a;color:#fff;padding:10px 12px;border-radius:6px;font-size:14px;transition:all .2s ease}.form-group input[type=text]:focus,.form-group input[type=password]:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#0f8;box-shadow:0 0 0 3px #00ff881a}.form-group textarea{resize:vertical;font-family:inherit}.form-group small{display:block;color:#666;font-size:12px;margin-top:6px;font-style:italic}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;color:#fff;font-size:14px;text-transform:none;letter-spacing:normal;font-weight:400}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#00ff88}.method-checkboxes{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:8px}.method-checkboxes .checkbox-label{background:#2a2a2a;padding:8px 15px;border-radius:6px;border:1px solid #3a3a3a;transition:all .2s ease}.method-checkboxes .checkbox-label:hover{border-color:#0f8;background:#3a3a3a}.method-checkboxes .checkbox-label input[type=checkbox]:checked+span{color:#0f8;font-weight:600}.auth-config{margin-top:20px;padding:20px;background:#2a2a2a;border-radius:8px;border:1px solid #3a3a3a}.auth-info{margin-top:15px;padding:15px;background:#2a4a3a;border-left:4px solid #00ff88;border-radius:4px}.auth-info p{margin:0;color:#aaa;font-size:14px}.auth-example{margin-top:20px;padding:15px;background:#1a1a1a;border-radius:6px;border:1px solid #3a3a3a}.auth-example strong{display:block;color:#0f8;margin-bottom:10px;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.auth-example code{display:block;color:#fff;font-family:Courier New,monospace;font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-all}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:30px;padding-top:20px;border-top:2px solid #3a3a3a}.modal-footer .btn{min-width:120px}.webhook-modal::-webkit-scrollbar{width:8px}.webhook-modal::-webkit-scrollbar-track{background:#1a1a1a;border-radius:4px}.webhook-modal::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:4px}.webhook-modal::-webkit-scrollbar-thumb:hover{background:#4a4a4a}@media(max-width:768px){.webhook-modal{max-width:100%;margin:0}.form-section{padding:15px}.method-checkboxes{flex-direction:column;gap:10px}.method-checkboxes .checkbox-label{width:100%}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}}.stats-modal{max-width:900px;max-height:90vh;overflow-y:auto}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:30px}.stat-card{background:#1a1a1a;border:1px solid #3a3a3a;border-radius:12px;padding:20px;display:flex;align-items:center;gap:15px;transition:all .3s ease}.stat-card:hover{border-color:#0f8;transform:translateY(-2px);box-shadow:0 4px 12px #00ff881a}.stat-card.success{border-color:#0f8}.stat-card.error{border-color:#f44}.stat-icon{font-size:32px;opacity:.8}.stat-content{flex:1}.stat-value{font-size:28px;font-weight:700;color:#fff;line-height:1;margin-bottom:5px}.stat-label{font-size:12px;color:#888;text-transform:uppercase;letter-spacing:.5px}.stats-section{margin-bottom:30px;padding:20px;background:#1a1a1a;border-radius:12px;border:1px solid #3a3a3a}.stats-section h4{color:#0f8;margin:0 0 15px;font-size:16px;text-transform:uppercase;letter-spacing:1px}.env-stats,.method-stats{display:flex;flex-wrap:wrap;gap:15px}.env-stat,.method-stat{background:#2a2a2a;padding:12px 20px;border-radius:8px;display:flex;align-items:center;gap:10px;border:1px solid #3a3a3a}.env-label,.method-label{color:#888;font-size:14px;font-weight:600}.env-value,.method-value{color:#fff;font-size:18px;font-weight:700}.env-badge{padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.env-test{background:#4a90e2;color:#fff}.env-prod{background:#e74c3c;color:#fff}.empty-message{text-align:center;color:#888;padding:20px;font-style:italic}.calls-list{display:flex;flex-direction:column;gap:10px}.call-item{background:#2a2a2a;border:1px solid #3a3a3a;border-radius:8px;padding:15px;cursor:pointer;transition:all .2s ease}.call-item:hover{border-color:#0f8;background:#3a3a3a}.call-item.success{border-left:4px solid #00ff88}.call-item.error{border-left:4px solid #ff4444}.call-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.call-info{display:flex;align-items:center;gap:10px}.call-status{font-size:18px}.call-method{background:#3a3a3a;color:#0f8;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;border:1px solid #00ff88}.call-meta{display:flex;align-items:center;gap:15px;font-size:12px}.call-time{color:#0f8;font-weight:600}.call-date{color:#888}.call-error{background:#3a2a2a;border-left:3px solid #ff4444;padding:8px 12px;border-radius:4px;color:#f88;font-size:13px;margin-top:8px}.call-execution{color:#888;font-size:12px;margin-top:8px;font-family:Courier New,monospace}.call-details-modal{max-width:800px;max-height:90vh;overflow-y:auto}.details-section{margin-bottom:25px;padding:20px;background:#1a1a1a;border-radius:8px;border:1px solid #3a3a3a}.details-section.error{border-color:#f44;background:#2a1a1a}.details-section h4{color:#0f8;margin:0 0 15px;font-size:14px;text-transform:uppercase;letter-spacing:1px}.details-section.error h4{color:#f44}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.detail-item{display:flex;flex-direction:column;gap:5px}.detail-label{color:#888;font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.detail-value{color:#fff;font-size:14px;font-weight:600}.code-block{background:#0a0a0a;border:1px solid #3a3a3a;border-radius:6px;padding:15px;color:#0f8;font-family:Courier New,monospace;font-size:12px;line-height:1.6;overflow-x:auto;margin:0}.code-block.error{color:#f88;border-color:#f44}.stats-modal::-webkit-scrollbar,.call-details-modal::-webkit-scrollbar{width:8px}.stats-modal::-webkit-scrollbar-track,.call-details-modal::-webkit-scrollbar-track{background:#1a1a1a;border-radius:4px}.stats-modal::-webkit-scrollbar-thumb,.call-details-modal::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:4px}.stats-modal::-webkit-scrollbar-thumb:hover,.call-details-modal::-webkit-scrollbar-thumb:hover{background:#4a4a4a}@media(max-width:768px){.stats-grid{grid-template-columns:1fr}.call-header{flex-direction:column;align-items:flex-start;gap:10px}.call-meta{flex-direction:column;align-items:flex-start;gap:5px}.details-grid{grid-template-columns:1fr}}.webhook-manager{position:fixed;inset:0;background:#1a1a1a;z-index:1000;overflow-y:auto;padding:20px}.webhook-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #2a2a2a}.webhook-header h2{color:#0f8;margin:0;font-size:28px}.webhook-actions{display:flex;gap:10px}.loading{text-align:center;padding:40px;color:#888;font-size:18px}.error-message{background:#f44;color:#fff;padding:15px;border-radius:8px;margin-bottom:20px}.empty-state{text-align:center;padding:60px 20px;color:#888}.empty-state p{font-size:18px;margin-bottom:20px}.webhooks-list{display:grid;gap:20px}.webhook-card{background:#2a2a2a;border:1px solid #3a3a3a;border-radius:12px;padding:20px;transition:all .3s ease}.webhook-card:hover{border-color:#0f8;box-shadow:0 0 20px #00ff881a}.webhook-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.webhook-title h3{color:#fff;margin:0 0 8px;font-size:20px}.webhook-description{color:#888;margin:0;font-size:14px}.webhook-badges{display:flex;gap:8px;flex-wrap:wrap}.auth-badge,.status-badge,.method-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.auth-none{background:#555;color:#fff}.auth-api-key{background:#4a90e2;color:#fff}.auth-bearer{background:#9b59b6;color:#fff}.auth-basic{background:#e67e22;color:#fff}.auth-hmac{background:#e74c3c;color:#fff}.status-active{background:#0f8;color:#000}.status-disabled{background:#555;color:#fff}.status-error{background:#f44;color:#fff}.method-badge{background:#3a3a3a;color:#0f8;border:1px solid #00ff88}.webhook-urls{margin-bottom:20px}.url-group{margin-bottom:12px}.url-group label{display:block;color:#888;font-size:12px;margin-bottom:4px;text-transform:uppercase;font-weight:600}.url-input{display:flex;gap:8px}.url-input input{flex:1;background:#1a1a1a;border:1px solid #3a3a3a;color:#fff;padding:8px 12px;border-radius:6px;font-size:13px;font-family:Courier New,monospace}.url-input input:focus{outline:none;border-color:#0f8}.btn-icon{background:#3a3a3a;border:1px solid #4a4a4a;color:#fff;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:16px}.btn-icon:hover{background:#4a4a4a;border-color:#0f8}.webhook-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:20px;padding:15px;background:#1a1a1a;border-radius:8px}.stat{display:flex;flex-direction:column;gap:4px}.stat-label{color:#888;font-size:12px;text-transform:uppercase;font-weight:600}.stat-value{color:#fff;font-size:16px;font-weight:600}.stat.error .stat-value{color:#f44;font-size:13px}.webhook-actions-footer{display:flex;gap:8px;flex-wrap:wrap}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary{background:#0f8;color:#000}.btn-primary:hover{background:#00cc6a;transform:translateY(-2px);box-shadow:0 4px 12px #00ff884d}.btn-secondary{background:#3a3a3a;color:#fff;border:1px solid #4a4a4a}.btn-secondary:hover{background:#4a4a4a;border-color:#0f8}.btn-success{background:#0f8;color:#000}.btn-success:hover{background:#00cc6a}.btn-warning{background:#ff9800;color:#000}.btn-warning:hover{background:#e68900}.btn-danger{background:#f44;color:#fff}.btn-danger:hover{background:#c00}.btn-sm{padding:6px 12px;font-size:12px}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.modal-content{background:#2a2a2a;border:1px solid #3a3a3a;border-radius:12px;padding:30px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #00000080}.modal-content h3{color:#0f8;margin:0 0 20px;font-size:24px}@media(max-width:768px){.webhook-manager{padding:10px}.webhook-header{flex-direction:column;gap:15px;align-items:flex-start}.webhook-card-header{flex-direction:column;gap:15px}.webhook-stats{grid-template-columns:1fr}.webhook-actions-footer{flex-direction:column}.webhook-actions-footer .btn{width:100%}}.project-modal-overlay{position:fixed;inset:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:2004;animation:fadeIn .2s ease-in}.project-modal{background:#1a1a1a;border:1px solid #00ff88;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00ff884d}.project-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #333;background:#0d0d0d}.project-modal-header h3{margin:0;color:#0f8;font-size:1.3rem}.project-modal-form{padding:20px}.form-group input[type=text],.form-group textarea{width:100%;padding:10px 12px;background:#0d0d0d;border:1px solid #333;border-radius:4px;color:#fff;font-size:14px;font-family:inherit;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#0f8}.form-group textarea{resize:vertical;min-height:80px}.color-picker{display:flex;flex-wrap:wrap;gap:10px}.color-option{width:40px;height:40px;border:2px solid transparent;border-radius:6px;cursor:pointer;transition:all .2s;padding:0}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:#fff;box-shadow:0 0 0 2px #0f8}.icon-picker{display:flex;flex-wrap:wrap;gap:8px}.icon-option{width:44px;height:44px;background:#0d0d0d;border:2px solid #333;border-radius:6px;font-size:24px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.icon-option:hover{background:#1a1a1a;border-color:#0f8;transform:scale(1.05)}.icon-option.selected{background:#0f8;border-color:#0f8;box-shadow:0 0 0 2px #0f8}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid #333}.project-manager-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2003;animation:fadeIn .2s ease-in}.project-manager-modal{background:#1a1a1a;border:1px solid #00ff88;border-radius:8px;width:90%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00ff884d}.project-manager-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #333;background:#0d0d0d}.project-manager-header h2{margin:0;color:#0f8;font-size:1.5rem}.project-manager-toolbar{display:flex;justify-content:flex-end;padding:15px 20px;border-bottom:1px solid #333;background:#0d0d0d}.btn-create{padding:10px 20px;background:#0f8;border:none;border-radius:4px;color:#000;font-weight:600;cursor:pointer;transition:all .2s}.btn-create:hover{background:#00cc6a;transform:translateY(-1px)}.project-manager-content{flex:1;overflow-y:auto;padding:20px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.project-card{background:#0d0d0d;border:1px solid #333;border-radius:8px;padding:20px;transition:all .2s}.project-card:hover{border-color:#0f8;transform:translateY(-2px);box-shadow:0 4px 12px #0f83}.project-card-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.project-card-header .project-icon{font-size:32px}.project-card-header h3{margin:0;color:#fff;font-size:1.1rem;flex:1}.project-description{color:#999;font-size:14px;margin:0 0 15px;line-height:1.5}.project-stats{display:flex;gap:15px;margin-bottom:15px;padding:12px 0;border-top:1px solid #222;border-bottom:1px solid #222}.stat{display:flex;align-items:center;gap:6px;font-size:13px}.stat-icon{font-size:16px}.stat-value{color:#0f8;font-weight:600}.stat-label{color:#666}.project-card-actions{display:flex;gap:10px}.btn-edit,.btn-delete{flex:1;padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.btn-edit{background:transparent;border:1px solid #00ff88;color:#0f8}.btn-edit:hover{background:#0f8;color:#000}.btn-delete{background:transparent;border:1px solid #ff4444;color:#f44}.btn-delete:hover{background:#f44;color:#fff}.directory-modal-overlay{position:fixed;inset:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:2005;animation:fadeIn .2s ease-in}.directory-modal{background:#1a1a1a;border:1px solid #00ff88;border-radius:8px;width:90%;max-width:400px;box-shadow:0 4px 20px #00ff884d}.directory-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #333;background:#0d0d0d}.directory-modal-header h3{margin:0;color:#0f8;font-size:1.2rem}.directory-modal-form{padding:20px}.error-message{background:#ff44441a;border:1px solid #ff4444;border-radius:4px;padding:12px;color:#f44;margin-bottom:20px;font-size:14px}.form-group{margin-bottom:20px}.form-group label{display:block;color:#fff;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input[type=text]{width:100%;padding:10px 12px;background:#0d0d0d;border:1px solid #333;border-radius:4px;color:#fff;font-size:14px;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#0f8}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:20px;border-top:1px solid #333}.btn-cancel,.btn-save{padding:10px 24px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel{background:#333;color:#fff}.btn-cancel:hover:not(:disabled){background:#444}.btn-save{background:#0f8;color:#000}.btn-save:hover:not(:disabled){background:#00cc6a;transform:translateY(-1px)}.btn-cancel:disabled,.btn-save:disabled{opacity:.5;cursor:not-allowed}.project-explorer-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease-in}.project-explorer-modal{background:#1a1a1a;border:1px solid #00ff88;border-radius:8px;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00ff884d}.project-explorer-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #333;background:#0d0d0d}.project-explorer-header h2{margin:0;color:#0f8;font-size:1.5rem}.project-explorer-toolbar{display:flex;gap:10px;padding:15px 20px;border-bottom:1px solid #333;background:#0d0d0d}.search-input{flex:1;padding:10px 15px;background:#1a1a1a;border:1px solid #333;border-radius:4px;color:#fff;font-size:14px}.search-input:focus{outline:none;border-color:#0f8}.btn-new-project{padding:10px 20px;background:#0f8;border:none;border-radius:4px;color:#000;font-weight:600;cursor:pointer;transition:all .2s}.btn-new-project:hover{background:#00cc6a;transform:translateY(-1px)}.project-explorer-content{flex:1;overflow-y:auto;padding:10px}.projects-list{display:flex;flex-direction:column;gap:5px}.project-item{border-radius:4px;overflow:hidden}.project-header{display:flex;align-items:center;gap:10px;padding:12px 15px;background:#0d0d0d;border:1px solid #333;border-radius:4px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.project-header:hover{background:#1a1a1a;border-color:#0f8}.project-icon{font-size:20px;flex-shrink:0}.project-name{flex:1;color:#fff;font-weight:500}.project-count{background:#0f8;color:#000;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;flex-shrink:0}.project-content{margin-top:5px}.directory-item{margin:2px 0}.directory-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#0d0d0d;border:1px solid #222;border-radius:4px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.directory-header:hover{background:#1a1a1a;border-color:#444}.directory-icon{font-size:16px;flex-shrink:0}.directory-name{flex:1;color:#ccc;font-size:14px}.directory-count{background:#333;color:#999;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;flex-shrink:0}.directory-content{margin-top:2px}.workflow-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#0d0d0d;border:1px solid #222;border-radius:4px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none;margin:2px 0}.workflow-item:hover{background:#1a1a1a;border-color:#0f8;transform:translate(2px)}.workflow-icon{font-size:14px;flex-shrink:0}.workflow-name{flex:1;color:#aaa;font-size:13px}.context-menu-overlay{position:fixed;inset:0;z-index:2001}.context-menu{position:fixed;background:#1a1a1a;border:1px solid #00ff88;border-radius:6px;padding:6px;min-width:180px;box-shadow:0 4px 12px #00000080;z-index:2002}.context-menu button{display:block;width:100%;padding:10px 12px;background:transparent;border:none;border-radius:4px;color:#fff;text-align:left;cursor:pointer;transition:all .2s;font-size:14px}.context-menu button:hover{background:#0f8;color:#000}.context-menu button.danger{color:#f44}.context-menu button.danger:hover{background:#f44;color:#fff}.context-menu-divider{height:1px;background:#333;margin:6px 0}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999}.spinner{width:40px;height:40px;border:3px solid #333;border-top-color:#0f8;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-state p{color:#f44;margin-bottom:15px}.btn-retry,.btn-create-first{padding:10px 20px;background:#0f8;border:none;border-radius:4px;color:#000;cursor:pointer;font-weight:500;transition:all .2s}.btn-retry:hover,.btn-create-first:hover{background:#00cc6a}.btn-close{background:transparent;border:none;color:#999;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.btn-close:hover{background:#f44;color:#fff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.organization-modal{max-width:500px}.organization-modal .form-group{margin-bottom:20px}.organization-modal label{display:block;color:#0f8;margin-bottom:8px;font-size:14px;font-weight:600}.organization-modal input,.organization-modal textarea{width:100%;background:#222;border:1px solid #444;color:#fff;padding:10px 12px;border-radius:6px;font-size:14px;font-family:inherit;transition:all .2s}.organization-modal input:focus,.organization-modal textarea:focus{outline:none;border-color:#0f8;box-shadow:0 0 0 3px #00ff881a}.organization-modal textarea{resize:vertical;min-height:80px}.organization-modal input:disabled,.organization-modal textarea:disabled{opacity:.5;cursor:not-allowed}.member-modal{max-width:500px}.member-modal small{color:#666;font-size:12px;display:block;margin-top:4px}.member-modal .role-description{background:#00ff881a;border:1px solid rgba(0,255,136,.2);padding:12px;border-radius:6px;margin-top:12px}.member-modal .role-description p{margin:0;color:#0f8;font-size:13px}.team-modal,.team-member-modal{max-width:500px}.team-member-modal small{color:#666;font-size:12px;display:block;margin-top:4px}.team-manager-content{padding:0}.teams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.team-card{background:#222;border:1px solid #333;border-radius:8px;padding:20px;transition:all .2s}.team-card:hover{border-color:#0f8;box-shadow:0 4px 12px #0f83}.team-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.team-card-header h3{margin:0;color:#fff;font-size:16px;flex:1}.team-card-actions{display:flex;gap:8px}.team-description{color:#999;font-size:13px;margin:0 0 16px}.team-members{border-top:1px solid #333;padding-top:12px}.team-members-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.members-count{color:#666;font-size:13px}.btn-small{background:#00ff881a;border:1px solid rgba(0,255,136,.3);color:#0f8;padding:4px 12px;border-radius:4px;font-size:12px;cursor:pointer}.btn-small:hover{background:#0f83}.team-members-list{display:flex;flex-direction:column;gap:8px}.team-member-item{display:flex;justify-content:space-between;align-items:center;padding:8px;background:#1a1a1a;border-radius:4px}.team-member-item .member-email{color:#ccc;font-size:12px}.team-member-more{justify-content:center;color:#666;font-style:italic}.btn-icon-small{background:transparent;border:none;color:#999;cursor:pointer;padding:2px 6px;font-size:14px}.btn-icon-small:hover{color:#ef4444}.organization-manager-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.organization-manager-modal{background:#1a1a1a;border:1px solid #00ff88;border-radius:12px;width:90%;max-width:900px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00ff884d}.organization-manager-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #333;background:linear-gradient(135deg,rgba(0,255,136,.1) 0%,transparent 100%)}.organization-manager-header h2{margin:0;color:#0f8;font-size:24px;display:flex;align-items:center;gap:12px}.btn-back{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:18px;transition:all .2s}.btn-back:hover{background:#fff3;transform:translate(-2px)}.organization-manager-content{flex:1;overflow-y:auto;padding:24px}.organizations-header,.members-header,.teams-header{display:flex;justify-content:flex-end;margin-bottom:20px}.organizations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.organization-card{background:#222;border:1px solid #333;border-radius:8px;padding:20px;cursor:pointer;transition:all .2s}.organization-card:hover{border-color:#0f8;transform:translateY(-2px);box-shadow:0 8px 24px #0f83}.org-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.org-card-header h3{margin:0;color:#fff;font-size:18px;flex:1}.org-card-actions{display:flex;gap:8px}.org-description{color:#999;font-size:14px;margin:0 0 16px;line-height:1.4}.org-card-footer{display:flex;gap:16px;padding-top:12px;border-top:1px solid #333}.org-stat{color:#666;font-size:13px}.view-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid #333}.view-tabs button{background:transparent;border:none;color:#999;padding:12px 20px;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;font-size:14px}.view-tabs button:hover{color:#fff}.view-tabs button.tab-active{color:#0f8;border-bottom-color:#0f8}.members-list{display:flex;flex-direction:column;gap:12px}.member-item{background:#222;border:1px solid #333;border-radius:8px;padding:16px;display:flex;justify-content:space-between;align-items:center}.member-info{display:flex;align-items:center;gap:12px;flex:1}.member-email{color:#fff;font-size:14px}.role-badge{padding:4px 12px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase}.role-badge.role-owner{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff}.role-badge.role-admin{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}.role-badge.role-member{background:linear-gradient(135deg,#0f8,#0c6);color:#000}.role-badge.role-viewer{background:#ffffff1a;color:#999;border:1px solid #444}.status-badge{padding:4px 12px;border-radius:4px;font-size:12px}.status-badge.status-pending{background:#fbbf2433;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.status-badge.status-suspended{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.member-actions{display:flex;gap:8px;align-items:center}.role-select{background:#333;border:1px solid #444;color:#fff;padding:6px 12px;border-radius:4px;font-size:13px;cursor:pointer}.role-select:hover{border-color:#0f8}.empty-state{text-align:center;padding:60px 20px;color:#666}.empty-state p{margin:8px 0}.empty-state-hint{font-size:14px;color:#555}.btn-icon{background:transparent;border:1px solid #444;color:#999;padding:6px 10px;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.btn-icon:hover{border-color:#0f8;color:#0f8;background:#00ff881a}.btn-icon.btn-danger:hover{border-color:#ef4444;color:#ef4444;background:#ef44441a}.loading-spinner{text-align:center;padding:40px;color:#0f8}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:12px 16px;border-radius:6px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.error-message button{background:transparent;border:none;color:#ef4444;cursor:pointer;font-size:18px;padding:0 4px}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0;padding:0;background:#0f1419;color:#e6edf3}.app-header-integrated{display:flex;justify-content:space-between;align-items:center;padding:14px 32px;background:#161b22;color:#e6edf3;box-shadow:0 2px 20px #0006;border-bottom:1px solid #30363d;gap:24px;position:relative;z-index:100}.app-header-integrated h1{margin:0;font-size:22px;font-weight:600;background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap;flex-shrink:0}.header-toolbar{display:flex;align-items:center;gap:12px;flex:1;justify-content:center}.btn-logout{padding:10px 20px;background:#1f2937;color:#10b981;border:1px solid #10b981;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:500;white-space:nowrap;flex-shrink:0}.btn-logout:hover{background:#10b981;color:#0f1419;transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0f1419;position:relative;overflow:hidden}.auth-container:before{content:"";position:absolute;width:500px;height:500px;background:radial-gradient(circle,rgba(16,185,129,.1) 0%,transparent 70%);top:-250px;right:-250px;animation:pulse 4s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.8}}.auth-box{background:#161b22;padding:48px;border-radius:16px;box-shadow:0 20px 60px #00000080;width:100%;max-width:420px;border:1px solid #30363d;position:relative;z-index:1}.auth-box h2{margin-top:0;margin-bottom:32px;color:#e6edf3;text-align:center;font-size:28px;background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:10px;font-weight:500;color:#8b949e;font-size:14px}.form-group input{width:100%;padding:14px 16px;border:1px solid #30363d;border-radius:8px;font-size:15px;transition:all .3s;box-sizing:border-box;background:#0d1117;color:#e6edf3}.form-group input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a;background:#161b22}.btn-primary{width:100%;padding:14px;background:linear-gradient(135deg,#10b981,#059669);color:#0f1419;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #10b98133}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.error-message{background:#ef44441a;color:#f87171;padding:14px;border-radius:8px;margin-bottom:20px;font-size:14px;border:1px solid rgba(239,68,68,.2)}.auth-switch{text-align:center;margin-top:24px;color:#8b949e;font-size:14px}.auth-switch a{color:#10b981;font-weight:600;text-decoration:none;transition:color .3s}.auth-switch a:hover{color:#059669;text-decoration:underline}.loading{min-height:100vh;display:flex;align-items:center;justify-content:center;font-size:24px;color:#10b981;background:#0f1419}.flow-wrapper{width:100vw;height:calc(100vh - 60px);display:flex;position:relative}.react-flow{flex-grow:1;background-color:#0d1117}.react-flow__node{font-family:inherit}.react-flow__edge-path{stroke:#30363d;stroke-width:2}.react-flow__edge.selected .react-flow__edge-path{stroke:#10b981}.react-flow__handle{background:#10b981;border:2px solid #0d1117}.react-flow__controls{background:#161b22;border:1px solid #30363d;border-radius:12px;box-shadow:0 4px 12px #0000004d;overflow:hidden}.react-flow__controls button{background:#161b22;border-bottom:1px solid #30363d;width:40px;height:40px;transition:all .3s}.react-flow__controls button:last-child{border-bottom:none}.react-flow__controls button svg{fill:#10b981;width:18px;height:18px}.react-flow__controls button:hover{background:#21262d}.react-flow__controls button:hover svg{fill:#059669;transform:scale(1.1)}.react-flow__controls button:disabled{opacity:.3}.react-flow__controls button:disabled svg{fill:#6b7280}.react-flow__minimap{background:#161b22;border:1px solid #30363d;border-radius:12px;box-shadow:0 4px 12px #0000004d}.react-flow__minimap-mask{fill:#10b9811a}.react-flow__minimap-node{fill:#21262d;stroke:#10b981;stroke-width:2}.compact-toolbar{display:none}.dropdown-container{position:relative;display:inline-block}.dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;background:#161b22;border:1px solid #30363d;border-radius:8px;box-shadow:0 8px 24px #00000080;min-width:200px;z-index:100;padding:8px 0;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{width:100%;padding:12px 16px;background:transparent;border:none;color:#e6edf3;text-align:left;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;display:block}.dropdown-item:hover{background:#21262d;color:#10b981}.dropdown-item.danger:hover{background:#ef44441a;color:#f87171}.dropdown-divider{height:1px;background:#30363d;margin:8px 0}.workflow-name-input{padding:10px 14px;border:1px solid #30363d;border-radius:8px;font-size:14px;min-width:220px;background:#0d1117;color:#e6edf3;transition:all .3s}.workflow-name-input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a;background:#161b22}.btn-toolbar{padding:10px 18px;border:1px solid #30363d;border-radius:8px;cursor:pointer;font-weight:500;font-size:14px;transition:all .3s;white-space:nowrap;background:#21262d;color:#e6edf3}.btn-toolbar:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #0000004d}.btn-toolbar:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-toolbar.btn-primary{background:linear-gradient(135deg,#10b981,#059669);color:#0f1419;border-color:#10b981}.btn-toolbar.btn-primary:hover:not(:disabled){box-shadow:0 6px 16px #10b98166}.btn-toolbar.btn-success{background:#10b981;color:#0f1419;border-color:#10b981}.btn-toolbar.btn-success:hover:not(:disabled){background:#059669;box-shadow:0 6px 16px #10b98166}.btn-toolbar.btn-info{background:#3b82f6;color:#fff;border-color:#3b82f6}.btn-toolbar.btn-info:hover:not(:disabled){background:#2563eb;box-shadow:0 6px 16px #3b82f666}.btn-toolbar.btn-help{background:#8b5cf61a;color:#a78bfa;border-color:#8b5cf64d}.btn-toolbar.btn-help:hover:not(:disabled){background:#8b5cf633;border-color:#8b5cf6;box-shadow:0 6px 16px #8b5cf666}.btn-toolbar.btn-credentials{background:#10b9811a;color:#10b981;border-color:#10b9814d}.btn-toolbar.btn-credentials:hover:not(:disabled){background:#10b98133;border-color:#10b981;box-shadow:0 6px 16px #10b98166}.btn-toolbar.btn-webhooks{background:#3b82f61a;color:#3b82f6;border-color:#3b82f64d}.btn-toolbar.btn-webhooks:hover:not(:disabled){background:#3b82f633;border-color:#3b82f6;box-shadow:0 6px 16px #3b82f666}.btn-toolbar.btn-danger{background:#ef44441a;color:#f87171;border-color:#ef44444d}.btn-toolbar.btn-danger:hover:not(:disabled){background:#ef444433;border-color:#ef4444;box-shadow:0 6px 16px #ef44444d}.nodes-bar{display:none}.node-config-panel{position:absolute;right:20px;top:20px;width:380px;max-width:calc(100vw - 40px);max-height:calc(100vh - 140px);background:#161b22;border-radius:12px;box-shadow:0 8px 32px #00000080;z-index:20;display:flex;flex-direction:column;border:1px solid #30363d}.config-header{padding:20px 24px;border-bottom:1px solid #30363d;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,rgba(16,185,129,.1) 0%,transparent 100%)}.config-header h3{margin:0;font-size:18px;color:#10b981;font-weight:600}.btn-close{background:#ef44441a;border:1px solid rgba(239,68,68,.2);font-size:20px;cursor:pointer;color:#f87171;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .3s}.btn-close:hover{background:#ef444433;border-color:#ef4444}.config-content{padding:24px;overflow-y:auto}.config-field{margin-bottom:20px}.config-field label{display:block;margin-bottom:8px;font-weight:500;font-size:14px;color:#8b949e}.config-field input,.config-field textarea,.config-field select{width:100%;padding:12px 14px;border:1px solid #30363d;border-radius:8px;font-size:14px;font-family:inherit;box-sizing:border-box;background:#0d1117;color:#e6edf3;transition:all .3s}.config-field input:focus,.config-field textarea:focus,.config-field select:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a;background:#161b22}.execution-panel{position:absolute;right:20px;top:20px;width:480px;max-width:calc(100vw - 40px);max-height:calc(100vh - 140px);background:#161b22;border-radius:12px;box-shadow:0 8px 32px #00000080;z-index:20;display:flex;flex-direction:column;border:1px solid #30363d}.execution-header{padding:20px 24px;border-bottom:1px solid #30363d;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,rgba(16,185,129,.1) 0%,transparent 100%)}.execution-header h3{margin:0;font-size:18px;color:#10b981;font-weight:600}.execution-summary{padding:20px 24px;border-bottom:1px solid #30363d}.status-badge{display:inline-block;padding:8px 16px;border-radius:20px;color:#0f1419;font-weight:600;font-size:12px;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.execution-time{font-size:13px;color:#8b949e}.execution-error{padding:16px 24px;background:#ef44441a;color:#f87171;font-size:14px;border-left:4px solid #ef4444;margin:0}.node-executions{padding:20px 24px;overflow-y:auto;flex:1}.node-executions h4{margin:0 0 16px;font-size:14px;color:#8b949e;text-transform:uppercase;letter-spacing:.5px}.node-execution-item{background:#0d1117;padding:16px;border-radius:8px;margin-bottom:14px;border:1px solid #30363d;border-left:4px solid #10b981}.node-execution-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.node-name{font-weight:600;font-size:14px;color:#e6edf3}.node-status{font-size:11px;font-weight:600;text-transform:uppercase;color:#10b981}.execution-details{margin-top:10px;font-size:13px}.execution-details summary{cursor:pointer;font-weight:500;color:#10b981;margin-bottom:10px;transition:color .3s}.execution-details summary:hover{color:#059669}.execution-details pre{background:#161b22;padding:14px;border-radius:6px;overflow-x:auto;font-size:12px;margin:10px 0 0;border:1px solid #30363d;color:#e6edf3}.node-error{background:#ef44441a;padding:12px;border-radius:6px;color:#f87171;font-size:13px;margin-top:10px;border:1px solid rgba(239,68,68,.2)}.final-result{border-top:1px solid #30363d;padding:20px 24px;background:#10b9810d}.custom-node{font-family:inherit;color:#e6edf3;cursor:grab;background:#161b22;border:1px solid #30363d;border-radius:8px;padding:12px 16px;box-shadow:0 4px 12px #0000004d;transition:all .3s}.custom-node:hover{border-color:#10b981;box-shadow:0 6px 20px #10b98133}.custom-node:active{cursor:grabbing}.custom-node.selected{box-shadow:0 0 0 3px #10b98166!important;border-color:#10b981!important}.nodes-bar::-webkit-scrollbar,.config-content::-webkit-scrollbar,.node-executions::-webkit-scrollbar{width:8px}.nodes-bar::-webkit-scrollbar-track,.config-content::-webkit-scrollbar-track,.node-executions::-webkit-scrollbar-track{background:#0d1117;border-radius:4px}.nodes-bar::-webkit-scrollbar-thumb,.config-content::-webkit-scrollbar-thumb,.node-executions::-webkit-scrollbar-thumb{background:#30363d;border-radius:4px}.nodes-bar::-webkit-scrollbar-thumb:hover,.config-content::-webkit-scrollbar-thumb:hover,.node-executions::-webkit-scrollbar-thumb:hover{background:#10b981}.btn-toolbar.btn-history{background:#3b82f61a;color:#3b82f6;border-color:#3b82f64d}.btn-toolbar.btn-history:hover:not(:disabled){background:#3b82f633;border-color:#3b82f6;box-shadow:0 6px 16px #3b82f666}.btn-toolbar.btn-mock{background:#a78bfa1a;color:#a78bfa;border-color:#a78bfa4d}.btn-toolbar.btn-mock:hover:not(:disabled){background:#a78bfa33;border-color:#a78bfa;box-shadow:0 6px 16px #a78bfa66}.mock-indicator{padding:8px 16px;background:#a78bfa26;border:1px solid rgba(167,139,250,.4);border-radius:6px;color:#a78bfa;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px;animation:pulse-mock 2s ease-in-out infinite}@keyframes pulse-mock{0%,to{opacity:1}50%{opacity:.7}}.btn-toolbar.btn-database{background:linear-gradient(135deg,#0f8,#0c6);color:#000;border:none;font-weight:600}.btn-toolbar.btn-database:hover{background:linear-gradient(135deg,#0d7,#0b5);transform:translateY(-1px)}.btn-toolbar.btn-projects{background:#fbbf241a;color:#fbbf24;border-color:#fbbf244d}.btn-toolbar.btn-projects:hover:not(:disabled){background:#fbbf2433;border-color:#fbbf24;box-shadow:0 6px 16px #fbbf2466}.btn-toolbar.btn-organizations{background:#8b5cf61a;color:#8b5cf6;border-color:#8b5cf64d}.btn-toolbar.btn-organizations:hover:not(:disabled){background:#8b5cf633;border-color:#8b5cf6;box-shadow:0 6px 16px #8b5cf666}
