.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}:root{--bg-base: #f6f8fb;--bg-canvas: #f6f8fb;--bg-panel: #ffffff;--bg-container: #ffffff;--bg-surface: #ffffff;--bg-elevated: #eef1f8;--bg-input: #ffffff;--bg-glass: #ffffff;--border: #e3e8f0;--border-soft: #ebeff5;--border-strong: #d5dce8;--text: #0a2540;--text-muted: #425466;--text-dim: #6b7c93;--accent: #635bff;--accent-dim: #7a73ff;--accent-glow: rgba(99, 91, 255, .28);--accent-soft: rgba(99, 91, 255, .1);--on-accent: #ffffff;--fam-in: #7c5cff;--fam-mid: #0284c7;--fam-out: #059669;--cat-trigger: #7c5cff;--cat-ia: #635bff;--cat-privacidad: #0d9488;--cat-logica: #0284c7;--cat-datos: #d97706;--cat-integracion: #db2777;--cat-salida: #059669;--success: #217a54;--error: #c0453a;--running: #635bff;--pro: #635bff;--pro-soft: rgba(99, 91, 255, .12);--warning: #b45309;--font-mono: "Geist", "JetBrains Mono", "SF Mono", "Menlo", monospace;--font-sans: "Inter", -apple-system, system-ui, sans-serif;--radius: 8px;--radius-lg: 12px;--ease-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--shadow-md: 0 7px 14px rgba(10, 37, 64, .1), 0 3px 6px rgba(10, 37, 64, .06);--shadow-glass: 0 2px 5px rgba(10, 37, 64, .07), 0 1px 1px rgba(10, 37, 64, .04)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg-base);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.6;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}::selection{background:#635bff2e}.dot-grid{background-color:var(--bg-canvas)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0a254029;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0a25404d}:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg-base),0 0 0 4px var(--accent);border-radius:var(--radius)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.node-glass{background:var(--bg-surface);border:1px solid var(--border);box-shadow:var(--shadow-glass)}.ring-emerald,.ring-azure,.ring-violet,.glow-emerald,.glow-azure,.glow-violet{box-shadow:none}@keyframes dash{to{stroke-dashoffset:-16}}.connection-pulse{stroke:var(--accent)!important;stroke-dasharray:6 6;animation:dash 1.4s linear infinite}.react-flow__edge-path{stroke:#cdd6e4;stroke-width:1.5}.react-flow__edge:hover .react-flow__edge-path{stroke:var(--accent)}.react-flow__handle{width:8px;height:8px;background:#fff;border:1.5px solid var(--border-strong);box-shadow:none;transition:border-color .2s var(--ease-out)}.react-flow__handle:hover{border-color:var(--accent);transform:none}.react-flow__attribution{display:none}.react-flow__controls{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.react-flow__controls-button{background:transparent;border-bottom:1px solid var(--border)!important;color:var(--text-dim);fill:var(--text-dim)}.react-flow__controls-button:hover{background:var(--bg-elevated);color:var(--text);fill:var(--text)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes gf-fade{0%{opacity:0}to{opacity:1}}@keyframes gf-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes gf-ping{0%{transform:scale(1);opacity:.5}80%,to{transform:scale(2.2);opacity:0}}@keyframes gf-pulse{0%,to{box-shadow:0 0 0 3px var(--accent-glow)}50%{box-shadow:0 0 0 6px transparent}}@keyframes gf-spin{to{transform:rotate(360deg)}}.gf-lift{transition:transform .24s var(--ease-out),border-color .24s var(--ease-out),box-shadow .24s var(--ease-out)}.gf-lift:hover{transform:translateY(-1px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.nodo-card{position:relative}.nodo-add{position:absolute;right:-9px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1;cursor:pointer;opacity:0;transition:opacity .14s;z-index:5;box-shadow:0 2px 6px #635bff66}.nodo-card:hover .nodo-add{opacity:1}.nodo-eyebrow{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;color:var(--text-dim);text-transform:uppercase}.nodo-chip{width:24px;height:24px;border-radius:6px;flex:none;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff}:root{--node-bg: #ffffff;--node-border: #e3e8f0;--node-param-bg: #f6f8fb;--node-radius: 12px;--node-width: 240px;--dot-color: transparent;--item-hover: #eef1f8}:root{--ui-bg: #ffffff;--ui-canvas: #f6f8fb;--ui-panel: #ffffff;--ui-node: #ffffff;--ui-node-field: #f6f8fb;--ui-border: #e3e8f0;--ui-border-2: #d5dce8;--ui-dot: transparent;--ui-t1: #0a2540;--ui-t2: #2a3f5f;--ui-t3: #6b7c93;--ui-t4: #8898aa;--ui-blue: #635bff;--ui-blue-h: #7a73ff;--ui-blue-t: #635bff;--ui-indigo: #635bff}body{background:var(--bg-base);color:var(--text);font-family:var(--font-sans)}.ui-canvas,.gf-papel-cruces{background-color:var(--ui-canvas);background-image:none}.ui-canvas:before,.gf-papel-cruces:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;border-radius:inherit;background-image:linear-gradient(#dfe5ee 1px,transparent 1px),linear-gradient(90deg,#dfe5ee 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(circle at center,#000 .8px,transparent 1.6px);-webkit-mask-size:28px 28px;mask-image:radial-gradient(circle at center,#000 .8px,transparent 1.6px);mask-size:28px 28px}@keyframes gf-deriva{to{stroke-dashoffset:-9.1}}.react-flow__edge-path,.react-flow__connection-path{stroke:#94a3b8;stroke-width:3;stroke-linecap:round;fill:none;stroke-dasharray:.1 9;animation:gf-deriva 1.6s linear infinite}.react-flow__edge.gf-edge-corre .react-flow__edge-path{stroke:var(--accent);stroke-width:3.4;animation-duration:.7s}.react-flow__edge.selected .react-flow__edge-path{stroke:#94a3b8}.react-flow__node:focus,.react-flow__node.selected{outline:none!important;box-shadow:none!important}.gf-anillo{position:relative}.gf-anillo:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:50%;border:2px solid transparent;pointer-events:none}.gf-anillo--ok:after{border-color:var(--success)}.gf-anillo--mal:after{border-color:var(--error)}.gf-anillo--pend:after{border-color:var(--border-strong)}.gf-anillo--corre:after{border-color:var(--accent);border-top-color:transparent;animation:gf-spin 1s linear infinite}.gf-panel-nodo{position:absolute;right:16px;top:16px;z-index:30;width:400px;max-width:calc(100% - 32px);max-height:calc(100% - 32px);background:var(--bg-panel);border:1px solid var(--border);border-radius:13px;box-shadow:0 4px 10px #0a25401a,0 24px 50px #0a25402e;display:flex;flex-direction:column;overflow:hidden;animation:gf-panel-llegar .24s var(--ease-out)}.gf-sinbarra{overflow-y:auto;scrollbar-width:none}.gf-sinbarra::-webkit-scrollbar{width:0;height:0}.gf-fundido{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.gf-fundido>.gf-sinbarra{flex:1;min-height:0}.gf-fundido:before,.gf-fundido:after{content:"";position:absolute;left:0;right:0;height:18px;pointer-events:none;z-index:2}.gf-fundido:before{top:0;background:linear-gradient(var(--bg-panel),transparent)}.gf-fundido:after{bottom:0;background:linear-gradient(transparent,var(--bg-panel))}.gf-rama{border:1px solid var(--border);border-radius:8px;padding:8px 10px;transition:border-color .15s var(--ease-out),background .15s var(--ease-out)}details.gf-rama[open]{border-color:var(--border-strong);background:#fbfcfe}.gf-rama summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:7px;min-width:0;font-size:12.5px;font-weight:500;color:var(--text)}.gf-rama summary::-webkit-details-marker{display:none}.gf-rama-etiq{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);flex-shrink:0}.gf-rama-flecha{margin-left:auto;color:var(--text-dim);flex-shrink:0;transition:transform .2s var(--ease-out)}details.gf-rama[open] .gf-rama-flecha{transform:rotate(180deg)}.gf-salida-btn{display:flex;align-items:center;gap:6px;width:100%;border:1px dashed var(--border-strong);border-radius:7px;background:none;padding:7px 10px;cursor:pointer;font:600 12px/1 var(--font-sans);color:var(--text-muted);transition:border-color .15s var(--ease-out),color .15s var(--ease-out)}.gf-salida-btn:hover{border-color:var(--accent);color:var(--accent)}.gf-chip-doc{width:18px;height:18px;border-radius:5px;flex-shrink:0;line-height:0;display:inline-flex;align-items:center;justify-content:center}.gf-chip-doc--ok{background:#d7f7c2;color:#06602c}.gf-chip-doc--mal{background:#ffe7e3;color:#a41c11}.gf-chip-doc--chico{width:14px;height:14px;border-radius:4px}.gf-json{margin:0;padding:9px 11px;border-radius:8px;background:#0a2540;color:#c9e4ff;font:11.5px/1.6 var(--font-mono);white-space:pre-wrap;word-break:break-word;max-height:180px;overflow-y:auto;scrollbar-width:none}.gf-json::-webkit-scrollbar{width:0}.gf-cursor-vivo{display:inline-block;width:6px;height:12px;border-radius:2px;background:#8ae2ff;vertical-align:-2px;margin-left:2px;animation:gf-parpadeo 1s steps(2) infinite}@keyframes gf-parpadeo{50%{opacity:0}}.gf-pantalla-nodo{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 3px 8px #0a254014,0 16px 36px #0a254024;animation:gf-pop .24s var(--ease-out);cursor:default}.gf-ojo{width:24px;height:24px;border-radius:6px;flex-shrink:0;border:1px solid var(--border-strong);background:var(--bg-panel);color:var(--text-muted);cursor:pointer;line-height:0;display:inline-flex;align-items:center;justify-content:center;transition:color .15s var(--ease-out),border-color .15s var(--ease-out)}.gf-ojo:hover{color:var(--accent);border-color:var(--accent)}.gf-ojo.on{color:var(--accent);border-color:var(--accent);background:#635bff0f}@keyframes gf-ocr-scan{0%,to{top:4%}50%{top:92%}}@keyframes gf-ocr-pop{0%{opacity:0;transform:scale(.9)}}.gf-minimapa{position:relative;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;cursor:grab;touch-action:none}.gf-minimapa:active{cursor:grabbing}.gf-mm-nodo{position:absolute;border:1px solid;pointer-events:none;transition:background .24s var(--ease-out),border-color .24s var(--ease-out),box-shadow .24s var(--ease-out)}.gf-minimapa[data-fase=terminada] .gf-mm-nodo{pointer-events:auto}.gf-mm-nodo--gris{background:#e6eaf0;border-color:var(--border-strong)}.gf-mm-nodo--listo{background:#eaf6ee;border-color:#a9d5b5}.gf-mm-nodo--fallo{background:#ffe7e3;border-color:#e0958b}.gf-mm-nodo--respira{background:#eef0ff;border-color:#b7b3f5;animation:gf-respirar 2.8s ease-in-out infinite}@keyframes gf-respirar{0%,to{transform:scale(1);box-shadow:0 0 #635bff00}50%{transform:scale(1.05);box-shadow:0 0 9px 3px #635bff29}}.gf-mm-nodo--calor1{background:#fde8c8;border-color:#e2a25b}.gf-mm-nodo--calor2{background:#f6b26b;border-color:#d18a3e}.gf-mm-nodo--calor3{background:#e06d3d;border-color:#b84a1e;box-shadow:0 0 10px 2px #e06d3d73}.gf-mm-chispa{position:absolute;width:5px;height:5px;border-radius:50%;background:#8a84f0;box-shadow:0 0 5px 2px #635bff59;pointer-events:none;animation:gf-viajar 2.3s ease-in-out infinite}@keyframes gf-viajar{0%{offset-distance:0%;opacity:0}15%{opacity:1}85%{opacity:1}to{offset-distance:100%;opacity:0}}.gf-mm-visor{position:absolute;border:1.5px solid var(--accent);border-radius:4px;background:#635bff0f;pointer-events:none}.gf-mm-etiqueta{position:absolute;right:10px;bottom:-13px;display:flex;align-items:center;gap:4px;background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;padding:3px 8px;font-size:9.5px;color:var(--text-muted);box-shadow:0 2px 6px #0a25401a;animation:gf-pop .24s var(--ease-out)}.gf-mm-etiqueta>span{width:8px;height:8px;border-radius:2px}.gf-pila-esquina{display:flex;align-items:center;justify-content:space-between;width:92px;padding:2px;background:var(--bg-panel);border:1px solid var(--border);border-radius:7px;box-shadow:var(--shadow-glass)}.gf-btn-esquina{width:22px;height:22px;border-radius:5px;border:none;background:none;color:var(--text-dim);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:none;font:600 11px/1 var(--font-sans);font-variant-numeric:tabular-nums;transition:background .15s var(--ease-out),color .15s var(--ease-out)}.gf-btn-esquina:hover:not(:disabled){background:var(--bg-elevated);color:var(--text)}.gf-btn-esquina:disabled{opacity:.35;cursor:default}.gf-btn-esquina--pct{width:34px}.gf-btn-esquina--rojo:hover:not(:disabled){color:var(--error);background:#fbeae8}.gf-historial{position:absolute;top:16px;right:16px;z-index:22;width:320px;max-height:calc(100% - 32px);background:var(--bg-panel);border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;overflow:hidden;animation:gf-panel-llegar .18s var(--ease-out)}@keyframes gf-panel-llegar{0%{opacity:0;transform:translate(8px) scale(.98)}}.gf-fila-version{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:8px;padding:7px 10px;cursor:pointer;background:none;width:100%;text-align:left;font-family:var(--font-sans);transition:border-color .15s var(--ease-out),background .15s var(--ease-out)}.gf-fila-version:hover{border-color:var(--border-strong)}.gf-fila-version.actual{border-color:#bfe3c8;background:#f7fcf8}.gf-fila-version.on{border-color:var(--accent);background:#fbfbff}.gf-fila-version .tv{font-size:13px;font-weight:400;color:var(--text)}.gf-fila-version .mv{font-size:11.5px;color:var(--text-dim);font-variant-numeric:tabular-nums}.gf-fila-version .gf-btn-esquina{opacity:0;transition:opacity .15s}.gf-fila-version:hover .gf-btn-esquina{opacity:1}.ui-shadow{box-shadow:0 2px 5px #0a254014,0 1px 1px #0a25400a}.ui-shadow-lg{box-shadow:0 7px 14px #0a25401a,0 3px 6px #0a25400f}.ui-shadow-2xl{box-shadow:0 15px 35px #0a25401f,0 5px 15px #0a254014}.ui-tool{padding:8px;border-radius:6px;background:none;border:none;color:var(--ui-t3);cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;transition:color .2s var(--ease-out),background .2s var(--ease-out)}.ui-tool:hover{color:var(--ui-t1);background:var(--bg-elevated)}.ui-tool.on{color:var(--ui-blue);background:var(--accent-soft)}.ui-item{width:100%;display:flex;align-items:center;gap:12px;padding:8px 16px;background:none;border:none;cursor:pointer;color:var(--ui-t2);font-size:14px;font-weight:500;text-align:left;transition:background .15s var(--ease-out)}.ui-item:hover{background:#0a25400a;color:var(--ui-t1)}.ui-ic{width:24px;height:24px;border-radius:6px;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px}.ui-ic-lg{width:32px;height:32px;border-radius:6px;font-size:14px}.ui-nav{display:flex;align-items:center;gap:9px;padding:6px 10px;border-radius:7px;color:var(--ui-t2);font-size:13px;font-weight:500;background:none;border:none;position:relative;width:100%;text-align:left;cursor:pointer;transition:background .15s var(--ease-out),color .15s var(--ease-out)}.ui-nav:hover{background:#0a25400d;color:var(--ui-t1)}.ui-nav.on{background:#635bff14;color:var(--ui-t1);font-weight:600}.ui-nav.on svg{color:var(--accent)}.ui-nav i{width:15px;text-align:center}.ui-nav svg{flex:none}.ui-label{font-size:10px;font-weight:700;color:var(--ui-t3);text-transform:uppercase;letter-spacing:.05em}.ui-sec{font-size:11px;font-weight:700;color:var(--ui-t4);text-transform:uppercase;letter-spacing:.05em}.ui-input{width:100%;background:var(--ui-panel);border:1px solid var(--ui-border-2);border-radius:8px;color:var(--ui-t1);font-size:14px;padding:8px 12px;outline:none;transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out)}.ui-input:focus{border-color:var(--ui-blue);box-shadow:0 0 0 3px #635bff26}.gf-btn{font-family:var(--font-sans);font-weight:600;letter-spacing:.01em;border-radius:8px;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;transition:transform .15s var(--ease-out),box-shadow .15s var(--ease-out),background .15s var(--ease-out),border-color .15s var(--ease-out),color .15s var(--ease-out)}.gf-btn--md{padding:8px 16px;font-size:14px}.gf-btn--sm{padding:5px 12px;font-size:13px}.gf-btn:disabled{cursor:not-allowed;opacity:.55}.gf-btn:focus-visible{outline:none;box-shadow:0 0 0 4px #635bff47!important}.gf-btn--primary{background:var(--accent);color:#fff;box-shadow:0 1px 1px #0a25401a,0 2px 5px #635bff38}.gf-btn--primary:hover:not(:disabled){transform:translateY(-1px);background:var(--accent-dim);box-shadow:0 3px 4px #0a25401a,0 6px 14px #635bff4d}.gf-btn--primary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 1px #0a25401a,0 1px 3px #635bff40}.gf-btn--secondary{background:#fff;color:var(--text);border-color:var(--border-strong);box-shadow:0 1px 1px #0a25400f,0 1px 3px #0a25400d}.gf-btn--secondary:hover:not(:disabled){transform:translateY(-1px);border-color:#c3ccdb;box-shadow:0 3px 6px #0a25401a,0 1px 2px #0a25400f}.gf-btn--secondary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 1px #0a25400f}.gf-btn--ghost{background:transparent;color:var(--text-muted)}.gf-btn--ghost:hover:not(:disabled){background:var(--bg-elevated);color:var(--text)}.gf-btn--danger{background:#fff;color:var(--error);border-color:var(--border-strong)}.gf-btn--danger:hover:not(:disabled){background:#c0453a0f;border-color:#c0453a66}.gf-segmento--tinte button.on{background:#635bff1c;color:#4b3fd4;box-shadow:none}.gf-indice-item{display:flex;width:100%;align-items:center;gap:7px;padding:5px 10px;border-radius:6px;border:none;background:transparent;font:400 13px var(--font-sans);color:var(--text);cursor:pointer;text-align:left;transition:background .15s var(--ease-out)}.gf-indice-item:hover{background:#0a25400a}.gf-indice-item.on{background:#635bff1c;font-weight:500}.gf-indice-item--accion{font-weight:600;color:var(--accent)}.gf-indice-item--accion:hover,.gf-indice-item--accion.on{background:#635bff1c}.gf-estado-punto{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--text-muted);white-space:nowrap;flex:none}.gf-estado-punto i{width:6px;height:6px;border-radius:50%;flex:none}.gf-nota-plegable{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-dim);overflow:hidden;max-height:0;opacity:0;transform:translateY(-3px);margin-top:0;transition:max-height .22s var(--ease-out),opacity .18s var(--ease-out),transform .18s var(--ease-out),margin-top .22s var(--ease-out)}.gf-nota-plegable.visible{max-height:40px;opacity:1;transform:none;margin-top:10px}.gf-modal-velo{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0a254073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;animation:gf-fade .2s var(--ease-out)}.gf-modal{background:var(--bg-panel);border-radius:14px;box-shadow:0 15px 35px #0a254033,0 5px 15px #0a25401a;width:100%;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;animation:gf-pop .18s var(--ease-out)}.gf-modal-cab{display:flex;align-items:center;gap:10px;padding:13px 16px 13px 18px;border-bottom:1px solid var(--border);flex:none}.gf-modal-cab h2{font-size:15px;font-weight:600}.gf-modal-cuerpo{padding:18px;overflow:auto}@property --giroPlan{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.gf-plan-aurora{position:relative;border:1.5px solid transparent;background:linear-gradient(var(--bg-panel),var(--bg-panel)) padding-box,conic-gradient(from var(--giroPlan),#ff8ae2,#8ae2ff,#ffe47a,#b28aff,#7ee7c9,#ff8ae2) border-box;box-shadow:0 8px 26px #b28aff2e;animation:gf-giro-plan 6s linear infinite}.gf-plan-aurora:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:11px;pointer-events:none;background:radial-gradient(120% 60% at 20% 0%,rgba(138,226,255,.16),transparent 60%),radial-gradient(120% 60% at 90% 10%,rgba(255,138,226,.14),transparent 60%)}@keyframes gf-giro-plan{to{--giroPlan: 360deg}}@media (prefers-reduced-motion: reduce){.gf-plan-aurora{animation:none}}.btnFullPlan{width:100%;justify-content:center;padding:8px 14px;border-radius:8px;font:600 13px/1 var(--font-sans);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s var(--ease-out),border-color .15s var(--ease-out)}.btnFullPlan.prim{background:var(--accent);color:#fff;border:none;box-shadow:0 1px 1px #0a25401a,0 2px 5px #635bff38}.btnFullPlan.prim:hover:not(:disabled){background:var(--accent-dim)}.btnFullPlan.sec{background:#fff;color:var(--text);border:1px solid var(--border-strong)}.btnFullPlan.sec:hover:not(:disabled){border-color:#c3ccdb}.btnFullPlan.apagado{background:#f6f8fb;color:var(--text-dim);border:1px solid var(--border);cursor:default}.btnFullPlan:disabled{opacity:.7;cursor:default}.gf-cuenta-fila{display:flex;align-items:center;gap:8px;width:100%;border:none;background:none;cursor:pointer;text-align:left;padding:7px 8px;border-radius:8px;transition:background .15s var(--ease-out)}.gf-cuenta-fila:hover,.gf-cuenta-fila.abierta{background:#0a25400d}.gf-cuenta-ava{width:24px;height:24px;border-radius:50%;flex:none;background:linear-gradient(135deg,#7a73ff,#635bff);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;text-transform:uppercase}.gf-cuenta-fila .flecha{margin-left:auto;color:var(--text-dim);transition:transform .2s var(--ease-out)}.gf-cuenta-fila.abierta .flecha{transform:rotate(180deg)}.gf-cuenta-menu{position:absolute;left:12px;right:12px;bottom:52px;z-index:40;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);padding:4px;animation:gf-pop .16s var(--ease-out)}.gf-cuenta-menu .quien{padding:5px 9px;font-size:11px;color:var(--text-dim);border-bottom:1px solid var(--border);margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gf-cuenta-menu .item{display:flex;align-items:center;gap:8px;width:100%;border:none;background:none;cursor:pointer;text-align:left;border-radius:6px;padding:5px 9px;font:400 12.5px/1.2 var(--font-sans);color:var(--text)}.gf-cuenta-menu .item:hover{background:#0a25400d}.gf-cuenta-menu .item svg{color:var(--text-dim);flex:none}.gf-cuenta-menu .item:hover svg{color:var(--text)}.gf-cuenta-menu .raya{height:1px;background:var(--border);margin:3px 4px}.gf-cuenta-menu .item.salir{color:var(--text-muted)}.gf-cuenta-menu .item.salir:hover{color:var(--error);background:#fbeae8}.gf-cuenta-menu .item.salir:hover svg{color:var(--error)}.react-flow__node [data-fantasma]:empty:before{content:attr(data-fantasma);color:#c9a96a}.gf-nota-lienzo .gf-nota-btn{opacity:0;transition:opacity .15s,transform .2s var(--ease-out)}.gf-nota-lienzo:hover .gf-nota-btn{opacity:1}.gf-nota-lienzo [contenteditable]:focus,.gf-nota-lienzo [contenteditable]:focus-visible{outline:none!important;box-shadow:none!important}.react-flow__selection{background:#635bff0f;border:1px dashed var(--accent);border-radius:6px}.react-flow__nodesselection{display:none}.gf-accion{display:inline-flex;align-items:center;gap:7px;font:600 14px/1 var(--font-sans);letter-spacing:-.01em;border:none;background:none;border-radius:8px;padding:8px 12px;cursor:pointer;transition:background .15s var(--ease-out),color .15s var(--ease-out)}.gf-accion:disabled{opacity:.55;cursor:not-allowed}.gf-accion:focus-visible{outline:none;box-shadow:0 0 0 4px #635bff47}.gf-accion--ejecutar{color:var(--text)}.gf-accion--ejecutar:hover:not(:disabled){background:#0a25400f}.gf-accion--publicar{color:var(--accent)}.gf-accion--publicar:hover:not(:disabled){background:var(--accent-soft)}.gf-accion--detener{color:var(--error)}.gf-accion--detener:hover:not(:disabled){background:#fbeae8}.gf-accion--sm{font-size:12.5px;padding:6px 10px}.gf-clave-campos{overflow:hidden;max-height:0;opacity:0;transition:max-height .26s var(--ease-out),opacity .2s var(--ease-out)}.gf-clave-campos.visible{max-height:320px;opacity:1}.gf-iconbtn{width:30px;height:30px;border-radius:6px;border:none;background:none;color:var(--text-dim);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:none;transition:background .15s var(--ease-out),color .15s var(--ease-out)}.gf-iconbtn:hover{background:var(--bg-elevated);color:var(--text)}.gf-nombre-wf{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--text);padding:4px 8px;border-radius:6px;cursor:text;border:1px solid transparent;background:none;font-family:var(--font-sans);max-width:320px;transition:border-color .15s var(--ease-out),background .15s var(--ease-out)}.gf-nombre-wf:hover{border-color:var(--border-strong);background:#fafbfd}.gf-nombre-wf svg{opacity:0;color:var(--text-dim);transition:opacity .15s var(--ease-out)}.gf-nombre-wf:hover svg{opacity:1}.gf-grupo-iconos{display:flex;align-items:center;gap:2px;padding:0 8px;border-left:1px solid var(--border);border-right:1px solid var(--border)}.gf-kbd{font:600 11px/1 var(--font-mono, ui-monospace, monospace);color:var(--text-dim);background:#fafbfd;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:5px;padding:2px 5px}.gf-badge{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:500;letter-spacing:.01em;padding:2px 8px;border-radius:4px;line-height:1.6;font-variant-numeric:tabular-nums}.gf-badge--success{background:#d7f7c2;color:#06602c}.gf-badge--warning{background:#fcedb9;color:#8a4b0f}.gf-badge--neutral{background:#ebeef1;color:#545a69}.gf-badge--pro{background:#e3e0ff;color:#4b3fd4}.gf-badge--error{background:#ffe7e3;color:#a41c11}@keyframes gf-slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.gf-progress{position:relative;height:3px;border-radius:3px;background:var(--bg-elevated);overflow:hidden}.gf-progress:after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;border-radius:3px;background:var(--accent);animation:gf-slide 1.3s var(--ease-out) infinite}.gf-velo{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0a254073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .25s var(--ease-out),visibility .25s}.gf-velo.abierto{opacity:1;visibility:visible}.gf-drawer{position:fixed;top:0;right:0;bottom:0;z-index:101;width:400px;max-width:92vw;background:var(--bg-panel);box-shadow:-10px 0 40px #0a25402e;transform:translate(105%);transition:transform .3s var(--ease-out);display:flex;flex-direction:column}.gf-drawer.abierto{transform:none}.gf-drawer-cab{display:flex;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid var(--border)}.gf-drawer-cuerpo{flex:1;overflow-y:auto;padding:20px 22px}.gf-drawer-pie{display:flex;gap:10px;justify-content:flex-end;padding:16px 22px;border-top:1px solid var(--border)}.gf-nota-segura{display:flex;gap:9px;font-size:12px;color:var(--text-muted);line-height:1.55;background:#f2faf5;border:1px solid #d7ecdd;border-radius:9px;padding:11px 13px}.gf-nota-segura svg{flex:none;margin-top:2px;color:var(--success)}.gf-nota-aviso{display:flex;gap:9px;font-size:12.5px;color:#8a4b0f;line-height:1.55;background:#fdf6e3;border:1px solid #f3e3b3;border-radius:9px;padding:11px 13px}.gf-nota-aviso svg{flex:none;margin-top:2px}@property --giro{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.gf-holo{position:relative;transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out)}.gf-holo:before{content:"";position:absolute;top:-1.5px;right:-1.5px;bottom:-1.5px;left:-1.5px;border-radius:13px;padding:1.5px;pointer-events:none;background:conic-gradient(from var(--giro),#ff8ae2,#8ae2ff,#ffe47a,#b28aff,#7ee7c9,#ff8ae2);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s var(--ease-out);animation:gf-girar 3.5s linear infinite paused}.gf-holo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;pointer-events:none;background:linear-gradient(115deg,transparent 32%,rgba(255,138,226,.28) 42%,rgba(138,226,255,.3) 48%,rgba(255,228,122,.22) 54%,rgba(178,138,255,.26) 60%,transparent 70%);background-size:260% 260%;background-position:120% 0;mix-blend-mode:multiply;filter:blur(1px);opacity:0;transition:opacity .3s var(--ease-out)}.gf-holo:hover{transform:translateY(-3px);box-shadow:0 10px 26px #635bff29,0 4px 10px #ff8ae21f}.gf-holo:hover:before{opacity:1;animation-play-state:running}.gf-holo:hover:after{opacity:1;animation:gf-barrer 1.6s var(--ease-out) infinite}@keyframes gf-girar{to{--giro: 360deg}}@keyframes gf-barrer{0%{background-position:130% 0}to{background-position:-30% 0}}.gf-dlg{width:430px;max-width:100%;background:var(--bg-panel);border-radius:14px;box-shadow:0 15px 35px #0a254033,0 5px 15px #0a25401a;padding:24px 26px 20px;animation:gf-pop .18s var(--ease-out)}.gf-dlg-ic{width:40px;height:40px;border-radius:50%;background:#fbeae8;color:var(--error);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.gf-dlg h3{font-size:16px;font-weight:700;margin-bottom:6px}.gf-dlg p{font-size:13.5px;color:var(--text-muted);margin-bottom:8px}.gf-dlg p b{color:var(--text)}.gf-dlg-acciones{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.gf-btn--peligro{background:var(--error);color:#fff;box-shadow:0 1px 1px #0a25401a}.gf-btn--peligro:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.07)}.gf-velo--centro{display:flex;align-items:center;justify-content:center;padding:20px}.gf-segmento{display:inline-flex;background:var(--bg-elevated);border-radius:9px;padding:3px}.gf-segmento button{font-family:var(--font-sans);font-size:12.5px;font-weight:600;border:none;cursor:pointer;padding:5px 14px;border-radius:7px;background:none;color:var(--text-muted);transition:background .2s var(--ease-out),color .2s var(--ease-out),box-shadow .2s var(--ease-out)}.gf-segmento button.on{background:#fff;color:var(--text);box-shadow:0 1px 3px #0a25401f,0 0 0 1px var(--border)}.gf-fila{transition:background .15s var(--ease-out)}.gf-fila:hover{background:#fafbfd}.gf-fila-acciones{opacity:0;display:flex;gap:2px;transition:opacity .15s var(--ease-out)}.gf-fila:hover .gf-fila-acciones{opacity:1}.gf-auth{display:grid;grid-template-columns:1fr 1.1fr;min-height:100vh;background:var(--bg-base)}.gf-auth-marca{position:relative;overflow:hidden;display:flex;background:linear-gradient(160deg,#0a2540,#10254d 55%,#1d2a63)}.gf-marca-contenido{position:relative;z-index:2;width:100%;padding:52px 48px;display:flex;flex-direction:column;color:#eef1f8}.gf-marca-wordmark{font-family:var(--font-mono);font-weight:700;font-size:19px;letter-spacing:.02em;color:#a5b4fc}.gf-marca-titulo{font-size:27px;font-weight:700;line-height:1.25;letter-spacing:-.02em;margin:34px 0 10px;max-width:16ch}.gf-marca-sub{color:#9fb1c9;font-size:14px;max-width:38ch}.gf-marca-puntos{margin-top:auto;display:flex;flex-direction:column;gap:12px}.gf-marca-punto{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:#c6d2e2}.gf-marca-punto svg{flex:none;color:#8f9dfc;margin-top:2.5px}.gf-auth-form{background:var(--bg-panel);display:flex;flex-direction:column;justify-content:center;padding:52px 56px}@media (max-width: 860px){.gf-auth{grid-template-columns:1fr}.gf-auth-marca{display:none}.gf-auth-form{padding:40px 24px}}.gf-auth-form .ui-input{padding:7px 10px;font-size:13.5px;border-radius:7px}.gf-auth-form .gf-btn--md{padding:8px 14px;font-size:13.5px}@keyframes gf-pop{0%{opacity:0;transform:translateY(4px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.gf-pop{animation:gf-pop .18s var(--ease-out)}
