.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--primary: #3b82f6;--primary-strong: #2563eb;--primary-soft: rgba(59, 130, 246, .12);--primary-glow: rgba(59, 130, 246, .35);--accent: #8b5cf6;--success: #10b981;--success-strong: #047857;--success-soft: rgba(16, 185, 129, .14);--danger: #ef4444;--danger-strong: #b91c1c;--danger-soft: rgba(239, 68, 68, .12);--warning: #f59e0b;--warning-strong: #b45309;--warning-soft: rgba(245, 158, 11, .16);--info: #3b82f6;--info-strong: #1d4ed8;--info-soft: rgba(59, 130, 246, .1);--neutral-soft: rgba(100, 116, 139, .14);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 32px;--sp-8: 40px;--font-sans: "Plus Jakarta Sans Variable", "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;--fs-xs: .72rem;--fs-sm: .8rem;--fs-md: .9rem;--fs-lg: 1.05rem;--fs-xl: 1.35rem;--fs-2xl: 1.75rem;--radius: 16px;--radius-sm: 10px;--radius-xs: 7px;--ease: cubic-bezier(.22, 1, .36, 1);--t-fast: .14s;--t-med: .24s;--header-h: 64px;--content-max: 1200px}:root,[data-theme=light]{color-scheme:light;--bg-page: #eef2f7;--bg-page-gradient: linear-gradient(160deg, #e8edf5 0%, #f4f6fa 45%, #e9edf4 100%);--surface: #ffffff;--surface-muted: #f8fafc;--surface-hover: #f1f5f9;--text: #0f172a;--text-muted: #64748b;--text-faint: #94a3b8;--border: #e2e8f0;--border-strong: #cbd5e1;--header-bg: #0f1419;--header-border: rgba(255, 255, 255, .08);--header-text: #ffffff;--header-text-muted: rgba(255, 255, 255, .6);--header-pill-bg: rgba(255, 255, 255, .06);--shadow: 0 1px 3px rgba(15, 23, 42, .06), 0 8px 24px rgba(15, 23, 42, .08);--shadow-lg: 0 12px 40px rgba(15, 23, 42, .18);--overlay: rgba(15, 23, 42, .5);--chat-bg: #efeae2;--chat-out: #d9fdd3;--chat-in: #ffffff;--chat-text: #111b21;--skeleton-base: #e2e8f0;--skeleton-sheen: #f1f5f9}[data-theme=dark]{color-scheme:dark;--bg-page: #0b1220;--bg-page-gradient: linear-gradient(160deg, #0f1419 0%, #16202f 45%, #0f172a 100%);--surface: #111a29;--surface-muted: #0d1522;--surface-hover: #1a2534;--text: #e2e8f0;--text-muted: #94a3b8;--text-faint: #64748b;--border: #22304a;--border-strong: #334561;--header-bg: #0a0f16;--header-border: rgba(255, 255, 255, .06);--header-text: #ffffff;--header-text-muted: rgba(255, 255, 255, .55);--header-pill-bg: rgba(255, 255, 255, .05);--shadow: 0 1px 3px rgba(0, 0, 0, .35), 0 10px 30px rgba(0, 0, 0, .35);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .55);--overlay: rgba(2, 6, 14, .65);--chat-bg: #0b141a;--chat-out: #005c4b;--chat-in: #202c33;--chat-text: #e9edef;--skeleton-base: #1a2534;--skeleton-sheen: #243349;--primary-soft: rgba(59, 130, 246, .18);--success-soft: rgba(16, 185, 129, .18);--danger-soft: rgba(239, 68, 68, .16);--warning-soft: rgba(245, 158, 11, .18);--info-soft: rgba(59, 130, 246, .14);--neutral-soft: rgba(148, 163, 184, .14);--success-strong: #34d399;--danger-strong: #f87171;--warning-strong: #fbbf24;--info-strong: #93c5fd}@media(prefers-reduced-motion:reduce){:root{--t-fast: 0ms;--t-med: 0ms}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background:var(--bg-page-gradient);background-attachment:fixed;min-height:100vh;color:var(--text);transition:background var(--t-med) var(--ease),color var(--t-med) var(--ease)}code{font-family:var(--font-mono);font-size:.85em;background:var(--surface-muted);border:1px solid var(--border);border-radius:5px;padding:1px 5px;word-break:break-all}a{color:var(--primary)}::selection{background:var(--primary-glow)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.main{max-width:var(--content-max);margin:0 auto;padding:28px 20px 48px}.hero{margin-bottom:24px}.hero h2{font-size:clamp(1.35rem,4vw,1.75rem);font-weight:700;margin-bottom:6px;color:var(--text);letter-spacing:-.02em}.hero p{color:var(--text-muted);font-size:.95rem;max-width:640px;line-height:1.5}.field{margin-bottom:16px}.field label{display:block;font-size:var(--fs-xs);font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-md);font-family:inherit;background:var(--surface-muted);color:var(--text);transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--primary);background:var(--surface)}.field .field-hint{margin-top:6px;font-size:var(--fs-sm);color:var(--text-faint);text-transform:none;letter-spacing:0}.alert{margin-top:14px;padding:12px 14px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;line-height:1.45}.alert.ok{background:var(--success-soft);color:var(--success-strong);border:1px solid var(--success-soft)}.alert.err{background:var(--danger-soft);color:var(--danger-strong);border:1px solid var(--danger-soft)}.alert.info{background:var(--info-soft);color:var(--info-strong);border:1px solid var(--info-soft)}.alert.warn{background:var(--warning-soft);color:var(--warning-strong);border:1px solid var(--warning-soft)}.hint-panel{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;font-size:.85rem;color:var(--text-muted);line-height:1.55;word-break:break-word}.hidden{display:none!important}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border:none;border-radius:var(--radius-sm);font-size:var(--fs-md);font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),background var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease)}.ui-btn:active:not(:disabled){transform:translateY(1px)}.ui-btn:disabled{opacity:.55;cursor:not-allowed}.ui-btn--primary{background:linear-gradient(135deg,var(--primary),var(--primary-strong));color:#fff;box-shadow:0 4px 14px var(--primary-glow)}.ui-btn--primary:hover:not(:disabled){box-shadow:0 6px 20px var(--primary-glow)}.ui-btn--secondary{background:var(--surface-muted);color:var(--text);border:1.5px solid var(--border)}.ui-btn--secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.ui-btn--ghost{background:transparent;color:var(--text-muted)}.ui-btn--ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.ui-btn--danger{background:var(--danger);color:#fff}.ui-btn--danger:hover:not(:disabled){background:var(--danger-strong)}.ui-btn--sm{padding:7px 13px;font-size:var(--fs-sm)}.ui-btn--block{width:100%}.ui-btn .ui-spinner{width:14px;height:14px;border-width:2px}.ui-spinner{width:22px;height:22px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:ui-spin .7s linear infinite;flex-shrink:0}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-card{background:var(--surface);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);border:1px solid var(--border);margin-bottom:20px;transition:background var(--t-med) var(--ease),border-color var(--t-med) var(--ease)}.ui-card-head{margin-bottom:16px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.ui-card-head h3{font-size:var(--fs-lg);font-weight:700;color:var(--text);margin-bottom:4px}.ui-card-head p{font-size:.875rem;color:var(--text-muted);line-height:1.5}.ui-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:99px;font-size:var(--fs-xs);font-weight:700;background:var(--neutral-soft);color:var(--text-muted);white-space:nowrap}.ui-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.ui-badge--plain:before{display:none}.ui-badge--success{background:var(--success-soft);color:var(--success-strong)}.ui-badge--danger{background:var(--danger-soft);color:var(--danger-strong)}.ui-badge--warning{background:var(--warning-soft);color:var(--warning-strong)}.ui-badge--info{background:var(--info-soft);color:var(--info-strong)}.ui-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.ui-table{width:100%;border-collapse:collapse;font-size:.85rem}.ui-table th,.ui-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border);color:var(--text)}.ui-table thead th{font-size:var(--fs-xs);text-transform:uppercase;color:var(--text-muted);font-weight:700;letter-spacing:.04em;background:var(--surface-muted);position:sticky;top:0;z-index:1}.ui-table tbody tr{transition:background var(--t-fast) var(--ease)}.ui-table tbody tr:last-child td{border-bottom:none}.ui-table tbody tr:hover td{background:var(--surface-hover)}.ui-table tbody tr.ui-row-flash{animation:ui-row-flash 1.6s var(--ease)}@keyframes ui-row-flash{0%{background:var(--primary-soft)}to{background:transparent}}.ui-table .ui-td-empty{text-align:center;padding:32px 14px;color:var(--text-muted)}.ui-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:18px;flex-wrap:wrap}.ui-pagination .info{font-size:var(--fs-sm);color:var(--text-muted);min-width:120px;text-align:center}.ui-tabs{display:flex;gap:4px;background:var(--surface-muted);border:1px solid var(--border);padding:4px;border-radius:var(--radius-sm);overflow-x:auto;max-width:100%}.ui-tab{border:none;background:transparent;color:var(--text-muted);font-family:inherit;font-size:var(--fs-sm);font-weight:600;padding:9px 16px;border-radius:var(--radius-xs);cursor:pointer;white-space:nowrap;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.ui-tab:hover{color:var(--text)}.ui-tab[aria-selected=true]{background:var(--surface);color:var(--primary-strong);box-shadow:var(--shadow)}[data-theme=dark] .ui-tab[aria-selected=true]{color:#93c5fd}.ui-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;padding:20px;z-index:400;animation:ui-fade-in var(--t-med) var(--ease)}.ui-modal{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-lg);max-width:480px;width:100%;padding:24px;animation:ui-pop-in var(--t-med) var(--ease)}.ui-modal h3{font-size:var(--fs-lg);margin-bottom:8px;color:var(--text)}.ui-modal p{font-size:var(--fs-md);color:var(--text-muted);line-height:1.55}.ui-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;flex-wrap:wrap}@keyframes ui-fade-in{0%{opacity:0}}@keyframes ui-pop-in{0%{opacity:0;transform:translateY(10px) scale(.98)}}.ui-toaster{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:10px;z-index:500;max-width:min(380px,calc(100vw - 40px))}.ui-toast{display:flex;align-items:flex-start;gap:10px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-left:4px solid var(--info);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:12px 14px;font-size:var(--fs-md);line-height:1.45;animation:ui-toast-in var(--t-med) var(--ease)}.ui-toast--success{border-left-color:var(--success)}.ui-toast--error{border-left-color:var(--danger)}.ui-toast--warning{border-left-color:var(--warning)}.ui-toast button{margin-left:auto;background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:1rem;line-height:1;padding:2px}@keyframes ui-toast-in{0%{opacity:0;transform:translate(24px)}}.ui-skeleton{background:var(--skeleton-base);border-radius:6px;position:relative;overflow:hidden}.ui-skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,var(--skeleton-sheen),transparent);transform:translate(-100%);animation:ui-shimmer 1.4s infinite}@keyframes ui-shimmer{to{transform:translate(100%)}}.ui-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:300;animation:ui-fade-in var(--t-med) var(--ease)}.ui-drawer{position:fixed;top:0;right:0;bottom:0;width:min(300px,85vw);background:var(--header-bg);z-index:301;padding:20px;display:flex;flex-direction:column;gap:6px;animation:ui-drawer-in var(--t-med) var(--ease);overflow-y:auto}@keyframes ui-drawer-in{0%{transform:translate(100%)}}.ui-drawer--panel{width:min(640px,96vw);background:var(--surface);color:var(--text);padding:22px 24px 32px;gap:0;display:block}.ui-drawer a,.ui-drawer button.ui-drawer-item{display:block;width:100%;text-align:left;color:var(--header-text-muted);text-decoration:none;font-size:.95rem;font-weight:600;font-family:inherit;padding:13px 14px;border-radius:var(--radius-sm);border:none;background:transparent;cursor:pointer}.ui-drawer a:hover,.ui-drawer a.active,.ui-drawer button.ui-drawer-item:hover{color:var(--header-text);background:var(--header-pill-bg)}.ui-drawer .ui-drawer-sep{border:none;border-top:1px solid var(--header-border);margin:10px 0}.ui-empty{text-align:center;padding:42px 20px;color:var(--text-muted)}.ui-empty .icon{font-size:2rem;margin-bottom:10px;opacity:.7}.ui-empty h4{color:var(--text);font-size:var(--fs-lg);margin-bottom:6px}.ui-empty p{font-size:var(--fs-md);max-width:380px;margin:0 auto 16px;line-height:1.5}.ui-live{display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-xs);font-weight:700;color:var(--header-text-muted);padding:5px 10px;border-radius:99px;background:var(--header-pill-bg);white-space:nowrap}.ui-live .dot{width:7px;height:7px;border-radius:50%;background:var(--text-faint);flex-shrink:0}.ui-live--connected .dot{background:var(--success);box-shadow:0 0 #10b98180;animation:ui-pulse 2.4s infinite}.ui-live--connecting .dot{background:var(--warning);animation:ui-blink 1s infinite}.ui-live--offline .dot{background:var(--danger)}@keyframes ui-pulse{0%{box-shadow:0 0 #10b98173}70%{box-shadow:0 0 0 6px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes ui-blink{50%{opacity:.4}}.ui-progress{width:100%;height:8px;border-radius:99px;background:var(--surface-muted);border:1px solid var(--border);overflow:hidden}.ui-progress>span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--primary),var(--accent));transition:width .3s var(--ease)}.ui-progress--success>span{background:var(--success)}.ui-progress--sm{height:5px}.site-header{position:sticky;top:0;z-index:100;height:var(--header-h);background:var(--header-bg);border-bottom:1px solid var(--header-border)}.header-inner{max-width:var(--content-max);margin:0 auto;height:100%;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--header-text);flex-shrink:0}.brand-icon{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;color:#fff}.brand-text h1{font-size:1.05rem;font-weight:700;line-height:1.2}.brand-text span{font-size:.7rem;color:var(--header-text-muted)}.header-nav{display:flex;gap:4px;background:var(--header-pill-bg);padding:4px;border-radius:12px}.header-nav a{color:var(--header-text-muted);text-decoration:none;font-size:var(--fs-sm);font-weight:600;padding:8px 14px;border-radius:8px;white-space:nowrap;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.header-nav a:hover{color:var(--header-text);background:#ffffff14}.header-nav a.active{color:var(--header-text);background:#3b82f659}.header-side{display:flex;align-items:center;gap:10px;min-width:0}.header-user{color:var(--header-text-muted);font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-icon-btn{background:var(--header-pill-bg);border:none;color:var(--header-text-muted);width:36px;height:36px;border-radius:10px;cursor:pointer;font-size:1rem;display:inline-flex;align-items:center;justify-content:center;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease);flex-shrink:0}.header-icon-btn:hover{color:var(--header-text);background:#ffffff1f}.header-hamburger{display:none}@media(max-width:900px){.header-nav,.header-user,.header-live{display:none}.header-hamburger{display:inline-flex}}.banner-warn{background:var(--warning-soft);border:1px solid var(--warning-soft);border-radius:var(--radius-sm);padding:13px 16px;margin:20px auto 0;max-width:calc(var(--content-max) - 40px);font-size:.875rem;color:var(--warning-strong)}.banner-warn a{color:inherit;font-weight:700}.auth-splash{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:var(--text-muted)}.auth-splash .brand-icon{width:56px;height:56px;border-radius:16px;font-size:18px;animation:splash-float 1.6s var(--ease) infinite alternate}@keyframes splash-float{0%{transform:translateY(-3px)}to{transform:translateY(3px)}}.filters-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.filters-row .field{margin-bottom:0;flex:1;min-width:160px;max-width:260px}.page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.chat-panel{background:var(--chat-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;max-height:480px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.chat-day-sep{align-self:center;font-size:var(--fs-xs);font-weight:600;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:3px 10px;margin:6px 0}.chat-bubble{max-width:min(78%,520px);padding:8px 12px;border-radius:12px;font-size:.875rem;line-height:1.45;color:var(--chat-text);white-space:pre-wrap;word-break:break-word;box-shadow:0 1px 1px #00000014;animation:chat-in var(--t-med) var(--ease)}@keyframes chat-in{0%{opacity:0;transform:translateY(6px)}}.chat-bubble.out{align-self:flex-end;background:var(--chat-out);border-bottom-right-radius:4px}.chat-bubble.in{align-self:flex-start;background:var(--chat-in);border-bottom-left-radius:4px}.chat-meta{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin-top:4px;font-size:.68rem;opacity:.65}.chat-meta .ticks{letter-spacing:-2px;font-weight:700}.chat-meta .ticks.read{color:#53bdeb}.chat-meta .ticks.failed{color:var(--danger);letter-spacing:0}.chat-load-prev{align-self:center;margin-bottom:6px}.chat-empty{text-align:center;color:var(--text-muted);font-size:var(--fs-md);padding:24px 0}.audit-timeline{list-style:none;display:grid;gap:0}.audit-timeline li{position:relative;padding:0 0 18px 26px}.audit-timeline li:before{content:"";position:absolute;left:7px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--primary);z-index:1}.audit-timeline li:after{content:"";position:absolute;left:11px;top:15px;bottom:-2px;width:1.5px;background:var(--border)}.audit-timeline li:last-child:after{display:none}.audit-timeline .when{font-size:var(--fs-xs);color:var(--text-faint)}.audit-timeline .what{font-size:var(--fs-md);color:var(--text);font-weight:600}.audit-timeline .states{font-size:var(--fs-sm);color:var(--text-muted)}.run-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.run-panel-title{font-weight:700;font-size:var(--fs-lg);color:var(--text);overflow-wrap:anywhere}.run-panel-sub{color:var(--text-muted);font-size:.85rem;margin-top:4px}.run-panel-section-title{margin:22px 0 10px;font-size:var(--fs-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.run-panel-details{margin-top:16px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;background:var(--surface-muted)}.run-panel-details>summary{cursor:pointer;font-weight:700;font-size:var(--fs-md);color:var(--text);-webkit-user-select:none;user-select:none}.run-panel-details[open]>summary{margin-bottom:10px}.journey-timeline{list-style:none;display:grid;gap:0;margin:0}.journey-item{position:relative;display:flex;gap:10px;padding:0 0 16px 4px}.journey-item:after{content:"";position:absolute;left:10px;top:18px;bottom:-2px;width:1.5px;background:var(--border)}.journey-item:last-child:after{display:none}.journey-dot{flex-shrink:0;width:14px;line-height:1.3;text-align:center;color:var(--text-faint);z-index:1;font-size:.8rem}.journey-ch-whatsapp .journey-dot{color:var(--success-strong)}.journey-ch-email .journey-dot{color:var(--info-strong)}.journey-ch-edital .journey-dot{color:var(--warning-strong)}.journey-ch-system .journey-dot{color:var(--text-faint)}.journey-item.is-error .journey-dot,.journey-item.is-error .journey-title{color:var(--danger-strong)}.journey-item.is-success .journey-title{color:var(--success-strong)}.journey-item.is-active-wait .journey-dot{animation:ui-blink 1.2s infinite}.journey-body{min-width:0}.journey-when{font-size:var(--fs-xs);color:var(--text-faint)}.journey-channel{font-weight:700}.journey-title{font-size:var(--fs-md);font-weight:600;color:var(--text)}.journey-detail{font-size:var(--fs-sm);color:var(--text-muted);overflow-wrap:anywhere}.journey-detail code{font-size:.72rem;background:var(--surface-muted);border:1px solid var(--border);border-radius:6px;padding:1px 6px}.journey-summary{margin-top:12px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-muted);border:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-sm);line-height:1.5}.wizard-steps{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}.wizard-step{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm);font-weight:600;color:var(--text-muted);padding:8px 14px;border-radius:99px;background:var(--surface-muted);border:1.5px solid var(--border)}.wizard-step.active{color:var(--primary-strong);border-color:var(--primary);background:var(--primary-soft)}.wizard-step.done{color:var(--success-strong);border-color:var(--success);background:var(--success-soft)}.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius);padding:34px 20px;text-align:center;cursor:pointer;margin:16px 0;background:var(--surface-muted);color:var(--text-muted);transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.dropzone:hover,.dropzone.dragover{border-color:var(--primary);background:var(--primary-soft)}.dropzone strong{color:var(--primary-strong)}.import-progress{display:grid;gap:10px;margin-top:18px}.import-progress .row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:var(--fs-md);color:var(--text-muted)}.import-progress .row strong{color:var(--text);font-size:var(--fs-lg)}.preview-errors ul{margin:8px 0 0 18px;font-size:var(--fs-sm);color:var(--danger-strong);max-height:180px;overflow-y:auto}.recipients-box{margin-top:18px;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);overflow:hidden}.recipients-box__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap}.recipients-box__head strong{font-size:var(--fs-sm);color:var(--text)}.recipients-box__search{flex:1;min-width:180px;max-width:340px;padding:8px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm, 8px);background:var(--surface);color:var(--text);font-size:var(--fs-sm)}.recipients-box__list{max-height:260px;overflow-y:auto}.recipients-box__item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border);font-size:var(--fs-sm)}.recipients-box__item:last-child{border-bottom:none}.recipients-box__info{display:flex;flex-direction:column;gap:2px;min-width:0}.recipients-box__name{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipients-box__sig{font-size:.72rem;color:var(--text-muted)}.recipients-box__contact{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);flex-shrink:0}.recipients-box__dest{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipients-box__chan{font-size:.66rem;font-weight:700;padding:2px 8px;border-radius:99px;text-transform:uppercase;letter-spacing:.02em}.recipients-box__chan--whatsapp{color:var(--success-strong);background:var(--success-soft)}.recipients-box__chan--email{color:var(--primary-strong);background:var(--primary-soft)}.recipients-box__empty{padding:16px 14px;color:var(--text-muted);font-size:var(--fs-sm);text-align:center}@media(max-width:560px){.recipients-box__item{flex-direction:column;align-items:flex-start;gap:6px}.recipients-box__dest{max-width:none}}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:34px 30px;animation:ui-pop-in var(--t-med) var(--ease)}.login-card .login-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}.login-card h1{font-size:1.25rem;color:var(--text);letter-spacing:-.02em}.login-card>p{color:var(--text-muted);font-size:var(--fs-md);margin-bottom:22px;line-height:1.5}.login-footer{margin-top:18px;text-align:center;font-size:var(--fs-sm)}.login-footer a{color:var(--text-faint)}.password-wrap{position:relative}.password-wrap input{padding-right:44px}.password-wrap .toggle-pass{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-faint);font-size:.95rem;padding:6px;border-radius:6px}.password-wrap .toggle-pass:hover{color:var(--text)}.tecnico-tabs-row{max-width:var(--content-max);margin:24px auto 0;padding:0 20px}.bot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.bot-card{background:var(--surface-muted);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:16px 12px;text-align:center;cursor:pointer;font-family:inherit;color:var(--text);transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.bot-card:hover{border-color:var(--primary)}.bot-card.selected{border-color:var(--primary);background:var(--primary-soft)}.bot-avatar{width:42px;height:42px;border-radius:50%;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.05rem}.active-card{display:flex;gap:14px;align-items:flex-start;background:var(--success-soft);border:1px solid var(--success-soft);border-radius:var(--radius);padding:20px 22px;color:var(--success-strong);margin-bottom:20px}.active-card h4{color:var(--text)}.active-card p{color:var(--text-muted);font-size:var(--fs-md)}.access-denied{max-width:480px;margin:80px auto;text-align:center;color:var(--text)}.access-denied p{color:var(--text-muted);margin-top:8px}.tpl-validation-list{display:grid;gap:8px;margin-top:12px}.tpl-validation-item{display:flex;gap:10px;align-items:flex-start;font-size:var(--fs-md);background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;color:var(--text-muted);word-break:break-word}.tpl-validation-item.ok{border-color:var(--success-soft)}.tpl-validation-item .mark{font-weight:800;flex-shrink:0}.tpl-validation-item.ok .mark{color:var(--success-strong)}.tpl-validation-item.warn .mark{color:var(--warning-strong)}@media(max-width:700px){.main{padding:20px 14px 40px}.ui-card{padding:18px 16px}.chat-bubble{max-width:92%}.filters-row .field{max-width:none}}.bi-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.bi-period-tabs{display:flex;gap:6px;background:var(--surface-muted);border:1px solid var(--border);padding:4px;border-radius:12px}.bi-period-tabs button{border:none;background:transparent;color:var(--text-muted);font-family:inherit;font-size:.8rem;font-weight:600;padding:8px 16px;border-radius:8px;cursor:pointer;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.bi-period-tabs button:hover{color:var(--text);background:var(--surface-hover)}.bi-period-tabs button.active{background:var(--primary);color:#fff}.bi-updated{font-size:.75rem;color:var(--text-faint);display:inline-flex;align-items:center;gap:8px}.bi-hero-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media(max-width:1100px){.bi-hero-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.bi-hero-grid{grid-template-columns:1fr}}.bi-hero-card{background:var(--surface);border-radius:16px;padding:22px 24px;border:1px solid var(--border);box-shadow:var(--shadow);position:relative;overflow:hidden}.bi-hero-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent-line, #3b82f6)}.bi-hero-card.accent-green{--accent-line: #10b981}.bi-hero-card.accent-blue{--accent-line: #3b82f6}.bi-hero-card.accent-purple{--accent-line: #8b5cf6}.bi-hero-card.accent-amber{--accent-line: #f59e0b}.bi-hero-card .label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:8px}.bi-hero-card .value{font-size:2rem;font-weight:800;letter-spacing:-.04em;color:var(--text);line-height:1.1}.bi-hero-card .sub{font-size:.8rem;color:var(--text-muted);margin-top:8px}.bi-delta{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:6px;margin-top:10px}.bi-delta.up{background:var(--success-soft);color:var(--success-strong)}.bi-delta.down{background:var(--danger-soft);color:var(--danger-strong)}.bi-delta.neutral{background:var(--neutral-soft);color:var(--text-muted)}.bi-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.bi-grid-3{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px;margin-bottom:20px}@media(max-width:1000px){.bi-grid-2,.bi-grid-3{grid-template-columns:1fr}}.bi-panel{background:var(--surface);border-radius:16px;padding:24px;border:1px solid var(--border);box-shadow:var(--shadow)}.bi-panel-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:12px;flex-wrap:wrap}.bi-panel-head h3{font-size:.95rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.bi-panel-head p{font-size:.78rem;color:var(--text-muted);margin-top:4px}.bi-gauge-wrap{display:flex;align-items:center;gap:28px;flex-wrap:wrap;justify-content:center}.bi-gauge{width:140px;height:140px;position:relative}.bi-gauge svg{transform:rotate(-90deg)}.bi-gauge .track{stroke:var(--border)}.bi-gauge-value{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.bi-gauge-value strong{font-size:1.75rem;font-weight:800;color:var(--text);letter-spacing:-.03em}.bi-gauge-value span{font-size:.7rem;color:var(--text-muted);font-weight:600}.bi-legend{flex:1;min-width:160px}.bi-legend-item{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:.85rem;color:var(--text)}.bi-legend-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.bi-legend-item .pct{margin-left:auto;font-weight:700;color:var(--text)}.bi-chart-box{position:relative;height:260px}.bi-chart-box.tall{height:300px}.bi-funnel{display:flex;flex-direction:column;gap:10px}.bi-funnel-step{display:flex;align-items:center;gap:12px}.bi-funnel-bar-wrap{flex:1;height:32px;background:var(--surface-muted);border-radius:8px;overflow:hidden}.bi-funnel-bar{height:100%;border-radius:8px;background:linear-gradient(90deg,#3b82f6,#6366f1);min-width:4px;transition:width .6s ease}.bi-funnel-step:nth-child(3) .bi-funnel-bar{background:linear-gradient(90deg,#10b981,#06b6d4)}.bi-funnel-step:nth-child(4) .bi-funnel-bar{background:linear-gradient(90deg,#ef4444,#f97316)}.bi-funnel-label{width:140px;font-size:.78rem;font-weight:600;color:var(--text-muted);flex-shrink:0}.bi-funnel-val{width:48px;text-align:right;font-size:.85rem;font-weight:700;color:var(--text)}.bi-state-bars{display:flex;flex-direction:column;gap:10px}.bi-state-row{display:grid;grid-template-columns:140px 1fr 40px;align-items:center;gap:10px;font-size:.78rem;color:var(--text)}.bi-state-row .bar-bg{height:8px;background:var(--surface-muted);border-radius:99px;overflow:hidden}.bi-state-row .bar-fill{height:100%;background:#3b82f6;border-radius:99px;transition:width .5s ease}.bi-state-row strong{text-align:right}.bi-funnel-step.clickable,.bi-state-row.clickable{cursor:pointer;border-radius:8px;transition:background .15s ease}.bi-funnel-step.clickable:hover,.bi-funnel-step.clickable:focus-visible,.bi-state-row.clickable:hover,.bi-state-row.clickable:focus-visible{background:var(--surface-muted);outline:none}.bi-funnel-step.clickable:focus-visible,.bi-state-row.clickable:focus-visible{box-shadow:0 0 0 2px var(--accent, #3b82f6)}.bi-campaign-table{width:100%;border-collapse:collapse;font-size:.85rem}.bi-campaign-table th{text-align:left;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:10px 12px;border-bottom:1px solid var(--border)}.bi-campaign-table td{padding:14px 12px;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text)}.bi-campaign-table tr:last-child td{border-bottom:none}.bi-campaign-table tr:hover td{background:var(--surface-hover)}.bi-channel-pills{display:flex;gap:6px;flex-wrap:wrap}.bi-pill{font-size:.65rem;font-weight:700;padding:3px 8px;border-radius:6px}.bi-pill.wa{background:var(--success-soft);color:var(--success-strong)}.bi-pill.em{background:var(--info-soft);color:var(--info-strong)}.bi-pill.ed{background:#8b5cf624;color:#7c3aed}[data-theme=dark] .bi-pill.ed{color:#c4b5fd}.flow-builder{display:flex;flex-direction:column;gap:0;height:calc(100vh - 190px);min-height:560px;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--surface)}.flow-builder-header{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.flow-builder-title h2{font-size:1rem;font-weight:700;color:var(--text);margin:0}.flow-builder-meta{font-size:.72rem;color:var(--text-muted)}.flow-builder-search{margin-left:auto;min-width:180px;padding:8px 12px;border:1.5px solid var(--border);border-radius:10px;background:var(--surface-muted);color:var(--text);font-family:inherit;font-size:.8rem}.flow-builder-search:focus{outline:none;border-color:var(--primary);background:var(--surface)}.flow-builder-actions{display:flex;gap:8px;flex-wrap:wrap}.flow-builder-body{display:grid;grid-template-columns:220px 1fr 340px;flex:1;min-height:0}@media(max-width:1100px){.flow-builder-body{grid-template-columns:1fr;grid-template-rows:auto minmax(400px,1fr) auto}.flow-builder{height:auto}}.flow-palette{border-right:1px solid var(--border);padding:14px;overflow-y:auto;background:var(--surface-muted)}.flow-palette-hint{font-size:.7rem;color:var(--text-muted);line-height:1.5;margin-bottom:10px}.flow-palette-group{display:flex;flex-direction:column;gap:6px}.flow-palette-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-left-width:4px;border-radius:8px;background:var(--surface);font-size:.74rem;color:var(--text)}.flow-palette-item--start{border-left-color:#0ea5e9}.flow-palette-item--message{border-left-color:#22c55e}.flow-palette-item--decision{border-left-color:#f59e0b}.flow-palette-item--wait{border-left-color:#8b5cf6}.flow-palette-item--email{border-left-color:#3b82f6}.flow-palette-item--edital{border-left-color:#ec4899}.flow-palette-item--document{border-left-color:#64748b}.flow-palette-item--end{border-left-color:#ef4444}.flow-palette-template{text-align:left;padding:10px;border:1.5px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);cursor:pointer;font-family:inherit;transition:border-color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease)}.flow-palette-template:hover{border-color:var(--primary)}.flow-palette-template.active{border-color:var(--primary);background:var(--primary-soft)}.flow-palette-template strong{display:block;font-size:.72rem}.flow-palette-template span{font-size:.65rem;color:var(--text-muted)}.flow-canvas-wrap{min-height:0;min-width:0;background:var(--surface)}.flow-canvas-wrap .react-flow{background:var(--surface)}.flow-canvas-wrap .react-flow__edge-textbg{fill:var(--surface)}.flow-canvas-wrap .react-flow__edge-text{fill:var(--text-muted)}.flow-minimap{border:1px solid var(--border);border-radius:8px}.flow-node{width:220px;padding:10px 12px;border:1.5px solid var(--border);border-top-width:4px;border-radius:12px;background:var(--surface);box-shadow:var(--shadow);cursor:pointer;transition:border-color var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease)}.flow-node--start{border-top-color:#0ea5e9}.flow-node--message{border-top-color:#22c55e}.flow-node--decision{border-top-color:#f59e0b}.flow-node--wait{border-top-color:#8b5cf6}.flow-node--email{border-top-color:#3b82f6}.flow-node--edital{border-top-color:#ec4899}.flow-node--document{border-top-color:#64748b}.flow-node--end{border-top-color:#ef4444}.flow-node--selected{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.flow-node--dimmed{opacity:.25}.flow-node-head{display:flex;align-items:center;gap:6px;margin-bottom:4px}.flow-node-icon{font-size:.85rem}.flow-node-category{font-size:.6rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:var(--text-muted)}.flow-node-title{font-size:.82rem;font-weight:700;color:var(--text)}.flow-node-templates{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px}.flow-node-templates code{font-size:.6rem;background:var(--surface-muted);border:1px solid var(--border);padding:1px 5px;border-radius:4px;color:var(--text-muted)}.flow-node-handle{width:8px;height:8px;background:var(--primary);border:2px solid var(--surface)}.flow-inspector{border-left:1px solid var(--border);padding:16px;overflow-y:auto;background:var(--surface)}.flow-inspector-empty{color:var(--text-muted);font-size:.82rem;line-height:1.6;padding:12px;border:1.5px dashed var(--border);border-radius:12px}.flow-inspector-head{margin-bottom:16px}.flow-inspector-kind{display:inline-block;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:var(--text-muted);margin-bottom:4px}.flow-inspector-head h3{font-size:1rem;font-weight:700;color:var(--text);margin:2px 0 4px}.flow-inspector-head code{font-size:.7rem;color:var(--text-muted);background:var(--surface-muted);padding:2px 6px;border-radius:4px}.flow-inspector-section{margin-bottom:16px}.flow-inspector-section h4{font-size:.72rem;text-transform:uppercase;color:var(--text-muted);font-weight:700;margin-bottom:8px}.flow-inspector-item{display:block;width:100%;text-align:left;padding:10px;margin-bottom:6px;border:1.5px solid var(--border);border-radius:10px;background:var(--surface-muted);color:var(--text);cursor:pointer;font-family:inherit;transition:border-color var(--t-fast) var(--ease)}.flow-inspector-item:hover{border-color:var(--primary)}.flow-inspector-item.is-disabled{opacity:.55}.flow-inspector-item strong{display:block;font-size:.76rem}.flow-inspector-item span{font-size:.68rem;color:var(--text-muted)}.flow-inspector-muted{font-size:.75rem;color:var(--text-muted)}.flow-inspector-editor{width:100%;min-height:220px;font-family:var(--font-mono);font-size:.78rem;padding:12px;border:1.5px solid var(--border);border-radius:10px;resize:vertical;background:var(--surface-muted);color:var(--text)}.flow-inspector-editor:focus{outline:none;border-color:var(--primary);background:var(--surface)}.flow-inspector-vars{font-size:.7rem;color:var(--text-muted);margin-top:8px;line-height:1.9}.flow-inspector-vars code{display:inline-block;background:var(--surface-muted);border:1px solid var(--border);padding:2px 5px;border-radius:4px;cursor:grab;margin-right:4px;-webkit-user-select:none;user-select:none;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.flow-inspector-vars code:hover{border-color:var(--primary);box-shadow:0 1px 4px #0000001f;transform:translateY(-1px)}.flow-inspector-vars code:active{cursor:grabbing;transform:none}.flow-inspector-vars-hint{margin-top:8px;font-size:.68rem;color:var(--text-muted)}.flow-official-note{margin-bottom:12px;padding:10px 12px;background:color-mix(in srgb,#f59e0b 10%,var(--surface, #fff));border:1px solid color-mix(in srgb,#f59e0b 45%,transparent);border-radius:10px;font-size:.76rem;line-height:1.45;color:var(--text)}.flow-official-note p{margin:6px 0 0}.flow-official-note a{font-weight:600;text-decoration:underline}.flow-official-note-badge{display:inline-block;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:999px;background:#f59e0b;color:#fff}.flow-inspector-preview{margin-top:12px;padding:12px;background:var(--surface-muted);border:1px solid var(--border);border-radius:10px;font-size:.8rem;white-space:pre-wrap;max-height:220px;overflow:auto;color:var(--text)}.flow-effects-list{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--text)}.flow-effects-list label.is-disabled{opacity:.5}.flow-settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0f172a73;display:flex;justify-content:flex-end}.flow-settings-panel{width:min(520px,100%);height:100%;background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column}.flow-settings-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.flow-settings-head h3{font-size:1rem;font-weight:700;color:var(--text)}.flow-settings-close{border:none;background:transparent;color:var(--text-muted);font-size:1rem;cursor:pointer;padding:6px}.flow-settings-body{flex:1;overflow-y:auto;padding:20px}.flow-settings-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border)}.flow-settings-section{font-size:.72rem;font-weight:700;color:var(--text-muted);letter-spacing:.05em;margin:18px 0 10px}.flow-extra-fields-table{width:100%;border-collapse:collapse;font-size:.78rem;margin-bottom:10px}.flow-extra-fields-table th,.flow-extra-fields-table td{padding:6px 8px;text-align:left;border-bottom:1px solid var(--border);color:var(--text)}.flow-extra-fields-table th{font-size:.65rem;text-transform:uppercase;color:var(--text-muted)}.flow-extra-fields-table input[type=text],.flow-extra-fields-table input:not([type]){width:100%}.time-field{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.time-field input[type=number]{width:80px}.time-hint{font-size:.75rem;color:var(--text-muted);width:100%}
