.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))}.sim-page{display:flex;flex-direction:column;height:calc(100vh - var(--topbar-height));min-height:0;background:var(--bg)}.sim-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:var(--hairline) solid var(--border);background:var(--surface)}.sim-title{display:flex;flex-direction:column;flex:1;min-width:0}.sim-title small{color:var(--text-muted);font-size:var(--text-xs)}.sim-safe{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--success-50);color:var(--success-700);font-size:var(--text-xs);font-weight:600}.sim-body{display:grid;grid-template-columns:270px minmax(0,1fr) 300px;flex:1;min-height:0}.sim-side{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);overflow-y:auto;background:var(--surface)}.sim-setup{border-right:var(--hairline) solid var(--border)}.sim-data{border-left:var(--hairline) solid var(--border)}.sim-side h3{margin:var(--space-2) 0 0;font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.sim-side h3:first-child{margin-top:0}.sim-side label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);font-weight:600}.sim-side textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--text-xs)}.sim-help{margin:0;font-size:var(--text-xs);color:var(--text-muted)}.sim-error{color:var(--danger-700);font-weight:500}.sim-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border:var(--hairline) solid var(--border);border-radius:var(--radius-md);font-size:var(--text-xs)}.sim-link span{flex:1;min-width:0;overflow-wrap:anywhere}.sim-choice{flex-direction:row!important;align-items:center;justify-content:space-between;gap:var(--space-2)!important}.sim-choice>span{display:flex;flex-direction:column;min-width:0;flex:1}.sim-choice small{font-weight:400;color:var(--text-muted)}.sim-stage{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0}.sim-chain{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);overflow-x:auto;border-bottom:var(--hairline) solid var(--border);background:var(--surface)}.sim-chain-item{display:flex;align-items:center;gap:var(--space-2)}.sim-chip{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);text-align:left;opacity:.55;transition:opacity .2s,border-color .2s,box-shadow .2s}.sim-chip.reached{opacity:1}.sim-chip.viewed{border-color:var(--action)}.sim-chip.active{border-color:var(--action);box-shadow:0 0 0 3px var(--action-soft)}.sim-chip strong,.sim-chip small{display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sim-chip small{color:var(--text-muted);font-size:var(--text-xs)}.sim-chip-token,.sim-token{display:inline-grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;color:var(--text-on-brand);font-size:10px;font-weight:700}.sim-chip-token{position:absolute;top:-9px;right:-9px;box-shadow:0 0 0 2px var(--surface)}.sim-chain-arrow{color:var(--text-muted);opacity:.4}.sim-chain-arrow.on{color:var(--action);opacity:1}.sim-chain-arrow.pulse{animation:sim-handoff .9s ease-in-out infinite}@keyframes sim-handoff{50%{transform:translate(6px) scale(1.25)}}.sim-player{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--surface)}.sim-scrub{flex:1;min-width:120px;accent-color:var(--action)}.sim-count{font-size:var(--text-xs);color:var(--text-muted);min-width:46px;text-align:right}.sim-caption{display:flex;align-items:center;gap:var(--space-2);margin:0;padding:var(--space-2) var(--space-4) var(--space-3);background:var(--surface);border-bottom:var(--hairline) solid var(--border);font-size:var(--text-md)}.sim-caption span{flex:1}.sim-caption em{font-style:normal;font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.sim-caption.status-failed{color:var(--danger-700)}.sim-caption.handoff{color:var(--action-text);font-weight:600}.sim-canvas{position:relative;flex:1;min-height:480px}.sim-where{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.sim-where button{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border:var(--hairline) solid var(--border);border-radius:var(--radius-md);background:var(--surface);text-align:left}.sim-where button.viewed{border-color:var(--action)}.sim-where button>span:nth-child(2){flex:1;min-width:0}.sim-where strong,.sim-where small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sim-where small{color:var(--text-muted);font-size:var(--text-xs)}.sim-pill{padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;background:var(--action-soft);color:var(--action-text)}.sim-pill.done{background:var(--success-50);color:var(--success-700)}.sim-pill.failed{background:var(--danger-50);color:var(--danger-700)}.sim-pill.waiting{background:var(--warning-50);color:var(--warning-700)}.sim-note{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);background:var(--success-50);color:var(--success-700);font-size:var(--text-xs)}.sim-io{display:flex;flex-direction:column;gap:var(--space-2)}.sim-io small{color:var(--text-muted);font-weight:600;letter-spacing:.04em}.sim-io pre{max-height:180px;margin:var(--space-1) 0 0;padding:var(--space-2);overflow:auto;border-radius:var(--radius-md);background:var(--bg);border:var(--hairline) solid var(--border);font-size:11.5px}.sim-log{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.sim-log button{display:flex;gap:var(--space-2);width:100%;padding:var(--space-1) var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;font-size:var(--text-xs);text-align:left}.sim-log li.now button{background:var(--action-soft);color:var(--action-text);font-weight:600}.sim-log li.later button{opacity:.45}.sim-log li.status-failed button{color:var(--danger-700)}.sim-log li.handoff button{font-style:italic}.sim-log-n{flex:none;min-width:18px;color:var(--text-muted)}.sim-badge{position:absolute;top:-14px;right:10px;z-index:3;display:flex;align-items:center;gap:2px;padding:2px 8px 2px 3px;border-radius:var(--radius-pill);background:var(--surface);border:var(--hairline) solid var(--border-strong);box-shadow:var(--shadow-sm);font-size:11px;font-weight:600;color:var(--text-muted)}.sim-badge .sim-token{width:20px;height:20px;font-size:9px;animation:sim-pop .35s var(--ease)}.sim-badge .sim-count{margin-left:4px;min-width:0}.sim-more{margin-left:2px}@keyframes sim-pop{0%{transform:scale(.2);opacity:0}}.routed-edge.sim-hot{stroke-width:3.5}.edge-token circle{filter:drop-shadow(0 1px 3px rgb(0 0 0 / .35))}@media(max-width:1360px){.sim-page{height:auto;min-height:calc(100vh - var(--topbar-height))}.sim-body{display:flex;flex-direction:column;overflow-y:auto}.sim-setup,.sim-data{border:0;overflow:visible}.sim-canvas{flex:none;height:60vh}}@media(prefers-reduced-motion:reduce){.sim-chain-arrow.pulse,.sim-badge .sim-token{animation:none}}.sim-group{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm)}.sim-form{display:flex;flex-direction:column;gap:var(--space-3)}.sim-field{font-weight:600}.sim-field em{color:var(--danger-700);font-style:normal}.sim-field small.sim-help{font-weight:400}.sim-side .sim-form textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.sim-form button.link{align-self:flex-start;background:none;border:0;padding:0;color:var(--primary-700, var(--text-muted));font-size:var(--text-xs);text-decoration:underline;cursor:pointer}.acct{position:relative}.acct-trigger{display:grid;place-items:center;width:var(--control-md);height:var(--control-md);padding:0;border:var(--border-thick) solid transparent;border-radius:var(--radius-pill);background:none;cursor:pointer;transition:border-color var(--duration-fast) var(--ease)}.acct-trigger:hover,.acct-trigger[aria-expanded=true]{border-color:var(--border-strong)}.acct-trigger:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.acct-avatar{display:inline-grid;place-items:center;flex:none;border-radius:var(--radius-pill);object-fit:cover;background:var(--surface-muted)}.acct-initials{background:hsl(var(--acct-hue) 45% 42%);color:var(--text-on-brand);font-weight:var(--weight-semibold);line-height:1}.acct-card{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:var(--z-overlay);display:flex;flex-direction:column;align-items:center;gap:var(--space-1);width:300px;max-width:calc(100vw - var(--space-8));padding:var(--space-6) var(--space-4) var(--space-3);background:var(--surface);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.acct-card>.acct-avatar{margin-bottom:var(--space-2)}.acct-name{font-size:var(--text-lg);color:var(--text);text-align:center;overflow-wrap:anywhere}.acct-role{font-size:var(--text-sm);color:var(--text-muted)}.acct-link{display:inline-flex;align-items:center;gap:var(--space-2);margin:var(--space-3) 0;padding:var(--space-2) var(--space-4);border:var(--hairline) solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text);font-size:var(--text-sm);font-weight:var(--weight-medium);text-decoration:none}.acct-link:hover{background:var(--surface-hover)}.acct-link:focus-visible,.acct-out:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.acct-row{display:flex;align-items:center;justify-content:space-between;align-self:stretch;gap:var(--space-3);padding:var(--space-3) var(--space-2);border-top:var(--hairline) solid var(--border);font-size:var(--text-sm);color:var(--text-muted)}.acct-out{display:flex;align-items:center;gap:var(--space-3);align-self:stretch;padding:var(--space-3) var(--space-2);border:0;border-top:var(--hairline) solid var(--border);border-radius:0 0 var(--radius-md) var(--radius-md);background:none;color:var(--text);font:inherit;font-size:var(--text-md);cursor:pointer}.acct-out:hover{background:var(--surface-hover)}.wf-tile{fill:var(--brand-500);stroke:var(--border-strong);stroke-width:2}:root[data-theme=dark] .wf-tile{fill:var(--brand-400, var(--brand-500));stroke:var(--border-strong)}.wf-glyph{fill:#fff;stroke:#fff;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}.wf-glyph path{fill:none}.theme-quick{display:grid;place-items:center;width:var(--control-md);height:var(--control-md);padding:0;border:var(--border-thick) solid transparent;border-radius:var(--radius-pill);background:none;color:var(--text-muted);cursor:pointer}.theme-quick:hover{color:var(--text);background:var(--surface-hover)}.theme-quick:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.seq-group{margin-top:var(--space-5)}.seq-group h3{margin:0 0 var(--space-3);font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.seq-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-3)}.seq-card{display:grid;gap:6px;align-content:start;text-align:left;padding:var(--space-4);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);background:var(--bg);color:inherit;font:inherit;cursor:pointer}.seq-card:hover{border-color:var(--brand-500)}.seq-card small,.seq-meta{color:var(--text-muted)}.seq-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:12px}.seq-app{font-family:ui-monospace,monospace;font-size:11px}.seq-status{justify-self:start;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--surface-muted);color:var(--text-muted)}h1 .seq-status{vertical-align:middle;margin-left:var(--space-2)}.seq-status.active{background:var(--success-50);color:var(--success-700)}.seq-status.paused{background:var(--warning-50);color:var(--warning-700)}.seq-new,.seq-settings,.seq-enrollments{max-width:760px}.seq-new{margin-top:var(--space-4)}.seq-back{display:inline-flex;align-items:center;gap:4px;margin-bottom:var(--space-2);border:0;background:none;color:var(--text-muted);cursor:pointer;font:inherit}.seq-tabs{display:flex;gap:var(--space-1);margin:var(--space-4) 0;border-bottom:var(--hairline) solid var(--border)}.seq-tabs button{padding:var(--space-2) var(--space-4);border:0;border-bottom:2px solid transparent;background:none;color:var(--text-muted);font:inherit;cursor:pointer}.seq-tabs button.active{border-bottom-color:var(--brand-500);color:var(--text);font-weight:600}.seq-board{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:var(--space-5);align-items:start}.seq-timeline{list-style:none;margin:0;padding:0 0 0 var(--space-4);display:grid;gap:var(--space-2);border-left:2px solid var(--border)}.seq-timeline li{position:relative;display:grid;gap:4px}.seq-timeline li:before{content:"";position:absolute;left:calc(-1 * var(--space-4) - 6px);top:36px;width:10px;height:10px;border-radius:50%;background:var(--border-strong)}.seq-timeline li.active:before{background:var(--brand-500)}.seq-timeline li.off .seq-step{opacity:.55}.seq-wait{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.seq-wait input{width:56px;padding:2px 6px}.seq-step{display:grid;gap:2px;text-align:left;padding:var(--space-3);border:var(--hairline) solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:inherit;font:inherit;cursor:pointer}.seq-step span,.seq-step small{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seq-timeline li.active .seq-step{border-color:var(--brand-500);background:var(--brand-50)}.seq-step-actions{display:flex;gap:4px;justify-content:flex-end}.seq-step-actions button{display:inline-grid;place-items:center;width:26px;height:26px;border:var(--hairline) solid var(--border);border-radius:6px;background:var(--bg);color:var(--text-muted);cursor:pointer}.seq-step-actions button:disabled{opacity:.35;cursor:default}.seq-add{display:grid;gap:var(--space-2);padding-top:var(--space-2)}.seq-editor{max-width:none}.seq-empty{max-width:none;justify-items:center;padding:var(--space-6, 32px);color:var(--text-muted)}.seq-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3);align-items:end}.seq-toggle{display:flex;align-items:center;gap:var(--space-2)}.seq-toggle input{width:auto}.seq-enroll-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-2)}.seq-table{width:100%;border-collapse:collapse}.seq-table th{text-align:left;font-size:12px;color:var(--text-muted);padding:var(--space-2)}.seq-table td{padding:var(--space-2);border-top:var(--hairline) solid var(--border);vertical-align:top}.seq-table td small{display:block;color:var(--text-muted)}.seq-table tr.off{opacity:.6}.seq-progress{width:110px;height:6px;border-radius:999px;background:var(--surface-muted);overflow:hidden}.seq-progress span{display:block;height:100%;background:var(--brand-500)}@media(max-width:860px){.seq-board{grid-template-columns:1fr}.seq-table{display:block;overflow-x:auto}}.step-picker{display:flex;flex-direction:column;gap:var(--space-4)}.step-app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:var(--space-3)}.step-app{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-3);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);text-align:center;cursor:pointer}.step-app:hover{border-color:var(--focus-ring);background:var(--surface-hover)}.step-app small{color:var(--text-subtle)}.step-picker-app{display:flex;align-items:center;gap:var(--space-3)}.step-picker-app h3{margin:0}.app-logo.workflow-badge{background:var(--action);color:var(--text-on-brand)}:root{color-scheme:light;--brand-50: #fff4ec;--brand-100: #ffe5d1;--brand-200: #ffc99f;--brand-300: #ffa766;--brand-400: #ff8533;--brand-500: #ff6a00;--brand-600: #ee5a00;--brand-700: #c24000;--brand-800: #a33600;--brand-900: #7a2800;--neutral-0: #ffffff;--neutral-25: #fafbfc;--neutral-50: #f5f7fa;--neutral-100: #eef1f5;--neutral-200: #e2e7ee;--neutral-300: #cdd4de;--neutral-400: #9aa4b2;--neutral-500: #667085;--neutral-600: #475467;--neutral-700: #344054;--neutral-800: #1d2939;--neutral-900: #101828;--success-50: #e8f9ee;--success-100: #c9f1d8;--success-500: #16a34a;--success-700: #0f7a3a;--danger-50: #fff0f1;--danger-100: #ffd9dc;--danger-500: #e11d2e;--danger-700: #b3121f;--warning-50: #fff7e0;--warning-100: #ffe9a8;--warning-500: #f59e0b;--warning-700: #8f5200;--info-50: #eaf2ff;--info-100: #cfe0ff;--info-500: #2563eb;--info-700: #1d4ed8;--violet-50: #f3edff;--violet-100: #e2d6ff;--violet-500: #7c3aed;--violet-700: #6d28d9;--teal-50: #e6faf7;--teal-100: #c2f0ea;--teal-500: #0d9488;--teal-700: #0f766e;--pink-50: #ffeaf4;--pink-100: #ffd0e5;--pink-500: #db2777;--pink-700: #be185d;--bg: var(--neutral-0);--bg-app: var(--neutral-25);--bg-canvas: var(--neutral-0);--surface: var(--neutral-0);--surface-muted: var(--neutral-50);--surface-hover: var(--neutral-100);--border: var(--neutral-200);--border-strong: var(--neutral-300);--text: var(--neutral-900);--text-muted: var(--neutral-600);--text-subtle: var(--neutral-500);--text-on-brand: #ffffff;--accent: var(--brand-500);--action: var(--brand-700);--action-hover: var(--brand-800);--action-active: var(--brand-900);--action-soft: var(--brand-50);--action-soft-hover: var(--brand-100);--action-text: var(--brand-700);--focus-ring: var(--brand-500);--overlay: rgb(16 24 40 / .5);--dot: var(--neutral-300);--state-pending: var(--neutral-400);--state-running: var(--brand-500);--state-completed: var(--success-500);--state-failed: var(--danger-500);--state-skipped: var(--neutral-300);--state-waiting: var(--warning-500);--edge: var(--neutral-500);--edge-active: var(--brand-600);--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--hairline: 1px;--border-thick: 2px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgb(16 24 40 / .06);--shadow-sm: 0 1px 3px rgb(16 24 40 / .08), 0 1px 2px rgb(16 24 40 / .05);--shadow-md: 0 4px 12px rgb(16 24 40 / .09), 0 2px 4px rgb(16 24 40 / .05);--shadow-lg: 0 16px 40px rgb(16 24 40 / .16), 0 4px 10px rgb(16 24 40 / .06);--shadow-focus: 0 0 0 3px rgb(255 106 0 / .25);--font-sans: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: ui-monospace, "Cascadia Mono", Consolas, monospace;--text-xs: 12px;--text-sm: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 26px;--text-3xl: 34px;--text-4xl: 52px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.65;--tracking-tight: -.02em;--tracking-wide: .06em;--control-sm: 32px;--control-md: 38px;--control-lg: 46px;--icon-button: 34px;--sidebar-width: 248px;--topbar-height: 60px;--content-max: 1200px;--inspector-width: 340px;--gutter: var(--space-8);--node-width: 320px;--tile-md: 40px;--tile-lg: 48px;--modal-width: 560px;--z-sidebar: 20;--z-sticky: 10;--z-overlay: 50;--z-toast: 100;--duration-fast: .12s;--duration-base: .18s;--duration-slow: .28s;--ease: cubic-bezier(.2, 0, 0, 1)}@media(max-width:1100px){:root{--sidebar-width: 236px;--gutter: var(--space-6);--inspector-width: 308px}}@media(max-width:760px){:root{--gutter: var(--space-4);--topbar-height: 56px;--text-3xl: 26px;--text-4xl: 38px}}:root[data-theme=dark]{color-scheme:dark;--brand-50: #2b1608;--brand-100: #3f1f0a;--brand-200: #5c2c0c;--brand-300: #8a420f;--brand-400: #ff8533;--brand-500: #ff7a1a;--brand-600: #ff8f40;--brand-700: #ffa466;--brand-800: #ffbd91;--brand-900: #ffd8bd;--neutral-0: #121721;--neutral-25: #0e121a;--neutral-50: #0a0d13;--neutral-100: #1a2030;--neutral-200: #252c3b;--neutral-300: #333c4f;--neutral-400: #5f6b82;--neutral-500: #8c97ac;--neutral-600: #a9b3c5;--neutral-700: #c5cdda;--neutral-800: #dde2ec;--neutral-900: #f1f4f9;--success-50: #0f2a1c;--success-100: #14402a;--success-500: #34d37a;--success-700: #6ee7a0;--danger-50: #331219;--danger-100: #4d1a24;--danger-500: #ff5c6c;--danger-700: #ff9aa5;--warning-50: #2e2208;--warning-100: #473309;--warning-500: #fbbf24;--warning-700: #fcd34d;--info-50: #101e3a;--info-100: #172e5c;--info-500: #5b9bff;--info-700: #93bbff;--violet-50: #1f1638;--violet-100: #2e2054;--violet-500: #a78bfa;--violet-700: #c4b5fd;--teal-50: #0b2b29;--teal-100: #0f403d;--teal-500: #2dd4bf;--teal-700: #5eead4;--pink-50: #34132a;--pink-100: #4e1a3d;--pink-500: #f472b6;--pink-700: #f9a8d4;--action: #cc4400;--action-hover: #de4e00;--action-active: #b83a00;--overlay: rgb(0 0 0 / .65);--shadow-xs: 0 1px 2px rgb(0 0 0 / .45);--shadow-sm: 0 1px 3px rgb(0 0 0 / .55);--shadow-md: 0 4px 12px rgb(0 0 0 / .55);--shadow-lg: 0 16px 40px rgb(0 0 0 / .65);--shadow-focus: 0 0 0 3px rgb(255 122 26 / .4)}*,*:before,*:after{box-sizing:border-box}:root{font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);overflow-x:hidden}h1,h2,h3,h4,p{margin:0}h1{font-size:var(--text-3xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);font-weight:var(--weight-semibold)}h2{font-size:var(--text-xl);line-height:var(--leading-tight);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight)}h3{font-size:var(--text-lg);line-height:var(--leading-tight);font-weight:var(--weight-semibold)}h4{font-size:var(--text-md);font-weight:var(--weight-semibold)}p{color:var(--text-muted);line-height:var(--leading-relaxed)}small{font-size:var(--text-xs)}b,strong{font-weight:var(--weight-semibold)}a{color:inherit;text-decoration:none;cursor:pointer}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled,input:disabled,textarea:disabled,select:disabled{cursor:not-allowed}code,pre,.code-input{font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-relaxed)}code{background:var(--surface-hover);border-radius:var(--radius-xs);padding:1px var(--space-1)}pre{margin:0}hr{border:0;border-top:var(--hairline) solid var(--border);margin:var(--space-6) 0}ul{margin:0;padding-left:var(--space-5);color:var(--text-muted)}li{line-height:var(--leading-relaxed)}:focus-visible{outline:var(--border-thick) solid var(--focus-ring);outline-offset:2px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none}::selection{background:var(--brand-200);color:var(--neutral-900)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-pill);border:3px solid transparent;background-clip:content-box}@keyframes enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-md);padding:0 var(--space-4);border-radius:var(--radius-md);border:var(--hairline) solid transparent;font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:1;white-space:nowrap;transition:background var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.primary{background:var(--action);color:var(--text-on-brand);box-shadow:var(--shadow-xs)}.primary:hover:not(:disabled){background:var(--action-hover)}.primary:active:not(:disabled){background:var(--action-active)}.secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.secondary:hover:not(:disabled){background:var(--surface-hover)}.secondary.danger,.danger{color:var(--danger-700)}.secondary.danger:hover:not(:disabled){background:var(--danger-50);border-color:var(--danger-500)}.primary:disabled,.secondary:disabled{opacity:.5}.btn-sm{min-height:var(--control-sm);padding:0 var(--space-3)}.btn-lg{min-height:var(--control-lg);padding:0 var(--space-6);font-size:var(--text-md)}.full{width:100%;margin-bottom:var(--space-2)}.icon{display:inline-grid;place-items:center;width:var(--icon-button);height:var(--icon-button);flex-shrink:0;background:transparent;border:0;border-radius:var(--radius-md);color:var(--text-muted);transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.icon:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.icon:disabled{opacity:.35}.text-button{display:inline-flex;align-items:center;gap:var(--space-2);border:0;background:none;padding:var(--space-2) 0;color:var(--action-text);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.text-button:hover{text-decoration:underline}label{display:block;margin-bottom:var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text)}label input,label textarea,label select{display:block;width:100%;margin-top:var(--space-2);min-height:var(--control-md);padding:var(--space-2) var(--space-3);background:var(--surface);border:var(--hairline) solid var(--border-strong);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-md);font-weight:var(--weight-regular);transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}label textarea{resize:vertical;line-height:var(--leading-normal)}label input[type=checkbox]{display:inline-block;width:auto;min-height:0;margin:0;accent-color:var(--action)}label input::placeholder,label textarea::placeholder{color:var(--text-subtle)}label input:focus,label textarea:focus,label select:focus{outline:none;border-color:var(--focus-ring);box-shadow:var(--shadow-focus)}label input:disabled,label textarea:disabled,label select:disabled{background:var(--surface-muted);color:var(--text-muted)}label.check{display:flex;align-items:center;gap:var(--space-2)}.code-input{background:var(--surface-muted)}.hint{font-size:var(--text-xs);line-height:var(--leading-relaxed);color:var(--text-muted);margin:var(--space-2) 0 var(--space-4)}.field-hint{display:block;font-weight:var(--weight-regular);color:var(--text-muted);margin-top:var(--space-1)}.field-error{display:block;margin-top:var(--space-1);color:var(--danger-700);font-size:var(--text-xs)}.req{color:var(--danger-700)}.badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--surface-hover);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap}.badge i{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.published,.badge.completed{background:var(--success-50);color:var(--success-700)}.badge.draft,.badge.queued,.badge.cancelled{background:var(--surface-hover);color:var(--text-muted)}.badge.running{background:var(--action-soft);color:var(--action-text)}.badge.failed{background:var(--danger-50);color:var(--danger-700)}.card{background:var(--surface);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.error-box{background:var(--danger-50);border:var(--hairline) solid var(--danger-100);color:var(--danger-700);font-size:var(--text-sm);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-top:var(--space-4)}.empty-catalog{border:var(--hairline) dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-4);color:var(--text)}.empty-catalog p{margin-top:var(--space-1);font-size:var(--text-sm)}.tabs{display:flex;gap:var(--space-6)}.tabs button{display:inline-flex;align-items:center;gap:var(--space-2);background:transparent;border:0;border-bottom:var(--border-thick) solid transparent;padding:var(--space-3) 0;margin-bottom:-1px;color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.tabs button:hover{color:var(--text)}.tabs button.selected,.tabs button.active{color:var(--action-text);border-bottom-color:var(--action);font-weight:var(--weight-semibold)}.tabs button span{margin:0;background:var(--surface-hover);color:var(--text-muted);border-radius:var(--radius-pill);padding:0 var(--space-2);font-size:var(--text-xs);line-height:20px}.tabs button.selected span{background:var(--action-soft);color:var(--action-text)}.modal-backdrop{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--overlay);animation:fade var(--duration-base) var(--ease)}.modal{width:var(--modal-width);max-width:100%;max-height:calc(100vh - var(--space-12));overflow:auto;padding:var(--space-6);background:var(--surface);border:var(--hairline) solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);animation:enter var(--duration-slow) var(--ease)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.modal>p{font-size:var(--text-sm);margin-bottom:var(--space-5)}.modal>.primary,.modal>.secondary{margin-top:var(--space-2)}.modal>h3{margin:var(--space-3) 0 var(--space-2);font-size:var(--text-xl)}.modal>div h4{margin:var(--space-5) 0 var(--space-2);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted)}.modal>div ul{margin-bottom:var(--space-2)}.modal>.text-button{display:flex;margin-top:var(--space-4)}.modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-3)}.toast{position:fixed;left:50%;bottom:var(--space-6);transform:translate(-50%);z-index:var(--z-toast);display:flex;align-items:center;gap:var(--space-3);max-width:calc(100vw - var(--space-8));padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);background:var(--neutral-900);color:var(--neutral-0);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:var(--text-sm)}.toast .icon{color:var(--neutral-300)}.toast .icon:hover{background:var(--neutral-700);color:var(--neutral-0)}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);margin:var(--space-6) 0;padding:var(--space-12) var(--space-6);border:var(--hairline) dashed var(--border-strong);border-radius:var(--radius-xl);background:var(--surface-muted)}.empty .empty-mark{display:grid;place-items:center;width:56px;height:56px;margin-bottom:var(--space-2);border-radius:var(--radius-xl);background:var(--action-soft);color:var(--action-text)}.empty h3{color:var(--text)}.empty p{font-size:var(--text-sm);max-width:44ch}[data-tip]{position:relative}[data-tip]:hover:after,[data-tip]:focus-visible:after{content:attr(data-tip);position:absolute;top:calc(100% + var(--space-1));left:50%;transform:translate(-50%);z-index:var(--z-overlay);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--neutral-900);color:var(--neutral-0);font-size:var(--text-xs);white-space:nowrap;pointer-events:none}.list{border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.list-head{background:var(--surface-muted);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.list-row{border-top:var(--hairline) solid var(--border);transition:background var(--duration-fast) var(--ease)}.list-row:hover{background:var(--surface-muted)}.app-tooltip{position:fixed;z-index:var(--z-toast, 90);max-width:280px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--neutral-900);color:var(--neutral-0);font-size:var(--text-xs);font-weight:500;line-height:1.4;box-shadow:var(--shadow-md);pointer-events:none;animation:tooltip-in .12s ease-out}.app-tooltip.top{transform:translate(-50%,-100%)}.app-tooltip.bottom{transform:translate(-50%)}@keyframes tooltip-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.app-tooltip{animation:none}}.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;margin-top:var(--space-2);min-height:var(--control-md);padding:var(--space-2) var(--space-3);background:var(--surface);border:var(--hairline) solid var(--border-strong);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-md);font-weight:var(--weight-regular);text-align:left;transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.select-trigger>span{display:flex;align-items:center;gap:var(--space-2);min-width:0;overflow:hidden;white-space:nowrap}.select-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.select-option .select-text{flex:1;white-space:normal;padding:var(--space-2) 0}.select-option .select-text small{display:block;margin-top:2px;font-size:var(--text-xs);font-weight:var(--weight-regular);color:var(--text-muted)}.select-trigger>svg{flex-shrink:0;color:var(--text-subtle);transition:transform var(--duration-fast) var(--ease)}.select-trigger.open>svg{transform:rotate(180deg)}.select-trigger .placeholder{color:var(--text-subtle)}.select-trigger:hover:not(:disabled){border-color:var(--neutral-400)}.select-trigger:focus-visible,.select-trigger.open{outline:none;border-color:var(--focus-ring);box-shadow:var(--shadow-focus)}.select-trigger:disabled{background:var(--surface-muted);color:var(--text-muted)}.select-list{position:fixed;z-index:calc(var(--z-toast) + 1);max-height:280px;overflow-y:auto;padding:var(--space-1);background:var(--surface);border:var(--hairline) solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:fade var(--duration-fast) var(--ease)}.select-option{display:flex;align-items:center;gap:var(--space-3);min-height:34px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-md);cursor:pointer}.select-option.active{background:var(--surface-hover)}.select-option.chosen{color:var(--action-text);font-weight:var(--weight-semibold)}.theme-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-1);margin:0 0 var(--space-3);padding:var(--space-1);background:var(--surface-hover);border-radius:var(--radius-md)}.theme-switch button{display:grid;place-items:center;height:30px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.theme-switch button:hover{color:var(--text)}.theme-switch button.active{background:var(--surface);color:var(--action-text);box-shadow:var(--shadow-xs)}.app{display:flex;min-height:100vh;background:var(--bg-app)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:var(--z-sidebar);width:var(--sidebar-width);display:flex;flex-direction:column;padding:var(--space-5) var(--space-3) var(--space-3);background:var(--bg-app);overflow-y:auto}.brand{display:flex;align-items:center;gap:var(--space-3);margin:0 var(--space-2) var(--space-5);font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight)}.brand>span{display:block;width:var(--tile-md);height:var(--tile-md);line-height:0}.brand img,.login-mark img{display:block;width:100%;height:100%}.create{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-lg);margin:0 0 var(--space-5);border:0;border-radius:var(--radius-lg);background:var(--action);color:var(--text-on-brand);font-size:var(--text-md);font-weight:var(--weight-semibold);box-shadow:var(--shadow-sm);transition:background var(--duration-fast) var(--ease)}.create:hover:not(:disabled){background:var(--action-hover)}.create:disabled{opacity:.5}.nav-group{margin:var(--space-4) var(--space-3) var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-subtle)}.nav{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--control-md);margin-bottom:var(--space-1);padding:0 var(--space-3);border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-muted);font-size:var(--text-md);font-weight:var(--weight-medium);text-align:left;white-space:nowrap;transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.nav svg{flex-shrink:0}.nav:hover{background:var(--surface-hover);color:var(--text)}.nav.active{background:var(--action-soft);color:var(--action-text);font-weight:var(--weight-semibold)}.nav small{margin-left:auto;min-width:var(--space-6);padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--surface-hover);color:var(--text-muted);font-size:var(--text-xs);line-height:var(--space-5);text-align:center}.nav.active small{background:var(--surface);color:var(--action-text)}.sidebar-bottom{margin-top:auto;padding-top:var(--space-4)}.release-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-1) var(--space-2);margin:0 0 var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--text-muted)}.release-footer>span{font-weight:var(--weight-semibold);white-space:nowrap}.release-footer button{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);white-space:nowrap;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--action-text);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.release-footer button:hover{background:var(--action-soft)}.identity{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-2) var(--space-3) var(--space-3);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.identity>div{min-width:0;flex:1}.identity strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm)}.identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted)}.avatar{display:grid;place-items:center;flex-shrink:0;width:var(--control-md);height:var(--control-md);border-radius:50%;background:var(--brand-100);color:var(--brand-800);font-size:var(--text-xs);font-weight:var(--weight-bold)}.connect-profile{white-space:nowrap;display:inline-flex;align-items:center;gap:var(--space-1);margin-top:var(--space-1);color:var(--action-text);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.connect-profile:hover{text-decoration:underline}.sidebar-scrim{display:none}.app>main{flex:1;min-width:0;margin-left:var(--sidebar-width);min-height:100vh;background:var(--bg);border-left:var(--hairline) solid var(--border)}.topbar{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);height:var(--topbar-height);padding:0 var(--gutter);background:var(--bg);border-bottom:var(--hairline) solid var(--border)}.breadcrumb{display:flex;align-items:center;gap:var(--space-2);min-width:0;font-size:var(--text-sm);color:var(--text-subtle)}.breadcrumb strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:var(--weight-semibold)}.top-end{display:flex;align-items:center;gap:var(--space-3)}.preview-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--warning-50);border:var(--hairline) solid var(--warning-100);color:var(--warning-700);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap}.mobile-toggle{display:none}.content{width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--space-8) var(--gutter) var(--space-16)}.heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-6)}.eyebrow{display:block;margin-bottom:var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--action-text)}.heading p{margin-top:var(--space-2);font-size:var(--text-md)}.count-caption{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap}.muted{color:var(--text-muted);font-size:var(--text-sm)}.search-row{margin-bottom:var(--space-5)}.search{display:flex;align-items:center;gap:var(--space-3);width:min(560px,100%);height:var(--control-lg);padding:0 var(--space-4);background:var(--surface-muted);border:var(--hairline) solid var(--border);border-radius:var(--radius-pill);color:var(--text-subtle);transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease)}.search:focus-within{background:var(--surface);border-color:var(--focus-ring);box-shadow:var(--shadow-focus)}.search svg{flex-shrink:0}.search input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:var(--text);font-size:var(--text-md)}.search input::placeholder{color:var(--text-subtle)}.search kbd{display:none}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border-bottom:var(--hairline) solid var(--border)}.list-toolbar>span{display:flex;white-space:nowrap;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-muted)}.workflow-list{margin-top:var(--space-4);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden;box-shadow:var(--shadow-xs)}.table-head,.workflow-row{display:grid;grid-template-columns:minmax(0,1fr) 140px 116px 84px 128px 76px;align-items:center;column-gap:var(--space-4);padding:0 var(--space-4)}.table-head{min-height:var(--control-md);background:var(--surface-muted);border-bottom:var(--hairline) solid var(--border);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.workflow-row{min-height:var(--space-16);padding-top:var(--space-3);padding-bottom:var(--space-3);border-bottom:var(--hairline) solid var(--border);animation:enter var(--duration-slow) var(--ease) both;transition:background var(--duration-fast) var(--ease)}.workflow-row:last-child{border-bottom:0}.workflow-row:hover{background:var(--surface-muted)}.workflow-name{display:flex;align-items:center;gap:var(--space-3);min-width:0;padding:0;border:0;background:none;text-align:left;border-radius:var(--radius-md)}.workflow-name>span:last-child{min-width:0}.workflow-name strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text)}.workflow-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:var(--text-sm);color:var(--text-muted)}.flow-glyph{display:grid;place-items:center;flex-shrink:0;width:var(--tile-md);height:var(--tile-md);border-radius:var(--radius-md);background:var(--action-soft);color:var(--action-text)}.application{display:flex;align-items:center;gap:var(--space-2);min-width:0;font-size:var(--text-sm);color:var(--text-muted)}.app-dot{flex-shrink:0;width:var(--space-2);height:var(--space-2);border-radius:var(--radius-xs);background:var(--brand-300)}.version-cell{font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums}.row-actions{display:flex;justify-content:flex-end;gap:var(--space-1)}.favorite{color:var(--brand-500)}.home-note{display:flex;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-5);font-size:var(--text-xs);color:var(--text-subtle)}.home-note>span:first-child,.status-dot{display:inline-flex;align-items:center;gap:var(--space-2)}.status-dot{width:var(--space-2);height:var(--space-2);border-radius:50%;background:var(--success-500)}.editor{height:calc(100vh - var(--topbar-height));display:flex;flex-direction:column}.editor-toolbar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:var(--space-16);padding:var(--space-2) var(--space-4);background:var(--surface);border-bottom:var(--hairline) solid var(--border)}.editor-toolbar>div{display:flex;align-items:center;gap:var(--space-2);min-width:0}.editor-toolbar>div:last-child{flex-shrink:0}.editor-toolbar>div:last-child>.icon:nth-child(2){margin-right:var(--space-2)}.editor-title{min-width:0;margin:0 var(--space-2)}.editor-title>strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px;font-size:var(--text-lg);font-weight:var(--weight-semibold)}.editor-title>small{display:block;margin-top:2px;color:var(--text-muted)}.editor-title small span{padding:0 var(--space-1)}.version-button{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--control-sm);padding:0 var(--space-3);border:var(--hairline) solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.version-button:hover{background:var(--surface-hover);color:var(--text)}.editor-body{display:flex;flex:1;min-height:0}.canvas{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg-canvas)}.canvas.graph-canvas{overflow:hidden;min-height:480px}.graph-surface{position:absolute;inset:0;isolation:isolate}.inspector{width:var(--inspector-width);flex-shrink:0;display:flex;flex-direction:column;min-height:0;background:var(--surface);border-left:var(--hairline) solid var(--border)}.inspector-head{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;height:var(--control-lg);padding:0 var(--space-5);border-bottom:var(--hairline) solid var(--border);color:var(--text-muted)}.inspector-head strong{font-size:var(--text-sm);color:var(--text)}.inspector-scroll{flex:1;padding:var(--space-5);overflow:auto}.inspector hr{margin:var(--space-5) 0}.property-title{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.property-title strong{font-size:var(--text-md)}.property-title small{display:block;margin-top:2px;color:var(--text-muted)}.checkpoint-note{display:flex;align-items:flex-start;gap:var(--space-3);margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-muted)}.checkpoint-note svg{flex-shrink:0;margin-top:2px}.checkpoint-note strong{font-size:var(--text-sm);color:var(--text)}.checkpoint-note p{margin-top:var(--space-1);font-size:var(--text-xs)}.node-controls{display:flex;gap:var(--space-2)}.node-links{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-4) 0}.node-links>strong{font-size:var(--text-sm)}.node-link{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-md);padding:0 var(--space-2) 0 var(--space-3);border:var(--hairline) solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm)}.node-link>span{min-width:var(--space-16);color:var(--text-muted)}.node-link>b{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--weight-medium)}.trigger-panel{display:grid;gap:var(--space-2)}.type-action{--c: var(--brand-500);--c-soft: var(--brand-50);--c-text: var(--brand-700)}.type-set{--c: var(--violet-500);--c-soft: var(--violet-50);--c-text: var(--violet-700)}.type-condition{--c: var(--info-500);--c-soft: var(--info-50);--c-text: var(--info-700)}.type-wait{--c: var(--warning-500);--c-soft: var(--warning-50);--c-text: var(--warning-700)}.type-email{--c: var(--pink-500);--c-soft: var(--pink-50);--c-text: var(--pink-700)}.type-http{--c: var(--teal-500);--c-soft: var(--teal-50);--c-text: var(--teal-700)}.type-waitEvent{--c: var(--pink-500);--c-soft: var(--pink-50);--c-text: var(--pink-700)}.node-icon{display:grid;place-items:center;flex-shrink:0;width:var(--tile-md);height:var(--tile-md);border-radius:var(--radius-md);background:var(--c-soft, var(--action-soft));color:var(--c, var(--action-text))}.node-icon.small{width:var(--control-md);height:var(--control-md)}.flow-node{position:relative;background:var(--surface);border:var(--border-thick) solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:left;cursor:grab;transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease)}.flow-node:before{content:"";position:absolute;inset:calc(-1 * var(--border-thick));box-sizing:border-box;border-top:var(--space-1) solid var(--c);border-radius:var(--radius-lg);clip-path:inset(0 0 calc(100% - var(--radius-lg)) 0);pointer-events:none}.flow-node:hover{box-shadow:var(--shadow-md)}.flow-node.readonly{cursor:pointer}.flow-node.selected{border-color:var(--action);box-shadow:var(--shadow-focus),var(--shadow-md)}.node-main{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-3) var(--space-3) var(--space-3)}.node-copy{flex:1;min-width:0}.node-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:var(--space-5);margin-bottom:var(--space-1);font-size:var(--text-xs)}.node-kind{font-weight:var(--weight-semibold);color:var(--c-text);white-space:nowrap}.node-copy strong{display:block;font-size:var(--text-md);line-height:var(--space-5);font-weight:var(--weight-semibold);color:var(--text);overflow-wrap:anywhere}.node-app{display:flex;align-items:center;gap:var(--space-1);min-height:var(--space-5);margin-top:var(--space-1);font-size:var(--text-xs);color:var(--text-muted)}.node-app svg{flex-shrink:0}.node-status{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted);white-space:nowrap}.node-status .status-dot{width:var(--space-2);height:var(--space-2);background:var(--state-pending)}.flow-node.state-completed{border-color:var(--state-completed);background:var(--success-50)}.flow-node.state-completed .status-dot{background:var(--state-completed)}.flow-node.state-completed .node-status{color:var(--success-700)}.flow-node.state-running{border-color:var(--state-running);background:var(--action-soft)}.flow-node.state-running .status-dot{background:var(--state-running);animation:pulse 1.4s ease-in-out infinite}.flow-node.state-running .node-status{color:var(--action-text)}.flow-node.state-failed{border-color:var(--state-failed);background:var(--danger-50)}.flow-node.state-failed .status-dot{background:var(--state-failed)}.flow-node.state-failed .node-status{color:var(--danger-700)}.flow-node.state-skipped{opacity:.6;border-style:dashed;box-shadow:none}.flow-node.state-pending .status-dot,.flow-node.state-skipped .status-dot{background:var(--state-skipped)}.flow-node.selected.state-completed,.flow-node.selected.state-failed,.flow-node.selected.state-running{box-shadow:var(--shadow-focus),var(--shadow-md)}@keyframes pulse{50%{opacity:.35}}.node-outs{display:flex;flex-wrap:wrap;gap:var(--space-2) 6px;padding:var(--space-3) 14px var(--space-3);border-top:var(--hairline) solid var(--border)}.out-pill{position:relative;display:inline-flex;align-items:center;height:26px;padding:0 var(--space-3);border-radius:var(--radius-pill);border:var(--hairline) solid var(--border-strong);background:var(--surface-hover);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:1;white-space:nowrap}.out-pill.tone-ok{--tc: var(--success-500);background:var(--success-50);border-color:var(--success-100);color:var(--success-700)}.out-pill.tone-warn{--tc: var(--warning-500);background:var(--warning-50);border-color:var(--warning-100);color:var(--warning-700)}.out-pill.tone-bad{--tc: var(--danger-500);background:var(--danger-50);border-color:var(--danger-100);color:var(--danger-700)}.out-pill.tone-neutral{--tc: var(--neutral-400)}.graph-surface .react-flow{--xy-edge-stroke-default: var(--edge);--xy-edge-stroke-selected-default: var(--edge-active);--xy-edge-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-minimap-background-color-default: var(--surface);--xy-minimap-mask-background-color-default: rgb(16 24 40 / .08);--xy-minimap-mask-stroke-color-default: var(--action);--xy-controls-button-background-color-default: var(--surface);--xy-controls-button-background-color-hover-default: var(--surface-hover);--xy-controls-button-color-default: var(--text-muted);--xy-controls-button-color-hover-default: var(--text);--xy-controls-button-border-color-default: var(--border);--xy-controls-box-shadow-default: var(--shadow-sm);background:transparent;font-family:inherit}:root[data-theme=dark] .graph-surface .react-flow{--xy-minimap-mask-background-color-default: rgb(0 0 0 / .5)}.react-flow .react-flow__handle{width:10px;height:10px;min-width:0;min-height:0;background:var(--tc, var(--neutral-400));border:var(--border-thick) solid var(--surface);box-shadow:0 0 0 1px var(--tc, var(--neutral-400))}.react-flow .react-flow__handle-top{top:0;background:var(--surface);box-shadow:0 0 0 1px var(--neutral-400)}.react-flow .react-flow__handle.connectingto,.react-flow .react-flow__handle:hover{background:var(--action);box-shadow:0 0 0 1px var(--action)}.flow-node.readonly .react-flow__handle{opacity:0;pointer-events:none}.routed-edge{fill:none;stroke:var(--neutral-400);stroke-width:2}.routed-edge.tone-ok{stroke:var(--success-500)}.routed-edge.tone-warn{stroke:var(--warning-500);stroke-dasharray:6 5}.routed-edge.tone-bad{stroke:var(--danger-500);stroke-dasharray:6 5}.routed-edge.tone-done{stroke:var(--state-completed);stroke-width:2.5}.routed-edge.is-selected{stroke:var(--edge-active);stroke-width:3}.arrow{fill:var(--neutral-400)}.arrow.tone-ok,.arrow.tone-done{fill:var(--success-500)}.arrow.tone-warn{fill:var(--warning-500)}.arrow.tone-bad{fill:var(--danger-500)}.edge-label{position:absolute;padding:2px var(--space-2);border-radius:var(--radius-pill);border:var(--hairline) solid var(--border-strong);background:var(--surface);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);pointer-events:none;white-space:nowrap}.react-flow__controls{border-radius:var(--radius-md);overflow:hidden;border:var(--hairline) solid var(--border)}.react-flow__controls-button{border-bottom-color:var(--border)}.react-flow__controls-button svg{fill:currentColor}.react-flow__minimap{border:var(--hairline) solid var(--border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.graph-tools{display:flex;align-items:center;gap:var(--space-2)}.graph-tools button{min-height:var(--control-sm);box-shadow:var(--shadow-sm)}.graph-hint{margin-left:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--surface);border:var(--hairline) solid var(--border);font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.runs-list{border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden;box-shadow:var(--shadow-xs)}.run-row{display:flex;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4);border:0;border-bottom:var(--hairline) solid var(--border);background:var(--surface);text-align:left;transition:background var(--duration-fast) var(--ease)}.run-row:last-child{border-bottom:0}.run-row:hover{background:var(--surface-muted)}.run-row>svg:first-child{color:var(--text-subtle);flex-shrink:0}.run-row>div{flex:1;min-width:0}.run-row strong{display:block;font-size:var(--text-md)}.run-row small{display:block;margin-top:2px;color:var(--text-muted);font-family:var(--font-mono)}.run-row>span:last-of-type{min-width:120px;font-size:var(--text-sm);color:var(--text-muted);text-align:right}.run-row>svg:last-child{color:var(--text-subtle);flex-shrink:0}.execution>.text-button{margin-bottom:var(--space-4)}.execution .heading{margin-bottom:var(--space-4)}.execution-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-8);margin-top:var(--space-6);align-items:start}.execution h3{margin:var(--space-6) 0 var(--space-4)}.execution h3:first-child{margin-top:0}.execution h3 small{margin-left:var(--space-2);color:var(--text-muted);font-weight:var(--weight-regular)}.run-graph{position:relative;height:460px;margin-bottom:var(--space-4);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-canvas)}.run-node-detail{margin-bottom:var(--space-5);padding:var(--space-4);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs)}.run-node-head{display:flex;align-items:center;gap:var(--space-3)}.run-node-head>div{flex:1;min-width:0}.run-node-head strong{display:block;font-size:var(--text-md)}.run-node-head small{color:var(--text-muted)}.run-node-detail dl{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:var(--space-4) 0 0;font-size:var(--text-sm)}.run-node-detail dt{color:var(--text-muted)}.run-node-detail dd{margin:0 var(--space-3) 0 0;font-weight:var(--weight-semibold)}.run-node-detail .io-grid{margin-top:var(--space-4)}.node-state-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--surface-hover);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.node-state-badge.state-completed{background:var(--success-50);color:var(--success-700)}.node-state-badge.state-running{background:var(--action-soft);color:var(--action-text)}.node-state-badge.state-failed{background:var(--danger-50);color:var(--danger-700)}.timeline{margin:0 0 var(--space-6)}.timeline-step{position:relative;display:flex;align-items:center;gap:var(--space-4);padding-bottom:var(--space-5)}.timeline-step:before{content:"";position:absolute;left:calc(var(--control-md) / 2);top:var(--control-md);bottom:0;width:var(--border-thick);margin-left:calc(-1 * var(--hairline));background:var(--border)}.timeline-step:last-child:before{display:none}.timeline-step>span:first-child{z-index:1;display:grid;place-items:center;flex-shrink:0;width:var(--control-md);height:var(--control-md);border-radius:50%;background:var(--surface-hover);border:var(--border-thick) solid var(--surface);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.timeline-step.completed>span:first-child,.timeline-step.done>span:first-child{background:var(--success-100);color:var(--success-700)}.timeline-step.running>span:first-child{background:var(--action-soft-hover);color:var(--action-text)}.timeline-step.failed>span:first-child{background:var(--danger-100);color:var(--danger-700)}.timeline-step>div{flex:1;min-width:0}.timeline-step strong{font-size:var(--text-md)}.timeline-step small{display:block;margin-top:2px;color:var(--text-muted)}.event{border:var(--hairline) solid var(--border);border-radius:var(--radius-md);background:var(--surface);margin-bottom:var(--space-2);padding:0 var(--space-4)}.event[open]{padding-bottom:var(--space-4);box-shadow:var(--shadow-xs)}.event summary{display:flex;align-items:center;gap:var(--space-3);min-height:var(--control-lg);cursor:pointer;list-style:none;font-size:var(--text-sm)}.event summary::-webkit-details-marker{display:none}.event summary>strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium)}.event summary>span:last-of-type{color:var(--text-muted);font-size:var(--text-xs)}.event summary>svg{color:var(--text-subtle);transition:transform var(--duration-base) var(--ease)}.event[open] summary>svg{transform:rotate(180deg)}.event-dot{flex-shrink:0;width:var(--space-2);height:var(--space-2);border-radius:50%;background:var(--brand-400)}.event pre,.run-inspector pre,.run-node-detail pre{max-height:220px;overflow:auto;padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-muted);border:var(--hairline) solid var(--border);color:var(--text-muted)}.io-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-3)}.io-grid small{display:block;margin-bottom:var(--space-2);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);color:var(--text-muted)}.run-inspector{padding:var(--space-5);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs)}.run-inspector h3{margin:0 0 var(--space-3);font-size:var(--text-md)}.run-inspector h3:not(:first-child){margin-top:var(--space-5)}.run-inspector dl{margin:0}.run-inspector dt{margin-top:var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted)}.run-inspector dd{margin:var(--space-1) 0 0;font-size:var(--text-sm);overflow-wrap:anywhere}.integration-row{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3);padding:var(--space-5);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs)}.integration-row>svg{flex-shrink:0;padding:var(--space-3);box-sizing:content-box;border-radius:var(--radius-md);background:var(--action-soft);color:var(--action-text)}.integration-row>div{flex:1;min-width:0}.integration-row h3{margin:0 0 var(--space-1)}.content>h3{margin:var(--space-8) 0 var(--space-3)}.scope-row{display:flex;gap:var(--space-6);padding:var(--space-3) 0;border-bottom:var(--hairline) solid var(--border);font-size:var(--text-sm);color:var(--text-muted)}.scope-row code{flex-shrink:0;width:180px;height:fit-content;color:var(--action-text);background:var(--action-soft)}.content>.text-button{margin-top:var(--space-3)}.node-picker-groups{display:grid;gap:var(--space-2)}.picker-group{margin:var(--space-3) 0 var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted)}.picker-group small{font-weight:var(--weight-regular);text-transform:none;letter-spacing:0}.node-picker{display:grid;gap:var(--space-2)}.node-picker button{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);text-align:left;transition:border-color var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease)}.node-picker button:hover{border-color:var(--brand-300);background:var(--action-soft)}.node-picker strong{display:block;font-size:var(--text-md)}.node-picker small{display:block;margin-top:2px;color:var(--text-muted);font-size:var(--text-sm)}.node-picker button>div{flex:1;min-width:0}.node-picker button>svg{flex-shrink:0;color:var(--text-subtle)}.version-list>div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:var(--hairline) solid var(--border)}.version-list strong{font-size:var(--text-sm)}.version-list small{display:block;margin-top:2px;color:var(--text-muted)}.login{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-12) var(--space-6);background:var(--bg)}.login-mark{width:var(--space-16);height:var(--space-16);margin-bottom:var(--space-6);box-shadow:var(--shadow-md);border-radius:var(--radius-xl);line-height:0}.login h1{margin:var(--space-2) 0 var(--space-4);font-size:var(--text-4xl);letter-spacing:var(--tracking-tight);font-weight:var(--weight-bold)}.login p{font-size:var(--text-lg)}.login>.primary{margin-top:var(--space-8);min-height:var(--control-lg);padding:0 var(--space-6);font-size:var(--text-md)}.auth-message{display:flex;align-items:flex-start;gap:var(--space-3);max-width:460px;margin-top:var(--space-6);padding:var(--space-4);border:var(--hairline) solid var(--warning-100);border-radius:var(--radius-lg);background:var(--warning-50);color:var(--warning-700);text-align:left}.auth-message svg{flex-shrink:0}.auth-message strong{display:block;margin-bottom:var(--space-1);font-size:var(--text-md)}.auth-message p{font-size:var(--text-sm);color:var(--text-muted)}.loading{height:100vh;display:flex;align-items:center;justify-content:center;gap:var(--space-3);color:var(--action-text)}.run-graph .react-flow__minimap{display:none}@media(max-width:1180px){.table-head,.workflow-row{grid-template-columns:minmax(0,1fr) 116px 96px 76px 68px}.table-head>span:nth-child(5),.workflow-row>.muted{display:none}.graph-hint{display:none}}@media(max-width:900px){.execution-grid{grid-template-columns:minmax(0,1fr)}.table-head,.workflow-row{grid-template-columns:minmax(0,1fr) 96px 68px}.table-head>span:nth-child(2),.workflow-row>.application,.table-head>span:nth-child(4),.workflow-row>.version-cell,.row-actions .icon:last-child{display:none}.editor-title>strong{max-width:180px}.count-caption{display:none}.run-graph{height:380px}}@media(max-width:760px){.sidebar{transform:translate(-100%);transition:transform var(--duration-slow) var(--ease);width:min(var(--sidebar-width),86vw);background:var(--bg)}.sidebar.visible{transform:translate(0);box-shadow:var(--shadow-lg)}.sidebar.visible+.sidebar-scrim{display:block;position:fixed;inset:0;z-index:calc(var(--z-sidebar) - 1);background:var(--overlay)}.app>main{margin-left:0;border-left:0}.mobile-toggle{display:inline-grid}.topbar{gap:var(--space-2);padding:0 var(--space-3)}.topbar .breadcrumb{flex:1}.preview-badge{display:none}.content{padding-top:var(--space-6)}.heading{align-items:flex-start;flex-wrap:wrap;gap:var(--space-3)}.workflow-name small{display:none}.workflow-name strong{white-space:normal}.table-head,.workflow-row{grid-template-columns:minmax(0,1fr) auto var(--icon-button);column-gap:var(--space-3)}.row-actions .icon:first-child{display:inline-grid}.list-toolbar>span{display:none}.workflow-row{min-height:var(--space-16)}.editor{height:auto;min-height:calc(100vh - var(--topbar-height))}.editor-toolbar{flex-wrap:wrap;padding:var(--space-3)}.editor-toolbar>div:first-child{width:100%}.editor-toolbar>div:last-child{flex-wrap:wrap;width:100%}.editor-toolbar>div:last-child>.primary{margin-left:auto}.editor-toolbar .primary,.editor-toolbar .secondary,.graph-tools button{min-height:var(--control-sm);padding:0 var(--space-3)}.editor-toolbar>div:last-child{gap:var(--space-1)}.graph-tools{flex-wrap:wrap;max-width:calc(100vw - var(--space-8))}.react-flow__minimap{display:none}.editor-body{flex-direction:column}.canvas.graph-canvas{flex:none;height:60vh;min-height:420px}.inspector{width:100%;border-left:0;border-top:var(--hairline) solid var(--border)}.inspector-scroll{overflow:visible}.run-row>span:last-of-type{display:none}.integration-row{flex-wrap:wrap}.scope-row{flex-direction:column;gap:var(--space-1)}.io-grid{grid-template-columns:1fr}.modal{padding:var(--space-5)}.login h1{font-size:var(--text-3xl)}.home-note>span:last-child{display:none}}.react-flow__attribution{background:transparent;color:var(--text-subtle)}.react-flow__attribution a{color:inherit}.app-logo{display:inline-grid;place-items:center;flex-shrink:0;overflow:hidden;border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-on-brand);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:1}.app-logo img{display:block;width:100%;height:100%;object-fit:contain}.node-sub{display:block;margin-top:var(--space-1);font-size:var(--text-xs);line-height:var(--space-4);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trigger-node{--c: var(--brand-500);--c-soft: var(--brand-50);--c-text: var(--brand-700);cursor:default}.flow-node.tour-dim,.edge-dim{opacity:.35}.flow-node.tour-active{border-color:var(--action);box-shadow:var(--shadow-focus),var(--shadow-lg)}.flow-node,.routed-edge{transition:opacity var(--duration-slow) var(--ease),border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.routed-edge.tour-dim{opacity:.25}.routed-edge.tour-active{stroke:var(--edge-active);stroke-width:3}.edge-plus{position:absolute;display:grid;place-items:center;width:var(--space-6);height:var(--space-6);padding:0;border:var(--border-thick) solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-muted);cursor:pointer;pointer-events:all;opacity:0;transition:opacity var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease)}.react-flow__edge:hover .edge-plus,.edge-plus:hover,.edge-plus:focus-visible,.react-flow__edge.selected .edge-plus{opacity:1}.edge-plus:hover{background:var(--action);border-color:var(--action);color:var(--text-on-brand)}.edge-plus:focus-visible{outline:none;box-shadow:var(--shadow-focus)}@media(hover:none){.edge-plus{opacity:1}}.edge-flow{stroke:var(--neutral-500);stroke-width:3;stroke-linecap:round;stroke-dasharray:.002 .03;animation:edge-flow 1.4s linear infinite;pointer-events:none}.edge-flow.tone-ok,.edge-flow.tone-done{stroke:var(--success-500)}.edge-flow.tone-warn{stroke:var(--warning-500)}.edge-flow.tone-bad{stroke:var(--danger-500)}@keyframes edge-flow{to{stroke-dashoffset:-.032}}.edge-pulse{stroke:var(--action);stroke-width:6;stroke-linecap:round;stroke-dasharray:.07 1;stroke-dashoffset:.07;animation:edge-pulse 1.6s var(--ease) forwards;pointer-events:none}@keyframes edge-pulse{to{stroke-dashoffset:-1}}.graph-tools button.is-on{background:var(--action-soft);border-color:var(--action);color:var(--action-text)}.tour-bar{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);width:min(560px,calc(100cqw - var(--space-8)));padding:var(--space-3) var(--space-4);background:var(--surface);border:var(--hairline) solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.tour-caption{margin:0;text-align:center;font-size:var(--text-md);color:var(--text)}.tour-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2)}.tour-count{font-size:var(--text-xs);color:var(--text-muted)}.tour-speed{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-muted)}@media(prefers-reduced-motion:reduce){.edge-flow{display:none}.edge-pulse{animation:none;stroke-dashoffset:-.5}.flow-node,.routed-edge,.edge-plus{transition:none}}.graph-surface{container-type:inline-size}.graph-tools{flex-wrap:wrap;max-width:calc(100cqw - var(--space-8))}@container (max-width: 820px){.graph-hint{display:none}}button.icon.undo-server{position:relative}button.icon.undo-server:after{content:"";position:absolute;top:var(--space-1);right:var(--space-1);width:var(--space-2);height:var(--space-2);border-radius:var(--radius-pill);background:var(--action)}.grants-undo{justify-content:flex-start;gap:var(--space-2)}.app-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.app-toolbar>*{height:var(--control-md, 36px)}.app-toolbar .seg button{height:100%}.app-toolbar>button{display:inline-flex;align-items:center;gap:var(--space-2)}.app-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.app-filters button{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--control-md, 36px);padding:0 var(--space-4);border:var(--hairline) solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer}.app-filters button:hover{background:var(--surface-hover)}.app-filters button.active{background:var(--action-soft);border-color:var(--action-soft-hover);color:var(--action-text)}.app-filters small{color:var(--text-subtle)}.app-categories{margin-bottom:var(--space-6)}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}.app-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-5);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs);text-align:left;cursor:pointer;transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.app-card:hover{border-color:var(--focus-ring);box-shadow:var(--shadow-sm, var(--shadow-xs))}.app-card strong{margin-top:var(--space-2);font-size:var(--text-lg);color:var(--text)}.app-card-desc{flex:1;color:var(--text-muted);font-size:var(--text-sm)}.app-card-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;margin-top:var(--space-2);color:var(--text-subtle)}.app-detail{display:flex;flex-direction:column;gap:var(--space-3)}.app-detail-head{display:flex;align-items:center;gap:var(--space-5);margin:var(--space-3) 0}.app-detail-head>div{flex:1;min-width:0}.app-detail-head h2{margin:0 0 var(--space-1)}.app-detail-head p{margin:0;color:var(--text-muted)}.app-detail h3 small{color:var(--text-subtle);font-weight:var(--weight-regular, 400)}.app-action{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border:var(--hairline) solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.app-action>svg{flex-shrink:0;color:var(--action-text)}.app-action>div{flex:1;min-width:0}.app-action small{display:block;color:var(--text-muted)}.app-action code{color:var(--action-text);background:var(--action-soft)}.dir-banner{display:flex;gap:var(--space-3);align-items:flex-start;margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border:var(--hairline) solid var(--warning-500);border-radius:var(--radius-lg);background:var(--warning-50);color:var(--warning-700);font-size:var(--text-sm)}.dir-banner p{margin:0}.dir-banner strong{display:block;margin-bottom:var(--space-1)}.dir-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);margin:var(--space-5) 0}.dir-facts dt{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.dir-facts dd{margin:var(--space-1) 0 0;color:var(--text)}.dir-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.dir-chips>*,.role-chip{padding:var(--space-1) var(--space-3);border:var(--hairline) solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);font-size:var(--text-xs)}.chip-button{cursor:pointer;font:inherit;font-size:var(--text-xs)}.chip-button:hover{background:var(--surface-hover)}.user-table{border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.user-row{display:grid;grid-template-columns:minmax(220px,2.2fr) minmax(180px,2fr) 120px 120px 110px;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border-top:var(--hairline) solid var(--border)}.user-row.user-head{border-top:0;background:var(--surface-muted);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.user-row.is-off{opacity:.65}.user-who{display:flex;align-items:center;gap:var(--space-3);min-width:0}.user-who strong,.user-who small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-who small{color:var(--text-muted);font-size:var(--text-xs)}.self-tag{display:inline!important;margin-left:var(--space-2);padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--action-soft);color:var(--action-text)!important}.user-roles{display:flex;flex-wrap:wrap;gap:var(--space-1)}.role-chip.is-manage{border-color:var(--action);background:var(--action-soft);color:var(--action-text)}.role-chip.is-off{color:var(--text-muted);border-style:dashed}.users-page .muted,.user-row .muted{color:var(--text-muted)}.user-panel-scrim{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;justify-content:flex-end;background:#00000059}.user-panel{width:min(480px,100%);height:100%;overflow-y:auto;padding:var(--space-6);background:var(--surface);border-left:var(--hairline) solid var(--border);box-shadow:var(--shadow-lg)}.user-panel header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5)}.user-panel header h2{margin:0;font-size:var(--text-lg)}.user-panel header small{color:var(--text-muted)}.user-panel header>div{flex:1;min-width:0}.user-panel section{padding:var(--space-4) 0;border-top:var(--hairline) solid var(--border)}.user-panel h3{margin:0 0 var(--space-3);font-size:var(--text-md)}.section-head{display:flex;align-items:center;justify-content:space-between}.undo-pair{display:inline-flex;gap:var(--space-1)}.role-option{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) 0;cursor:pointer}.role-option input{margin-top:var(--space-1);accent-color:var(--action)}.role-option strong,.role-option small{display:block}.role-option small{color:var(--text-muted);font-size:var(--text-xs)}@media(max-width:900px){.user-row{grid-template-columns:1fr auto}.user-row.user-head,.user-row>:nth-child(3),.user-row>:nth-child(4){display:none}.user-row>:nth-child(2){grid-column:1 / -1;order:3}}.workflow-row .application{display:inline-flex;align-items:center;gap:var(--space-2)}.app-table{width:100%;border-collapse:collapse;margin-top:12px}.app-table th,.app-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}.app-table th{font-size:12px;font-weight:600;opacity:.7}.app-table .num{text-align:right;font-variant-numeric:tabular-nums}.app-table tbody tr{cursor:pointer}.app-table tbody tr:hover{background:#7f7f7f14}.app-table tfoot td{font-weight:600;border-bottom:0}.app-table-name{display:inline-flex;align-items:center;gap:10px}.seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.seg button{border:0;background:transparent;padding:8px 10px;cursor:pointer;color:inherit}.seg button.active{background:#7f7f7f2e}.schema-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.schema-table th{text-align:left;padding:var(--space-2) var(--space-3);color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.schema-table td{padding:var(--space-2) var(--space-3);border-top:var(--hairline) solid var(--border);vertical-align:top}.schema-table small{display:block;color:var(--text-subtle)}.schema-req{color:var(--danger-700)}.app-contract{border:var(--hairline) solid var(--border);border-radius:var(--radius-md);background:var(--surface);margin-bottom:var(--space-3)}.app-contract>summary{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);cursor:pointer;list-style:none}.app-contract>summary::-webkit-details-marker{display:none}.app-contract>summary>svg{flex-shrink:0;color:var(--action-text)}.app-contract>summary>div{flex:1;min-width:0}.app-contract>summary small{display:block;color:var(--text-muted)}.app-contract-body{padding:0 var(--space-5) var(--space-5)}.app-contract-body h4{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted)}.app-switch{display:inline-flex;align-items:center;position:relative;height:var(--control-md, 36px);margin-left:var(--space-2);gap:var(--space-3);cursor:pointer;font-size:var(--text-sm);color:var(--text-muted)}.app-switch input{position:absolute;opacity:0}.app-switch i{position:relative;width:34px;height:20px;border-radius:999px;background:var(--border-strong, var(--border));transition:background var(--duration-base) var(--ease)}.app-switch i:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--neutral-0);transition:transform var(--duration-base) var(--ease)}.app-switch input:checked+i{background:var(--action-text)}.app-switch input:checked+i:after{transform:translate(14px)}.app-switch input:focus-visible+i{outline:2px solid var(--action-text);outline-offset:2px}.app-table .row-action{text-align:right}.app.embedded{display:block;height:100vh}.app.embedded>.sidebar,.app.embedded>.sidebar-scrim,.app.embedded .topbar{display:none}.app.embedded>main{height:100vh}.embed-bar{display:flex;align-items:center;gap:4px;padding:8px 16px;border-bottom:1px solid var(--border, rgb(16 24 40 / .12))}.embed-bar button{padding:8px 14px;border-radius:8px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.embed-bar button.active{background:var(--brand-50);color:var(--brand-700);font-weight:600}.embed-bar button.primary{background:var(--brand-500);color:var(--text-on-brand);display:inline-flex;align-items:center;gap:6px}.embed-bar .spacer{flex:1}.email-chips{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 8px}.email-preview{display:grid;gap:6px;margin:8px 0}.email-preview iframe{width:100%;height:320px;border:1px solid var(--border, rgb(16 24 40 / .12));border-radius:8px;background:var(--bg)}.app.embedded>main{margin-left:0;border-left:0}.table-card{border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);background:var(--bg);margin-bottom:var(--space-5)}.table-card .row{display:grid;grid-template-columns:2fr 1fr 2fr auto;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4)}.table-card .row+.row{border-top:var(--hairline) solid var(--border)}.table-card>.hint{padding:var(--space-4)}.panel{display:grid;gap:var(--space-3);max-width:640px;padding:var(--space-5);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);background:var(--bg)}.panel fieldset{display:grid;gap:var(--space-2);border:var(--hairline) solid var(--border);border-radius:var(--radius-md);padding:var(--space-3)}.panel label.check{display:flex;align-items:flex-start;gap:var(--space-2)}.panel label.check input{width:auto;margin-top:3px}.templates{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:var(--space-5);align-items:start}.template-list{display:grid;gap:var(--space-2)}.template-list h4{margin:var(--space-3) 0 var(--space-1);color:var(--text-muted, inherit);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.template-row{display:grid;gap:2px;text-align:left;padding:var(--space-3);border:var(--hairline) solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:inherit;font:inherit;cursor:pointer}.template-row.active{border-color:var(--brand-500);background:var(--brand-50)}.template-editor{max-width:none}@media(max-width:800px){.templates{grid-template-columns:1fr}}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2) format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff) format("woff")}
