.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{color:#172033;background:#f6f8fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--border: #d8e0ea;--muted: #64748b;--panel: #ffffff;--panel-soft: #f8fafc;--accent: #0f766e;--accent-soft: #ccfbf1;--danger: #dc2626;--shadow: 0 10px 28px rgba(15, 23, 42, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f6f8fb}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.app-sidebar{position:sticky;top:0;z-index:30;display:flex;flex-direction:column;gap:18px;height:100vh;padding:18px 14px;border-right:1px solid var(--border);background:#fff}.app-main{min-width:0}.brand,.nav-links a,.nav-status{display:inline-flex;align-items:center;gap:8px}.brand{min-height:44px;padding:4px;border-radius:8px;font-weight:760;color:#0f172a}.brand:hover{background:#f8fafc}.brand-logo-plate{display:inline-flex;align-items:center;justify-content:center;width:132px;height:32px;flex:0 0 auto;padding:0 10px;border-radius:7px;background:#101820;box-shadow:inset 0 0 0 1px #ffffff14}.brand-logo{display:block;width:108px;height:auto}.brand-name{font-size:.94rem;line-height:1;white-space:nowrap}.nav-links{display:flex;flex-direction:column;gap:8px}.nav-links a{min-height:38px;padding:0 10px;border-radius:7px;color:#475569;font-size:.9rem}.nav-links a.active,.nav-links a:hover{background:#eef6f5;color:var(--accent)}.nav-status{margin-top:auto;margin-left:auto;padding:0 8px;color:#475569;font-size:.86rem}.app-sidebar .nav-status{margin-left:0}.page-content{width:min(1480px,calc(100% - 36px));margin:0 auto;padding:22px 0 36px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.page-header h1{margin:2px 0 6px;color:#0f172a;font-size:clamp(1.7rem,2.5vw,2.35rem);line-height:1.1;letter-spacing:0}.page-header p{max-width:760px;margin:0;color:var(--muted)}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:8px;color:#64748b;font-size:.82rem;font-weight:720}.breadcrumbs a{color:#0f766e}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs>*+*:before{content:"/";margin-right:7px;color:#94a3b8}.eyebrow{display:inline-flex;margin:0 0 4px;color:var(--accent);font-size:.74rem;font-weight:760;letter-spacing:0;text-transform:uppercase}.page-meta,.page-actions,.section-actions,.builder-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.page-meta{gap:7px;margin-top:12px;color:var(--muted);font-size:.9rem}.page-meta>span:not(.chip),.page-meta>a:not(.chip){display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#475569;font-size:.78rem;font-weight:720;white-space:nowrap}.page-meta .chip{min-height:24px}.page-actions{justify-content:flex-end}.work-job-tabs{display:inline-flex;align-items:center;gap:4px;margin:-6px 0 18px;padding:4px;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 8px 18px #0f172a0a}.work-job-tabs a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:0 12px;border-radius:7px;color:#475569;font-size:.88rem;font-weight:760}.work-job-tabs a.active,.work-job-tabs a:hover{background:#eef6f5;color:var(--accent)}.primary-button,.secondary-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;border:1px solid transparent;border-radius:7px;font-weight:700}.primary-button{padding:0 14px;background:var(--accent);color:#fff;box-shadow:0 8px 18px #0f766e2e}.primary-button:disabled{cursor:not-allowed;opacity:.62}.secondary-button{padding:0 12px;border-color:var(--border);background:#fff;color:#334155}.secondary-button.danger{border-color:#fecaca;color:var(--danger)}.secondary-button.warning{border-color:#fde68a;color:#b45309}.secondary-button:disabled{cursor:not-allowed;opacity:.58}.secondary-button.compact{min-height:31px;padding:0 9px;font-size:.86rem}.icon-button{width:30px;min-height:30px;border-color:var(--border);background:#fff;color:#475569}.icon-button.danger{color:var(--danger)}.icon-button.warning{color:#b45309}.job-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.job-actions-compact{justify-content:flex-end;gap:6px}.job-actions-panel{align-items:stretch}.job-actions-panel .primary-button,.job-actions-panel .secondary-button{flex:1 1 120px}.toast-viewport{position:fixed;top:16px;right:16px;z-index:120;display:grid;width:min(390px,calc(100vw - 32px));gap:10px;pointer-events:none}.toast-message{display:grid;grid-template-columns:20px minmax(0,1fr) 30px;align-items:start;gap:10px;min-height:70px;padding:13px;border:1px solid #dbe3ef;border-left-width:4px;border-radius:8px;background:#fff;color:#172033;box-shadow:0 18px 42px #0f172a2e;pointer-events:auto;animation:toast-enter .16s ease-out}.toast-error{border-color:#fecaca;border-left-color:var(--danger)}.toast-info{border-left-color:#2563eb}.toast-success{border-left-color:#15803d}.toast-message>svg{margin-top:2px}.toast-error>svg{color:var(--danger)}.toast-info>svg{color:#2563eb}.toast-success>svg{color:#15803d}.toast-copy{min-width:0}.toast-copy strong{display:block;margin-bottom:3px;color:#0f172a;font-size:.88rem}.toast-copy p{margin:0;color:#475569;font-size:.84rem;line-height:1.4;overflow-wrap:anywhere}.toast-dismiss{display:inline-flex;align-items:center;justify-content:center;width:30px;min-height:30px;border:1px solid transparent;border-radius:7px;background:transparent;color:#64748b}.toast-dismiss:hover,.toast-dismiss:focus-visible{border-color:var(--border);background:#f8fafc;color:#0f172a}@keyframes toast-enter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.panel-section{margin-bottom:16px;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.section-header,.create-item-header,.builder-toolbar,.inspector-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-header{margin-bottom:12px}.section-header h2,.create-item-header h2,.inspector-heading h2{margin:0 0 4px;color:#0f172a;font-size:1rem}.section-header p,.create-item-header p,.inspector-heading p{margin:0;color:var(--muted);font-size:.9rem}.chip{display:inline-flex;align-items:center;justify-content:center;min-height:22px;max-width:100%;padding:0 8px;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;color:#475569;font-size:.74rem;font-weight:750;white-space:nowrap}.status-ready,.status-complete,.status-done,.workflow-active{border-color:#bbf7d0;background:#ecfdf3;color:#15803d}.status-running,.workflow-running{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.status-blocked,.status-pending,.status-queued,.workflow-ready,.workflow-pending,.workflow-paused_with_failures{border-color:#fde68a;background:#fffbeb;color:#b45309}.status-failed,.danger-chip{border-color:#fecaca;background:#fef2f2;color:var(--danger)}.status-draft,.workflow-draft,.workflow-canceled,.workflow-scheduled_for_deletion{border-color:#dbe3ef;background:#f8fafc;color:#475569}.workflow-done{border-color:#bbf7d0;background:#ecfdf3;color:#15803d}.workflow-archived{border-color:#e9d5ff;background:#faf5ff;color:#7e22ce}.workflow-table{display:grid;border:1px solid var(--border);border-radius:8px;overflow:hidden}.table-row{display:grid;grid-template-columns:minmax(260px,1fr) 110px 80px 80px 150px;align-items:center;gap:12px;min-height:64px;padding:10px 14px;border-top:1px solid var(--border);background:#fff}.table-row:first-child{border-top:0}.table-row:not(.table-head):hover{background:#f8fafc}.table-head{min-height:42px;background:#f1f5f9;color:#64748b;font-size:.78rem;font-weight:760;text-transform:uppercase}.workflow-name{display:flex;align-items:center;gap:10px;min-width:0}.workflow-name span{display:grid;min-width:0}.workflow-name small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.graph-shell{height:560px;min-height:420px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#f8fafc;box-shadow:inset 0 1px #fffc}.expandable-graph-preview{position:relative}.expandable-graph-preview .graph-shell{min-height:220px}.graph-expand-button{position:absolute;right:12px;top:12px;z-index:5;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:0 11px;border:1px solid var(--border);border-radius:7px;background:#fff;color:#334155;font-weight:760;box-shadow:0 8px 18px #0f172a1f}.graph-expand-button:hover{border-color:#94a3b8;background:#f8fafc}.graph-modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:22px;background:#0f172a8f}.graph-modal{display:grid;gap:12px;width:min(1280px,100%);max-height:calc(100vh - 44px);padding:14px;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 24px 70px #0f172a52}.graph-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.graph-modal-header h2{margin:0;color:#0f172a;font-size:1rem}.graph-modal .graph-shell{min-height:0}.graph-label,.builder-message{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--border);border-radius:7px;background:#ffffffeb;color:#334155;font-size:.8rem;font-weight:750;box-shadow:0 8px 18px #0f172a14}.react-flow__controls{border-radius:8px;overflow:hidden;box-shadow:0 8px 18px #0f172a1f}.react-flow__attribution{display:none}.step-node{width:250px;min-height:136px;padding:11px;border:2px solid #d7e0ea;border-radius:8px;background:#fff;color:#172033;box-shadow:0 10px 22px #0f172a14;transition:border-color .12s ease,box-shadow .12s ease}.step-node.is-selectable{cursor:pointer}.step-node.is-selected{border-color:var(--accent);box-shadow:0 0 0 4px #14b8a629,0 10px 22px #0f172a14}.step-node.is-missing-root-input:not(.is-selected){border-color:#fca5a5}.step-node-header{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:start;gap:9px}.node-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:8px;background:#e0f2fe;color:#0369a1}.node-title-wrap{min-width:0}.node-title-wrap h3{margin:0;overflow-wrap:anywhere;color:#0f172a;font-size:.94rem;line-height:1.2}.node-title-wrap p{display:-webkit-box;margin:4px 0 0;overflow:hidden;color:var(--muted);font-size:.75rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.node-actions{display:flex;gap:5px}.node-chip-row,.node-count-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}.node-count-row{justify-content:space-between;color:#64748b;font-size:.75rem}.node-count-row span{display:inline-flex;align-items:center;gap:5px}.node-input-status{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:0 8px;border:1px solid #dbe3ee;border-radius:999px;background:#fff;color:#475569;font-size:.75rem;font-weight:760;white-space:nowrap}.node-input-status svg{color:#64748b}.node-input-status.is-missing{border-color:#fca5a5;background:#fff7f7;color:var(--danger)}.node-input-status.is-missing svg{color:var(--danger)}.node-input-status.is-inherited{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.node-input-status.is-inherited svg{color:#2563eb}.node-handle{width:9px;height:9px;border:2px solid #ffffff;background:var(--accent)}.builder-layout{display:grid;grid-template-columns:minmax(540px,1fr) minmax(300px,360px);gap:14px;align-items:start}.builder-main,.builder-inspector{margin-bottom:0}.builder-graph{height:660px}.builder-toolbar{margin-bottom:12px}.builder-title-fields{display:grid;grid-template-columns:minmax(180px,260px) minmax(260px,1fr);gap:10px;flex:1}.field-inline,.field-block,.item-name-field{display:grid;gap:5px}.field-inline span,.field-block span,.item-name-field span,.checkbox-group legend{color:#475569;font-size:.78rem;font-weight:740}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:7px;background:#fff;color:#172033;outline:none}input,select{min-height:36px;padding:0 10px}textarea{min-height:88px;padding:9px 10px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #14b8a624}.builder-inspector{position:sticky;top:74px;display:grid;gap:12px}.checkbox-group{display:grid;gap:8px;margin:0;padding:0;border:0}.checkbox-group label{display:flex;align-items:center;gap:8px;color:#334155;font-size:.9rem}.checkbox-group input{width:16px;min-height:16px}.item-create-section{padding:14px}.create-item-header{margin-bottom:14px}.item-name-field{width:min(260px,100%);margin-left:auto}.item-create-workspace{display:grid;grid-template-columns:minmax(420px,1fr) minmax(300px,360px);gap:14px}.item-graph{height:640px}.inspector-panel{display:flex;flex-direction:column;gap:13px;min-height:640px;padding:14px;border:1px solid var(--border);border-radius:8px;background:#fff}.inspector-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.artifact-list{display:grid;gap:10px}.artifact-editor{display:grid;gap:10px;padding:11px;border:1px solid var(--border);border-radius:8px;background:var(--panel-soft)}.artifact-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.artifact-readonly{display:grid;gap:8px}.artifact-readonly .chip{justify-self:start}.artifact-readonly p{max-height:140px;margin:0;overflow:auto;color:#475569;font-size:.86rem;line-height:1.45;white-space:pre-wrap}.empty-state{display:flex;align-items:center;justify-content:center;gap:8px;min-height:120px;padding:16px;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc;color:var(--muted);text-align:center}.empty-state.compact{min-height:76px;padding:12px}.item-list{display:grid;gap:9px}.item-card{display:grid;grid-template-columns:minmax(160px,1fr) 90px 150px 24px;align-items:center;gap:10px;min-height:54px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fff}.item-card:hover{border-color:#9ccbc7;background:#f8fffd}.item-card-main{display:grid;min-width:0;gap:3px}.item-card-main strong,.item-card-main small,.detail-item-link strong,.detail-item-link small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-card-main small,.detail-item-link small{color:var(--muted);font-size:.76rem;font-weight:700}.input-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.input-summary-card{display:grid;align-content:start;gap:8px;min-height:150px;padding:13px;border:1px solid var(--border);border-radius:8px;background:#fff}.input-summary-card .chip{justify-self:start}.input-summary-card h3{margin:0;color:#0f172a;font-size:.96rem}.input-summary-card p{margin:0;color:#475569;font-size:.86rem;line-height:1.45}.input-summary-card small{color:var(--muted);font-weight:700}.jobs-page .page-header,.new-job-page .page-header,.workflows-page .page-header,.builder-page .page-header,.workflow-detail-page .page-header,.work-job-detail-page .page-header,.job-items-page .page-header,.item-inspection-page .page-header{padding:18px 0 20px;border-bottom:1px solid var(--border)}.inspection-fact{display:grid;gap:7px;min-height:104px;padding:15px;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 8px 18px #0f172a0d}.inspection-fact svg{width:34px;height:34px;padding:8px;border-radius:8px}.inspection-fact span{color:var(--muted);font-size:.78rem;font-weight:760;text-transform:uppercase}.inspection-fact strong{color:#0f172a;font-size:1.55rem;line-height:1}.job-board-section{padding-top:6px}.job-create-panel,.workflow-list-panel,.workflow-preview-panel{margin-bottom:18px;padding:14px;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 8px 18px #0f172a0d}.job-create-panel{border-left:4px solid #2563eb}.job-create-grid{display:grid;grid-template-columns:minmax(260px,340px) minmax(420px,1fr);gap:14px;align-items:start}.job-create-fields{display:grid;gap:12px}.empty-cta{display:flex;align-items:center;justify-content:space-between;gap:14px}.empty-cta h2{margin:0 0 4px;color:#0f172a;font-size:1rem}.empty-cta p{margin:0;color:var(--muted);font-size:.9rem}.workflow-selection-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted);font-size:.86rem;font-weight:700}.job-workflow-preview{min-width:0}.workflow-directory{display:grid;grid-template-columns:minmax(440px,.95fr) minmax(420px,1.05fr);gap:14px;align-items:start}.workflow-directory.is-empty{grid-template-columns:minmax(0,760px)}.workflow-list-panel,.workflow-preview-panel{min-width:0}.workflow-preview-panel{position:sticky;top:74px}.workflow-picker-list{display:grid;gap:8px}.workflow-picker-row{display:grid;grid-template-columns:44px minmax(220px,1fr) auto minmax(104px,auto) minmax(94px,auto);align-items:center;gap:12px;min-height:66px;padding:10px 12px;border:1px solid var(--border);border-left:4px solid transparent;border-radius:8px;background:#fff;color:inherit;text-align:left}.workflow-picker-row:hover,.workflow-picker-row.is-active{border-color:#99f6e4;border-left-color:#0f766e;background:#f0fdfa}.job-board-header{padding:0 2px}.job-board{display:grid;gap:8px}.job-board-row{display:grid;grid-template-columns:44px minmax(260px,1fr) auto minmax(105px,auto) minmax(100px,auto) 120px 26px minmax(102px,auto);align-items:center;gap:12px;min-height:68px;padding:10px 14px;border:1px solid var(--border);border-left:4px solid #0f766e;border-radius:8px;background:#fff}.job-board-row:hover{border-color:#7dd3fc;border-left-color:#2563eb;background:#f8fbff}.job-row-main{display:contents}.job-row-index{color:#94a3b8;font-weight:800}.job-row-title{min-width:0}.job-row-stat,.job-row-date{display:inline-flex;align-items:center;gap:6px;color:#475569;font-size:.86rem;font-weight:700;white-space:nowrap}.builder-page .builder-layout{grid-template-columns:minmax(560px,1fr) minmax(320px,390px)}.builder-page .builder-main{padding:0;overflow:hidden}.builder-page .builder-toolbar{padding:14px;border-bottom:1px solid var(--border);background:#fff}.builder-page .builder-graph{height:690px;border:0;border-radius:0}.builder-page .builder-inspector{border-top:4px solid #2563eb}.ops-layout,.inspection-layout{display:grid;grid-template-columns:minmax(620px,1fr) minmax(320px,390px);gap:14px;align-items:start}.work-job-detail-page .ops-layout{grid-template-columns:minmax(320px,520px) minmax(360px,1fr)}.workflow-preview-layout{grid-template-columns:minmax(620px,1fr) minmax(300px,380px)}.ops-graph-pane,.inspection-graph-pane{min-width:0}.ops-side-panel,.inspection-sidebar{position:sticky;top:74px;display:grid;gap:12px;min-width:0}.run-panel,.work-job-items-panel,.step-stack,.inspection-sidebar{padding:14px;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 8px 18px #0f172a0d}.run-panel{border-top:4px solid #0f766e}.work-job-items-panel{display:grid;gap:10px;border-top:4px solid #2563eb}.detail-item-list{display:grid;gap:8px}.detail-item-link{display:grid;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:8px;min-height:58px;padding:9px 10px;border:1px solid #dbe3ef;border-radius:8px;background:#fff}.detail-item-link:hover{border-color:#99f6e4;background:#f0fdfa}.detail-item-link strong{grid-column:1 / -1;overflow:hidden;color:#0f172a;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.detail-item-link small{grid-column:1 / -1}.detail-item-link span{color:var(--muted);font-size:.82rem;font-weight:700}.run-panel h2{margin:4px 0;color:#0f172a;font-size:1.08rem}.run-panel p{margin:0 0 12px;color:var(--muted);font-weight:700}.compact-header{margin-bottom:8px}.step-stack{display:grid;gap:8px;max-height:560px;overflow:auto}.step-stack-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;border-top:1px solid #edf2f7}.step-stack-row:first-of-type{border-top:0}.step-index{display:grid;width:30px;height:30px;place-items:center;border-radius:999px;background:#f1f5f9;color:#475569;font-weight:800}.step-stack-row span:not(.step-index):not(.chip){display:grid;min-width:0}.step-stack-row strong,.input-timeline-row h3{margin:0;overflow-wrap:anywhere;color:#0f172a;font-size:.92rem}.step-stack-row small,.input-timeline-row small{overflow:hidden;color:var(--muted);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.item-command-strip{margin-bottom:12px;padding:13px 14px;border:1px solid var(--border);border-left:4px solid #2563eb;border-radius:8px;background:#fff}.item-create-workspace{display:grid;grid-template-columns:minmax(500px,1fr) minmax(320px,380px) minmax(260px,320px);gap:14px;align-items:start}.item-create-workspace.is-locked{grid-template-columns:minmax(280px,1fr)}.item-create-workspace.is-locked .item-history-panel{position:static;max-height:none}.item-canvas-column{display:grid;gap:10px;min-width:0}.item-canvas-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:0 2px}.item-canvas-header h2{margin:0;color:#0f172a;font-size:1rem}.item-history-panel{position:sticky;top:74px;display:grid;gap:10px;min-width:0;max-height:720px;padding:14px;overflow:auto;border:1px solid var(--border);border-top:4px solid #b45309;border-radius:8px;background:#fff;box-shadow:0 8px 18px #0f172a0d}.item-history-panel .item-card{grid-template-columns:minmax(0,1fr) auto;min-height:72px}.item-history-panel .item-card strong{grid-column:1 / -1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-history-panel .item-card span{color:var(--muted);font-size:.82rem;font-weight:700}.inspection-sidebar{align-content:start}.inspection-fact{box-shadow:none}.inspection-fact svg{background:#dcfce7;color:#15803d}.input-timeline{display:grid;gap:6px}.input-timeline-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:56px;padding:8px 0;border-top:1px solid #edf2f7}.input-timeline-row:first-child{border-top:0}.timeline-dot{width:10px;height:10px;border:2px solid #ffffff;border-radius:999px;background:#2563eb;box-shadow:0 0 0 3px #dbeafe}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.app-sidebar{position:sticky;top:0;height:auto;flex-direction:row;align-items:center;gap:10px;padding:10px 14px;border-right:0;border-bottom:1px solid var(--border)}.app-sidebar .brand{flex:0 0 auto}.app-sidebar .nav-links{flex:1;flex-direction:row;overflow-x:auto}.app-sidebar .nav-status{display:none}.page-header,.create-item-header,.builder-toolbar{align-items:stretch;flex-direction:column}.page-actions,.builder-actions{justify-content:flex-start}.builder-layout,.job-create-grid,.workflow-directory,.item-create-workspace,.ops-layout,.inspection-layout{grid-template-columns:1fr}.builder-inspector,.workflow-preview-panel,.ops-side-panel,.inspection-sidebar,.item-history-panel{position:static}.builder-title-fields{grid-template-columns:1fr}.item-name-field{width:100%;margin-left:0}.graph-minimap{display:none}}@media(max-width:720px){.page-content{width:min(100% - 20px,1480px);padding-top:14px}.app-sidebar{flex-wrap:wrap}.app-sidebar .nav-links{order:3;width:100%;flex-basis:100%}.work-job-tabs{display:flex;overflow-x:auto}.job-board-row,.workflow-picker-row,.table-row,.item-card{grid-template-columns:1fr;align-items:start}.job-row-main{display:grid;gap:9px}.job-actions-compact{width:100%;justify-content:flex-start}.table-head{display:none}.graph-shell,.item-graph,.builder-graph{height:520px;min-height:440px}.toast-viewport{top:10px;right:10px;width:calc(100vw - 20px)}.panel-section{padding:12px}}@media(prefers-reduced-motion:reduce){.toast-message{animation:none}}
