:root{--bg: #f4efea;--canvas-bg: #f4efea;--grid: #ddd3c7;--panel: #ffffff;--text: #000000;--text-muted: #5c554e;--text-soft: #948b82;--border: #e8e0d6;--border-strong: #d2c7ba;--hover: #f7f2ec;--input-bg: #ffffff;--accent: #f89903;--accent-soft: #fdf1e0;--accent-text: #000000;--shadow: 0 1px 3px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.06);--shadow-lg: 0 10px 30px rgba(0,0,0,.08), 0 4px 12px rgba(0,0,0,.05);--accent-rgb: 248, 153, 3;--accent-detail: #f7c58f;--brand-gradient: #f89903}[data-theme=dark]{--bg: #13110e;--canvas-bg: #0f0d0b;--grid: #26211b;--panel: #1b1814;--text: #f4efea;--text-muted: #b3a99e;--text-soft: #7d746a;--border: #2b261f;--border-strong: #3d352b;--hover: #24201a;--input-bg: #16130f;--accent: #f89903;--accent-soft: #3a2b14;--accent-text: #f7c58f;--shadow: 0 1px 3px rgba(0,0,0,.3), 0 4px 12px rgba(0,0,0,.4);--shadow-lg: 0 10px 30px rgba(0,0,0,.5);--accent-rgb: 248, 153, 3;--accent-detail: #f7c58f;--brand-gradient: #f89903}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:Poppins,sans-serif;background:var(--bg);color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased;transition:background .2s,color .2s}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;color:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}::-webkit-scrollbar-track{background:transparent}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pw-field{position:relative;display:block;width:100%}.pw-field>input{padding-right:40px!important}.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--text-soft);cursor:pointer;transition:color .15s,background .15s}.pw-toggle:hover{color:var(--text);background:var(--hover)}.pw-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.app[hidden]{display:none}.app{display:grid;grid-template-rows:52px 1fr;grid-template-columns:240px 1fr 320px;grid-template-areas:"top top top" "left main right";height:100vh}.topbar{grid-area:top;background:var(--panel);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 14px;gap:10px;z-index:10}.topbar-logo{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:-.01em}.logo-mark{width:28px;height:28px;border-radius:8px;background:var(--brand-gradient);display:flex;align-items:center;justify-content:center;color:#fff}.flow-name-input{background:transparent;border:none;outline:none;font-size:15px;font-weight:500;color:var(--text);padding:6px 10px;border-radius:6px;min-width:200px}.flow-name-input:hover{background:var(--hover)}.flow-name-input:focus{background:var(--hover)}.topbar-spacer{flex:1}.sidebar-left{grid-area:left;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.sidebar-sections-wrapper{flex:1;overflow-y:auto;overflow-x:hidden}.sidebar-section{padding:14px 14px 10px;border-bottom:1px solid var(--border)}.sidebar-title{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);margin-bottom:10px}.sidebar-footer{padding:14px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px;background:var(--panel);flex-shrink:0}.sidebar-footer-user{display:flex;align-items:center;gap:10px;padding:8px;background:var(--hover);border-radius:8px;cursor:pointer;transition:background .15s}.sidebar-footer-user:hover{background:var(--border-soft)}.sidebar-footer-user .user-avatar{width:32px;height:32px;font-size:13px;background:var(--brand-gradient);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-footer-user-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.sidebar-footer-user-text .name{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer-user-text .role{font-size:11px;color:var(--text-muted)}.sidebar-footer-actions{display:flex;gap:6px}.sidebar-footer-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-soft);font-size:12px;cursor:pointer;transition:all .15s}.sidebar-footer-btn:hover{background:var(--hover);border-color:var(--accent);color:var(--accent)}.sidebar-footer-btn svg{flex-shrink:0}.sidebar-footer-btn-label{font-weight:500}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.tool-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:8px;border:1px solid var(--border);background:var(--input-bg);font-size:11px;font-weight:500;color:var(--text-muted);transition:all .15s}.tool-card:hover{border-color:var(--accent);color:var(--text);transform:translateY(-1px);box-shadow:var(--shadow)}.tool-card.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.tool-shape{width:36px;height:28px;display:flex;align-items:center;justify-content:center}.flows-list{display:flex;flex-direction:column;gap:4px}.flow-item{padding:8px 10px;border-radius:6px;font-size:12.5px;cursor:pointer;display:flex;align-items:center;gap:8px;color:var(--text-muted);position:relative}.flow-item:hover{background:var(--hover);color:var(--text)}.flow-item.active{background:var(--accent-soft);color:var(--accent-text);font-weight:500}.flow-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-item-del{opacity:0;transition:opacity .15s;padding:2px}.flow-item:hover .flow-item-del{opacity:.7}.flow-item-del:hover{opacity:1;color:#ef4444}.flow-item-badge{font-size:9px;padding:1px 5px;border-radius:3px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.flow-item-badge.own{background:#4f46e526;color:#4f46e5}.flow-item-badge.shared-view{background:#64748b26;color:#64748b}.flow-item-badge.shared-edit{background:#f59e0b26;color:#d97706}.flow-item-badge.shared-manage{background:#10b98126;color:#059669}.sidebar-admin-btn{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.sidebar-admin-btn:hover{background:var(--hover);border-color:var(--accent);color:var(--accent)}.sidebar-admin-btn svg{flex-shrink:0}.sidebar-right{grid-area:right;background:var(--panel);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.panel-tabs{display:flex;border-bottom:1px solid var(--border)}.panel-tab{flex:1;padding:12px;font-size:12px;font-weight:500;color:var(--text-muted);border-bottom:2px solid transparent;transition:all .15s}.panel-tab:hover{color:var(--text);background:var(--hover)}.panel-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.panel-content{flex:1;overflow-y:auto;padding:16px}.user-pill{display:flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;background:var(--hover);border-radius:999px;font-size:13px;font-weight:500}.user-avatar{width:26px;height:26px;border-radius:50%;background:var(--brand-gradient);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-pill .user-info{display:flex;flex-direction:column;line-height:1.2}.user-pill .user-name{font-weight:600}.user-pill .user-role{font-size:10px;color:var(--text-muted)}.readonly-banner{background:#64748b1a;border:1px solid rgba(100,116,139,.3);color:var(--text-muted);padding:8px 14px;border-radius:8px;font-size:12px;display:flex;align-items:center;gap:8px;margin:8px 16px 0}.readonly-banner svg{flex-shrink:0}.hidden-by-perm{display:none!important}.app.readonly .node-title,.app.readonly .node-expand-btn,.app.readonly .node-resize-handle,.app.readonly .add-item-btn,.app.readonly .item-card-head input,.app.readonly .item-card-body input,.app.readonly .item-card-body textarea,.app.readonly .item-card-head .remove-btn,.app.readonly .item-card-head .confirm-btn,.app.readonly .field input,.app.readonly .field textarea,.app.readonly .field select,.app.readonly .color-swatch,.app.readonly .flow-name-input{pointer-events:none!important;opacity:.7}.app.readonly .node-title{background:transparent!important}@media (max-width: 900px){.app{grid-template-columns:1fr;grid-template-areas:"top" "main"}.sidebar-left,.sidebar-right{display:none}}.flow-item-code{font-size:10px;color:var(--text-soft);margin-top:1px;letter-spacing:.02em}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:7px;font-size:13px;font-weight:500;transition:all .15s;white-space:nowrap;border:1px solid transparent}.btn:hover{background:var(--hover)}.btn.primary{background:var(--accent);color:#fff;font-weight:700}.btn.primary:hover{background:var(--accent);filter:brightness(1.1)}.btn.ghost{border-color:var(--border)}.btn.magic{background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff}.btn.magic:hover{filter:brightness(1.1)}.btn.icon{padding:7px}.btn:disabled{opacity:.5;cursor:not-allowed}.dropdown{position:relative}.dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);min-width:200px;overflow:hidden;z-index:50;opacity:0;pointer-events:none;transform:translateY(-4px);transition:all .15s}.dropdown.open .dropdown-menu{opacity:1;pointer-events:auto;transform:translateY(0)}.dropdown-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;font-size:13px;text-align:left;border-radius:0}.dropdown-menu button:hover{background:var(--hover)}.dropdown-menu .divider{height:1px;background:var(--border);margin:4px 0}.login-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:20px}.login-screen[hidden]{display:none}.login-box{background:var(--panel);padding:36px 32px;border-radius:16px;box-shadow:var(--shadow-lg);width:100%;max-width:380px}.login-logo{width:56px;height:56px;border-radius:14px;background:var(--brand-gradient);margin:0 auto 20px;display:flex;align-items:center;justify-content:center;color:#fff}.login-box h1{font-size:20px;font-weight:700;text-align:center;margin-bottom:6px;color:var(--text);text-transform:lowercase}.login-box .login-sub{color:var(--text-muted);font-size:13px;text-align:center;margin-bottom:24px;line-height:1.5}.login-box label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);margin-bottom:6px;margin-top:14px}.login-box input{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;background:var(--input-bg);color:var(--text);outline:none;transition:border .15s}.login-box input:focus{border-color:var(--accent)}.login-box .login-btn{width:100%;padding:12px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;margin-top:20px;transition:filter .15s}.login-box .login-btn:hover{filter:brightness(1.1)}.login-box .login-btn:disabled{opacity:.6;cursor:not-allowed}.login-box .login-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;padding:10px;border-radius:8px;font-size:12px;margin-top:12px;display:none}.login-box .login-error.show{display:block}.canvas-wrap{grid-area:main;position:relative;overflow:hidden;background:var(--canvas-bg)}.canvas-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,var(--grid) 1px,transparent 1px);background-size:20px 20px;background-position:0 0}.canvas{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0;cursor:default}.canvas.space-pan{cursor:grab}.canvas.panning{cursor:grabbing}.canvas.marquee-active,.canvas.tool-active,.canvas.connecting,.canvas.placing-shape{cursor:crosshair}.selection-marquee{position:absolute;border:1.5px dashed var(--accent);background:rgba(var(--accent-rgb),.1);pointer-events:none;z-index:3}.canvas-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.canvas-svg path,.canvas-svg line{pointer-events:stroke;cursor:pointer}.canvas-svg path.edge.selected{stroke:var(--accent)!important;stroke-width:3!important;opacity:1!important}.canvas-svg .edge-handle{pointer-events:all;cursor:grab}.canvas-svg .edge-handle:active{cursor:grabbing}.canvas-svg .edge-handle circle{fill:var(--panel);stroke:var(--accent);stroke-width:2.5;opacity:0;transition:r .1s,stroke-width .1s,opacity .15s}.canvas-svg .edge-handle:hover circle,.canvas-svg .edge-handle.selected circle{opacity:1}.canvas-svg .edge-handle:hover circle{stroke-width:3.5}.canvas-svg .edge-mid-handle{pointer-events:all;cursor:move}.canvas-svg .edge-mid-handle .hit{fill:transparent}.canvas-svg .edge-mid-handle .pill{fill:var(--panel);stroke:var(--accent);stroke-width:2.5;transition:stroke-width .1s}.canvas-svg .edge-mid-handle.active .pill{fill:var(--accent)}.canvas-svg .edge-mid-handle.blocked .pill{fill:#fff4e0;stroke-dasharray:3 2}.canvas-svg .edge-mid-handle:hover .pill{stroke-width:3.5}.zoom-controls{position:absolute;bottom:16px;left:16px;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);z-index:5;overflow:hidden}.zoom-controls button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border)}.zoom-controls button:last-child{border-bottom:none}.zoom-controls button:hover{background:var(--hover)}.zoom-level{padding:6px;font-size:10px;text-align:center;color:var(--text-muted);font-weight:500;border-bottom:1px solid var(--border)}.status-bar{position:absolute;bottom:16px;right:16px;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px 12px;box-shadow:var(--shadow);z-index:5;font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:10px}.status-dot{width:6px;height:6px;border-radius:50%;background:#10b981}.canvas-empty-state{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--text-muted);pointer-events:none;z-index:1}.canvas-empty-state h3{font-size:15px;margin-bottom:6px;color:var(--text)}.canvas-empty-state p{font-size:12.5px;max-width:260px}.canvas-empty-state button{pointer-events:auto}.hint{position:absolute;top:16px;left:50%;transform:translate(-50%);background:var(--panel);border:1px solid var(--border);padding:8px 14px;border-radius:999px;font-size:12px;color:var(--text-muted);box-shadow:var(--shadow);z-index:5;display:flex;align-items:center;gap:6px}.node{position:absolute;min-width:180px;background:var(--panel);border:2px solid var(--border);border-radius:10px;box-shadow:var(--shadow);transition:box-shadow .15s,border-color .15s;-webkit-user-select:none;user-select:none}.node:hover{box-shadow:var(--shadow-lg)}.node.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft),var(--shadow-lg)}.node.connect-source{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf633}.node.dragging{cursor:grabbing;z-index:10}.node-header{display:flex;flex-direction:column;gap:4px;padding:10px 12px 8px;cursor:grab}.node-header-row{display:flex;align-items:flex-start;gap:8px}.node-header-meta{display:flex;align-items:center;gap:6px;padding-left:30px}.node.decision .node-header-meta,.node.actor .node-header-meta,.node.annotation .node-header-meta,.node.text .node-header-meta{padding-left:0}.node-header:active{cursor:grabbing}.node-num{width:22px;height:22px;border-radius:6px;background:var(--node-color, var(--accent));color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:0}.node-title{flex:1;font-size:13px;font-weight:600;background:transparent;border:none;outline:none;color:var(--text);padding:0;min-width:0;font-family:inherit;line-height:1.35;resize:none;overflow:hidden;white-space:pre-wrap;word-break:break-word}.node-title:focus{background:var(--hover);padding:2px 4px;margin:-2px -4px;border-radius:4px}.node-badge{font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;display:inline-block}.node-body{padding:0 12px 10px;font-size:12px;color:var(--text-muted);line-height:1.4}.node-body .row{display:flex;align-items:center;gap:4px;margin-bottom:3px}.node-body .row svg{flex-shrink:0;opacity:.7}.node-desc-indicator{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:8px;padding:5px 8px;background:var(--accent-soft);color:var(--accent-text);border:1px solid var(--accent);border-radius:6px;font-size:11px;font-weight:600;cursor:pointer}.node-chips{display:flex;flex-wrap:wrap;gap:3px;margin-top:6px}.chip{font-size:10px;padding:2px 6px;border-radius:4px;background:var(--hover);color:var(--text-muted)}.chip.input-chip{background:#3b82f61f;color:#3b82f6}.chip.output-chip{background:#10b9811f;color:#10b981}.node-port{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid var(--panel);opacity:0;transition:opacity .15s,transform .15s;cursor:crosshair;z-index:2}.node:hover .node-port,.node.selected .node-port{opacity:1}.node-port:hover{transform:scale(1.4)}.node-port.top{top:-6px;left:50%;margin-left:-6px}.node-port.bottom{bottom:-6px;left:50%;margin-left:-6px}.node-port.left{left:-6px;top:50%;margin-top:-6px}.node-port.right{right:-6px;top:50%;margin-top:-6px}.node.decision{min-width:220px;background:#fef3c7;border-color:#f59e0b}[data-theme=dark] .node.decision{background:#422006;border-color:#f59e0b;color:#fef3c7}.node.decision .node-title{color:#78350f;font-weight:700}[data-theme=dark] .node.decision .node-title{color:#fcd34d}.node.actor{min-width:160px;background:#dbeafe;border-color:#3b82f6;border-radius:999px;padding:4px 8px}.node.actor.expanded{border-radius:24px}.node.actor .node-header{padding:6px 14px}.node.actor .node-title{color:var(--text);text-align:center}.node.actor .node-header-row{justify-content:center}.node.actor .node-body{text-align:center;padding:0 14px 8px}.node.actor.expanded .node-body{text-align:left}[data-theme=dark] .node.actor{background:#1e3a8a;border-color:#60a5fa}.node.annotation{background:#fef08a;border-color:#facc15;box-shadow:3px 4px #0000001a,0 1px 3px #0000000f;transform:rotate(-1.2deg);transform-origin:center;transition:transform .15s,box-shadow .15s}.node.annotation:hover{transform:rotate(0) translateY(-2px);box-shadow:4px 6px #0000001f,0 4px 12px #0000001a}.node.annotation.selected,.node.annotation.dragging{transform:rotate(0)}[data-theme=dark] .node.annotation{background:#713f12;border-color:#eab308;box-shadow:3px 4px #0006,0 1px 3px #00000080;color:#fef9c3}.node.annotation .node-title{font-weight:600}.node.annotation .node-body{line-height:1.5}.node.text{background:transparent;border:2px solid transparent;box-shadow:none;min-width:120px}.node.text:hover{border-color:var(--border);box-shadow:none}.node.text.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.node.text .node-header{padding:6px 8px;cursor:grab}.node.text .node-title,.node.text .node-body{font-family:var(--node-font, inherit);font-size:var(--node-font-size, 14px);color:var(--node-font-color, inherit)}.node.text .node-title{font-weight:600}.node.text .node-body{padding:0 8px 6px;font-size:calc(var(--node-font-size, 14px) * .85)}.node.shape{background:var(--panel);border:2px solid var(--border-strong);box-shadow:var(--shadow);min-width:0}.node.shape:hover{box-shadow:var(--shadow-lg)}.node.shape.selected{box-shadow:0 0 0 3px var(--accent-soft),var(--shadow-lg)}.node.shape.shape-outline{border:none;box-shadow:none}.node.shape.shape-outline:hover{box-shadow:none}.node.shape.shape-outline.selected{box-shadow:0 0 0 3px var(--accent-soft)}.node.shape .shape-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.node.shape .shape-header{position:absolute;top:8px;right:8px;bottom:8px;left:8px;display:flex;align-items:center;justify-content:center;padding:4% 6%;cursor:grab}.node.shape .shape-header:active{cursor:grabbing}.node.shape .shape-title{text-align:center;font-weight:600;font-size:13px;width:100%;resize:none}.node.shape.shape-rectangle{border-radius:4px}.node.shape.shape-rounded{border-radius:18px}.node.shape.shape-circle{border-radius:50%}.node.shape.shape-diamond .shape-header{padding:22% 20%}.node.shape.shape-triangle .shape-header{padding:34% 18% 8%}.node.shape.shape-hexagon .shape-header{padding:14% 20%}.node.shape.shape-parallelogram .shape-header{padding:8% 16%}.node[data-color=yellow]{background:#fef9c3;border-color:#facc15}.node[data-color=blue]{background:#dbeafe;border-color:#60a5fa}.node[data-color=green]{background:#d1fae5;border-color:#34d399}.node[data-color=pink]{background:#fce7f3;border-color:#f472b6}.node[data-color=purple]{background:#ede9fe;border-color:#a78bfa}.node[data-color=orange]{background:#fed7aa;border-color:#fb923c}.node[data-color=gray]{background:#e5e7eb;border-color:#9ca3af}[data-theme=dark] .node[data-color=yellow]{background:#422006;color:#fef3c7;border-color:#eab308}[data-theme=dark] .node[data-color=blue]{background:#1e3a8a;color:#dbeafe;border-color:#3b82f6}[data-theme=dark] .node[data-color=green]{background:#064e3b;color:#d1fae5;border-color:#10b981}[data-theme=dark] .node[data-color=pink]{background:#831843;color:#fce7f3;border-color:#ec4899}[data-theme=dark] .node[data-color=purple]{background:#4c1d95;color:#ede9fe;border-color:#8b5cf6}[data-theme=dark] .node[data-color=orange]{background:#7c2d12;color:#fed7aa;border-color:#f97316}[data-theme=dark] .node[data-color=gray]{background:#1f2937;color:#e5e7eb;border-color:#6b7280}.node-resize-handle{position:absolute;z-index:2;opacity:0;transition:opacity .15s}.node:hover .node-resize-handle,.node.selected .node-resize-handle{opacity:1}.node-resize-handle.edge,.node.selected .node-resize-handle.edge,.node:hover .node-resize-handle.edge{background:transparent}.node-resize-handle.edge:hover{background:var(--accent);opacity:.3}.node-resize-handle.edge-right{top:14px;bottom:14px;right:-3px;width:6px;cursor:ew-resize;clip-path:polygon(0 0,100% 0,100% calc(50% - 10px),0 calc(50% - 10px),0 calc(50% + 10px),100% calc(50% + 10px),100% 100%,0 100%)}.node-resize-handle.edge-left{top:14px;bottom:14px;left:-3px;width:6px;cursor:ew-resize;clip-path:polygon(0 0,100% 0,100% calc(50% - 10px),0 calc(50% - 10px),0 calc(50% + 10px),100% calc(50% + 10px),100% 100%,0 100%)}.node-resize-handle.edge-bottom{left:14px;right:14px;bottom:-3px;height:6px;cursor:ns-resize;clip-path:polygon(0 0,calc(50% - 10px) 0,calc(50% - 10px) 100%,calc(50% + 10px) 100%,calc(50% + 10px) 0,100% 0,100% 100%,0 100%)}.node-resize-handle.edge-top{left:14px;right:14px;top:-3px;height:6px;cursor:ns-resize;clip-path:polygon(0 0,calc(50% - 10px) 0,calc(50% - 10px) 100%,calc(50% + 10px) 100%,calc(50% + 10px) 0,100% 0,100% 100%,0 100%)}.node-resize-handle.corner-se{width:12px;height:12px;right:-2px;bottom:-2px;cursor:nwse-resize;border-right:2px solid var(--border-strong);border-bottom:2px solid var(--border-strong);border-bottom-right-radius:4px}.node-resize-handle.corner-sw{width:12px;height:12px;left:-2px;bottom:-2px;cursor:nesw-resize;border-left:2px solid var(--border-strong);border-bottom:2px solid var(--border-strong);border-bottom-left-radius:4px}.node-resize-handle.corner-ne{width:12px;height:12px;right:-2px;top:-2px;cursor:nesw-resize;border-right:2px solid var(--border-strong);border-top:2px solid var(--border-strong);border-top-right-radius:4px}.node-resize-handle.corner-nw{width:12px;height:12px;left:-2px;top:-2px;cursor:nwse-resize;border-left:2px solid var(--border-strong);border-top:2px solid var(--border-strong);border-top-left-radius:4px}.node.selected .node-resize-handle.corner-se,.node.selected .node-resize-handle.corner-sw,.node.selected .node-resize-handle.corner-ne,.node.selected .node-resize-handle.corner-nw{border-color:var(--accent)}.node.resizing{-webkit-user-select:none;user-select:none}.node.resizing .node-title{pointer-events:none}.node-details{border-top:1px solid rgba(0,0,0,.08);padding:8px 0 4px}[data-theme=dark] .node-details{border-top-color:#ffffff14}.node.expanded{min-width:260px}.node-expand-btn{width:24px;height:24px;border-radius:5px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);background:transparent;border:1px solid transparent;flex-shrink:0;transition:all .15s;cursor:pointer}.node-expand-btn:hover{background:var(--hover);color:var(--text);border-color:var(--border)}.node-expand-btn svg{transition:transform .2s}.node-expand-btn[data-state=expanded] svg{transform:rotate(180deg)}.detail-section{padding:6px 12px}.detail-section+.detail-section{border-top:1px dashed rgba(0,0,0,.06)}[data-theme=dark] .detail-section+.detail-section{border-top-color:#ffffff0f}.detail-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;display:flex;align-items:center;gap:4px}.detail-label .count{font-weight:500;opacity:.6;font-size:9px}.detail-label.inputs-label{color:#2563eb}.detail-label.outputs-label{color:#059669}.detail-label.actions-label{color:#d97706}[data-theme=dark] .detail-label.inputs-label{color:#60a5fa}[data-theme=dark] .detail-label.outputs-label{color:#34d399}[data-theme=dark] .detail-label.actions-label{color:#fbbf24}.detail-items{display:flex;flex-direction:column;gap:3px}.detail-item{display:flex;align-items:flex-start;gap:6px;font-size:11.5px;line-height:1.4;padding:3px 6px;border-radius:4px;background:#00000008}[data-theme=dark] .detail-item{background:#ffffff0a}.detail-item-bullet{width:4px;height:4px;border-radius:50%;margin-top:6px;flex-shrink:0}.detail-item.input .detail-item-bullet{background:#3b82f6}.detail-item.output .detail-item-bullet{background:#10b981}.detail-item.action .detail-item-bullet{background:#f59e0b}.detail-item-content{flex:1;min-width:0;word-break:break-word}.detail-item-text{font-weight:500}.detail-item-desc{font-size:10.5px;color:var(--text-muted);margin-top:1px;opacity:.9}.detail-item-link{display:inline-flex;align-items:center;gap:3px;font-size:10px;color:var(--accent);text-decoration:none;margin-top:2px;padding:1px 5px;border-radius:3px;background:var(--accent-soft);max-width:100%}.detail-item-link:hover{filter:brightness(1.1);text-decoration:underline}.detail-item-link svg{flex-shrink:0}.detail-item-link-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.detail-empty{font-size:10.5px;color:var(--text-soft);font-style:italic;padding:2px 6px}.perm-executor{background:#10b98126;color:#059669}.perm-revisor{background:#f59e0b26;color:#d97706}.perm-aprovador{background:#ef444426;color:#dc2626}.perm-gestor{background:#6366f126;color:#4f46e5}[data-theme=dark] .perm-executor{background:#10b98133;color:#6ee7b7}[data-theme=dark] .perm-revisor{background:#f59e0b33;color:#fcd34d}[data-theme=dark] .perm-aprovador{background:#ef444433;color:#fca5a5}[data-theme=dark] .perm-gestor{background:#818cf833;color:#c7d2fe}.context-menu{position:fixed;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);padding:4px;z-index:60;min-width:160px}.context-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;font-size:13px;border-radius:4px;text-align:left}.context-menu button:hover{background:var(--hover)}.context-menu-divider{height:1px;background:var(--border);margin:4px 6px}.context-menu .ctx-hint{margin-left:auto;padding-left:14px;font-size:11px;color:var(--text-soft)}.grid-popup{width:220px}.grid-popup-fields{display:flex;align-items:flex-end;gap:8px}.grid-popup-fields>span{padding-bottom:8px;color:var(--text-soft)}.grid-popup-fields label{flex:1;display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:500;color:var(--text-muted)}.grid-popup-fields input{width:100%;padding:6px 8px;font-size:13px;font-family:inherit;border:1px solid var(--border);border-radius:6px;background:var(--input-bg);color:var(--text);outline:none}.grid-popup-fields input:focus{border-color:var(--accent)}.grid-popup-hint:not(:empty){margin-top:6px;font-size:11px;color:var(--text-muted)}.context-menu button{white-space:nowrap}.edge-popup{position:fixed;z-index:4000;background:var(--panel);border:1px solid var(--border-strong);border-radius:12px;padding:10px;width:210px;box-shadow:0 8px 32px #00000038,0 2px 8px #0000001f;pointer-events:all;animation:epFadeIn .12s ease}@keyframes epFadeIn{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:none}}.ep-section{padding:2px 0}.ep-label{font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft);margin-bottom:6px}.ep-row{display:flex;gap:6px}.ep-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:7px 4px 6px;background:var(--input-bg);border:1.5px solid var(--border);border-radius:8px;color:var(--text-muted);font-size:11px;font-family:inherit;cursor:pointer;transition:all .12s;line-height:1}.ep-btn.icon-only{padding:10px 8px}.ep-btn:hover{border-color:var(--accent);color:var(--text)}.ep-btn.active{border-color:var(--accent);background:rgba(var(--accent-rgb),.14);color:var(--accent);font-weight:600}.ep-divider{height:1px;background:var(--border);margin:8px 0}.ep-colors{display:flex;gap:6px;flex-wrap:wrap}.ep-color{width:22px;height:22px;border-radius:50%;border:2.5px solid transparent;cursor:pointer;transition:transform .12s,border-color .12s;padding:0}.ep-color:hover{transform:scale(1.15)}.ep-color.active{border-color:var(--text);transform:scale(1.12);box-shadow:0 0 0 2px var(--panel)}.ep-actions{display:flex;gap:6px}.ep-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:6px;background:var(--input-bg);border:1px solid var(--border);border-radius:7px;color:var(--text-muted);font-size:11px;font-family:inherit;cursor:pointer;transition:all .12s}.ep-action-btn:hover{color:var(--text);border-color:var(--border-strong)}.ep-action-btn.danger:hover{color:#ef4444;border-color:#ef4444}.shapes-popup{position:fixed;z-index:4000;background:var(--panel);border:1px solid var(--border-strong);border-radius:12px;padding:10px;width:220px;box-shadow:0 8px 32px #00000038,0 2px 8px #0000001f;pointer-events:all;animation:epFadeIn .12s ease}.shapes-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.shape-option{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;background:var(--input-bg);border:1.5px solid var(--border);border-radius:8px;color:var(--text-muted);font-size:10.5px;font-family:inherit;cursor:pointer;transition:all .12s}.shape-option:hover{border-color:var(--accent);color:var(--text);transform:translateY(-1px)}.shape-preview{width:26px;height:22px;background:var(--panel);border:2px solid var(--text-muted)}.shape-option:hover .shape-preview{border-color:var(--accent)}.shape-preview-svg{width:30px;height:20px;color:var(--text-muted);overflow:visible}.shape-option:hover .shape-preview-svg{color:var(--accent)}.shape-style-popup{position:fixed;z-index:4000;background:var(--panel);border:1px solid var(--border-strong);border-radius:12px;padding:10px;width:200px;box-shadow:0 8px 32px #00000038,0 2px 8px #0000001f;pointer-events:all;animation:epFadeIn .12s ease}.text-font-list{display:flex;flex-direction:column;gap:4px}.text-font-option{text-align:left;padding:7px 10px;background:var(--input-bg);border:1.5px solid var(--border);border-radius:7px;color:var(--text-muted);font-size:12.5px;cursor:pointer;transition:all .12s}.text-font-option:hover{border-color:var(--accent);color:var(--text)}.text-font-option.active{border-color:var(--accent);background:rgba(var(--accent-rgb),.14);color:var(--accent);font-weight:600}.field{margin-bottom:14px}.field label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);margin-bottom:6px}.field input,.field textarea,.field select{width:100%;padding:8px 10px;font-size:13px;background:var(--input-bg);border:1px solid var(--border);border-radius:6px;outline:none;color:var(--text);transition:border .15s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent)}.field textarea{resize:vertical;min-height:60px;font-family:inherit}.color-picker{display:flex;gap:6px;flex-wrap:wrap}.color-swatch{width:26px;height:26px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:transform .1s}.color-swatch:hover{transform:scale(1.1)}.color-swatch.active{border-color:var(--text)}.chip-editor{display:flex;flex-wrap:wrap;gap:4px;padding:6px;background:var(--input-bg);border:1px solid var(--border);border-radius:6px;min-height:36px}.chip-editor input{flex:1;min-width:80px;padding:4px;background:transparent;border:none;outline:none;font-size:12px}.chip-item{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:12px;font-size:11px;background:var(--hover);color:var(--text)}.chip-item.input-c{background:#3b82f626;color:#2563eb}.chip-item.output-c{background:#10b98126;color:#059669}.chip-item.action-c{background:#f59e0b26;color:#d97706}.chip-item button{padding:0;opacity:.6}.chip-item button:hover{opacity:1}.item-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.item-card{background:var(--input-bg);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:border-color .15s,box-shadow .15s}.item-card:hover{border-color:var(--border-strong)}.item-card.expanded{box-shadow:var(--shadow)}.item-card.input-type{border-left:3px solid #3b82f6}.item-card.output-type{border-left:3px solid #10b981}.item-card.action-type{border-left:3px solid #f59e0b}.item-card-head{display:flex;align-items:center;gap:6px;padding:7px 8px}.item-card-head .drag-handle{color:var(--text-soft);cursor:grab;opacity:.4;flex-shrink:0;font-size:10px;padding:2px;display:flex;align-items:center}.item-card-head:hover .drag-handle{opacity:.8}.item-card-head .main-input{flex:1;padding:4px 6px;font-size:12.5px;background:transparent;border:1px solid transparent;border-radius:4px;outline:none;min-width:0}.item-card-head .main-input:hover{border-color:var(--border)}.item-card-head .main-input:focus{border-color:var(--accent);background:var(--panel)}.item-card-head .link-indicator{color:var(--accent);opacity:.8;display:flex;align-items:center}.item-card-head .expand-btn,.item-card-head .confirm-btn,.item-card-head .remove-btn{padding:3px;border-radius:4px;color:var(--text-muted);opacity:.6;transition:all .15s;display:flex;align-items:center;flex-shrink:0}.item-card-head .expand-btn:hover,.item-card-head .remove-btn:hover{opacity:1;background:var(--hover)}.item-card-head .remove-btn:hover{color:#ef4444}.item-card-head .confirm-btn{color:#fff;background:#10b981;opacity:1;border:none;padding:3px 8px;gap:3px;font-size:11px;font-weight:600;display:none}.item-card-head .confirm-btn:hover{background:#059669}.item-card.expanded .item-card-head .confirm-btn{display:inline-flex}.item-card-head .expand-btn svg{transition:transform .15s}.item-card.expanded .expand-btn svg{transform:rotate(180deg)}.item-card-body{padding:4px 10px 10px 28px;display:none}.item-card.expanded .item-card-body{display:block}.item-card-body .sub-field{margin-bottom:8px}.item-card-body .sub-field:last-child{margin-bottom:0}.item-card-body label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);margin-bottom:3px}.item-card-body input,.item-card-body textarea{width:100%;padding:6px 8px;font-size:12px;background:var(--panel);border:1px solid var(--border);border-radius:5px;outline:none;color:var(--text)}.item-card-body input:focus,.item-card-body textarea:focus{border-color:var(--accent)}.item-card-body textarea{resize:vertical;min-height:48px;font-family:inherit;line-height:1.4}.item-card-body .link-field{display:flex;gap:4px;align-items:center}.item-card-body .link-field input{flex:1}.item-card-body .link-test-btn{padding:6px 8px;font-size:11px;color:var(--accent);border:1px solid var(--accent);border-radius:5px;white-space:nowrap;background:transparent;cursor:pointer;transition:all .15s}.item-card-body .link-test-btn:hover{background:var(--accent);color:#fff}.item-card-body .link-test-btn:disabled{opacity:.4;cursor:not-allowed}.add-item-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px;font-size:12px;font-weight:500;background:transparent;color:var(--text-muted);border:1px dashed var(--border-strong);border-radius:6px;transition:all .15s}.add-item-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.add-item-btn.input-btn:hover{color:#2563eb;border-color:#2563eb;background:#3b82f614}.add-item-btn.output-btn:hover{color:#059669;border-color:#10b981;background:#10b98114}.add-item-btn.action-btn:hover{color:#d97706;border-color:#f59e0b;background:#f59e0b14}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;margin-top:4px}.section-header .section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);display:flex;align-items:center;gap:6px}.section-header .section-title .dot{width:8px;height:8px;border-radius:50%}.section-header .section-title .dot.input-dot{background:#3b82f6}.section-header .section-title .dot.output-dot{background:#10b981}.section-header .section-title .dot.action-dot{background:#f59e0b}.section-header .section-count{font-size:10px;color:var(--text-soft);background:var(--hover);padding:2px 7px;border-radius:10px;font-weight:500}.empty-state{text-align:center;padding:40px 20px;color:var(--text-muted)}.empty-state h3{font-size:14px;margin-bottom:6px;color:var(--text)}.empty-state p{font-size:12px}.item-card-body .flow-ref-select{width:100%;padding:6px 8px;font-size:12px;font-family:inherit;background:var(--panel);border:1px solid var(--border);border-radius:5px;outline:none;color:var(--text);cursor:pointer}.item-card-body .flow-ref-select:focus{border-color:var(--accent)}.flow-ref-anchor{display:inline-flex;align-items:center;gap:5px;min-width:0;color:inherit;text-decoration:none;cursor:pointer}.flow-ref-anchor>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-ref-anchor svg{flex-shrink:0;color:var(--accent)}a.flow-ref-anchor:hover>span{text-decoration:underline}.flow-ref-anchor.no-access{cursor:not-allowed;opacity:.7}.flow-ref-anchor.no-access svg{color:var(--text-soft)}.item-card-head .flow-ref-title{flex:1;font-weight:600;color:var(--text);padding:4px 2px}.detail-item-text .flow-ref-anchor{max-width:100%;font-weight:500}.chip.flow-ref-anchor{gap:4px;max-width:100%}.chip.flow-ref-anchor svg{color:currentColor;width:9px;height:9px}.item-card-head .flow-ref-title:hover{border-color:transparent}.flow-hours{margin-top:8px;padding:10px 12px;border-radius:8px;background:var(--accent-soft);border:1px solid var(--accent-detail)}.flow-hours:empty{display:none}.flow-hours-main{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text)}.flow-hours-main svg{color:var(--accent);flex-shrink:0}.flow-hours-main strong{margin-left:auto;font-size:14px;font-weight:700}.flow-hours-sub{margin-top:4px;font-size:11px;color:var(--text-muted);line-height:1.45}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s}.modal-overlay.open{opacity:1;pointer-events:auto}.modal{background:var(--panel);border-radius:14px;max-width:580px;width:90%;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-lg);transform:scale(.95);transition:transform .2s}.modal-overlay.open .modal{transform:scale(1)}.modal-header{padding:20px 24px 10px;display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:18px;font-weight:600}.modal-body{padding:10px 24px 24px}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%) translateY(20px);background:var(--text);color:var(--panel);padding:10px 18px;border-radius:10px;font-size:13px;font-weight:500;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:all .3s;z-index:200;display:flex;align-items:center;gap:8px}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.toast.success{background:#10b981;color:#fff}.toast.error{background:#ef4444;color:#fff}.lg-modal{max-width:600px}.lg-modal .modal-body{max-height:65vh;overflow-y:auto}.user-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;margin-bottom:6px;background:var(--input-bg)}.user-row .user-avatar{width:32px;height:32px;font-size:13px}.user-row .user-text{flex:1;min-width:0}.user-row .user-text .name{font-size:13px;font-weight:600}.user-row .user-text .sub{font-size:11px;color:var(--text-muted)}.user-row select,.user-row input{padding:6px 10px;font-size:12px;background:var(--panel);border:1px solid var(--border);border-radius:6px;color:var(--text);outline:none}.user-row button{padding:6px 10px;font-size:12px}.user-row .role-badge{font-size:10px;padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.user-row .role-badge.admin{background:#8b5cf626;color:#7c3aed}.user-row .role-badge.user{background:#64748b26;color:#64748b}.section-divider{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);margin:16px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--border)}.section-divider:first-child{margin-top:0}.empty-block{text-align:center;padding:20px;color:var(--text-muted);font-size:13px}.export-many-formats{display:flex;gap:6px;margin-bottom:14px}.export-many-formats label{flex:1;text-align:center;cursor:pointer;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--input-bg);font-size:13px;font-weight:500;color:var(--text-muted)}.export-many-formats input{display:none}.export-many-formats label:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.export-many-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px}.export-many-toolbar label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500}.export-many-toolbar #exportManyCount{color:var(--text-muted);font-size:12px}#exportManyList .preview-flow-card{padding:10px 14px}#exportManyList .preview-flow-name{margin-bottom:1px}#exportManyBtn:disabled{opacity:.5;cursor:not-allowed}.import-formats{display:flex;gap:6px;flex-wrap:wrap}.format-badge{font-size:10px;font-weight:700;letter-spacing:.06em;padding:3px 8px;border-radius:4px;background:var(--accent-soft);color:var(--accent-text);text-transform:uppercase}.file-drop-zone{border:2px dashed var(--border-strong);border-radius:10px;padding:28px 20px;text-align:center;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;align-items:center}.file-drop-zone:hover,.file-drop-zone.has-file{border-color:var(--accent);background:var(--accent-soft)}.file-drop-zone.has-file svg{opacity:.7}.preview-modal{max-width:640px}.preview-flows-list{display:flex;flex-direction:column;gap:10px;max-height:55vh;overflow-y:auto;padding-right:2px}.preview-flow-card{display:block;border:2px solid var(--border);border-radius:10px;padding:14px;cursor:pointer;transition:all .15s;background:var(--input-bg)}.preview-flow-card:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.preview-flow-card:has(.preview-checkbox:checked){border-color:var(--accent);background:var(--accent-soft)}.preview-flow-card-top{display:flex;gap:12px;align-items:flex-start}.preview-checkbox{width:16px;height:16px;margin-top:2px;accent-color:var(--accent);flex-shrink:0;cursor:pointer}.preview-flow-info{flex:1;min-width:0}.preview-flow-name{font-size:14px;font-weight:600;color:var(--text);margin-bottom:3px}.preview-flow-objective{font-size:12px;color:var(--text-muted);margin-bottom:6px;line-height:1.4}.preview-chips{display:flex;gap:5px;flex-wrap:wrap}.preview-chip{font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}.chip-step{background:#6366f11f;color:#4f46e5}.chip-decision{background:#f59e0b26;color:#d97706}.chip-actor{background:#3b82f61f;color:#2563eb}.chip-edges{background:var(--hover);color:var(--text-muted)}[data-theme=dark] .chip-step{background:#818cf833;color:#a5b4fc}[data-theme=dark] .chip-decision{background:#fbbf2433;color:#fcd34d}[data-theme=dark] .chip-actor{background:#60a5fa33;color:#93c5fd}.preview-nodes-list{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:4px}.preview-node-item{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--text-muted)}.preview-node-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dot-step{background:#6366f1}.dot-decision{background:#f59e0b}.dot-actor{background:#3b82f6}.dot-annotation{background:#facc15}
