.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.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__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.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.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.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:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{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:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.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.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@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;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.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-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.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:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.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-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.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:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));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:var(--xy-resize-background-color, var(--xy-resize-background-color-default));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%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#20242a;background:#f5f6f8;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #f5f6f8;--surface: #ffffff;--surface-muted: #f0f2f4;--line: #dfe3e8;--line-strong: #cdd2d9;--text: #20242a;--muted: #68717d;--primary: #147a54;--primary-strong: #0c6342;--primary-soft: #e4f3ec;--danger: #c93d3d;--danger-soft: #fdeaea;--warning: #a86512;--warning-soft: #fff2dc;--blue: #3269b0;--sidebar: #22262b}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}button,input,textarea,select{font:inherit;letter-spacing:0}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid rgba(20,122,84,.35);outline-offset:1px}.app-shell{display:flex;width:100%;height:100dvh;overflow:hidden;background:var(--bg)}.sidebar{width:92px;flex:0 0 92px;display:flex;flex-direction:column;align-items:stretch;padding:14px 10px 12px;background:var(--sidebar);color:#cfd3d8;border-right:1px solid #16191c;z-index:20}.brand{display:flex;align-items:center;gap:9px;height:42px;padding:0 5px 12px;overflow:hidden}.brand-mark{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:6px;background:#20a370;color:#fff;font-weight:800;font-size:16px}.brand-name{font-weight:700;color:#fff;white-space:nowrap;display:none}.primary-nav{display:flex;flex-direction:column;gap:5px;margin-top:12px}.nav-item{height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:6px;color:#aeb5bd;text-decoration:none;font-size:11px}.nav-item:hover{background:#2e3339;color:#fff}.nav-item.active{background:#343a41;color:#65d0a4;box-shadow:inset 2px 0 #37b982}.sidebar-footer{margin-top:auto;color:#747d87;text-align:center;font-size:10px}.main-content{flex:1;min-width:0;min-height:0;overflow:hidden}.button,.icon-button{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.button{min-height:34px;padding:0 12px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}.button:hover{background:#f7f8f9;border-color:#adb5bf}.button:disabled{cursor:not-allowed;color:#a7aeb7;background:#f4f5f6}.button.primary{color:#fff;border-color:var(--primary);background:var(--primary)}.button.primary:hover{background:var(--primary-strong);border-color:var(--primary-strong)}.button.primary:disabled{color:#98a0a9;border-color:var(--line);background:#eef0f2}.button.ghost{border-color:transparent;background:transparent}.button.danger{color:var(--danger)}.button.danger:hover{background:var(--danger-soft)}.button.small{min-height:28px;padding:0 9px;font-size:12px}.icon-button{width:32px;height:32px;padding:0;border-radius:6px;display:inline-grid;place-items:center}.icon-button:hover{background:#eef1f3;border-color:#adb5bf}.workflow-page{height:100%;display:flex;flex-direction:column;overflow:hidden}.workflow-toolbar{height:56px;flex:0 0 56px;display:flex;align-items:center;gap:8px;padding:0 14px;background:var(--surface);border-bottom:1px solid var(--line);z-index:15}.workflow-picker-wrap{display:flex;align-items:center;gap:7px;position:relative;color:#4c5560}.workflow-picker-wrap select{min-width:142px;max-width:200px;height:34px;padding:0 28px 0 8px;border:0;background:transparent;appearance:none;font-weight:600;color:var(--text);cursor:pointer}.select-chevron{position:absolute;right:41px;pointer-events:none;color:#7a838e}.toolbar-divider{width:1px;height:24px;background:var(--line);margin:0 4px}.workflow-name-input{width:min(260px,25vw);height:34px;padding:0 8px;border:1px solid transparent;border-radius:5px;background:transparent;font-weight:600}.workflow-name-input:hover,.workflow-name-input:focus{border-color:var(--line-strong);background:#fafbfc}.run-summary{color:var(--muted);font-size:12px;white-space:nowrap}.toolbar-spacer{flex:1}.toolbar-error{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--danger);font-size:12px}.workflow-workspace{position:relative;flex:1;min-height:0;overflow:hidden}.canvas-wrap{position:absolute;inset:0;background:#f5f6f8}.react-flow__controls{border:1px solid var(--line);box-shadow:0 3px 10px #1e252c14;border-radius:6px;overflow:hidden}.react-flow__controls-button{border-color:var(--line)!important;background:#fff!important}.react-flow__minimap{width:160px!important;height:100px!important;border:1px solid var(--line);border-radius:6px;box-shadow:0 3px 10px #1e252c0f;overflow:hidden}.react-flow__edge-path{transition:stroke .15s ease}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--primary)!important;stroke-width:2.2!important}.agent-node{width:264px;min-height:142px;border:1px solid #cfd4db;border-top:3px solid #9099a5;border-radius:7px;background:#fff;box-shadow:0 5px 16px #20262d14;overflow:hidden;transition:box-shadow .12s ease,border-color .12s ease}.agent-node:hover{box-shadow:0 7px 20px #20262d1f}.agent-node.selected{border-color:var(--primary);box-shadow:0 0 0 2px #147a5429,0 7px 20px #20262d1c}.agent-node.node-status-running{border-top-color:var(--blue)}.agent-node.node-status-succeeded{border-top-color:var(--primary)}.agent-node.node-status-failed,.agent-node.node-status-blocked{border-top-color:var(--danger)}.agent-node-head{height:49px;display:flex;align-items:center;gap:9px;padding:9px 10px 8px;border-bottom:1px solid #edf0f2}.agent-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:6px;color:#fff;background:#49525e;flex:0 0 30px}.node-status-running .agent-icon{background:var(--blue)}.node-status-succeeded .agent-icon{background:var(--primary)}.node-status-failed .agent-icon,.node-status-blocked .agent-icon{background:var(--danger)}.agent-title-wrap{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.agent-title-wrap strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-title-wrap span{color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-run-button{width:28px;height:28px;color:var(--primary);opacity:0}.agent-node:hover .node-run-button,.agent-node.selected .node-run-button{opacity:1}.agent-node>p{height:52px;margin:0;padding:10px 11px 5px;color:#535d68;font-size:11px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.agent-node-foot{height:33px;display:flex;align-items:center;gap:12px;padding:0 11px;color:#727b86;font-size:10px}.agent-node-foot span{display:inline-flex;align-items:center;gap:4px}.agent-node-foot .node-dot{margin-left:auto;width:8px;height:8px;border-radius:50%;background:#aeb4bd}.flow-handle{width:11px!important;height:11px!important;background:#fff!important;border:2px solid #7e8894!important}.flow-handle:hover{border-color:var(--primary)!important}.node-dot.status-running,.status-badge.status-running i{background:var(--blue)}.node-dot.status-succeeded,.status-badge.status-succeeded i{background:var(--primary)}.node-dot.status-failed,.node-dot.status-blocked,.status-badge.status-failed i,.status-badge.status-blocked i{background:var(--danger)}.node-dot.status-ready,.status-badge.status-ready i{background:#aa6b18}.inspector-panel{position:absolute;top:12px;right:12px;bottom:12px;width:342px;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:0 12px 28px #1b212724;z-index:8;overflow:hidden}.with-run-panel .inspector-panel{bottom:330px}.panel-titlebar,.run-panel-head{height:48px;flex:0 0 48px;display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 14px;border-bottom:1px solid var(--line);background:#fafbfc}.panel-titlebar>div,.run-panel-head>div{display:flex;align-items:center;gap:8px}.inspector-scroll{flex:1;min-height:0;overflow-y:auto;padding:14px}.field-label{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;color:#4f5965;font-size:12px;font-weight:600}.field-label input:not([type=range]),.field-label textarea,.field-label select{width:100%;border:1px solid var(--line-strong);border-radius:5px;background:#fff;color:var(--text)}.field-label input:not([type=range]),.field-label select{height:36px;padding:0 10px}.field-label textarea{resize:vertical;padding:9px 10px;line-height:1.5}.field-label input:focus,.field-label textarea:focus,.field-label select:focus{border-color:var(--primary)}.prompt-editor{min-height:140px}.debug-input{min-height:76px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-section{margin:2px 0 16px}.field-section-title{display:flex;align-items:center;gap:6px;margin-bottom:8px;color:#4f5965;font-size:12px;font-weight:600}.checkbox-list{display:flex;flex-direction:column;gap:6px}.checkbox-row{min-height:42px;display:flex;align-items:center;gap:10px;padding:6px 8px;border:1px solid var(--line);border-radius:5px;background:#fafbfc;cursor:pointer}.checkbox-row input{width:15px;height:15px;accent-color:var(--primary)}.checkbox-row>span{display:flex;flex-direction:column;gap:2px;min-width:0}.checkbox-row strong{font-size:12px}.checkbox-row small{color:var(--muted);font-size:10px}.empty-inline{color:var(--muted);font-size:12px}.inspector-actions{height:56px;flex:0 0 56px;display:flex;justify-content:space-between;align-items:center;padding:0 12px;border-top:1px solid var(--line)}.run-panel{position:absolute;left:12px;right:12px;bottom:12px;height:306px;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:0 12px 28px #1b212724;z-index:7;overflow:hidden}.run-panel-actions{margin-left:auto}.run-panel-body{flex:1;min-height:0;display:grid;grid-template-columns:220px minmax(260px,.8fr) minmax(340px,1.2fr)}.node-run-list,.event-list{min-height:0;overflow-y:auto;border-right:1px solid var(--line)}.node-run-list{padding:7px}.node-run-list>button{width:100%;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 7px;border:0;border-radius:5px;background:transparent;cursor:pointer;text-align:left}.node-run-list>button:hover,.node-run-list>button.active{background:#edf4f1}.node-run-list>button>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600}.event-list{padding:7px 10px;background:#fafbfc}.event-row{display:grid;grid-template-columns:58px 1fr;gap:7px;padding:6px 0;border-bottom:1px solid #eceff2}.event-row time{color:#8a929c;font-size:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.event-row>div{display:flex;flex-direction:column;gap:2px;min-width:0}.event-row strong{color:#47515d;font-size:11px;font-weight:600}.event-row small{color:#8a929c;font-size:9px}.event-error strong{color:var(--danger)}.event-warn strong{color:var(--warning)}.result-view{min-width:0;display:flex;flex-direction:column}.result-tabs{height:36px;flex:0 0 36px;display:flex;align-items:end;gap:2px;padding:0 10px;border-bottom:1px solid var(--line)}.result-tabs button{height:31px;padding:0 10px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.result-tabs button.active{color:var(--primary);border-color:var(--primary)}.result-view pre{flex:1;min-height:0;margin:0;padding:12px;overflow:auto;white-space:pre-wrap;word-break:break-word;color:#35404a;background:#fff;font:11px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}.run-empty{display:grid;place-items:center;height:100%;min-height:80px;color:var(--muted);font-size:12px}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 6px;border-radius:4px;background:#eef0f2;color:#5d6671;font-size:10px;white-space:nowrap}.status-badge i{width:6px;height:6px;border-radius:50%;background:#959da7}.status-badge.status-succeeded{color:#106a48;background:var(--primary-soft)}.status-badge.status-running{color:#275b9a;background:#e8f0fb}.status-badge.status-failed,.status-badge.status-blocked{color:#a72f2f;background:var(--danger-soft)}.status-badge.status-ready{color:#87520d;background:var(--warning-soft)}.settings-page{height:100%;display:flex;flex-direction:column;overflow:hidden;background:#f7f8f9}.page-header{height:66px;flex:0 0 66px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:#fff;border-bottom:1px solid var(--line)}.page-header>div{display:flex;align-items:center;gap:11px}.page-header h1,.editor-heading h2{margin:0;font-size:16px;line-height:1.25}.page-header span,.editor-heading span{color:var(--muted);font-size:11px}.page-header>div>div,.editor-heading>div{display:flex;flex-direction:column;gap:2px}.settings-layout{flex:1;min-height:0;display:grid;grid-template-columns:300px minmax(0,1fr)}.config-list{min-height:0;overflow-y:auto;padding:12px;border-right:1px solid var(--line);background:#f1f3f5}.config-list>button{width:100%;height:60px;display:flex;align-items:center;gap:10px;margin-bottom:7px;padding:8px 10px;border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer;text-align:left}.config-list>button:hover{background:#fff;border-color:var(--line)}.config-list>button.active{background:#fff;border-color:#b8c9c1;box-shadow:inset 3px 0 var(--primary)}.config-icon{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:6px;background:#e5e9ed;color:#4c5864}.config-list>button>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.config-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.config-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px}.config-list i{width:7px;height:7px;border-radius:50%;background:#b5bbc2}.config-list i.connected{background:var(--primary)}.config-list i.missing{background:#c88924}.config-editor{min-width:0;overflow-y:auto;padding:26px 32px;background:#fff}.editor-heading{min-height:44px;display:flex;align-items:start;justify-content:space-between;margin-bottom:22px;padding-bottom:15px;border-bottom:1px solid var(--line)}.form-message{max-width:360px;color:var(--primary)!important;text-align:right}.form-grid{max-width:760px;display:grid;grid-template-columns:1fr 1fr;gap:2px 18px}.form-grid .full{grid-column:1 / -1}.form-grid input[type=range]{width:100%;accent-color:var(--primary)}.model-settings-layout .config-list{background:#eef1f3}.model-editor{padding-bottom:34px}.model-actions{align-items:center}.model-actions>div{display:flex;gap:8px}.channel-models{max-width:760px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.channel-model-list{display:flex;flex-direction:column;gap:6px}.channel-model-row{min-height:52px;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer;transition:border-color .12s ease,background .12s ease}.channel-model-row:hover,.channel-model-row.selected{border-color:#a8c2b5;background:#fbfdfc}.model-row-icon{width:28px;height:28px;display:grid;place-items:center;flex:0 0 28px;border-radius:5px;color:#356b55;background:var(--primary-soft)}.channel-model-row>span:nth-child(2){min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.channel-model-row strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-model-row small{color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-detail{margin-top:18px;padding:16px 0 0;border-top:1px solid var(--line)}.model-detail .form-grid{max-width:760px}.model-detail-actions{display:flex;justify-content:flex-end;margin-top:4px}.switch{width:34px;height:20px;padding:2px;border:1px solid #c7cdd4;border-radius:10px;background:#dfe3e7;cursor:pointer}.switch span{display:block;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000002e;transition:transform .12s ease}.switch.on{border-color:var(--primary);background:var(--primary)}.switch.on span{transform:translate(14px)}.segmented-control{width:fit-content;display:inline-flex;gap:2px;margin:0 0 22px;padding:3px;border:1px solid var(--line);border-radius:6px;background:#f2f4f5}.segmented-control button{height:28px;padding:0 12px;border:0;border-radius:4px;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.segmented-control button.active{background:#fff;color:var(--text);box-shadow:0 1px 3px #191f241f}.setting-check{margin-top:2px}.capability-notice{padding:10px 12px;border:1px solid #e8d4ad;border-radius:5px;background:#fff8e8;color:#745118;font-size:11px;line-height:1.5}.editor-actions{max-width:760px;display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.skill-page-header{gap:14px}.skill-page-header>.page-tabs{margin:0 0 0 auto}.skill-list .skill-source-builtin{color:#2d649f;background:#e7f0fb}.skill-list .skill-source-custom{color:#116e4b;background:#e5f4ec}.skill-toolbar{max-width:760px;display:flex;align-items:center;gap:8px;margin:-6px 0 16px}.skill-mode{margin-right:auto;display:inline-flex;align-items:center;gap:5px;color:#48705d;font-size:11px;font-weight:600}.skill-document-editor{min-height:340px;resize:vertical;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}.skill-capabilities{max-width:760px}.skill-capabilities .checkbox-row.unavailable{color:var(--muted)}.skill-capabilities .checkbox-row.unavailable small{color:#9a671e}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.runs-table-wrap{flex:1;min-height:0;overflow:auto;padding:18px 22px}.runs-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);font-size:12px}.runs-table th{height:38px;padding:0 12px;border-bottom:1px solid var(--line);background:#f1f3f5;color:#626b76;font-weight:600;text-align:left}.runs-table td{height:58px;padding:8px 12px;border-bottom:1px solid #e8ebee;color:#4d5762}.runs-table td:first-child{display:flex;flex-direction:column;justify-content:center;gap:3px}.runs-table td small{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.page-loading{height:100%;display:grid;place-items:center;color:var(--muted);background:var(--bg)}.projects-layout{flex:1;min-height:0;display:grid;grid-template-columns:300px minmax(0,1fr)}.project-list{min-height:0;overflow-y:auto;padding:12px;border-right:1px solid var(--line);background:#f1f3f5}.project-list>button{width:100%;min-height:66px;display:flex;align-items:center;gap:10px;margin-bottom:7px;padding:9px 10px;border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer;text-align:left}.project-list>button:hover{background:#fff;border-color:var(--line)}.project-list>button.active{background:#fff;border-color:#b8c9c1;box-shadow:inset 3px 0 var(--primary)}.project-icon,.workflow-directory-icon{display:grid;place-items:center;color:#4f6b84;background:#e6edf3;border-radius:6px}.project-icon{width:34px;height:34px;flex:0 0 34px}.project-list>button>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:3px}.project-list strong,.project-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-list strong{font-size:12px}.project-list small{color:var(--muted);font-size:10px}.project-content{min-width:0;overflow-y:auto;padding:28px 34px 40px;background:#fff}.project-heading{max-width:820px;display:flex;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}.project-heading h2{margin:5px 0 6px;font-size:21px}.project-heading p{margin:0;color:var(--muted);font-size:12px}.eyebrow{color:var(--primary);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.project-form{max-width:820px;display:grid;grid-template-columns:minmax(200px,.75fr) minmax(300px,1.25fr);gap:18px;padding-top:22px}.project-form textarea{min-height:100px;resize:vertical}.project-actions{max-width:820px;display:flex;justify-content:flex-end;gap:8px;padding:5px 0 26px;border-bottom:1px solid var(--line)}.workflow-directory{max-width:820px;padding-top:24px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.section-heading h3{margin:0 0 2px;font-size:14px}.section-heading span{color:var(--muted);font-size:11px}.workflow-directory-list{display:flex;flex-direction:column;gap:6px}.workflow-directory-list>button{width:100%;min-height:58px;display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer;text-align:left}.workflow-directory-list>button:hover{border-color:#9db7aa;background:#fbfdfc}.workflow-directory-icon{width:30px;height:30px;flex:0 0 30px;color:var(--primary);background:var(--primary-soft)}.workflow-directory-list>button>span:nth-child(2){min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.workflow-directory-list strong{font-size:12px}.workflow-directory-list small{color:var(--muted);font-size:10px}.empty-state{display:grid;place-items:center;min-height:120px;padding:20px;color:var(--muted);font-size:12px;text-align:center}@media(max-width:980px){.sidebar{width:70px;flex-basis:70px}.nav-item{font-size:10px}.workflow-name-input,.run-summary{display:none}.settings-layout,.projects-layout{grid-template-columns:240px minmax(0,1fr)}.config-editor{padding:22px 20px}.run-panel-body{grid-template-columns:170px 1fr}.result-view{display:none}}@media(max-width:720px){.app-shell{flex-direction:column-reverse}.sidebar{width:100%;height:58px;flex:0 0 58px;flex-direction:row;padding:5px 8px;border-right:0;border-top:1px solid #16191c}.brand,.sidebar-footer{display:none}.primary-nav{width:100%;flex-direction:row;justify-content:space-around;margin:0}.primary-nav{justify-content:flex-start;gap:2px;overflow-x:auto;scrollbar-width:none}.primary-nav::-webkit-scrollbar{display:none}.nav-item{width:52px;min-width:52px;height:48px}.nav-item.active{box-shadow:inset 0 -2px #37b982}.workflow-toolbar{padding:0 8px}.workflow-picker-wrap>svg:first-child,.toolbar-divider{display:none}.workflow-picker-wrap select{min-width:104px;max-width:116px;overflow:hidden;text-overflow:ellipsis}.toolbar-error{display:none}.workflow-toolbar .button{width:34px;min-width:34px;padding:0;font-size:0}.workflow-toolbar .button svg{width:16px;height:16px}.inspector-panel{inset:auto 8px 8px;width:auto;height:72%}.with-run-panel .inspector-panel{bottom:8px}.run-panel{left:8px;right:8px;bottom:8px;height:54%}.run-panel-body{grid-template-columns:130px 1fr}.settings-layout,.projects-layout{display:flex;flex-direction:column}.project-list{flex:0 0 126px;display:flex;gap:7px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}.project-list>button{min-width:220px}.project-content{padding:20px 14px 30px}.project-form{grid-template-columns:1fr;gap:0}.project-heading{display:block}.project-heading .form-message{display:block;margin-top:10px;text-align:left}.config-list{flex:0 0 126px;display:flex;gap:7px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}.config-list>button{min-width:220px}.config-editor{padding:18px 14px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.runs-table-wrap{padding:10px}.skill-page-header{padding:0 12px}.skill-page-header>div:first-child span{display:none}.skill-page-header .page-tabs{margin-left:auto}.skill-toolbar{flex-wrap:wrap}.skill-mode{width:100%}.runs-table th:nth-child(2),.runs-table td:nth-child(2),.runs-table th:nth-child(5),.runs-table td:nth-child(5){display:none}}
