.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-sans-400.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-sans-500.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-sans-600.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/ibm-plex-sans-700.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-400.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-500.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-mono-600.woff2) format("woff2")}:root{--radius: 10px;--radius-sm: 7px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--gap: 18px;--pad-input: 9px 11px;--pad-btn: 10px 18px;--pad-pill: 2px 9px;--pad-page: var(--gap) 28px;--font: "IBM Plex Sans", -apple-system, "Segoe UI", Roboto, Inter, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--shadow: 0 1px 3px rgba(0, 0, 0, .18), 0 6px 16px rgba(0, 0, 0, .1);--shadow-pop: 0 8px 24px rgba(0, 0, 0, .3)}[data-theme=ambar]{--bg: #0f0f23;--bg-panel: #1b1b30;--bg-elev: #25253f;--bg-input: #14142b;--border: #2a2a45;--text: #f8fafc;--text-dim: #a5a5c9;--text-faint: #8c8cb0;--accent: #f97316;--accent-ink: #f97316;--accent-soft: rgba(249, 115, 22, .15);--oos-bg: rgba(249, 115, 22, .14);--accent-text: #1b1102;--good: #22c55e;--warn: #eab308;--danger: #f87171;--ai: #c084fc;--ai-soft: rgba(168, 85, 247, .16);--sidebar-bg: #0b0b1b}[data-theme=ambar-claro]{--bg: #f8f6f2;--bg-panel: #ffffff;--bg-elev: #ffffff;--bg-input: #f5f3ee;--border: #e9e4dc;--text: #26211b;--text-dim: #5f574c;--text-faint: #766d61;--accent: #f97316;--accent-ink: #c2410c;--accent-soft: rgba(249, 115, 22, .12);--oos-bg: rgba(249, 115, 22, .1);--accent-text: #ffffff;--good: #15803d;--warn: #a8480a;--danger: #b91c1c;--ai: #9333ea;--ai-soft: rgba(147, 51, 234, .1);--sidebar-bg: #fbf9f5;--shadow: 0 1px 2px rgba(40, 30, 16, .06), 0 4px 14px rgba(40, 30, 16, .07)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;overflow:hidden}.app{display:grid;grid-template-columns:248px 1fr;grid-template-rows:minmax(0,1fr) auto;height:100vh}.sidebar{grid-row:1 / 3;grid-column:1;background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:14px 10px}.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 14px;border-bottom:1px solid var(--border);font-weight:800;letter-spacing:.5px;font-size:15px}.brand .logo{width:32px;height:32px;object-fit:contain;display:block;flex-shrink:0}.brand-version{font-size:10px;font-weight:500;letter-spacing:.4px;color:var(--text-faint);margin-top:1px}.nav-label{font-size:10.5px;text-transform:uppercase;letter-spacing:1px;color:var(--text-faint);margin:14px 10px 6px}.nav-item{position:relative;display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;font-weight:600;margin-bottom:2px;white-space:nowrap}.nav-item .ico{width:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-faint)}.nav-item:hover:not(.disabled){background:var(--accent-soft);color:var(--text)}.nav-item:hover:not(.disabled) .ico{color:var(--text-dim)}.nav-item.active{background:var(--accent-soft);color:var(--text)}a.nav-item{text-decoration:none}.nav-item.active .ico{color:var(--accent-ink)}.nav-item.active:before{content:"";position:absolute;left:0;width:3px;height:20px;background:var(--accent);border-radius:3px;margin-left:-10px}.nav-item.disabled{color:var(--text-faint);opacity:.55;cursor:default}.nav-item.running{background:var(--bg-panel);color:var(--text)}.nav-item.running .ico{color:var(--accent-ink)}.nav-item .nav-progress{position:absolute;left:10px;right:10px;bottom:3px;height:3px;background:var(--border);border-radius:3px;overflow:hidden}.nav-item .nav-progress>i{display:block;height:100%;background:var(--accent);transition:width .3s ease}.nav-item.done{background:var(--accent);color:var(--accent-text)}.nav-item.done .ico{color:var(--accent-text)}.nav-item.done:hover:not(.disabled){background:var(--accent);color:var(--accent-text)}.status-bar{grid-row:2 / 3;grid-column:2;display:flex;align-items:center;gap:var(--s3);padding:11px var(--pad-page);border-top:1px solid var(--border);background:var(--bg-panel);font-size:12.5px;color:var(--text);line-height:1}.status-bar>*{line-height:1}.status-bar .status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:0 0 auto;animation:status-pulse 1.1s ease-in-out infinite}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.35}}.status-bar .status-label{flex:0 1 auto;white-space:nowrap}.status-bar .status-track{flex:0 0 240px;height:6px;border-radius:4px;background:var(--border);overflow:hidden}.status-bar .status-track>i{display:block;height:100%;background:var(--accent);transition:width .3s ease}.status-bar .status-pct{flex:0 0 auto;color:var(--text);font-weight:600}.status-bar .status-spacer{flex:1 1 auto}.status-bar .status-metrics{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;color:var(--text);white-space:nowrap}.status-bar .status-metrics .status-sep{color:var(--text-faint)}.status-bar .status-hint{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim)}.status-bar .status-hint.ok{color:var(--good)}.status-bar .status-hint.bad{color:var(--danger)}.status-bar .status-hint svg{vertical-align:-.18em}.status-bar .status-ocupada{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.status-bar .status-ocupada b{color:var(--accent-ink);font-weight:600}.status-bar .status-ocupada em{color:var(--text-dim);font-style:normal}.status-bar .status-dot.pausada{animation:none;background:var(--text-faint)}.status-bar .status-eta{flex:0 0 auto;color:var(--text-dim);white-space:nowrap}.status-bar .status-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;font:inherit;font-size:12px;line-height:1;padding:4px 8px;cursor:pointer;color:var(--text);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm)}.status-bar .status-btn:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:var(--accent)}.sidebar .spacer{flex:1}.sidebar-sep{border-top:1px solid var(--border);margin:14px 0 6px}.user{display:flex;align-items:center;gap:10px;padding:8px 8px 6px}.user.clicable{cursor:pointer;border-radius:var(--radius-sm);padding-bottom:10px}.user.clicable:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.user.clicable.active{background:var(--accent-soft)}.avatar{width:28px;height:28px;border-radius:50%;background:var(--ai);display:grid;place-items:center;color:#fff;font-weight:700;font-size:12px}.main{grid-row:1 / 2;grid-column:2;display:flex;flex-direction:column;min-width:0;min-height:0}.tabs{display:flex;align-items:center;gap:2px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--bg-panel);min-height:46px}.tab{padding:13px 16px 12px;color:var(--text-dim);cursor:pointer;font-weight:600;border-bottom:2px solid transparent;white-space:nowrap}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.tabs .grow{flex:1}.ai-btn{display:flex;align-items:center;gap:7px;background:var(--ai-soft);color:var(--ai);border:1px solid transparent;padding:7px 13px;border-radius:999px;cursor:pointer;font-weight:700;font-size:12.5px}.ai-btn:hover{border-color:var(--ai)}.content-wrap{flex:1;display:flex;min-height:0}.content{flex:1;overflow:auto;padding:var(--pad-page)}.page-head{margin-bottom:var(--s5)}.page-head h1{margin:0 0 var(--s1);font-size:20px}.page-head p{margin:0;color:var(--text-dim)}.card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--gap);margin-bottom:var(--gap);box-shadow:var(--shadow)}.card h3{margin:0 0 var(--gap);font-size:14.5px;display:flex;align-items:center;gap:8px}.card h3 .dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.card h3 .count{margin-left:auto;font-size:11.5px;font-weight:600;color:var(--text-dim);background:var(--bg-input);border:1px solid var(--border);padding:var(--pad-pill);border-radius:999px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-size:12.5px;color:var(--text-dim);font-weight:600}.field label.field-group-label{font-weight:700}label.check{display:flex;align-items:center;gap:var(--s2);cursor:pointer;font-size:12.5px;font-weight:600;color:var(--text-dim)}.fields:has(>.mando){align-items:start}.field label .field-sub{float:right;font-weight:400;font-size:11px;color:var(--text-faint);white-space:nowrap}.field input,.field select{background:var(--bg-input);border:1px solid var(--border);color:var(--text);padding:var(--pad-input);border-radius:var(--radius-sm);font-size:13.5px;font-family:var(--font);width:100%;min-width:0;box-sizing:border-box}.field input:focus,.field select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.field textarea{background:var(--bg-input);border:1px solid var(--border);color:var(--text);padding:var(--pad-input);border-radius:var(--radius-sm);font-size:13.5px;font-family:var(--font);width:100%;min-width:0;box-sizing:border-box;resize:vertical}.field textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.ui-select{position:relative;display:inline-flex;min-width:0}.ui-select>button{background:var(--bg-input);border:1px solid var(--border);color:var(--text);padding:var(--pad-input);border-radius:var(--radius-sm);font-size:13.5px;font-family:var(--font);display:inline-flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0;box-sizing:border-box;cursor:pointer}.ui-select>button:focus-visible,.ui-select.open>button{outline:2px solid var(--accent-soft);border-color:var(--accent)}.ui-select>button svg{color:var(--text-faint);flex:0 0 auto}.ui-select>button:disabled{opacity:.55;cursor:not-allowed}.ui-select-val{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select-pop{position:fixed;z-index:1000;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 10px 28px #00000038;padding:4px;overflow-y:auto;font-family:var(--font);font-size:13.5px}.ui-select-opt{padding:7px 10px;border-radius:6px;cursor:pointer;color:var(--text);white-space:nowrap}.ui-select-opt:hover{background:var(--bg-input)}.ui-select-opt.sel{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.ui-select-group{padding:6px 10px 2px;font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--text-faint);text-transform:uppercase}.ui-select-group.plegable{display:flex;align-items:center;gap:6px;cursor:pointer;border-radius:6px;padding:7px 10px;-webkit-user-select:none;user-select:none}.ui-select-group.plegable:hover{background:var(--bg-elev)}.ui-select-group.plegable svg{transition:transform .12s;transform:rotate(-90deg)}.ui-select-group.plegable.abierto svg{transform:rotate(0)}.ui-select-group-n{margin-left:auto;font-weight:600;color:var(--text-faint)}.seg{display:flex;gap:8px}.seg .opt{flex:1;border:1px solid var(--border);background:var(--bg-input);border-radius:var(--radius-sm);padding:12px;cursor:pointer;text-align:center}.seg .opt.sel{border-color:var(--accent);background:var(--accent-soft)}.seg .opt.off{opacity:.55;cursor:default}.seg.compacto{gap:0}.seg.compacto .opt{flex:none;padding:var(--pad-input);font-size:13px;border-radius:0}.seg.compacto .opt:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.seg.compacto .opt:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.seg .opt .t{font-weight:700}.seg .opt .t svg{vertical-align:-.18em;margin-right:4px}.seg .opt .d{font-size:11.5px;color:var(--text-dim);margin-top:2px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:var(--bg-input);border:1px solid var(--border);padding:6px 11px;border-radius:999px;font-size:12.5px;font-weight:600;display:flex;align-items:center;gap:6px}.chip .x{color:var(--text-faint);cursor:pointer}.chip.add{border-style:dashed;color:var(--text-dim);cursor:pointer}.asset-fam{margin-top:var(--s4)}.asset-fam:first-child{margin-top:0}.asset-fam-head{font-size:12.5px;font-weight:700;color:var(--text-dim);margin-bottom:var(--s2);display:flex;align-items:center;gap:var(--s2);background:none;border:none;padding:var(--s1) 0;width:100%;text-align:left;cursor:pointer;font-family:inherit}.asset-fam-head:hover{color:var(--text)}.asset-fam-head .count{font-weight:400;color:var(--text-faint)}.asset-fam-head .chev{transition:transform .15s;color:var(--text-faint);flex:none}.asset-fam-head.collapsed .chev{transform:rotate(-90deg)}.row-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.row-actions.center{justify-content:center;gap:12px;margin-top:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:var(--pad-btn);border-radius:var(--radius-sm);font-weight:700;cursor:pointer;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);font-family:var(--font);font-size:13.5px}.modal-msg svg,.builder-loadmsg svg,.field-hint svg,.run-state svg{vertical-align:-.18em}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:var(--accent-text);border-color:transparent}.btn.primary:hover{filter:brightness(1.08)}.btn.accent{border-color:var(--accent);color:var(--accent-ink)}.btn.accent:hover{background:var(--accent-soft)}.btn.danger{color:var(--danger);border-color:#f8717140}.btn.danger:hover{border-color:var(--danger);background:#f8717115}.btn.good{color:var(--good);border-color:color-mix(in srgb,var(--good) 38%,transparent)}.btn.good:hover{border-color:var(--good);background:color-mix(in srgb,var(--good) 12%,transparent)}.btn:disabled,.btn:disabled:hover{opacity:.42;cursor:not-allowed;border-color:var(--border);background:var(--bg-elev)}.btn.primary:disabled,.btn.primary:disabled:hover{background:var(--accent);border-color:transparent}.builder-toolbar{display:flex;align-items:center;justify-content:center;gap:var(--s3);flex-wrap:wrap}.builder-toolbar select{background:var(--bg-input);border:1px solid var(--border);color:var(--text);padding:var(--pad-input);border-radius:var(--radius-sm);font-family:var(--font);font-size:13.5px}.builder-toolbar select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.report-menu-wrap{position:relative;display:inline-flex}.report-menu-backdrop{position:fixed;inset:0;z-index:40}.report-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:41;min-width:100%;display:flex;flex-direction:column;padding:5px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-pop)}.report-menu-item{display:flex;align-items:center;gap:8px;padding:8px 12px;white-space:nowrap;background:none;border:none;border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer;text-align:left}.report-menu-item:hover{background:var(--accent-soft)}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}.content{display:flex;flex-direction:column;gap:var(--gap)}.content>.card{margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:var(--gap);align-content:start}.cards>.card{margin-bottom:0}.card.span-all{grid-column:1 / -1}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--gap);align-items:end}.fields.cols-2{grid-template-columns:repeat(2,1fr)}.fields.cols-3{grid-template-columns:repeat(3,1fr)}.fields.cols-4{grid-template-columns:repeat(4,1fr)}.fill{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.fill>.scroll{flex:1 1 auto;min-height:0;overflow:auto}.oos-split{display:flex;height:24px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border)}.oos-split>div{display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-dim);white-space:nowrap}.oos-split .seg-is{background:var(--accent-soft)}.oos-split .seg-oos{background:#f59e0b30}.dir-bar{display:flex;height:24px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border)}.dir-bar>div{display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-dim);white-space:nowrap;overflow:hidden}.dir-bar .seg-long{background:#34d39930}.dir-bar .seg-free{background:var(--bg-input)}.dir-bar .seg-short{background:#f8717130}.check-row{display:flex;align-items:center;gap:8px;padding:6px 0}.check-list{display:flex;flex-direction:column}.data-table th.check-col,.data-table td.check-col{width:1%;text-align:center;cursor:default;padding-left:12px;padding-right:4px}.data-table th.check-col input,.data-table td.check-col input{cursor:pointer;accent-color:var(--accent);margin:0;vertical-align:middle}.toolbar-status{text-align:center;margin:0}.toolbar-status.bad{color:var(--danger)}.metric-tile{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;min-width:0}.metric-tile-v{font-size:22px;font-weight:700;color:var(--text)}.metric-tile-l{font-size:12px;color:var(--text-faint);margin-top:2px}.report-stats td:nth-child(odd){color:var(--text-dim);width:25%}.monthly-table{font-size:12px}.monthly-table th,.monthly-table td{padding:5px 8px}.report-top{display:grid;grid-template-columns:minmax(220px,1fr) 2.4fr;gap:var(--gap);align-items:stretch}.report-net{display:flex;flex-direction:column;justify-content:center;gap:6px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--s4) var(--s5)}.report-net-v{font-size:40px;font-weight:800;line-height:1.05}.report-net-l{font-size:13px;color:var(--text-faint)}.report-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}@media(max-width:760px){.report-top{grid-template-columns:1fr}.report-tiles{grid-template-columns:repeat(2,1fr)}}.chart-pan{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;cursor:grab}.chart-pan::-webkit-scrollbar{display:none}.chart-pan.panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11.5px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-dim);white-space:nowrap}.pf-name{padding:var(--pad-input);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);font-family:var(--font);font-size:13px;width:210px}.pf-name:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.chart-toggles{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:var(--gap)}.chart-toggle{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elev);color:var(--text-dim);font-family:var(--font);font-weight:600;font-size:12.5px;cursor:pointer}.chart-toggle:hover{border-color:var(--accent)}.chart-toggle.on{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.chart-toggle .sw{width:16px;height:0;border-top:3px solid currentColor;border-radius:2px}.chart-area{flex:1 1 auto;min-height:0}.chart-area svg{display:block}.synth-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--gap)}.synth-card{display:flex;flex-direction:column}.synth-card h3{margin:0 0 var(--s1)}.synth-stat{display:flex;align-items:baseline;gap:var(--s2);margin-bottom:var(--s2)}.synth-card svg{display:block;height:150px;width:100%}.spec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--gap)}.spec-kv{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.spec-kv .k{font-size:12px;color:var(--text-faint)}.spec-kv .v{font-weight:600;margin-top:2px}.spec-h{font-size:12.5px;font-weight:700;color:var(--text-dim);margin:var(--gap) 0 8px}.spec-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.spec-list li{font-size:13px}.spec-cond b{color:var(--accent-ink);font-weight:600}.spec-desc{margin:6px 0 0;line-height:1.55;max-width:75ch}.live-counter{display:flex;flex-direction:column;gap:var(--gap)}.live-counter .metrics-row{display:flex;align-items:center;gap:var(--gap)}.live-counter .metrics{flex:1;display:grid;grid-template-columns:repeat(5,1fr);gap:var(--gap)}.live-counter .run-state{font-weight:600;white-space:nowrap}.live-bottom{display:flex;align-items:stretch;gap:var(--gap);border-top:1px solid var(--border);padding-top:var(--gap)}.live-bottom h4{margin:0 0 6px;font-size:12.5px;color:var(--text-faint);font-weight:600}.islands-panel{flex:1;min-width:0;display:flex;flex-direction:column}.islands-head{display:flex;align-items:center;justify-content:space-between}.islands-nav{display:flex;align-items:center;gap:6px}.islands-arrow{width:20px;height:20px;border-radius:5px;border:1px solid var(--border);background:var(--bg-input);color:var(--text);cursor:pointer;line-height:1;display:grid;place-items:center;font-size:12px}.islands-arrow:disabled{opacity:.35;cursor:default}.islands-cols{display:flex;gap:40px}.islands-table{flex:0 0 auto;width:auto}.islands-table th,.islands-table td{padding:1px 6px;font-size:12px;line-height:1.4}.islands-row-empty td{padding:1px 6px;color:transparent;border-top:1px solid var(--border)}.ram-panel{flex:0 0 auto;width:320px;display:flex;flex-direction:column;justify-content:center}.ram-gauge-row{display:flex;align-items:center;gap:16px}.ram-gauge{width:84px;height:84px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center}.ram-gauge-hole{width:64px;height:64px;border-radius:50%;background:var(--bg-panel);display:grid;place-items:center;font-size:15px;font-weight:700;color:var(--text)}.ram-detail{font-size:13px;color:var(--text)}.ram-detail .field-hint{margin:2px 0 0}.ram-desglose{font-size:12px;color:var(--text-faint);line-height:1.4}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th,.data-table td{padding:7px 10px;white-space:nowrap}.data-table th{text-align:left;color:var(--text-faint);cursor:pointer;-webkit-user-select:none;user-select:none;position:sticky;top:0;background:var(--bg-panel)}.data-table th.num,.data-table td.num{text-align:right}.data-table td.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.data-table tbody tr{border-top:1px solid var(--border)}.data-table tbody tr.row-oos{background:var(--oos-bg)}.data-table tbody tr:hover{background:var(--accent-soft)}.data-table tbody tr.row-selected{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.trades-table{table-layout:fixed;min-width:1040px}.trades-table th,.trades-table td,.trades-table th.num,.trades-table td.num{text-align:center;overflow:hidden;text-overflow:ellipsis}.content>.card.asset-broker:last-child{margin-bottom:var(--gap)}.asset-table{width:auto;table-layout:fixed}.asset-table col.c-name{width:150px}.asset-table col.c-date,.asset-table col.c-bars{width:130px}.asset-table col.c-cost{width:100px}.asset-table col.c-triple{width:110px}.asset-table col.c-edit{width:40px}.asset-table col.c-dl{width:160px}.update-notice{display:flex;align-items:center;gap:var(--s2);margin:var(--s2) var(--s3);padding:var(--s2) var(--s3);border:1px solid var(--accent);border-radius:8px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-ink);font:inherit;font-size:13px;font-weight:600;cursor:pointer;width:calc(100% - 2 * var(--s3))}.update-notice:hover{background:color-mix(in srgb,var(--accent) 20%,transparent)}.invita-notice{margin:0 0 var(--s3);width:100%;padding:9px 10px;gap:11px;font-size:inherit}.invita-notice .ico{width:18px;display:inline-flex;align-items:center;justify-content:center}.demo-notice{display:flex;align-items:center;justify-content:center;gap:var(--s2);margin:var(--s2) var(--s3);padding:var(--s3);border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:var(--accent-text);font:inherit;font-size:13px;font-weight:700;cursor:pointer;width:calc(100% - 2 * var(--s3))}.demo-notice:hover{filter:brightness(1.08)}.modal.demo{max-width:460px}.asset-table tbody tr.asset-row{cursor:pointer}.asset-table td.c-edit{text-align:center;color:var(--text-faint)}.asset-table tbody tr.asset-row:hover td.c-edit{color:var(--accent-ink)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.sliders{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-top:var(--gap)}.slider-field{display:flex;flex-direction:column;gap:8px}.slider-field.holgado{gap:var(--s4);margin-top:var(--s5)}.slider-field.holgado .oos-split{margin-top:var(--s2)}.slider-top{display:flex;align-items:center;justify-content:space-between}.slider-top label{font-size:12.5px;color:var(--text-dim);font-weight:600}.slider-val{font-weight:700;font-size:13px;color:var(--accent-ink);background:var(--accent-soft);padding:var(--pad-pill);border-radius:999px}input[type=range]{-webkit-appearance:none;appearance:none;height:6px;border-radius:99px;background:var(--border);outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);border:3px solid var(--bg-panel);box-shadow:0 0 0 1px var(--accent)}input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent);border:3px solid var(--bg-panel);box-shadow:0 0 0 1px var(--accent)}.oos-toggle{display:flex;align-items:center;gap:11px;margin-top:var(--gap);font-weight:600}.switch{position:relative;display:inline-block;width:42px;height:24px}.switch input{opacity:0;width:0;height:0}.slider-sw{position:absolute;inset:0;cursor:pointer;background:var(--border);border-radius:999px;transition:background .15s}.slider-sw:before{content:"";position:absolute;height:18px;width:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .15s}.switch input:checked+.slider-sw{background:var(--accent)}.switch input:checked+.slider-sw:before{transform:translate(18px)}.switch.danger input:checked+.slider-sw{background:var(--danger)}.card h3 .right-slot{margin-left:auto;display:inline-flex;align-items:center;gap:var(--s2)}.card h3 .right-slot:has(>.cab-ancha){flex:1}.data-table.corr-matrix{width:auto}.corr-matrix td,.corr-matrix th{text-align:center;padding:3px 7px}.corr-matrix tbody th{text-align:left;white-space:nowrap}.corr-matrix thead th.cn{white-space:normal;word-break:break-word;min-width:54px;max-width:92px;font-weight:500;font-size:10.5px;vertical-align:bottom;padding:6px 5px}.retest-toggles{display:inline-flex;align-items:center;gap:var(--s5)}.retest-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--text-dim)}.retest-toggle>span:first-child{min-width:116px;text-align:right}.oos{margin-top:var(--gap);padding:0 8px}.oos-bar{position:relative;height:36px;border-radius:8px;background:var(--accent-soft);border:1px solid var(--border);-webkit-user-select:none;user-select:none}.oos-band{position:absolute;top:0;bottom:0;background:var(--ai-soft);border-left:2px solid var(--ai);border-right:2px solid var(--ai)}.oos-handle{position:absolute;top:-4px;bottom:-4px;width:12px;transform:translate(-50%);background:var(--ai);cursor:ew-resize;z-index:2;border-radius:4px;box-shadow:0 1px 4px #00000059}.oos-handle:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:2px;height:16px;background:#ffffffbf;border-radius:2px}.oos-meta{display:flex;gap:var(--gap);margin-top:var(--gap);font-size:12.5px;color:var(--text-dim)}.oos-meta b{color:var(--text)}.ai-panel{width:320px;border-left:1px solid var(--border);background:var(--bg-panel);display:flex;flex-direction:column}.ai-head{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:9px;font-weight:700}.ai-head .badge{width:24px;height:24px;border-radius:7px;background:var(--ai);color:#fff;display:grid;place-items:center}.ai-body{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.msg{padding:11px 13px;border-radius:var(--radius-sm);font-size:13px;line-height:1.5}.msg.ai{background:var(--ai-soft)}.msg.me{background:var(--bg-input);align-self:flex-end;max-width:85%}.ai-input{padding:12px;border-top:1px solid var(--border);display:flex;gap:8px}.ai-input input{flex:1;background:var(--bg-input);border:1px solid var(--border);color:var(--text);padding:var(--pad-input);border-radius:999px;font-family:var(--font)}.ai-input .send{background:var(--ai);color:#fff;border:0;width:36px;height:36px;border-radius:50%;cursor:pointer;display:grid;place-items:center}.statusbar{grid-row:2;grid-column:1 / 3;border-top:1px solid var(--border);background:var(--bg-panel);display:flex;align-items:center;gap:16px;padding:0 16px;font-size:12.5px;color:var(--text-dim)}.statusbar .live{display:flex;align-items:center;gap:8px;color:var(--text);font-weight:600}.pulse{width:9px;height:9px;border-radius:50%;background:var(--good);box-shadow:0 0 0 0 var(--good);animation:pulse 1.6s infinite}@keyframes pulse{0%{box-shadow:0 0 #2ea04380}70%{box-shadow:0 0 0 7px #2ea04300}to{box-shadow:0 0 #2ea04300}}.progress{width:160px;height:6px;background:var(--border);border-radius:99px;overflow:hidden}.progress>i{display:block;height:100%;width:24%;background:var(--accent);transition:width .4s ease}.statusbar{position:relative}.statusbar .grow{flex:1}.statusbar .link{cursor:pointer}.statusbar .link:hover{color:var(--text)}.statusbar .muted{color:var(--text-faint)}.statusbar .pos b{color:var(--good)}.statusbar .neg b{color:var(--danger)}.pulse.idle{background:var(--text-faint);box-shadow:none;animation:none}.status-raw{position:absolute;bottom:100%;right:12px;margin-bottom:6px;max-width:560px;max-height:240px;overflow:auto;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:11.5px;line-height:1.5;white-space:pre-wrap;color:var(--text-dim);box-shadow:var(--shadow-pop);z-index:20}.placeholder{color:var(--text-faint);text-align:center;padding:60px;font-size:15px}.accordion{display:flex;flex-direction:column;gap:10px;height:100%}.acc-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);box-shadow:var(--shadow);display:flex;flex-direction:column;flex:0 0 auto;min-height:0;overflow:hidden}.acc-item.open{flex:1 1 auto}.acc-header{display:flex;align-items:center;justify-content:space-between;padding:13px var(--gap);cursor:pointer;-webkit-user-select:none;user-select:none;flex:0 0 auto}.acc-title{display:flex;align-items:center;gap:10px;font-weight:700}.acc-title .chevron{color:var(--text-dim);width:12px}.acc-title .count{font-size:11.5px;font-weight:600;color:var(--text-dim);background:var(--bg-input);border:1px solid var(--border);padding:var(--pad-pill);border-radius:999px}.acc-body{flex:1 1 auto;min-height:0;overflow:auto;padding:4px var(--gap) var(--gap)}.acc-selectall{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-dim);font-weight:600;cursor:pointer}.fam+.fam{margin-top:4px}.fam-title{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--accent-ink);font-weight:700;padding:8px 6px 7px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.fam-count{color:var(--text-faint)}.block-list{display:flex;flex-direction:column}.block-row{display:flex;align-items:center;gap:10px;padding:7px 6px;border-radius:6px;cursor:pointer;font-size:13px}.block-row:hover{background:var(--accent-soft)}.block-name{flex:1 1 auto;font-weight:600}.block-desc{color:var(--text-faint);font-size:12px;text-align:right}.pf-auto-row{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:6px 10px;padding:10px 12px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 26%,transparent)}.pf-auto-row:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.pf-auto-row input{margin-top:2px}.pf-auto-row .block-name{grid-column:2}.pf-auto-row .block-desc{grid-column:2;text-align:left}.block-list.crit .block-row,.block-list.regime .block-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:var(--s3);row-gap:1px}.block-list.crit .block-row>input,.block-list.regime .block-row>input{grid-row:1 / span 2;align-self:center}.block-list.crit .block-name,.block-list.regime .block-name{grid-column:2;flex:none}.block-list.crit .block-desc,.block-list.regime .block-desc{grid-column:2;text-align:left}.block-list.regime{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));column-gap:var(--s5);row-gap:var(--s2)}.blocks-tab{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.blocks-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);grid-template-rows:minmax(0,1fr);gap:var(--gap);height:100%;min-height:0}.to-accordion .acc-body>*+*{margin-top:12px}.switch-row{display:flex;align-items:center;gap:11px;font-weight:600;font-size:13px}.mm-params{margin-top:var(--gap)}.field-group{margin-top:14px}.config-layout{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;gap:var(--gap)}.config-layout>.card{flex:0 0 auto;margin-bottom:0}.config-layout>.accordion{flex:1 1 auto;min-height:0}.slpt-types{margin-top:var(--gap);display:flex;flex-direction:column;gap:14px}.slpt-type>*+*{margin-top:12px}.cond-list{display:flex;flex-direction:column;gap:8px;margin-top:var(--gap)}.cond-row{display:grid;grid-template-columns:1fr 150px 82px 90px 50px 32px;gap:8px;align-items:center}.cond-row select{padding-left:8px;padding-right:6px}.unit-toggle{height:34px;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600}.unit-toggle:hover{border-color:var(--accent);color:var(--accent-ink)}.cond-row select,.cond-row input,.metric-picker input,.market-row select{background:var(--bg-input);border:1px solid var(--border);color:var(--text);padding:var(--pad-input);border-radius:var(--radius-sm);font-size:13.5px;font-family:var(--font);width:100%}.settings-form{margin-top:var(--gap)}.settings-form>*+*{margin-top:var(--gap)}.settings-form code{background:var(--bg-input);border:1px solid var(--border);padding:1px 6px;border-radius:5px;font-size:12px}.market-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.market-row{display:grid;grid-template-columns:1fr 120px 32px;gap:8px;align-items:center}.metric-picker{position:relative}.metric-picker input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.metric-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:240px;overflow:auto;box-shadow:var(--shadow-pop)}.metric-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;cursor:pointer;font-size:13px}.metric-opt:hover{background:var(--accent-soft)}.metric-opt.empty{color:var(--text-dim);cursor:default}.metric-en{color:var(--text-faint);font-size:11px}.cond-del{border:1px solid var(--border);background:var(--bg-elev);color:var(--text-dim);border-radius:var(--radius-sm);height:34px;cursor:pointer;font-size:13px;display:grid;place-items:center}.cond-del:hover{border-color:var(--danger);color:var(--danger)}.cond-add{align-self:flex-start;margin-top:2px}.sub-label{font-size:12.5px;color:var(--text-dim);font-weight:600;padding-top:4px;border-top:1px solid var(--border)}.field-hint{margin:6px 2px 0!important;font-size:11.5px;color:var(--text-faint)}.ayuda{display:inline-flex;align-items:center;justify-content:center;line-height:0;background:none;border:0;padding:0;margin-left:5px;cursor:help;color:var(--text-faint);vertical-align:-.18em}.ayuda:hover,.ayuda:focus-visible,.ayuda.abierta{color:var(--accent-ink)}.ayuda-pop{position:fixed;z-index:1200;display:block;text-align:left;cursor:default;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--s3);box-shadow:var(--shadow-pop);font-size:12.5px;line-height:1.55;font-weight:400;color:var(--text-dim);white-space:normal;max-height:calc(100vh - 16px);overflow-y:auto}.ayuda-pop strong{display:block;margin-bottom:4px;color:var(--text);font-weight:600}.ayuda-pop em{font-style:normal;color:var(--text);font-weight:600}.ayuda-pop .ayuda-velocidad{display:block;margin-top:var(--s2);padding-top:var(--s2);border-top:1px solid var(--border);font-size:11.5px;color:var(--text-faint)}.ayuda-pop .ayuda-velocidad b{color:var(--text-dim);font-weight:600}.card .field-hint:not(:last-child){margin-bottom:var(--s3)!important}.blocks-tab{display:flex;flex-direction:column;height:100%;min-height:0}.blocks-tab .accordion{flex:1 1 auto;min-height:0}input[type=checkbox]{accent-color:var(--accent);cursor:pointer;width:15px;height:15px}input[type=radio]{accent-color:var(--accent);cursor:pointer}input[type=number]{-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.results-table-wrap{display:flex;flex-direction:column;gap:12px}.results-table{width:100%;border-collapse:collapse;font-size:13px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.results-table thead th{position:sticky;top:0;background:var(--bg-elev);color:var(--text-dim);font-weight:600;text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.results-table th.num,.results-table td.num{text-align:right;font-variant-numeric:tabular-nums}.results-table td.num{font-family:var(--font-mono)}.results-table tbody td{padding:9px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.results-table tbody tr:last-child td{border-bottom:none}.results-table tbody tr{cursor:pointer}.results-table tbody tr:hover{background:var(--accent-soft)}.results-table tbody tr.selected{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.results-table .strat-name{font-weight:600;color:var(--text)}.results-table .pos,.results-summary .pos,.pos{color:var(--good)}.results-table .neg,.results-summary .neg,.neg{color:var(--danger)}.results-summary{display:flex;flex-wrap:wrap;gap:18px;align-items:center;padding:10px 14px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);font-size:13px;color:var(--text-dim)}.results-summary b{color:var(--text)}.results-hint{margin:0}.trade-side{display:inline-block;padding:var(--pad-pill);border-radius:999px;font-size:11.5px;font-weight:600}.trade-side.buy{color:var(--good);background:#2ea04324}.trade-side.sell{color:var(--danger);background:#f8717124}.equity-chart{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:8px 10px}.equity-chart svg{width:100%;height:auto;display:block}.builder-loadmsg{margin:0;padding:8px 12px;font-size:13px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim)}.results-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.results-table .strat-pending{color:var(--text-faint);font-style:italic}.sample-tag{display:inline-block;padding:var(--pad-pill);border-radius:999px;font-size:11px;font-weight:600}.sample-tag.is{color:var(--accent-ink);background:var(--accent-soft)}.sample-tag.oos{color:var(--warn);background:#d2992229}.build-progress{border-color:var(--accent)}.build-stats{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.build-stats .muted{color:var(--text-faint);font-style:italic}.builder-toolbar .grow{flex:1}.builder-toolbar.seccion{gap:var(--s2)}.builder-toolbar.seccion .btn{padding:10px 12px;white-space:nowrap}.builder-toolbar.seccion .toolbar-config{display:flex;gap:var(--s2);margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.modal-backdrop{position:fixed;inset:0;z-index:1000;background:#00000080;display:flex;align-items:center;justify-content:center;padding:24px}.modal{width:100%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.modal-head h3{margin:0;font-size:15px}.modal-x{background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:15px;line-height:1}.modal-x:hover{color:var(--text)}.modal-body{padding:18px;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--border)}.modal-msg{padding:0 18px 14px;font-size:13px}.mover-list{display:flex;flex-direction:column;gap:var(--s2);margin-top:var(--s3)}.mover-dest{display:flex;align-items:flex-start;gap:var(--s3);text-align:left;padding:var(--s3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);color:var(--text);cursor:pointer;font:inherit}.mover-dest:hover:not(:disabled):not(.info){border-color:var(--accent);background:var(--accent-soft)}.mover-dest:disabled{opacity:.55;cursor:default}.mover-dest.info{cursor:default;background:transparent;opacity:.8}.mover-dest .mover-ico{color:var(--accent-ink);flex-shrink:0;margin-top:1px}.mover-dest b{display:block;font-size:13px}.mover-dest small{display:block;color:var(--text-dim);font-size:12px;margin-top:2px;line-height:1.45}.modal.aviso{max-width:580px}.modal.aviso .modal-foot .btn{white-space:nowrap}.modal.ajustes{max-width:640px}.modal.ajustes .modal-body{background:var(--bg);padding:var(--pad-page)}.modal.ajustes .card:last-child{margin-bottom:0}.modal.ajustes .field-hint{margin:calc(-1 * var(--s2)) 0 var(--s4)!important}.opciones-sw{display:flex;flex-direction:column}.opcion-sw{display:grid;grid-template-columns:auto 1fr;gap:var(--s3);align-items:start;padding:var(--s2) 0}.opcion-sw+.opcion-sw{border-top:1px solid var(--border)}.opcion-sw.off{opacity:.5}.opcion-sw .switch{margin-top:1px}.opcion-sw b{display:block;font-size:13px}.opcion-sw small{display:block;color:var(--text-dim);font-size:12px;line-height:1.45;margin-top:2px}.modal.ajustes.archivo{max-width:min(1180px,calc(100vw - 32px))}.archivo-grid{display:grid;grid-template-columns:fit-content(38%) minmax(0,1fr);gap:var(--gap);align-items:start}.archivo-grid>.archivo-tree{min-width:240px}.archivo-grid>*{min-width:0}.archivo-name{width:100%;white-space:nowrap}@media(max-width:760px){.archivo-grid{grid-template-columns:1fr}}.archivo-tree{padding:var(--s3)}.archivo-node{display:flex;align-items:center;gap:var(--s2);padding:6px var(--s2);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-dim)}.archivo-node:hover{background:var(--bg-elev);color:var(--text)}.archivo-node.sel{background:var(--accent-soft);color:var(--text)}.archivo-node.sel svg{color:var(--accent-ink)}.archivo-node-name{flex:1;white-space:normal;overflow-wrap:anywhere;font-size:13px}.archivo-count{font-size:11.5px;color:var(--text-faint);font-family:var(--font-mono)}.archivo-newbtn{margin-top:var(--s3);width:100%;justify-content:center}.archivo-newrow{display:flex;gap:var(--s2);margin-top:var(--s3)}.archivo-newrow input{flex:1;min-width:0;padding:var(--pad-input);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:13.5px}.archivo-folder-actions{display:flex;gap:var(--s2);flex-wrap:wrap;margin-bottom:var(--s3)}.archivo-folder-actions input{padding:var(--pad-input);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:13.5px}.archivo-scroll{max-height:44vh;overflow-x:auto}.archivo-scroll .data-table{width:100%;table-layout:auto}.preset-list{display:flex;flex-direction:column;gap:8px}.preset-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elev)}.preset-name{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-chips{display:flex;flex-wrap:wrap;gap:var(--s2)}.picker-list{display:flex;flex-direction:column;gap:var(--s2)}.picker-row{display:flex;align-items:center;gap:var(--s3);width:100%;text-align:left;padding:var(--s3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elev);color:var(--text);cursor:pointer;font-family:var(--font)}.picker-row:hover{border-color:var(--accent);background:var(--accent-soft)}.picker-icon{display:flex;color:var(--accent-ink);flex:none}.picker-text{display:flex;flex-direction:column;gap:2px;min-width:0}.picker-name{font-weight:600;font-size:13.5px}.picker-hint{font-size:12px;color:var(--text-faint)}.auto-toolbar{display:flex;flex-direction:column;gap:var(--s4);margin-bottom:var(--s3)}.auto-row{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}.auto-row .grow{flex:1}.auto-row.nowrap{flex-wrap:nowrap;overflow-x:auto}.auto-row.nowrap .auto-procmenu,.auto-row.nowrap .auto-blockmenu{flex-wrap:nowrap;gap:var(--s1)}.auto-row.nowrap .btn{flex:none;white-space:nowrap;padding:8px 9px;font-size:13px}.auto-row.nowrap .grow{min-width:var(--s4)}@media(max-width:1699px){.auto-row.nowrap .wide-only{display:none}}.auto-procmenu{display:inline-flex;align-items:center;gap:var(--s2);flex-wrap:wrap}.auto-name{min-width:240px;flex:0 1 auto;font-family:var(--font);font-size:20px;font-weight:700;color:var(--text);line-height:1.2;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:4px 6px;margin-left:-6px}.auto-name:hover{border-color:var(--border)}.auto-name:focus{outline:none;border-color:var(--accent);background:var(--bg-input)}.auto-name.empty{color:var(--text-faint)}.auto-blockmenu{display:inline-flex;align-items:center;gap:var(--s2);flex-wrap:wrap}.auto-canvas .react-flow__minimap{width:170px;height:115px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow)}.auto-canvas .react-flow__minimap-mask{fill:var(--bg-panel);fill-opacity:.78}.auto-canvas .react-flow__minimap-node{fill:var(--text-faint);stroke:none}.auto-canvas{position:relative;flex:1 1 auto;min-height:420px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);overflow:hidden}.usuario-titulo{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px}.usuario-pagina{padding:var(--s3) var(--s4);max-width:1240px}.usuario-pagina .card{padding:var(--s5)}.usuario-pagina .field-hint{margin:0 0 var(--s4)!important;font-size:13px;line-height:1.55;color:var(--text-dim);max-width:78ch}.usuario-pagina .btn+.field-hint,.usuario-pagina .field-hint:last-child{margin:var(--s3) 0 0!important}.usuario-dato{display:grid;grid-template-columns:200px 1fr;gap:var(--s4);align-items:baseline;padding:10px 0;border-bottom:1px solid var(--border);font-size:13.5px}.usuario-dato:last-of-type{border-bottom:none}.usuario-dato b{color:var(--text-dim);font-weight:600}.usuario-perfil{display:flex;gap:var(--s5);align-items:flex-start}.usuario-perfil-campos{display:flex;flex-direction:column;gap:var(--s3);min-width:0;flex:1}.avatar.grande{width:84px;height:84px;font-size:30px;flex:none}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.auto-canvas .react-flow{background:transparent}.auto-canvas .react-flow__background{color:var(--border)}.auto-canvas .react-flow__edge-path{stroke:var(--text-faint);stroke-width:1.6}.auto-canvas .react-flow__edge.selected .react-flow__edge-path{stroke:var(--accent);stroke-width:2}.auto-canvas .react-flow__connection-path{stroke:var(--accent)}.auto-canvas .react-flow__handle{width:9px;height:9px;background:var(--bg-input);border:2px solid var(--text-faint)}.auto-canvas .react-flow__handle:hover,.auto-canvas .react-flow__handle.connecting{border-color:var(--accent)}.auto-canvas .react-flow__controls{box-shadow:var(--shadow);border-radius:var(--radius-sm);overflow:hidden}.auto-canvas .react-flow__controls-button{background:var(--bg-panel);border-bottom:1px solid var(--border);color:var(--text-dim);fill:var(--text-dim)}.auto-canvas .react-flow__controls-button:hover{background:var(--accent-soft)}.auto-canvas .react-flow__selection{background:var(--accent-soft);border:1px dashed var(--accent);border-radius:var(--radius-sm)}.auto-canvas .react-flow__nodesselection{display:none}.ctx-backdrop{position:fixed;inset:0;z-index:40}.ctx-menu{position:absolute;z-index:41;min-width:220px;display:flex;flex-direction:column;padding:5px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-pop)}.ctx-title{font-size:11px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;padding:6px 12px 4px}.ctx-item{display:flex;align-items:center;gap:8px;padding:8px 12px;white-space:nowrap;background:none;border:none;border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer;text-align:left}.ctx-item:hover{background:var(--accent-soft)}.ctx-item:disabled{opacity:.5;cursor:not-allowed;background:none}.ctx-item.danger:hover{color:var(--danger)}.ctx-item .ctx-hint{margin-left:auto;font-size:11px;font-weight:500;color:var(--text-faint);padding-left:12px}.auto-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:var(--text-faint);font-size:13px;max-width:460px;margin:0 auto;pointer-events:none}.block-node{width:200px;background:var(--bg-elev);border:1px solid var(--border);border-left:4px solid var(--kind, var(--accent));border-radius:var(--radius);padding:var(--s2) var(--s3);box-shadow:var(--shadow);font-size:12px}.block-node.selected{border-color:var(--accent);box-shadow:var(--shadow-pop)}.block-node.unconfigured{border-style:dashed}.block-node.unconfigured .block-sub{color:var(--danger)}.block-node.block-constructor{--kind: var(--accent)}.block-node.block-retester{--kind: var(--ai)}.block-node.block-optimizador{--kind: var(--warn)}.block-node.block-reinicio{--kind: var(--text-faint)}.block-node.block-portfolio,.block-node.block-incubadora{--kind: var(--good)}.block-head{display:flex;align-items:center;gap:var(--s2)}.block-ico{color:var(--kind, var(--accent));display:inline-flex}.block-kind{font-weight:600;flex:1;color:var(--kind, var(--text))}.block-order{font-size:10px;font-family:var(--font-mono);color:var(--text-faint);border:1px solid var(--border);border-radius:999px;padding:0 6px;line-height:16px}.block-order.first{color:var(--accent-ink);border-color:var(--accent);background:var(--accent-soft);font-weight:700}.block-gear{background:none;border:none;padding:2px;cursor:pointer;color:var(--text-faint);display:inline-flex;border-radius:var(--radius-sm)}.block-gear:hover{color:var(--accent-ink);background:var(--accent-soft)}.block-gear:disabled{opacity:.3;cursor:default}.block-gear:disabled:hover{color:var(--text-faint);background:none}.block-label{margin-top:2px;color:var(--text)}.block-sub{margin-top:2px;color:var(--text-dim)}.block-sub svg{vertical-align:-.18em}.block-live{margin-top:var(--s1);padding-top:var(--s1);border-top:1px dashed var(--border);font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.block-goto{margin-top:var(--s1);font-size:11px;color:var(--accent-ink);display:flex;align-items:center;gap:4px}.block-node.run-running{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.block-node.run-running .block-live{color:var(--accent-ink)}.block-node.run-done{border-color:var(--good)}.block-node.run-error{border-color:var(--danger)}.block-node.run-error .block-live{color:var(--danger)}.block-node.run-cancelled{border-style:dashed}.block-node.run-cancelled .block-live{color:var(--text-faint)}.taller-cabecera{display:flex;flex-direction:column;gap:var(--s2);margin-bottom:var(--s3)}.taller-nombre{display:flex;align-items:baseline;gap:var(--s3);flex-wrap:wrap}.taller-nombre input{font-size:19px;font-weight:600;padding:2px 8px;flex:1;min-width:320px;max-width:720px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text)}.taller-nombre input:hover{border-color:var(--border)}.taller-nombre input:focus{border-color:var(--accent);background:var(--bg-elev, var(--bg))}.taller-nombre-nota{font-size:12.5px;color:var(--text-faint)}.taller-mandos{margin:0}.taller-cargar-cab{display:flex;align-items:flex-end;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s4)}.taller-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--gap);align-items:start}@media(max-width:1150px){.taller-grid{grid-template-columns:1fr}}.taller-col{display:flex;flex-direction:column;gap:var(--gap);min-width:0}.frase-grupo{border:1px dashed var(--border);border-radius:var(--radius);padding:var(--s2) var(--s3);margin-bottom:var(--s3)}.frase-grupo.alt{border-color:var(--ai);background:var(--ai-soft)}.frase-grupo-titulo{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin-bottom:var(--s2);display:flex;align-items:center;gap:6px}.frase-grupo.alt .frase-grupo-titulo{color:var(--ai)}.frase{display:flex;align-items:center;gap:var(--s3);background:var(--bg-elev);border:1px solid var(--border);border-left:4px solid var(--kind, var(--accent));border-radius:var(--radius);padding:var(--s2) var(--s3);margin-bottom:var(--s2)}.frase:last-child{margin-bottom:0}.frase.clicable{cursor:pointer;transition:box-shadow .12s ease,border-color .12s ease}.frase.clicable:hover{box-shadow:var(--shadow);border-color:var(--accent)}.frase.clicable .frase-mandos{cursor:default}.frase.negada{border-left-color:var(--danger)}.frase.faint{opacity:.7}.frase-texto{flex:1;min-width:0;font-size:13.5px;line-height:1.4}.frase-texto b{color:var(--text);font-weight:600}.frase-texto .cmp{color:var(--text-dim)}.frase-no{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.04em;color:var(--danger);border:1px solid var(--danger);border-radius:999px;padding:0 7px;line-height:16px;margin-right:6px;vertical-align:1px}.frase-mandos{display:flex;align-items:center;gap:4px;flex:none}.frase-mandos .btn{padding:4px 7px;min-height:0}.frase-mandos .btn.on{border-color:var(--danger);color:var(--danger)}.frase-menu-wrap{position:relative;display:inline-flex}.ctx-menu.frase-menu{right:0;top:calc(100% + 4px);min-width:210px}.frase-mandos .btn.logica{min-width:32px;justify-content:center;font-weight:700;font-size:11.5px;letter-spacing:.04em}.frase-mandos .btn.logica.on{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.frase-mandos .btn.logica.no.on{border-color:var(--danger);color:var(--danger);background:transparent}.frase-vacio{font-size:13px;color:var(--text-faint);padding:var(--s2) 0}.taller-resumen{font-size:13.5px;line-height:1.55}.taller-bt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2)}.taller-bt-tile{background:var(--bg-elev, var(--bg));border:1px solid var(--border);border-radius:6px;padding:6px 8px;min-width:0}.taller-bt-tile .k{font-size:11px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.taller-bt-tile .v{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.taller-bt-tile .d{font-size:11px;font-variant-numeric:tabular-nums}.taller-bt-equity{width:100%;height:84px;display:block;margin-top:var(--s2)}.taller-resumen p{margin:0 0 var(--s2)}.taller-resumen b{color:var(--accent-ink);font-weight:600}.plantilla-prueba{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s4) var(--s5)}.plantilla-prueba-titulo{font-size:15px;font-weight:600;margin:var(--s2) 0 0}.plantilla-prueba-lista{margin:0;padding-left:var(--s6);display:flex;flex-direction:column;gap:var(--s3)}.plantilla-prueba-item{border:1px solid var(--border);border-radius:var(--radius);padding:var(--s3) var(--s4);background:var(--bg-panel)}.plantilla-prueba-nombre{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);margin-bottom:var(--s2);word-break:break-word}.plantilla-prueba-vieja{color:var(--warn)}.taller-casilla{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;font-size:13px}.taller-casilla input[type=number]{width:88px;text-align:right;font-family:var(--font-mono)}.taller-casilla input[type=time]{width:96px;font-family:var(--font-mono)}.taller-dias{display:flex;gap:4px;flex-wrap:wrap}.taller-dias .btn{padding:3px 8px;min-height:0;font-size:12px}.taller-dias .btn.on{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.taller-conmutador{display:inline-flex;gap:0}.taller-conmutador .btn{padding:3px 10px;min-height:0;font-size:12px;font-weight:500;border-radius:0}.taller-conmutador .btn:first-child{border-radius:var(--radius-sm, 6px) 0 0 var(--radius-sm, 6px)}.taller-conmutador .btn:last-child{border-radius:0 var(--radius-sm, 6px) var(--radius-sm, 6px) 0;margin-left:-1px}.taller-conmutador .btn.on{background:var(--accent);border-color:var(--accent);color:#fff}.spec-grupo{display:inline-block;font-size:10.5px;font-weight:600;color:var(--ai);border:1px solid var(--ai);border-radius:999px;padding:0 6px;line-height:15px;margin-right:6px}.spec-no{display:inline-block;font-size:11px;font-weight:700;color:var(--danger);margin-right:4px}.taller-dato{display:grid;grid-template-columns:220px 260px 1fr;gap:var(--s4);align-items:baseline;padding:10px 0;border-bottom:1px solid var(--border);font-size:13.5px}.taller-dato:last-of-type{border-bottom:none}.taller-dato b{color:var(--text-dim);font-weight:600;display:inline-flex;align-items:center;gap:6px}.taller-dato span{font-weight:600;font-family:var(--font-mono);font-size:13px}.taller-dato span.faint{color:var(--text-faint);font-weight:400;font-family:var(--font)}.taller-dato i{font-style:normal;color:var(--text-faint);font-size:12.5px;line-height:1.4}@media(max-width:1100px){.taller-dato{grid-template-columns:200px 1fr}.taller-dato i{grid-column:1 / -1;margin-top:-6px}}.modal .taller-dato{grid-template-columns:200px 1fr}.modal .taller-dato i{grid-column:1 / -1;margin-top:-6px}.taller-bloque-form{border:1px solid var(--border);border-radius:var(--radius);padding:var(--s3);margin-bottom:var(--s3);background:var(--bg-panel)}.taller-bloque-titulo{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin-bottom:var(--s2)}.taller-form-fila{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}.taller-param.field{display:inline-flex;flex-direction:row;align-items:center;gap:var(--s2)}.taller-param input{width:88px;text-align:right;font-family:var(--font-mono)}.gear-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--s3);margin-bottom:var(--s2);font-size:13px}.gear-row .field{width:200px}.gear-row .field.num{width:90px;text-align:right;font-family:var(--font-mono)}.gear-note{font-size:12px;color:var(--text-dim);margin:var(--s2) 0 var(--s3);line-height:1.45}.gear-freeze{display:flex;gap:var(--s2);align-items:center;margin-bottom:var(--s2);flex-wrap:wrap}.gear-freeze .field{flex:1;min-width:190px}.gear-frozen{font-size:12px;color:var(--text-dim);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--s2) var(--s3);margin-bottom:var(--s3)}.gear-frozen.missing{color:var(--danger);border-style:dashed}.gear-frozen svg{vertical-align:-.18em}.gear-steps{display:grid;grid-template-columns:1fr 1fr;gap:var(--s1) var(--s3);margin-bottom:var(--s2)}.gear-step{display:flex;align-items:center;gap:var(--s2);font-size:13px;margin-bottom:var(--s1)}.gear-msg{font-size:12px;color:var(--good)}.auto-res-table{width:100%}.auto-res-note{display:block;margin-top:var(--s3)}.auto-res-note svg{color:var(--text-faint);vertical-align:-2px;margin-right:4px}.auto-chain-acc{height:auto}.auto-sel-acc .acc-item.open{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent),var(--shadow)}.auto-sel-acc .acc-item.open .acc-header{background:var(--accent-soft)}.auto-sel-acc .acc-item.open .acc-title,.auto-sel-acc .acc-item.open .acc-title .chevron{color:var(--accent-ink)}.auto-chain-status{display:inline-flex;align-items:center;gap:5px;font-weight:600;color:var(--text-faint)}.auto-chain-status.ok{color:var(--good)}.auto-chain-status.run{color:var(--accent-ink)}.auto-chain-body{display:flex;flex-direction:column;gap:var(--s3)}.auto-chain-bar{display:flex;align-items:center;gap:var(--s3)}.auto-chain-bar .progress{flex:1}.auto-chain-stats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-dim)}.auto-chain-stats b{color:var(--text)}.auto-chain-note{color:var(--text-faint);font-style:italic}.auto-chain-route{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:var(--text-dim)}.auto-chain-route>span{display:inline-flex;align-items:center;gap:6px}.auto-chain-route svg{color:var(--text-faint)}.card.aviso-recalculo{border-color:var(--accent);background:var(--accent-soft)}.card.aviso-recalculo .field-hint{margin-bottom:var(--s3)!important}.card.aviso-recalculo .toolbar{margin:0}.card.aviso-recalculo.aviso-embudo-cero{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--bg-panel))}.card.aviso-recalculo.aviso-embudo-cero h3 .dot{background:var(--danger)}.frase.alerta .frase-texto{color:var(--danger)}.frase.alerta{border-color:var(--danger)}.frase-senal{margin-left:var(--s2);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ai);background:var(--ai-soft);border-radius:999px;padding:1px 7px}label.campo-alerta{color:var(--danger)!important}.senales-lista{display:flex;flex-direction:column;gap:var(--s2)}.senal{display:flex;align-items:center;gap:var(--s3);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s2) var(--s3);background:var(--surface-2, transparent)}.senal-texto{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:13px}.senal-texto span{color:var(--text-dim);font-size:12.5px}.senales-catalogo{max-height:40vh;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);padding:0 var(--s3)}.senales-catalogo .fam-title{position:sticky;top:0;background:var(--bg-panel);z-index:1}.block-row.elegida{background:var(--accent-soft)}.block-row.elegida .block-name{color:var(--accent-ink)}.lienzo-roto{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s2);height:100%;padding:var(--s5);text-align:center;color:var(--text-dim)}.lienzo-roto h4{margin:0;color:var(--text)}.lienzo-roto p{margin:0;max-width:46ch;font-size:13px}.lienzo-roto-detalle{font-family:var(--mono, monospace);font-size:12px;color:var(--text-faint);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--s2) var(--s3);max-width:60ch;overflow-x:auto}.auto-singuardar{display:inline-flex;align-items:center;gap:5px;margin-left:var(--s2);padding:var(--pad-pill);border-radius:999px;font-size:11.5px;font-weight:700;color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent);white-space:nowrap;cursor:help}.av{position:relative;display:inline-flex;align-items:center;gap:3px;vertical-align:middle;cursor:pointer;font-size:11px;font-weight:700;line-height:1;border-radius:999px;padding:1px 5px;outline:none}.av.error{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.av.aviso{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent)}.av:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,currentColor 40%,transparent)}.av-n{font-variant-numeric:tabular-nums;white-space:nowrap}.av-tip{position:absolute;z-index:60;top:calc(100% + 6px);left:0;min-width:260px;max-width:380px;display:flex;flex-direction:column;gap:6px;padding:8px 10px;cursor:default;background:var(--bg-panel);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);font-weight:400;font-size:12.5px;line-height:1.4;text-transform:none;letter-spacing:0;text-align:left;white-space:normal;overflow-wrap:anywhere}.av-tip-item{display:flex;flex-direction:column;gap:2px;padding:4px 6px;border-left:3px solid var(--warn);border-radius:0 6px 6px 0}.av-tip-item.error{border-left-color:var(--danger)}.av-tip-item b{font-size:12.5px;color:var(--text)}.av-tip-item span{color:var(--text-dim)}.av-tip-item.enlace{cursor:pointer}.av-tip-item.enlace:hover{background:var(--accent-soft)}.av-tip-acciones{display:flex;gap:6px;flex-wrap:wrap;padding-top:4px}.av-tip-acciones .btn{padding:3px 9px;min-height:0;font-size:12px}.aviso-flash{animation:aviso-flash 1.4s ease-out;border-radius:6px}@keyframes aviso-flash{0%,60%{box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 55%,transparent)}to{box-shadow:none}}.tab .av{margin-left:6px}h3 .av{margin-left:2px}.taller-mandos .av{padding:3px 8px;font-size:12px}.taller-nombre .ayuda{align-self:center}.taller-modo{margin-left:auto;flex:none;align-self:center}.taller-modo .btn{font-weight:600}.plantilla-celda{display:inline-flex;align-items:center;gap:6px}.plantilla-celda input[type=text]{width:120px;text-align:right;font-family:var(--font-mono)}.plantilla-celda input::placeholder{color:var(--text-faint);font-style:italic;font-family:var(--font);text-align:center}.plantilla-celda.rango input{border-color:var(--ai);color:var(--ai)}.plantilla-celda.error input{border-color:var(--danger);color:var(--danger)}.plantilla-celda .unidad{color:var(--text-dim);font-size:13px;white-space:nowrap}.taller-conmutador .btn.constructor{font-style:italic}.taller-conmutador .btn.constructor.on{background:var(--text-dim);border-color:var(--text-dim)}.frase-num{flex:none;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--bg-input);border:1px solid var(--border);font-size:11px;font-weight:700;color:var(--text-dim);font-variant-numeric:tabular-nums}.frase-tipo{display:inline-block;margin-right:6px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:0 7px;line-height:16px;vertical-align:1px}.frase-tipo.aleatoria{color:var(--ai);border:1px dashed var(--ai)}.frase-tipo.ref{color:var(--accent-ink);border:1px solid var(--accent);text-transform:none;font-size:11.5px}.frase.plantilla-frase.aleatoria{border-style:dashed}.frase.plantilla-frase.aleatoria .frase-texto b{color:var(--text-dim);font-weight:500;font-style:italic}.frase-familia{margin-left:6px;font-size:10.5px;font-weight:600;color:var(--ai);background:var(--ai-soft);border-radius:999px;padding:0 6px}.num-rango{color:var(--ai);font-weight:700;font-family:var(--font-mono);font-size:12.5px}.num-rango small{font-weight:500;opacity:.8}.num-constructor{color:var(--text-faint);font-style:italic;font-weight:500}.num-error{color:var(--danger);font-weight:700;text-decoration:underline wavy}.plantilla-tipos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s2);margin-bottom:var(--s4)}.plantilla-tipo{display:flex;flex-direction:column;gap:3px;text-align:left;padding:var(--s2) var(--s3);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text);font:inherit}.plantilla-tipo b{font-size:13px}.plantilla-tipo span{font-size:11.5px;color:var(--text-dim);line-height:1.35}.plantilla-tipo.on{border-color:var(--accent);background:var(--accent-soft)}.plantilla-tipo:disabled{opacity:.45;cursor:not-allowed}.senal.elegida{border-color:var(--accent);background:var(--accent-soft)}.ptag{display:inline-flex;align-items:center;gap:4px;width:max-content;max-width:100%;font-size:11px;font-weight:700;line-height:1.3;color:var(--accent-ink);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:999px;padding:1px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:help}.field .ptag{margin-top:2px}.block-name .ptag,.right-slot .ptag{margin-left:8px}.seg.bloq .opt{cursor:default;opacity:.6}.seg.bloq .opt.sel{opacity:1}.seg+.ptag,.ptag+.seg{margin-top:6px}.plantilla-card .presumen{margin:6px 0 0;padding-left:18px;color:var(--text-dim);font-size:12.5px}.plantilla-card .presumen li{margin:2px 0}.plantilla-card h3{flex-wrap:wrap}.plantilla-card .plinea{display:inline-flex;align-items:baseline;gap:10px;margin-left:14px;flex-wrap:wrap;min-width:0}.plantilla-card .pnombre{font-weight:700;font-size:14px}.plantilla-card .pnombre.dim{margin-left:14px;font-weight:400;font-size:12.5px;color:var(--text-dim)}.plantilla-card .pcomb{font-size:12.5px;font-weight:400;color:var(--text-dim)}.plantilla-card .plink{background:none;border:0;padding:0;font:inherit;font-size:12.5px;font-weight:500;color:var(--accent-ink);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.plantilla-card .pcomb b{color:var(--text)}.tabs .tab .av{margin-left:6px}.ia-clave-nueva{border:1px solid var(--accent);border-radius:var(--radius, 8px);padding:var(--s3) var(--s4);background:color-mix(in srgb,var(--accent) 8%,transparent);margin-top:var(--s3)}.ia-clave-nueva code,.ia-codigo{display:block;font-family:var(--font-mono);font-size:12.5px;white-space:pre-wrap;word-break:break-all;background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;padding:8px 10px;margin:6px 0;-webkit-user-select:all;user-select:all}.ia-clave-nueva .fila-copiar,.ia-paso .fila-copiar{display:flex;gap:var(--s2);align-items:flex-start}.ia-clave-nueva .fila-copiar code,.ia-paso .fila-copiar .ia-codigo{flex:1;margin:0;min-width:0}.ia-niveles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);margin:var(--s2) 0}.ia-nivel{border:1px solid var(--border);border-radius:6px;padding:8px 10px;cursor:pointer;font-size:12.5px;line-height:1.4}.ia-nivel.activo{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.ia-nivel b{display:block;font-size:13px;margin-bottom:2px}.ia-paso{margin-top:var(--s3)}.ia-paso h4{margin:0 0 4px;font-size:13px}.ia-actividad td.res-ok{color:var(--good)}.ia-actividad td.res-error,.ia-actividad td.res-frenada{color:var(--bad)}.ia-actividad td.resumen{white-space:normal;max-width:420px;color:var(--text-dim);font-family:var(--font-mono);font-size:12px}.ia-interruptor{display:flex;align-items:center;gap:var(--s3)}.ia-interruptor input{accent-color:var(--accent);width:18px;height:18px;cursor:pointer}.modal.ajustes.reporte{max-width:720px}.modal.reporte .modal-head h3{display:flex;align-items:center;gap:var(--s2)}.modal.reporte .modal-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.modal.reporte .modal-foot .modal-msg{padding:0}.reporte-error{color:var(--danger)}.reporte-zona{display:flex;align-items:center;gap:var(--s2);padding:var(--s4);border:1.5px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;font-size:13px;background:var(--bg-elev)}.reporte-zona:hover,.reporte-zona.sobre{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.reporte-miniaturas{display:flex;gap:var(--s3);margin-top:var(--s3);flex-wrap:wrap}.reporte-mini{position:relative;width:140px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-elev)}.reporte-mini img{display:block;width:100%;height:90px;object-fit:cover}.reporte-mini span{display:block;font-size:11px;color:var(--text-faint);padding:var(--s1) var(--s2);font-family:var(--font-mono)}.reporte-mini .modal-x{position:absolute;top:2px;right:2px;background:var(--bg);border-radius:50%}.reporte-check{display:flex;gap:var(--s3);align-items:flex-start;cursor:pointer;font-size:13px}.reporte-check input{margin-top:3px;accent-color:var(--accent)}.reporte-check small{display:block;color:var(--text-dim);margin-top:var(--s1);font-size:12px}.reporte-check .field-sub{float:none;margin-left:var(--s2);font-weight:400;font-size:11px;color:var(--text-faint)}.reporte-ok{display:flex;gap:var(--s2);align-items:flex-start;margin:0 0 var(--s4);font-size:13.5px}.reporte-ok svg{color:var(--good);flex:none;margin-top:2px}.reporte-acciones{display:flex;gap:var(--s2);justify-content:flex-end}.reporte-lista{width:100%;border-collapse:collapse;font-size:13px}.reporte-lista td{padding:var(--s2) var(--s2);border-top:1px solid var(--border);vertical-align:top}.reporte-lista tr:first-child td{border-top:0}.reporte-lista td.num{width:56px;color:var(--text-faint)}.reporte-lista td small{display:block;color:var(--text-dim);margin-top:2px}.reporte-estado{white-space:nowrap;font-size:11.5px;padding:2px var(--s2);border-radius:999px;border:1px solid var(--border);color:var(--text-dim)}.reporte-estado.ok{color:var(--good);border-color:color-mix(in srgb,var(--good) 40%,transparent)}.reporte-estado.estudio{color:var(--accent-ink);border-color:var(--accent)}.nombre-enlace{cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px;text-decoration-color:var(--text-faint)}.nombre-enlace:hover{color:var(--accent-ink);text-decoration-color:var(--accent)}.corr-wrap{max-width:100%;overflow-x:auto;overflow-y:hidden}.corr-matrix.fija{width:max-content}.corr-matrix.fija th:first-child{position:sticky;left:0;z-index:1;background:var(--bg-panel);text-align:center;white-space:nowrap;font-weight:600;font-size:11px;color:var(--text-faint);font-family:var(--font-mono);padding:6px 9px;cursor:help;box-shadow:1px 0 0 var(--border)}.corr-matrix.fija thead th.num,.corr-matrix.fija td{cursor:help}.corr-matrix.fija thead th:first-child{z-index:2}.corr-matrix.fija thead th.num{text-align:center;color:var(--text-faint);font-weight:600;font-size:11px;padding:6px 7px}.estrellas{display:inline-flex;gap:2px}.estrellas button{background:none;border:none;padding:2px;cursor:pointer;line-height:0;color:var(--border);transition:color .12s,transform .12s}.estrellas button svg{width:28px;height:28px;fill:currentColor;stroke:none}.estrellas button.on{color:var(--accent-ink)}.estrellas button:hover{transform:scale(1.12)}.estrellas:hover button{color:var(--border)}.estrellas:hover button.hover{color:var(--accent-ink)}.estrellas.solo-ver button{cursor:default}.estrellas.solo-ver button:hover{transform:none}.estrellas.solo-ver:hover button.on{color:var(--accent-ink)}.estrellas.chica button svg{width:18px;height:18px}.resena-estado{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700}.resena-estado.pendiente{background:var(--accent-soft);color:var(--accent-ink)}.resena-estado.publicada{background:#22c55e26;color:var(--good)}.resena-estado.oculta{background:var(--bg-elev);color:var(--text-dim)}.resena-cita{border-left:3px solid var(--accent);padding:6px 12px;margin:var(--s2) 0;color:var(--text);white-space:pre-wrap;font-size:14px}.resena-respuesta{border-left:3px solid var(--border);padding:6px 12px;margin:var(--s2) 0 0 18px;color:var(--text-dim);font-size:13.5px;white-space:pre-wrap}.resena-form{display:grid;gap:var(--s3)}.resena-form .field-hint{margin:0}.resena-form .btn{justify-self:start}.modal.resena{max-width:560px}.modal.resena .modal-foot{justify-content:space-between;flex-wrap:wrap}.modal.resena .modal-foot .derecha{display:flex;gap:10px;margin-left:auto}.gestor-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--gap);align-items:stretch;flex:1;min-height:0}.content.gestor-content{padding:var(--gap)}.gestor-grid>*{min-width:0;min-height:0}.gestor-grid>.card{display:flex;flex-direction:column;margin-bottom:0}@media(max-width:900px){.gestor-grid{grid-template-columns:1fr}}.disco-fila{display:flex;align-items:center;gap:var(--s5)}.disco-cifra-bloque{flex:0 0 auto;min-width:150px}.disco-cifra{font-size:30px;font-weight:700;line-height:1.1;font-family:var(--font-mono)}.disco-sub{font-size:12px;color:var(--text-faint);margin-top:2px}.disco-desglose{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--s2)}.disco-barra{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--bg-input);border:1px solid var(--border)}.disco-trozo{flex:0 1 auto;min-width:0;background:var(--accent)}.disco-trozo.otros{background:var(--text-faint)}.disco-trozo.libre{background:transparent}.disco-leyenda{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s4);font-size:12px;color:var(--text-dim)}.disco-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.disco-item .num{font-family:var(--font-mono);color:var(--text)}.disco-swatch{width:10px;height:10px;border-radius:3px;background:var(--accent);flex:0 0 auto}.disco-swatch.otros{background:var(--text-faint)}.disco-aviso{color:var(--warn)}@media(max-width:700px){.disco-fila{flex-direction:column;align-items:stretch;gap:var(--s3)}}.gestor-scroll{flex:1;min-height:0;overflow:auto}.gestor-scroll .data-table{width:100%;table-layout:auto}.gestor-tree{display:flex;flex-direction:column;gap:1px;flex:1;min-height:0;overflow:auto}.gestor-folder-actions{display:flex;flex-direction:column;gap:var(--s2);margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid var(--border)}.gestor-folder-actions .btn{justify-content:flex-start}.maestro-burbuja{position:fixed;right:22px;bottom:56px;z-index:900;width:54px;height:54px;border-radius:50%;border:0;cursor:pointer;background:var(--accent);color:#fff;font:600 15px/1 var(--font);letter-spacing:.03em;display:grid;place-items:center;box-shadow:0 8px 22px #f9731673;transition:transform .15s ease,filter .15s ease}.maestro-burbuja:hover{transform:translateY(-1px);filter:brightness(1.06)}.maestro-burbuja:after{content:"";position:absolute;top:2px;right:2px;width:12px;height:12px;border-radius:50%;background:var(--good);border:2px solid var(--bg-panel)}.maestro-burbuja.trabajando:after{background:var(--accent);animation:maestro-latido 1.2s ease-in-out infinite}.maestro-burbuja.aviso:after{background:var(--warn)}@keyframes maestro-latido{50%{transform:scale(1.5);opacity:.5}}.maestro-panel{position:fixed;right:22px;bottom:122px;z-index:900;width:420px;max-width:calc(100vw - 32px);height:580px;max-height:calc(100vh - 140px);background:var(--bg-panel);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-pop);display:flex;flex-direction:column;overflow:hidden}.maestro-cab{display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-bottom:1px solid var(--border)}.maestro-avatar{width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;flex:0 0 auto}.maestro-titulo{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.maestro-titulo b{font-weight:600}.maestro-titulo small{color:var(--text-dim);display:flex;align-items:center;gap:6px;font-size:12px}.maestro-punto{width:7px;height:7px;border-radius:50%;background:var(--good);display:inline-block}.maestro-punto.trabajando{background:var(--accent);animation:maestro-latido 1.2s ease-in-out infinite}.maestro-ico{border:0;background:transparent;color:var(--text-faint);cursor:pointer;padding:6px;border-radius:var(--radius-sm);display:grid;place-items:center}.maestro-ico:hover{color:var(--text);background:var(--bg-input)}.maestro-cuerpo{flex:1;overflow:auto;padding:var(--s4);display:flex;flex-direction:column;gap:var(--s3)}.maestro-bloque{display:flex;flex-direction:column;gap:5px}.maestro-msg{max-width:88%;padding:9px 12px;border-radius:14px;line-height:1.45;font-size:13.5px;overflow-wrap:anywhere}.maestro-msg.maestro{background:var(--bg-input);border-bottom-left-radius:4px;align-self:flex-start}.maestro-msg.usuario{background:var(--accent);color:#fff;border-bottom-right-radius:4px;align-self:flex-end;white-space:pre-wrap}.maestro-bloque:has(.maestro-msg.usuario){align-items:flex-end}.maestro-msg.pensando{display:inline-flex;align-items:center;gap:8px;color:var(--text-dim)}.maestro-msg p{margin:0 0 6px}.maestro-msg p:last-child{margin-bottom:0}.maestro-msg ul,.maestro-msg ol{margin:4px 0 6px;padding-left:18px}.maestro-msg li{margin:2px 0}.maestro-msg code{font-family:var(--font-mono);font-size:12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:4px;padding:0 4px}.maestro-msg pre{font-family:var(--font-mono);font-size:12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--s2);overflow:auto;margin:4px 0;white-space:pre-wrap}.maestro-hora{font-size:10.5px;color:var(--text-faint);padding:0 6px}.maestro-msg.maestro.aviso{border-left:3px solid var(--accent)}.maestro-confirmar{display:flex;gap:var(--s2);padding:2px 0 0 2px}.maestro-confirmar .btn{min-width:64px}.maestro-adjuntos{display:flex;flex-direction:column;gap:4px;max-width:88%}.maestro-adjunto{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:12.5px;color:var(--text);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px 6px 9px;cursor:pointer;align-self:flex-start;max-width:100%}.maestro-adjunto span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.maestro-adjunto small{color:var(--text-dim);flex:0 0 auto}.maestro-adjunto svg{color:var(--accent-ink);flex:0 0 auto}.maestro-adjunto:hover{border-color:var(--accent)}.maestro-adjunto:disabled{opacity:.6;cursor:default}.maestro-pasos{display:flex;flex-direction:column;gap:4px;max-width:88%}.maestro-paso{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-dim);background:var(--bg-input);border:1px solid var(--border);border-radius:999px;padding:3px 11px 3px 8px;align-self:flex-start}.maestro-paso svg{color:var(--good);flex:0 0 auto}.maestro-paso.fallo svg{color:var(--warn)}.maestro-paso.activo{color:var(--text)}.maestro-spin{width:11px;height:11px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:maestro-giro 1s linear infinite;display:inline-block;flex:0 0 auto}@keyframes maestro-giro{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.maestro-spin,.maestro-punto.trabajando,.maestro-burbuja:after{animation:none}}.maestro-error{color:var(--warn);font-size:12.5px;padding:0 4px}.maestro-vacio{color:var(--text-dim);font-size:13px;padding:var(--s2)}.maestro-hist{display:flex;align-items:center;gap:var(--s1);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 4px 4px 0}.maestro-hist.actual{border-color:var(--accent)}.maestro-hist-txt{flex:1;min-width:0;text-align:left;border:0;background:transparent;color:var(--text);cursor:pointer;padding:6px 10px;display:flex;flex-direction:column;gap:2px;font:inherit}.maestro-hist-txt span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.maestro-hist-txt small{color:var(--text-dim);font-size:11.5px}.maestro-hist-txt:hover{color:var(--accent-ink)}.maestro-hist.esperando{border-color:var(--accent)}.maestro-hist-espera{color:var(--accent-ink);font-weight:600}.maestro-ico.con-aviso{position:relative;color:var(--accent-ink)}.maestro-ico.con-aviso:after{content:"";position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--accent)}.maestro-otra-espera{display:flex;align-items:center;gap:var(--s2);font-size:12.5px;color:var(--text);border:1px solid var(--accent);background:var(--accent-soft);border-radius:var(--radius-sm);padding:var(--s2) var(--s3)}.maestro-otra-espera span{flex:1;min-width:0}.maestro-otra-espera .btn{flex:0 0 auto}.maestro-pie{display:flex;align-items:flex-end;gap:var(--s2);padding:var(--s2) var(--s3);border-top:1px solid var(--border)}.maestro-entrada{flex:1;resize:none;min-height:38px;max-height:120px;font:inherit;font-size:13.5px;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:19px;padding:9px 14px;outline:none}.maestro-entrada:focus{border-color:var(--accent)}.maestro-entrada:disabled{color:var(--text-faint)}.maestro-envio{width:38px;height:38px;border-radius:50%;border:0;background:var(--accent);color:#fff;cursor:pointer;display:grid;place-items:center;flex:0 0 auto}.maestro-envio:disabled{opacity:.45;cursor:default}.maestro-envio.parar{background:var(--bg-elev);color:var(--text);border:1px solid var(--border)}.maestro-envio.parar:hover{border-color:var(--accent);color:var(--accent-ink)}.maestro-cupo{font-size:11.5px;color:var(--text-dim);text-align:center;padding:0 0 6px}@media(max-width:700px){.maestro-panel{inset:12px 8px 110px;width:auto;max-width:none;height:auto;max-height:none}.maestro-burbuja{right:14px;bottom:48px}}.incubadora-barra{display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap}.incubadora-barra-izq{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap}.incubadora-barra-der{display:flex;gap:var(--s3);align-items:center}.proyectos-barra{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:var(--s3)}.proyectos-barra .etiqueta{font-size:12.5px;color:var(--text-dim);margin-right:2px}.proyectos-barra .chip{cursor:pointer;padding:4px 6px 4px 11px;-webkit-user-select:none;user-select:none}.proyectos-barra .chip.solo{padding-right:11px}.proyectos-barra .chip:hover{border-color:var(--text-faint)}.proyectos-barra .chip.activo{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.proyectos-barra .chip.oculto{opacity:.55;text-decoration:line-through}.proyectos-barra .chip .n{font-weight:400;color:var(--text-faint)}.proyectos-barra .chip .ojo{display:inline-flex;padding:2px;border-radius:999px;color:var(--text-faint);background:none;border:0;cursor:pointer}.proyectos-barra .chip .ojo:hover{color:var(--text);background:var(--bg-panel)}.tabla-incubadora tr.fila-proyecto td{background:var(--bg-input);border-top:2px solid var(--border);font-size:14px;padding-top:9px;padding-bottom:9px}.orden-movil,.topbar-movil,.cajon-fondo{display:none}@media(max-width:760px),(max-height:500px)and (pointer:coarse),(orientation:portrait)and (max-width:1024px){:root{--pad-input: 11px 12px;--pad-btn: 12px 18px;--pad-page: var(--gap) var(--s4)}.app{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto;height:100vh;height:100dvh}.main{grid-row:2;grid-column:1}.status-bar{grid-row:3;grid-column:1}.sidebar.cajon{position:fixed;top:0;bottom:0;left:0;z-index:990;width:min(82vw,300px);overflow-y:auto;padding-top:max(14px,env(safe-area-inset-top));box-shadow:var(--shadow-pop);transform:translate(-105%);transition:transform .22s ease}.sidebar.cajon.abierto{transform:none}.cajon-fondo{display:block;position:fixed;inset:0;z-index:989;background:#00000080;opacity:0;pointer-events:none;transition:opacity .22s ease}.cajon-fondo.abierto{opacity:1;pointer-events:auto}.sidebar.cajon .nav-item{padding:13px 10px;gap:12px}.sidebar.cajon .nav-item .ico{width:20px}.sidebar.cajon .nav-item.active:before{height:22px}.app>.sidebar:not(.cajon){grid-row:1;grid-column:1;flex-direction:row;align-items:center;gap:var(--s1);padding:var(--s2);overflow-x:auto;scrollbar-width:none;border-right:0;border-bottom:1px solid var(--border)}.app>.sidebar:not(.cajon)::-webkit-scrollbar{display:none}.app>.sidebar:not(.cajon) .brand,.app>.sidebar:not(.cajon) .nav-label{display:none}.app>.sidebar:not(.cajon) .nav-item{margin-bottom:0;flex:0 0 auto}.app>.sidebar:not(.cajon) .nav-item.active:before{display:none}.topbar-movil{flex:0 0 auto;display:flex;align-items:center;gap:var(--s2);height:calc(52px + env(safe-area-inset-top));padding:env(safe-area-inset-top) var(--s2) 0 var(--s1);background:var(--bg-panel);border-bottom:1px solid var(--border)}.topbar-movil-btn{flex:0 0 auto;width:44px;height:44px;border:0;background:none;color:var(--text);border-radius:var(--radius-sm);display:grid;place-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.topbar-movil-btn:active{background:var(--accent-soft)}.topbar-movil-titulo{flex:1 1 auto;min-width:0;font-weight:800;font-size:16px;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 var(--s2)}.tabs::-webkit-scrollbar{display:none}.tab{flex:0 0 auto;padding:14px 12px 12px}.tabs .grow{flex:0 0 var(--s2)}.grid2,.grid3,.cards,.fields,.fields.cols-2,.fields.cols-3,.fields.cols-4{grid-template-columns:1fr}.page-head{margin-bottom:var(--s4)}.page-head h1{font-size:19px}.btn{min-height:44px}.field input,.field select,.field textarea,.ui-select>button,.builder-toolbar select{font-size:16px}.builder-toolbar{justify-content:flex-start}.builder-toolbar .btn{flex:1 1 auto}.fill>.scroll,.card>.scroll{overflow:auto;-webkit-overflow-scrolling:touch}.data-table{font-size:12.5px}.data-table th,.data-table td{padding:8px}.card h3{flex-wrap:wrap;row-gap:var(--s2)}.status-bar{gap:var(--s2);padding:10px var(--s4);font-size:12px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.status-bar .status-label{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.status-bar .status-track{flex:1 1 auto;min-width:40px}.status-bar .status-spacer,.status-bar .status-eta{display:none}.modal-backdrop{padding:var(--s3)}.modal,.modal.ajustes,.modal.ajustes.archivo,.modal.ajustes.reporte{max-width:none;max-height:92vh;max-height:92dvh}}@media(max-width:760px),(max-height:500px)and (pointer:coarse),(orientation:portrait)and (max-width:1024px){.btn,.tab,.nav-item,.seg .opt,.topbar-movil-btn,.chart-toggle,.acc-header{-webkit-tap-highlight-color:transparent}.builder-toolbar.seccion{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}.builder-toolbar.seccion>.btn,.builder-toolbar.seccion .toolbar-config>.btn{width:100%;min-width:0;white-space:normal;padding:10px 8px;font-size:13px;line-height:1.25}.builder-toolbar.seccion>.btn.primary{grid-column:1 / -1}.builder-toolbar.seccion>.grow{display:none}.builder-toolbar.seccion>.av{grid-column:1 / -1;justify-self:start}.builder-toolbar.seccion .toolbar-config{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:var(--s2);margin-left:0}.builder-toolbar.seccion .toolbar-config>.btn:first-child{grid-column:1 / -1}.builder-toolbar:not(.seccion){gap:var(--s2)}.builder-toolbar:not(.seccion)>.grow{display:none}.builder-toolbar:not(.seccion)>.btn,.builder-toolbar:not(.seccion)>.report-menu-wrap{flex:1 1 calc(50% - var(--s2));min-width:0}.builder-toolbar:not(.seccion)>.report-menu-wrap>.btn{width:100%}.builder-toolbar:not(.seccion) .btn{white-space:normal;padding:10px 8px;font-size:13px;line-height:1.25;justify-content:center}.live-counter .metrics-row{flex-wrap:wrap}.live-counter .metrics{grid-template-columns:repeat(2,1fr);gap:var(--s3)}.live-counter .run-state{flex:1 0 100%}.live-bottom{flex-direction:column}.ram-panel{width:auto}.islands-cols{gap:var(--gap);overflow-x:auto}.card h3 .right-slot{flex:1 0 100%;margin-left:0;flex-wrap:wrap}.card h3 .right-slot>div{flex-wrap:wrap}.seg:not(.compacto){flex-wrap:wrap}.seg:not(.compacto) .opt{flex:1 1 calc(50% - 4px);padding:10px 8px;font-size:13px}.auto-toolbar{gap:var(--s3)}.auto-row:not(.nowrap){display:grid;grid-template-columns:1fr 1fr;gap:var(--s2);align-items:center}.auto-row:not(.nowrap) .auto-name,.auto-row:not(.nowrap) .auto-singuardar,.auto-row:not(.nowrap) .auto-total-time{grid-column:1 / -1}.auto-row:not(.nowrap) .auto-name{min-width:0;width:100%;margin-left:0;font-size:18px}.auto-row:not(.nowrap) .auto-singuardar{justify-self:start}.auto-row:not(.nowrap) .btn{min-height:42px;padding:10px 6px;font-size:13px;white-space:nowrap}.auto-row .grow{display:none}.auto-row.nowrap{display:grid;grid-template-columns:1fr;gap:var(--s2);overflow:visible}.auto-row.nowrap .auto-procmenu,.auto-row.nowrap .auto-blockmenu{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s1)}.auto-row.nowrap .btn{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;min-width:0;min-height:56px;padding:8px 2px 6px;font-size:11px;font-weight:600;line-height:1.15;white-space:normal;text-align:center;overflow-wrap:normal;word-break:keep-all}.auto-row.nowrap .btn svg{width:17px;height:17px;flex:none}.auto-row.nowrap .wide-only{display:none}.auto-canvas{min-height:60vh;min-height:60dvh}.incubadora-barra{flex-wrap:wrap;gap:var(--s2)}.incubadora-barra-izq{display:grid;grid-template-columns:1fr 1fr;width:100%}.incubadora-barra-izq .btn{width:100%;min-width:0;white-space:normal;padding:10px 8px;font-size:13px;line-height:1.25}.incubadora-barra-izq .btn.primary{grid-column:1 / -1}.incubadora-barra-der{width:100%;justify-content:space-between}.usuario-perfil{flex-direction:column;align-items:center}.usuario-perfil-campos{width:100%}.usuario-dato{grid-template-columns:1fr;gap:2px}.usuario-dato>span{min-width:0;overflow-wrap:anywhere}.synth-grid{grid-template-columns:1fr}.orden-movil{display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s3)}.orden-movil label{font-size:12.5px;color:var(--text-dim);font-weight:600;white-space:nowrap}.orden-movil select{flex:1;min-width:0;background:var(--bg-input);border:1px solid var(--border);color:var(--text);padding:var(--pad-input);border-radius:var(--radius-sm);font-family:var(--font);font-size:16px}.orden-movil .btn{min-height:42px;padding:0 14px}.tabla-estrategias{display:block}.tabla-estrategias thead{display:none}.tabla-estrategias tbody{display:flex;flex-direction:column;gap:var(--s3)}.tabla-estrategias tbody tr{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2) var(--s3);align-items:start;border:1px solid var(--border);border-radius:var(--radius);padding:var(--s3) var(--s4);background:var(--bg-panel);box-shadow:var(--shadow)}.tabla-estrategias tbody tr:hover{background:var(--bg-panel)}.tabla-estrategias tbody tr.row-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent-soft)}.tabla-estrategias td{display:block;padding:0;white-space:normal;min-width:0}.tabla-estrategias td.num{text-align:left;font-size:14px;font-weight:600}.tabla-estrategias td.check-col{position:absolute;left:var(--s4);top:13px;width:auto;padding:0}.tabla-estrategias td.check-col input{width:20px;height:20px;display:block}.tabla-estrategias td[data-label=Estrategia]{grid-row:1;grid-column:1 / -1;padding-left:30px;min-height:20px;font-weight:700;font-size:13px!important;overflow-wrap:anywhere;align-self:center}.tabla-estrategias td[data-label=Indicadores]{grid-column:1 / -1}.tabla-estrategias td[data-label]:not([data-label=Estrategia]):before{content:attr(data-label);display:block;font-family:var(--font);font-size:10.5px;font-weight:600;color:var(--text-faint);text-transform:uppercase;letter-spacing:.4px;margin-bottom:1px}.tabla-estrategias tbody tr>td[colspan]{grid-column:1 / -1}}@media(max-width:760px),(max-height:500px)and (pointer:coarse),(orientation:portrait)and (max-width:1024px){.card h3 .right-slot:has(>.cab-ancha){flex:1 0 100%;flex-wrap:wrap}.card h3 .right-slot>.cab-ancha{flex:1 0 100%!important;display:grid!important;grid-template-columns:1fr 1fr;gap:var(--s2)!important}.card h3 .right-slot>.cab-ancha>*{min-width:0;width:100%}.card h3 .right-slot>.cab-ancha>:last-child:nth-child(odd){grid-column:1 / -1}.card h3 .right-slot>.cab-ancha .btn{width:100%}.scroll:has(>.tabla-estrategias){max-height:70dvh!important}.frase{flex-wrap:wrap;row-gap:var(--s2)}.frase-texto{flex:1 1 calc(100% - 34px)}.frase-mandos{flex:1 0 100%;flex-wrap:wrap;justify-content:flex-start;gap:3px}.frase-mandos .btn{padding:7px}.frase-mandos .btn.logica{min-width:35px}.tabla-incubadora tr:has(th){display:none}.tabla-incubadora td[colspan]{padding-left:30px}.tabla-incubadora td[colspan]:empty{display:none}.tabla-incubadora td[data-label=Activo],.tabla-incubadora td[data-label=Temporalidad],.tabla-incubadora td[data-label="Incubada el"]{display:none}.tabla-incubadora td[data-label=Estado]{grid-column:1 / -1;min-width:0!important}}@media(max-width:760px),(max-height:500px)and (pointer:coarse),(orientation:portrait)and (max-width:1024px){.parciales-fila{flex-wrap:wrap!important;white-space:normal}.parciales-fila input[type=number]{width:70px!important}.parciales-fila .taller-conmutador{flex-wrap:wrap}}.fondeo-empresas{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(420px,100%),1fr));gap:var(--s3)}.fondeo-empresa{border:1px solid var(--border);border-radius:8px;padding:var(--s2) var(--s3) var(--s3)}.fondeo-empresa-nombre{font-weight:700;margin-bottom:var(--s1)}.fondeo-modalidad{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);padding:var(--s2) 0;border-top:1px solid var(--border)}.fondeo-modalidad:first-of-type{border-top:0}.fondeo-modalidad-check{display:flex;gap:var(--s2);align-items:flex-start;flex:1 1 240px;min-width:0;cursor:pointer}.fondeo-modalidad-check input{accent-color:var(--accent);margin-top:4px}.fondeo-modalidad-check b{display:block;font-size:13.5px}.fondeo-modalidad-check small{display:block;color:var(--text-dim);font-size:12px}.fondeo-modalidad.on .fondeo-modalidad-check b{color:var(--accent-ink)}.fondeo-modalidad-acc{display:flex;gap:var(--s2);align-items:center}.fondeo-modalidad-acc .btn-link{background:none;border:0;color:var(--text-dim);padding:0 var(--s1);text-decoration:underline;cursor:pointer}.fondeo-modalidad-notas{flex-basis:100%;font-size:12px;color:var(--text-dim);display:flex;flex-direction:column;gap:2px;padding-left:26px}.fondeo-modalidad-notas a{color:var(--accent-ink)}.fondeo-sin-robots{margin-left:var(--s2);font-size:11px;font-weight:600;color:var(--danger);border:1px solid var(--danger);border-radius:4px;padding:0 5px;white-space:nowrap}.modal.ajustes.publicar{max-width:760px}.pub-modos{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.pub-modo{display:flex;flex-direction:column;gap:6px;text-align:left;padding:var(--s3);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);color:var(--text-dim);font-size:12.5px;line-height:1.45;cursor:pointer}.pub-modo:hover{border-color:var(--text-faint)}.pub-modo.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.pub-modo-t{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--text)}.pub-modo.on .pub-modo-t{color:var(--accent-ink)}.pub-graficos{display:flex;flex-direction:column;gap:var(--s3)}.pub-grafico{border:1px solid var(--border);border-radius:var(--radius);padding:var(--s3);background:var(--bg-panel)}.pub-grafico-cab{display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s2);flex-wrap:wrap}.pub-grafico-cab b{font-size:13px;margin-right:var(--s2)}.pub-grafico-cab select{padding:var(--pad-input);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:12.5px;max-width:220px}.pub-precios-nota{margin-top:var(--s3)!important}.pub-resumen{display:grid;grid-template-columns:1fr;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.pub-resumen>div{display:grid;grid-template-columns:140px 1fr;gap:var(--s3);padding:9px var(--s3);font-size:13px;border-top:1px solid var(--border)}.pub-resumen>div:first-child{border-top:0}.pub-resumen span{color:var(--text-dim)}.pub-resumen b{font-weight:600}@media(max-width:640px){.pub-modos{grid-template-columns:1fr}.pub-resumen>div{grid-template-columns:1fr;gap:2px}}.publicar-opciones{display:flex;flex-direction:column;gap:var(--s2);margin-top:var(--s3);font-size:13.5px}.publicar-opciones label{display:block;cursor:pointer}.publicar-opciones input{margin-right:var(--s2);vertical-align:middle}.publicar-check{display:flex!important;align-items:center;gap:6px}.publicar-check input{accent-color:var(--accent);margin:0}.publicar-fondeo label{display:flex;align-items:center;gap:var(--s2);cursor:pointer}.publicar-opciones input,.publicar-fondeo input{accent-color:var(--accent)}.publicar-fondeo{display:flex;flex-direction:column;max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:8px}.publicar-fondeo-fila{display:flex;justify-content:space-between;gap:var(--s3);padding:var(--s2) var(--s3);border-top:1px solid var(--border);font-size:13px}.publicar-fondeo-fila:first-child{border-top:0}.publicar-fondeo-fila .apagado{color:var(--text-faint)}.fondeo-elegidas{display:flex;flex-wrap:wrap;gap:var(--s2)}.fondeo-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 4px 3px 10px;border:1px solid var(--accent);border-radius:999px;background:var(--accent-soft);font-size:12.5px;font-weight:600}.fondeo-chip button{border:0;background:none;cursor:pointer;color:var(--text-dim);font-size:15px;line-height:1;padding:0 4px}.fondeo-modalidad-acc .btn-link,td .btn-link{background:none;border:0;color:var(--text-dim);padding:0 var(--s1);text-decoration:underline;cursor:pointer;box-shadow:none}.publicar-sep td{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);background:var(--bg)}.nav-item.bloqueada{color:var(--text-faint)}.solo-bloqueada{display:flex;align-items:center;justify-content:center;min-height:70vh;padding:24px 16px}.solo-bloqueada-caja{max-width:460px;text-align:center;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:28px 24px}.solo-bloqueada-caja h2{margin:10px 0 8px;font-size:18px}.solo-bloqueada-caja p{color:var(--text-dim);line-height:1.5;margin:0 0 12px}.solo-bloqueada-ico{color:var(--accent-ink);display:inline-flex}.solo-bloqueada-nota{font-size:12.5px;color:var(--text-faint)!important}.solo-bloqueada-caja .btn{display:inline-block;text-decoration:none;margin-top:6px}.modal.ajustes.mi-ind{max-width:min(980px,calc(100vw - 32px));max-height:92vh}.field textarea.mi-ind-formula{font-family:var(--font-mono);font-size:13px;line-height:1.5;resize:vertical;white-space:pre;tab-size:4}.mi-ind-error{display:flex;gap:var(--s2);align-items:flex-start;margin-top:var(--s2);padding:var(--s2) var(--s3);border:1px solid var(--danger);border-radius:var(--radius-sm);color:var(--danger);font-size:12.5px;cursor:pointer}.mi-ind-resumen{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s4);margin-top:var(--s2);font-size:12.5px;color:var(--text-dim)}.mi-ind-resumen span:first-child{color:var(--good);font-weight:600;display:inline-flex;gap:4px;align-items:center}.mi-ind-guia{margin-bottom:var(--s3);padding:var(--s3) var(--s4);background:var(--bg-elev);border-radius:var(--radius-sm);font-size:12.5px}.mi-ind-guia ul{margin:0 0 var(--s2);padding-left:var(--s4)}.mi-ind-guia li{margin:var(--s1) 0}.mi-ind-guia code{font-family:var(--font-mono);font-size:12px;color:var(--accent-ink)}.mi-ind-ejemplos{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3);align-items:center;color:var(--text-dim)}.mi-ind-vista-mandos{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap}.mi-ind-vista-mandos select{padding:var(--pad-input);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:12.5px;max-width:220px}.mi-ind-vacio{padding:var(--s6) var(--s3);text-align:center;color:var(--text-faint);font-size:13px;border:1px dashed var(--border);border-radius:var(--radius-sm)}.mi-ind-grafico{display:flex;flex-direction:column;gap:var(--s2)}.mi-ind-svg{width:100%;display:block;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm)}.mi-ind-eje{font-size:11px;fill:var(--text-faint)}.mi-ind-leyenda{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s4);font-size:12px;color:var(--text-dim);align-items:center}.mi-ind-leyenda i{display:inline-block;width:14px;height:3px;border-radius:2px;vertical-align:middle;margin-right:var(--s1)}.mi-ind-fechas{margin-left:auto;color:var(--text-faint)}.mi-ind-botones{display:flex;gap:var(--s2);align-items:center;margin-top:var(--s3)}.mis-ind-pie{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s2);font-size:12.5px;color:var(--text-faint)}@media(max-width:760px),(max-height:500px)and (pointer:coarse),(orientation:portrait)and (max-width:1024px){.mi-ind-fechas{margin-left:0;width:100%}.mi-ind-vista-mandos select{max-width:140px}}
