.react-flow{--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:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--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:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--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:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--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 #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.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:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--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:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--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:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--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 #00000014;--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{width:100%;height:100%;position:absolute;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{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.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;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:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.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:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;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%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;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{z-index:5;margin:15px;position:absolute}.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{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.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{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.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{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;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));padding:10px;font-size:12px}.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{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.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-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{--bg:#f3f5f9;--surface:#fff;--surface-2:#f6f8fb;--surface-3:#eceff5;--border:#dde3ec;--border-strong:#c7cfdc;--text:#182033;--text-2:#3b465c;--muted:#6b7690;--primary:#3552d3;--primary-hover:#2a43b3;--primary-soft:#e8edfd;--primary-ring:#3552d347;--primary-ink:#fff;--success:#15803d;--success-soft:#e4f6ea;--warning:#b45309;--warning-soft:#fff4dd;--warning-border:#f2d59a;--danger:#c62828;--danger-soft:#fde8e8;--danger-border:#f3b4b4;--shadow-1:0 1px 2px #1820330f, 0 1px 6px #1820330d;--shadow-2:0 4px 14px #1820331a;--shadow-3:0 16px 40px #1820332e;--radius-s:6px;--radius:10px;--radius-l:14px;--topbar-h:52px;--rail-w:64px;--left-w:300px;--right-w:380px;--font:"Inter", "SF Pro Text", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;font-family:var(--font);color:var(--text);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.45}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}h2,h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 8px;font-size:11.5px;font-weight:700}.muted{color:var(--muted)}.loading{height:100%;color:var(--muted);place-items:center;display:grid}.loading--error{color:var(--danger)}.app{flex-direction:column;height:100%;display:flex}.app__body{flex:1;min-height:0;display:flex}.app__left{width:var(--left-w);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;min-height:0;display:flex}.app__center{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.app__canvas{flex:1;min-height:0;position:relative}.app__right{width:var(--right-w);background:var(--surface);border-left:1px solid var(--border);flex-direction:column;min-height:0;display:flex}.app__right-body{flex:1;padding:14px 16px 24px;overflow:auto}.topbar{height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-1);z-index:25;align-items:center;gap:14px;padding:0 14px;display:flex;position:relative}.topbar__brand{white-space:nowrap;align-items:center;gap:10px;display:flex}.topbar__home{border-radius:var(--radius-s);cursor:pointer;color:var(--text);background:0 0;border:none;align-items:center;gap:8px;padding:4px 6px 4px 4px;font-size:15px;display:inline-flex}.topbar__home svg{color:#fff;background:linear-gradient(135deg,#3552d3,#6d8bff);border-radius:8px;width:26px;height:26px;padding:5px}.topbar__home:hover{background:var(--surface-2)}.topbar__model{color:var(--muted);text-overflow:ellipsis;max-width:220px;overflow:hidden}.topbar__nav{flex:1;align-items:center;gap:2px;min-width:0;display:flex}.topbar__right{align-items:center;gap:8px;display:flex}.topbar__scenario-button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;max-width:320px;box-shadow:var(--shadow-1);align-items:center;gap:8px;padding:6px 10px;display:inline-flex}.topbar__scenario-button:hover,.topbar__scenario-button--open{border-color:var(--border-strong);background:var(--surface-2)}.topbar__scenario-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.breadcrumb ol{align-items:center;gap:2px;margin:0 0 0 8px;padding:0;list-style:none;display:flex;overflow:hidden}.breadcrumb li{align-items:center;gap:2px;display:flex}.breadcrumb__sep{color:var(--border-strong)}.breadcrumb__item{border-radius:var(--radius-s);cursor:pointer;color:var(--primary);white-space:nowrap;background:0 0;border:none;padding:4px 8px;font-weight:500}.breadcrumb__item:hover:not(:disabled){background:var(--primary-soft)}.breadcrumb__item:disabled{color:var(--text);cursor:default;font-weight:700}.problems-counter{border:1px solid var(--border);background:var(--success-soft);color:var(--success);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:600;display:inline-flex}.problems-counter--warnings{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning)}.problems-counter--errors{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.problems-counter--open{box-shadow:0 0 0 3px var(--primary-ring)}.save{color:var(--muted);white-space:nowrap;font-size:12px}.save--conflict,.save--error{color:var(--danger);font-weight:600}.banner{align-items:center;gap:12px;padding:8px 14px;display:flex}.banner--draft{background:var(--warning-soft);color:var(--warning);border-bottom:1px solid var(--warning-border)}.button{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);cursor:pointer;box-shadow:var(--shadow-1);justify-content:center;align-items:center;gap:6px;padding:7px 12px;font-weight:500;transition:background .12s,border-color .12s,transform 80ms;display:inline-flex}.button:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.button--primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.button--primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.button--danger{color:var(--danger);border-color:var(--danger-border)}.button--danger:hover:not(:disabled){background:var(--danger-soft)}.icon-button{border-radius:var(--radius-s);cursor:pointer;width:30px;height:30px;color:var(--text-2);background:0 0;border:1px solid #0000;place-items:center;display:inline-grid}.icon-button:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.icon-button:disabled{opacity:.35;cursor:not-allowed}.icon-button--danger{color:var(--danger)}.link-button{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-weight:500}.link-button:hover{text-decoration:underline}.panel__header{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 12px 8px;font-size:11.5px;font-weight:700;display:flex}.panel__header-actions{gap:2px;display:inline-flex}.palette{border-bottom:1px solid var(--border);background:var(--surface)}.palette__hint{color:var(--muted);margin:8px 12px 6px;font-size:12px}.palette__list{grid-template-columns:1fr 1fr;gap:6px;margin:0;padding:4px 10px 12px;list-style:none;display:grid}.palette__item{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);cursor:grab;text-align:left;width:100%;color:var(--text-2);box-shadow:var(--shadow-1);align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;font-weight:500;display:flex}.palette__item svg{color:var(--primary)}.palette__item:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft);color:var(--text)}.palette__item:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.tree{flex-direction:column;flex:1;min-height:0;display:flex}.tree__list,.tree__list ul{margin:0;padding:0;list-style:none}.tree__list{padding:6px;overflow:auto}.tree__row{border-radius:var(--radius-s);align-items:center;gap:2px;padding-right:6px;display:flex}.tree__row--current{background:var(--primary-soft)}.tree__row--current .tree__label{color:var(--primary);font-weight:600}.tree__toggle{cursor:pointer;width:20px;height:26px;color:var(--muted);background:0 0;border:none;place-items:center;display:inline-grid}.tree__toggle--leaf{cursor:default}.tree__label{border-radius:var(--radius-s);cursor:pointer;text-align:left;min-width:0;color:var(--text-2);background:0 0;border:none;flex:1;align-items:center;gap:7px;padding:5px 6px;display:flex}.tree__label:hover{background:var(--surface-3)}.tree__name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tabs{border-bottom:1px solid var(--border);background:var(--surface-2);display:flex}.tabs__tab{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;min-width:0;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;gap:6px;padding:11px 2px 9px;font-size:12.5px;font-weight:500;display:inline-flex;overflow:hidden}.tabs__tab:hover{color:var(--text)}.tabs__tab--active{color:var(--primary);border-bottom-color:var(--primary);background:var(--surface);font-weight:700}.props__title{text-transform:none;letter-spacing:0;color:var(--text);border-bottom:1px solid var(--border);margin-bottom:14px;padding-bottom:10px;font-size:16px;font-weight:700}.props__section{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.props__actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.props__actions--column{flex-direction:column;align-items:stretch}.props__empty{border:1px dashed var(--border-strong);border-radius:var(--radius);text-align:center;padding:12px}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field__label{color:var(--text-2);font-size:12px;font-weight:500}.field__label:empty{display:none}.field__hint{color:var(--muted);font-size:11.5px}.field input[type=text],.field input[type=number],.field select,.field textarea,.scenario-panel select{border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);width:100%;padding:7px 10px;transition:border-color .12s}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--border-strong)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring);outline:none}.field-row{gap:10px;display:flex}.field-row .field{flex:1}.value{padding:6px 0;font-weight:500}.color-field{align-items:center;gap:8px;display:flex}.color-field input[type=color]{border:1px solid var(--border);border-radius:var(--radius-s);cursor:pointer;background:0 0;width:38px;height:30px;padding:0}.icon-grid{grid-template-columns:repeat(8,1fr);gap:4px;display:grid}.icon-grid__item{border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);cursor:pointer;height:32px;color:var(--text-2);place-items:center;display:grid}.icon-grid__item:hover{border-color:var(--border-strong);background:var(--surface-2)}.icon-grid__item--active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.port-group{margin-bottom:10px}.port-group__header{color:var(--text-2);justify-content:space-between;align-items:center;margin-bottom:4px;font-size:12px;font-weight:600;display:flex}.port-row{border-radius:var(--radius-s);align-items:center;gap:2px;padding:2px;display:flex}.port-row--selected{background:var(--primary-soft)}.port-row .field{flex:1;margin:0}.chip{color:#fff;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;border-radius:999px;max-width:130px;padding:2px 9px;font-size:11px;font-weight:700;display:inline-block;overflow:hidden}.chip--empty{background:var(--surface-3);color:var(--muted);border:1px dashed var(--border-strong)}.badge{border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:inline-grid}.badge--error{background:var(--danger);color:#fff}.badge--warning{background:var(--warning);color:#fff}.badges{gap:2px;display:flex;position:absolute;top:-9px;right:-9px}.tag{background:var(--surface-3);color:var(--muted);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.tag--as-is{background:var(--primary-soft);color:var(--primary)}.tag--to-be{background:var(--success-soft);color:var(--success)}.problems ul{margin:0 0 14px;padding:0;list-style:none}.issue__button{text-align:left;border-radius:var(--radius-s);cursor:pointer;background:0 0;border:1px solid #0000;align-items:flex-start;gap:10px;width:100%;padding:7px 10px;display:flex}.issue__button:hover:not(:disabled){background:var(--surface-2);border-color:var(--border)}.issue--error .issue__button svg{color:var(--danger)}.issue--warning .issue__button svg{color:var(--warning)}.issue__code{font-family:var(--mono);color:var(--muted);white-space:nowrap;padding-top:2px;font-size:11px}.issue__message{color:var(--text)}.roles__item{border:1px solid var(--border);border-left:5px solid var(--role-color,var(--border));border-radius:var(--radius);background:var(--surface-2);margin-top:14px;padding:14px}.roles__item .chip{margin-bottom:10px}.roles__item .field input,.roles__item .field select,.roles__item .field textarea{background:var(--surface)}.role-editor__usage{align-self:center;font-size:12px}.tools{margin-top:26px}.tools__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tools__item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:10px 12px}.tools__name{font-weight:600}.tools__meta{color:var(--muted);margin-top:2px;font-size:12px}.tools__bar{background:var(--surface-3);border-radius:999px;height:6px;margin-top:8px;overflow:hidden}.tools__bar>span{background:var(--primary);border-radius:999px;height:100%;display:block}.scenario-list{margin:0;padding:0;list-style:none}.scenario-list__item{border-radius:var(--radius-s);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:8px;width:100%;padding:7px 10px;display:flex}.scenario-list__item:hover:not(:disabled){background:var(--surface-2)}.scenario-list__item--current{background:var(--primary-soft);border-color:#c9d4fb;font-weight:600}.scenario-list__name{flex:1}.menu{position:relative}.menu__list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:150px;box-shadow:var(--shadow-2);z-index:10;flex-direction:column;padding:4px;display:flex;position:absolute;top:100%;right:0}.menu__list button{text-align:left;border-radius:var(--radius-s);cursor:pointer;background:0 0;border:none;padding:8px 10px}.menu__list button:hover{background:var(--surface-2)}.menu__danger{color:var(--danger)}.popover{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);width:380px;max-height:calc(100vh - 80px);box-shadow:var(--shadow-3);z-index:30;padding:14px;position:absolute;top:calc(100% + 8px);right:0;overflow:auto}.popover .props__section:first-child{border-top:none;margin-top:0;padding-top:0}.drawer{border-top:1px solid var(--border);background:var(--surface);flex-direction:column;height:240px;display:flex;box-shadow:0 -4px 14px #1820330f}.drawer__header{border-bottom:1px solid var(--border);background:var(--surface-2);align-items:center;gap:12px;padding:6px 14px;display:flex}.drawer__header .icon-button{margin-left:auto}.drawer__body{flex:1;padding:8px 12px;overflow:auto}.dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#18203373;place-items:center;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:var(--radius-l);width:min(440px,92vw);box-shadow:var(--shadow-3);padding:22px}.dialog h2{text-transform:none;letter-spacing:0;color:var(--text);font-size:16px;font-weight:700}.dialog__actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.toast{background:var(--text);color:#fff;border-radius:var(--radius);z-index:90;box-shadow:var(--shadow-2);align-items:center;gap:12px;padding:10px 16px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.toast .link-button{color:#fff}.home{flex:1;min-width:0;padding:32px clamp(16px,5vw,72px) 48px;overflow:auto}.home__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.home__header h1{letter-spacing:-.01em;margin:0 0 4px;font-size:24px;font-weight:700}.home__actions{flex-wrap:wrap;gap:8px;display:flex}.home__empty{text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius-l);background:var(--surface);padding:72px 16px}.home__empty h2{text-transform:none;letter-spacing:0;color:var(--text);font-size:18px}.home__empty .home__actions{justify-content:center;margin-top:16px}.home__grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;margin:0;padding:0;list-style:none;display:grid}.model-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow-1);flex-direction:column;transition:box-shadow .15s,transform .15s,border-color .15s;display:flex;overflow:hidden}.model-card:hover{box-shadow:var(--shadow-2);border-color:var(--border-strong);transform:translateY(-2px)}.model-card__open{border:none;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;width:100%;padding:0;display:block}.model-card__open:disabled{cursor:default}.preview{width:100%;height:auto;display:block}.model-card__body{padding:14px 16px 16px}.model-card__title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.model-card__title{text-align:left;cursor:pointer;color:var(--text);background:0 0;border:none;padding:0;font-size:15px;font-weight:700}.model-card__title:hover{color:var(--primary)}.model-card__desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:6px 0 0;font-size:13px;display:-webkit-box;overflow:hidden}.model-card__meta{margin:8px 0 0;font-size:12px}.overview{inset:var(--topbar-h) 0 0 0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:40;background:#f3f5f9f5;flex-direction:column;display:flex;position:fixed}.overview__header{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:16px;padding:12px 24px;display:flex}.overview__header h2{text-transform:none;letter-spacing:0;color:var(--text);margin:0;font-size:16px;font-weight:700}.overview__header p{flex:1;margin:0}.overview__body{flex:1;place-items:start center;padding:28px;display:grid;overflow:auto}.overview__svg{max-width:100%;height:auto}.overview__node{cursor:pointer}.overview__node rect{fill:var(--surface);stroke:var(--border-strong);stroke-width:1.5px;filter:drop-shadow(0 2px 4px #18203314)}.overview__node:hover rect,.overview__node:focus-visible rect{stroke:var(--primary);stroke-width:2.5px}.overview__node--current rect{fill:var(--primary-soft);stroke:var(--primary);stroke-width:2.5px}.overview__name{fill:var(--text);font-size:14px;font-weight:700}.overview__meta{fill:var(--muted);font-size:11px}.overview__badge{fill:#fff;font-size:11px;font-weight:700}@media (width<=900px){.app__left,.app__right{top:var(--topbar-h);z-index:20;max-width:80vw;position:absolute;bottom:0}.app__left{left:0}.app__right{right:0}.topbar__model{display:none}}.stats{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;margin-bottom:10px;display:grid}.stat{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;padding:8px 10px;display:flex}.stat__value{font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.stat__label{color:var(--muted);font-size:11px}.histogram{width:100%;height:auto;margin-top:6px}.histogram__axis{fill:var(--muted);font-size:10px}.table{border-collapse:collapse;width:100%;font-size:12.5px}.table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--border);padding:4px 6px;font-size:11px}.table td{border-bottom:1px solid var(--border);vertical-align:top;font-variant-numeric:tabular-nums;padding:6px}.meter{margin-bottom:8px}.meter__row{justify-content:space-between;margin-bottom:3px;font-size:12.5px;display:flex}.delta--better{color:var(--success);font-weight:600}.delta--worse{color:var(--danger);font-weight:600}.playback{border-top:1px solid var(--border);background:var(--surface);align-items:center;gap:10px;padding:6px 14px;display:flex;box-shadow:0 -4px 14px #1820330f}.playback__speeds{border:1px solid var(--border);border-radius:999px;display:inline-flex;overflow:hidden}.playback__speed{background:var(--surface);cursor:pointer;color:var(--muted);border:none;padding:4px 10px;font-size:12px;font-weight:600}.playback__speed--active{background:var(--primary);color:#fff}.playback__scrubber{accent-color:var(--primary);flex:1}.playback__clock{font-variant-numeric:tabular-nums;text-align:right;min-width:120px;font-weight:700}.playback__cases{min-width:110px;font-size:12px}.badge--active{background:var(--primary);color:#fff}.auth{place-items:center;min-height:100%;padding:24px;display:grid}.auth__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);width:min(420px,92vw);box-shadow:var(--shadow-2);flex-direction:column;gap:12px;padding:28px;display:flex}.auth__card h1{margin:0;font-size:24px}.auth__card form{flex-direction:column;gap:8px;display:flex}.auth__divider{text-align:center;color:var(--muted);font-size:12px}.auth__sent{background:var(--success-soft);color:var(--success);border-radius:var(--radius);padding:10px 12px}.auth__error{color:var(--danger)}.readonly-banner{background:var(--primary-soft);color:var(--primary);padding:6px 14px;font-size:13px;font-weight:600}.fieldset-plain{border:none;min-width:0;margin:0;padding:0}.fieldset-plain:disabled .button,.fieldset-plain:disabled .icon-button{display:none}.badge--comment{color:#fff;background:#0284c7;align-items:center;gap:2px;display:inline-flex}.comments__toolbar{justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12.5px;display:flex}.checkbox{align-items:center;gap:6px;display:inline-flex}.comments__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.comment{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:8px 10px}.comment--resolved{opacity:.7}.comment--reply{background:var(--surface-2);margin-top:6px}.comment__meta{align-items:center;gap:8px;font-size:12px;display:flex}.comment__body{white-space:pre-wrap;margin:4px 0 6px}.comment__actions{gap:4px;font-size:12px;display:flex}.comment__replies{border-left:2px solid var(--border);margin:6px 0 0;padding:0 0 0 12px;list-style:none}.composer{flex-direction:column;gap:8px;margin-top:12px;display:flex}.composer textarea{border:1px solid var(--border);border-radius:var(--radius-s);padding:8px 10px}.members{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.members li{border:1px solid var(--border);border-radius:var(--radius-s);align-items:center;gap:8px;padding:6px 8px;display:flex}.members__email{text-overflow:ellipsis;flex:1;overflow:hidden}.topbar__user{border:1px solid var(--border);color:var(--muted);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border-radius:999px;max-width:220px;padding:4px 10px;font-size:12px;overflow:hidden}.topbar__user:hover{background:var(--surface-2)}.dialog--wide{width:min(880px,96vw);max-height:92vh;overflow:auto}.ai-dialog__hint{color:var(--text-muted);margin:0 0 10px}.ai-dialog textarea{width:100%;min-height:240px;font:inherit;resize:vertical;font-size:13px;line-height:1.45}.ai-dialog__row{flex-wrap:wrap;align-items:center;gap:12px;margin:10px 0;display:flex}.ai-dialog__row label{align-items:center;gap:6px;font-size:13px;display:flex}.ai-dialog__template{border:1px solid var(--border);background:var(--surface-2,var(--surface));border-radius:10px;margin:8px 0 12px;padding:8px 12px}.ai-dialog__template summary{cursor:pointer;font-size:13px;font-weight:600}.ai-dialog__template ul{margin:8px 0 0;padding-left:18px;font-size:13px}.ai-dialog__progress{color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;padding:40px 0;display:flex}.ai-dialog__spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite ai-spin}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-preview{grid-template-columns:1.3fr 1fr;gap:16px;display:grid}.ai-preview h4{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:12px 0 4px;font-size:12px}.ai-preview ul{margin:0;padding-left:18px;font-size:13px}.ai-preview__tree ul ul{padding-left:14px}.ai-preview__meta{color:var(--text-muted);font-size:12px}.ai-preview__error{border:1px solid var(--danger,#c0392b);border-radius:10px;margin-top:10px;padding:10px 12px}.ai-preview__warn li{color:var(--warning)}.dialog__head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.dialog__head h2{align-items:center;gap:8px;margin:0;display:flex}.rail{width:var(--rail-w);background:var(--surface-2);border-right:1px solid var(--border);flex-direction:column;flex:none;align-items:stretch;gap:2px;padding:6px 4px;display:flex;overflow-y:auto}.rail__item{color:var(--text-muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:8px 2px 6px;display:flex;position:relative}.rail__item:hover{background:var(--surface);color:var(--text)}.rail__item--active{background:var(--primary-soft,#e8ecff);color:var(--primary)}.rail__item--active:before{content:"";background:var(--primary);border-radius:2px;width:3px;position:absolute;top:8px;bottom:8px;left:-4px}.rail__icon{display:inline-flex;position:relative}.rail__label{letter-spacing:.01em;white-space:nowrap;font-size:10px;line-height:1}.rail__badge{text-align:center;color:#fff;background:var(--primary);border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-6px;right:-10px}.app__left{border-right:1px solid var(--border);background:var(--surface)}.app__left-body{flex:1;min-height:0;padding:14px 16px 24px;overflow:auto}.app__left-body--tree{padding:8px 8px 16px}.app__left-body .props__section:first-child,.app__left-body .scenario-panel>.props__section:first-child{border-top:0;margin-top:0;padding-top:0}.app__left,.app__right{flex:none;position:relative}.resize-handle{cursor:col-resize;z-index:6;touch-action:none;width:7px;position:absolute;top:0;bottom:0}.resize-handle--left{right:-4px}.resize-handle--right{left:-4px}.resize-handle:after{content:"";background:0 0;width:1px;transition:background .12s;position:absolute;top:0;bottom:0;left:3px}.resize-handle:hover:after,.resize-handle--active:after,.resize-handle:focus-visible:after{background:var(--primary)}.resize-handle:focus-visible{outline:none}.panel__header--section{text-transform:uppercase;letter-spacing:.05em;height:40px;color:var(--text-muted);border-bottom:1px solid var(--border);padding:0 8px 0 14px;font-size:12px;font-weight:700}.icon-button--active{color:var(--primary);background:var(--primary-soft,#e8ecff)}.ai-panel{border-left:1px solid var(--border);background:var(--surface)}.ai-panel__title{align-items:center;gap:6px;display:inline-flex}.ai-panel__dot{background:var(--border-strong);border-radius:50%;width:8px;height:8px}.ai-panel__dot--on{background:#16a34a;box-shadow:0 0 0 3px #16a34a2e}.ai-chat{flex-direction:column;flex:50%;gap:10px;min-height:160px;padding:12px;display:flex;overflow:auto}.ai-chat__empty,.ai-chat__notice{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.ai-chat__notice{border:1px solid var(--warning-border);background:var(--warning-soft);color:var(--text);border-radius:10px;padding:10px 12px}.ai-msg{border-radius:14px;max-width:92%;padding:9px 12px;font-size:13px;line-height:1.5}.ai-msg__body{white-space:pre-wrap;word-break:break-word}.ai-msg--user{background:var(--primary);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.ai-msg--assistant{background:var(--surface-2);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}.ai-msg--error{border-color:var(--danger);color:var(--danger)}.ai-msg--busy{color:var(--text-muted);align-items:center;gap:8px;display:inline-flex}.ai-dialog__spinner--small{border-width:2px;width:14px;height:14px}.ai-card{border:1px solid var(--border-strong);background:var(--surface);border-radius:10px;margin-top:8px;padding:10px 12px}.ai-card__title{align-items:center;gap:6px;font-weight:600;display:flex}.ai-card__list{margin:6px 0;padding-left:18px}.ai-card__meta{color:var(--text-muted);margin:4px 0;font-size:12px}.ai-card__actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.ai-composer{border-top:1px solid var(--border);align-items:flex-end;gap:8px;padding:10px 12px;display:flex}.ai-composer textarea{resize:none;font:inherit;border:1px solid var(--border-strong);background:var(--surface);border-radius:10px;flex:1;padding:8px 10px;font-size:13px;line-height:1.4}.ai-composer__send{justify-content:center;width:40px;height:36px;padding:0}.ai-actions{border-top:1px solid var(--border);background:var(--surface-2);flex:0 auto;padding:10px 12px 12px}.ai-actions h4{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 8px;font-size:11px}.ai-actions__grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.ai-action{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:9px 10px;font-size:12.5px;display:flex}.ai-action:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.ai-action:disabled{opacity:.5;cursor:default}.app__left>.palette{border-top:1px solid var(--border);flex:none;max-height:46%;overflow:auto}.ai-md p{margin:0 0 6px}.ai-md p:last-child,.ai-md ul:last-child{margin-bottom:0}.ai-md ul{margin:0 0 6px;padding-left:18px}.ai-md code{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:0 4px;font-size:12px}.canvas{position:absolute;inset:0}@keyframes canvas-enter{0%{opacity:.35}to{opacity:1}}.canvas--entering .react-flow__viewport{animation:.32s ease-out canvas-enter}.react-flow{background:var(--bg)}.react-flow__background circle{fill:#cfd6e2}.react-flow__minimap{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1);overflow:hidden}.react-flow__controls{border-radius:var(--radius);box-shadow:var(--shadow-1);border:1px solid var(--border);overflow:hidden}.react-flow__controls-button{border-bottom:1px solid var(--border);background:var(--surface)}.react-flow__controls-button:hover{background:var(--surface-2)}.canvas__notice{background:var(--warning-soft);color:var(--warning);border:1px solid var(--warning-border);border-radius:var(--radius);z-index:5;padding:6px 12px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.empty{text-align:center;pointer-events:none;z-index:4;place-content:center;display:grid;position:absolute;inset:0}.empty h2{text-transform:none;letter-spacing:-.01em;color:var(--text);font-size:22px;font-weight:700}.empty p{color:var(--muted);margin:0 0 18px}.empty__actions{pointer-events:auto;justify-content:center;gap:10px;display:flex}.empty__actions .button{padding:12px 18px;font-size:15px}.card{--card-accent:#5b6b8c;background:var(--surface);border:1.5px solid var(--border-strong);border-top:5px solid var(--card-accent);width:240px;min-height:132px;box-shadow:var(--shadow-1);border-radius:14px;transition:box-shadow .12s;display:flex;position:relative}.card:hover{box-shadow:var(--shadow-2)}.card--system{--card-accent:#3552d3}.card--actor{background:#fbfcfe;border-style:solid dashed dashed;width:200px;min-height:116px}.card--kind-cliente{--card-accent:#0284c7}.card--kind-proveedor{--card-accent:#0f766e}.card--kind-aliado{--card-accent:#d97706}.card--kind-entidad{--card-accent:#7c3aed}.card--kind-aseguradora{--card-accent:#db2777}.card--kind-otro{--card-accent:#64748b}.card--selected{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring), var(--shadow-2)}.card--dimmed,.process--dimmed,.tab--dimmed{opacity:.32}.card__body{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;min-width:0;padding:12px 8px;display:flex}.card__icon{color:var(--card-accent);background:color-mix(in srgb, var(--card-accent) 12%, white);border-radius:10px;width:40px;height:40px;padding:6px}.card__title{text-align:center;overflow-wrap:anywhere;color:var(--text);font-weight:700;line-height:1.2}.card__meta{color:var(--muted);font-size:11px}.card__ports{flex-direction:column;justify-content:center;gap:6px;width:0;display:flex}.port{cursor:pointer;align-items:center;height:18px;display:flex;position:relative}.port--left{flex-direction:row}.port--right{flex-direction:row-reverse}.port__handle{box-shadow:0 0 0 1px var(--border-strong);border-radius:999px;border:2px solid var(--surface)!important;background:#475569!important;width:13px!important;height:13px!important;position:static!important;transform:none!important}.port--left .port__handle{margin-left:-8px}.port--right .port__handle{margin-right:-8px}.port__handle--relay{opacity:0;left:-8px;width:13px!important;height:13px!important;position:absolute!important}.port__label{color:var(--text-2);white-space:nowrap;background:var(--surface-2);border:1px solid var(--border);text-overflow:ellipsis;border-radius:999px;max-width:100px;padding:1px 6px;font-size:10px;font-weight:500;overflow:hidden}.port--highlighted .port__handle{box-shadow:0 0 0 4px var(--primary-ring);background:var(--primary)!important}.port--highlighted .port__label{color:var(--primary);border-color:var(--primary);font-weight:700}.port--valid .port__handle,.process--valid .process__handle,.tab--valid .tab__handle{box-shadow:0 0 0 4px #bbf7d0;background:#16a34a!important}.port--invalid{opacity:.3}.process{--role-color:#94a3b8;background:var(--surface);border:1.5px solid var(--border-strong);box-shadow:var(--shadow-1);border-radius:12px;transition:box-shadow .12s;position:relative}.process:hover{box-shadow:var(--shadow-2)}.process--selected{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring), var(--shadow-2)}.process__handle{box-shadow:0 0 0 1px var(--border-strong);border:2px solid var(--surface)!important;background:#475569!important;width:11px!important;height:11px!important}.process--task{border-left:6px solid var(--role-color);flex-direction:column;justify-content:center;gap:6px;width:200px;min-height:76px;padding:10px 12px 10px 16px;display:flex}.process__title{overflow-wrap:anywhere;color:var(--text);font-weight:700;line-height:1.2}.process__meta{color:var(--muted);justify-content:space-between;align-items:center;gap:6px;font-size:11px;display:flex}.process__duration{font-variant-numeric:tabular-nums;font-weight:500}.process--decision{width:176px;height:104px;box-shadow:none;background:0 0;border:none;place-items:center;display:grid}.process__diamond{box-shadow:var(--shadow-1);background:#fff8e6;border:1.5px solid #e0a83a;border-radius:8px;position:absolute;inset:8px 36px;transform:rotate(45deg)}.process--decision.process--selected .process__diamond{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring), var(--shadow-2)}.process--decision .process__title{text-align:center;max-width:120px;font-size:12px;position:relative}.process--start,.process--end{width:56px;height:56px;box-shadow:none;background:0 0;border:none;place-items:center;display:grid}.process__circle{background:var(--success-soft);width:40px;height:40px;box-shadow:var(--shadow-1);border:2.5px solid #16a34a;border-radius:999px}.process__circle--thick{background:var(--surface);border:6px solid #334155}.process--selected .process__circle{box-shadow:0 0 0 3px var(--primary-ring)}.process__caption{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:500;position:absolute;top:100%;left:50%;transform:translate(-50%)}.tab{background:var(--primary-soft);color:#23368f;width:170px;height:40px;box-shadow:var(--shadow-1);border:1.5px solid #9fb0f0;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:700;display:flex;position:relative}.tab--left{border-left:6px solid var(--primary);border-radius:0 20px 20px 0}.tab--right{border-right:6px solid var(--primary);border-radius:20px 0 0 20px;justify-content:flex-end}.tab--selected{box-shadow:0 0 0 3px var(--primary-ring)}.tab--highlighted{background:#d6e0ff}.tab__arrow{color:var(--primary)}.tab__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tab__handle{background:var(--primary)!important;border:2px solid var(--surface)!important;width:13px!important;height:13px!important}.boundary{pointer-events:none;background:#3552d308;border:2px dashed #9fb0f0;border-radius:24px}.boundary__label{color:#5b6fc7;text-transform:uppercase;letter-spacing:.08em;font-size:11.5px;font-weight:700;position:absolute;top:8px;left:18px}.react-flow__edge-path.flow-edge{stroke:#64748b;stroke-width:1.8px}.react-flow__edge:hover .react-flow__edge-path.flow-edge{stroke:var(--text-2);stroke-width:2.2px}.react-flow__edge-path.flow-edge--selected,.react-flow__edge.selected .react-flow__edge-path{stroke:var(--primary);stroke-width:2.6px}.react-flow__edge-path.flow-edge--relay{stroke-dasharray:7 5}.react-flow__edge-path.flow-edge--error{stroke:var(--danger)}.react-flow__edge-path.flow-edge--highlighted{stroke:var(--primary);stroke-width:2.8px}.flow-label{pointer-events:all;background:var(--surface);border:1px solid var(--border);color:var(--text-2);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-1);border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:11px;font-weight:500;display:inline-flex;position:absolute}.flow-label--selected{border-color:var(--primary);color:var(--primary)}.flow-label__transfer{color:var(--warning);font-weight:600}.token{fill:var(--primary);stroke:#fff;stroke-width:2px;filter:drop-shadow(0 1px 2px #18203359);pointer-events:none}.process__queue{background:var(--text);color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;gap:6px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-flex;position:absolute;top:-10px;left:8px}.process__queue-busy{color:#86efac}.process--busy{border-color:var(--primary)}
