.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}:root{--bg-main: #f1f5f9;--bg-card: #ffffff;--bg-sidebar: #ffffff;--border-color: #cbd5e1;--border-color-glow: rgba(99, 102, 241, .25);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--color-primary: #4f46e5;--color-primary-dark: #3730a3;--color-secondary: #7c3aed;--color-emerald: #059669;--color-rose: #e11d48;--gradient-accent: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);--gradient-card-header: linear-gradient(90deg, rgba(79, 70, 229, .05) 0%, rgba(124, 58, 237, .01) 100%);--gradient-emerald: linear-gradient(135deg, #10b981 0%, #059669 100%);--font-ui: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-code: "JetBrains Mono", source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;--bg-code-panel: #ffffff;--bg-code-editor: #f8fafc;--text-code: #0f172a;--border-code: #cbd5e1;--code-tab-active: rgba(0, 0, 0, .04);--shadow-premium: 0 4px 6px -1px rgba(15, 23, 42, .05), 0 2px 4px -2px rgba(15, 23, 42, .03);--shadow-node: 0 10px 25px -5px rgba(15, 23, 42, .08), 0 4px 12px -2px rgba(15, 23, 42, .03);--shadow-sidebar: 4px 0 20px rgba(15, 23, 42, .03);--shadow-floating: 0 10px 30px -10px rgba(15, 23, 42, .15);--transition-smooth: all .25s cubic-bezier(.4, 0, .2, 1)}:root.dark-theme{--bg-main: #05070c;--bg-card: #0d111d;--bg-sidebar: #0d111d;--border-color: rgba(255, 255, 255, .08);--border-color-glow: rgba(99, 102, 241, .4);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #475569;--color-primary: #6366f1;--color-primary-dark: #4f46e5;--color-secondary: #a855f7;--color-emerald: #10b981;--color-rose: #f43f5e;--gradient-accent: linear-gradient(135deg, #6366f1 0%, #a855f7 100%);--gradient-card-header: linear-gradient(90deg, rgba(99, 102, 241, .15) 0%, rgba(168, 85, 247, .02) 100%);--bg-code-panel: #0d111d;--bg-code-editor: #07090e;--text-code: #a5b4fc;--border-code: rgba(255, 255, 255, .06);--code-tab-active: rgba(255, 255, 255, .08);--shadow-premium: 0 10px 30px -10px rgba(0, 0, 0, .7);--shadow-node: 0 10px 30px -5px rgba(0, 0, 0, .5);--shadow-sidebar: 4px 0 30px rgba(0, 0, 0, .4);--shadow-floating: 0 10px 35px rgba(0, 0, 0, .6)}*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-main);color:var(--text-primary);font-family:var(--font-ui);height:100vh;overflow:hidden;display:flex;flex-direction:column;transition:background-color .3s ease}#root{height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-container{display:flex;height:100vh;width:100vw;overflow:hidden;background-color:var(--bg-main);position:relative;transition:background-color .3s ease}.sidebar{width:290px;background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100%;z-index:10;box-shadow:var(--shadow-sidebar);transition:width .3s cubic-bezier(.16,1,.3,1),border-right .3s ease,background-color .3s ease;position:relative}.sidebar.collapsed{width:0px!important;border-right:none!important;overflow:hidden}.sidebar.collapsed *{opacity:0;pointer-events:none}.sidebar-header{padding:18px 20px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:12px;transition:opacity .2s ease}.logo-container{display:flex;align-items:center;gap:10px}.logo-icon{background:var(--gradient-accent);padding:8px;border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #4f46e533}.logo-text{font-size:18px;font-weight:700;letter-spacing:-.5px;background:linear-gradient(to right,var(--text-primary),#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.sidebar-content{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:20px;transition:opacity .2s ease}.section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:10px}.code-panel{width:440px;background-color:var(--bg-code-panel);border-left:1px solid var(--border-color);display:flex;flex-direction:column;height:100%;z-index:10;box-shadow:var(--shadow-premium);transition:width .3s cubic-bezier(.16,1,.3,1),border-left .3s ease,background-color .3s ease;position:relative}.code-panel.collapsed{width:0px!important;border-left:none!important;overflow:hidden}.code-panel.collapsed *{opacity:0;pointer-events:none}.code-panel-header{padding:16px 20px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;color:var(--text-primary);transition:opacity .2s ease;background-color:var(--bg-code-panel)}.tabs{display:flex;background:#00000008;padding:3px;border-radius:6px;border:1px solid var(--border-color)}:root.dark-theme .tabs{background:#ffffff08}.tab-btn{background:transparent;border:none;padding:5px 10px;font-family:var(--font-ui);font-size:12px;font-weight:600;color:var(--text-secondary);cursor:pointer;border-radius:4px;transition:var(--transition-smooth)}.tab-btn.active{background:var(--code-tab-active);color:var(--text-primary)}.code-editor-container{flex:1;position:relative;overflow:hidden;display:flex;flex-direction:column;background-color:var(--bg-code-editor)}.code-block{flex:1;font-family:var(--font-code);font-size:11.5px;line-height:1.6;padding:20px;background:var(--bg-code-editor);color:var(--text-code);overflow:auto;white-space:pre;border:none;resize:none;outline:none;transition:background-color .3s ease,color .3s ease}.canvas-container{flex:1;position:relative;height:100%;background-color:var(--bg-main);transition:background-color .3s ease}.floating-toggle-btn{position:absolute;top:20px;background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-premium);z-index:20;transition:var(--transition-smooth)}.floating-toggle-btn:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.toggle-left-btn{left:20px}.toggle-right-btn{right:20px}.theme-toggle-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:var(--transition-smooth)}.theme-toggle-btn:hover{background:var(--border-color);color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:8px;font-family:var(--font-ui);font-size:13px;font-weight:600;cursor:pointer;transition:var(--transition-smooth);width:100%}.btn-primary{background:var(--gradient-accent);border:none;color:#fff;box-shadow:0 2px 6px #4f46e526}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4f46e540}.btn-secondary{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary)}.btn-secondary:hover{background:var(--border-color);color:var(--text-primary)}.btn-danger{background:#f43f5e14;border:1px solid rgba(244,63,94,.2);color:var(--color-rose)}.btn-danger:hover{background:#f43f5e26}.preset-grid{display:grid;grid-template-columns:1fr;gap:8px}.preset-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:12px;cursor:pointer;transition:var(--transition-smooth);text-align:left}.preset-card:hover{background:var(--border-color);border-color:var(--color-primary);transform:translateY(-1px)}.preset-card h4{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.preset-card p{font-size:10px;color:var(--text-secondary)}.notification{position:absolute;bottom:24px;right:24px;background:var(--gradient-emerald);color:#fff;padding:10px 20px;border-radius:8px;box-shadow:0 4px 12px #10b98140;font-size:13px;font-weight:600;z-index:100;display:flex;align-items:center;gap:8px;animation:slideUp .3s cubic-bezier(.16,1,.3,1) forwards}.react-flow__handle{width:10px!important;height:10px!important;background:var(--bg-card)!important;border:2.5px solid var(--color-primary)!important;border-radius:50%!important;box-shadow:0 1px 3px #00000026!important;cursor:crosshair!important;transition:all .15s cubic-bezier(.4,0,.2,1)!important;z-index:10!important}.react-flow__handle:hover{background:var(--color-primary)!important;transform:scale(1.3) translateY(-50%)!important;box-shadow:0 0 6px var(--color-primary)!important}.react-flow__handle-left{left:-5px!important}.react-flow__handle-right{right:-5px!important}.react-flow__handle-connecting{background:var(--color-secondary)!important;border-color:var(--color-secondary)!important;animation:pulse 1s infinite alternate}.react-flow__handle-valid{background:var(--color-emerald)!important;border-color:var(--color-emerald)!important;box-shadow:0 0 8px var(--color-emerald)!important}@keyframes pulse{0%{transform:scale(1) translateY(-50%);box-shadow:0 0 2px #a855f780}to{transform:scale(1.25) translateY(-50%);box-shadow:0 0 8px #a855f7cc}}.table-node{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;min-width:250px;box-shadow:var(--shadow-node);overflow:visible;transition:var(--transition-smooth)}.table-node:hover,.table-node.selected-node{border-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-node)}.table-node-header{background:var(--gradient-card-header);border-bottom:1px solid var(--border-color);padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-top-left-radius:9px;border-top-right-radius:9px}.table-node-title{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--text-primary)}.table-node-title input{background:transparent;border:none;border-bottom:1px dashed transparent;color:var(--text-primary);font-family:var(--font-ui);font-size:13px;font-weight:700;width:130px;outline:none;padding:2px 4px;transition:var(--transition-smooth)}.table-node-title input:hover{border-bottom-color:var(--text-muted)}.table-node-title input:focus{border-bottom-style:solid;border-bottom-color:var(--color-primary)}.table-node-actions{display:flex;gap:4px}.icon-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:3px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:var(--transition-smooth)}.icon-btn:hover{background:#0000000d;color:var(--text-secondary)}:root.dark-theme .icon-btn:hover{background:#ffffff0d}.icon-btn-danger:hover{background:#f43f5e1a;color:var(--color-rose)}.table-fields-list{padding:6px 0;display:flex;flex-direction:column}.field-row{display:flex;align-items:center;justify-content:space-between;padding:5px 14px;font-size:11.5px;position:relative;transition:var(--transition-smooth);overflow:visible}.field-row:hover{background:#00000005}:root.dark-theme .field-row:hover{background:#ffffff05}.field-info{display:flex;align-items:center;gap:5px}.field-name-input{background:transparent;border:none;border-bottom:1px dashed transparent;color:var(--text-primary);font-family:var(--font-ui);font-size:11.5px;font-weight:500;width:85px;outline:none;transition:var(--transition-smooth)}.field-name-input:hover{border-bottom-color:var(--text-muted)}.field-name-input:focus{border-bottom-style:solid;border-bottom-color:var(--color-primary)}.field-type-select{background:#00000008;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-family:var(--font-ui);font-size:9.5px;font-weight:600;padding:1px 3px;outline:none;cursor:pointer;transition:var(--transition-smooth)}:root.dark-theme .field-type-select{background:#ffffff0a}.field-type-select:hover{border-color:var(--text-muted);background:#0000000d}:root.dark-theme .field-type-select:hover{background:#ffffff14}.field-type-select:focus{border-color:var(--color-primary)}.react-flow__background{background-color:var(--bg-main)!important;transition:background-color .3s ease}.react-flow__edge-path{stroke:var(--text-muted)!important;stroke-width:1.5!important;transition:stroke .15s ease,stroke-width .15s ease}.react-flow__edge:hover .react-flow__edge-path{stroke:var(--color-primary)!important;stroke-width:2.2!important}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--color-primary)!important;stroke-width:2.5!important}.react-flow__controls{background:var(--bg-card)!important;border:1px solid var(--border-color)!important;border-radius:6px!important;box-shadow:var(--shadow-premium)!important;padding:2px!important;transition:background-color .3s ease,border-color .3s ease}.react-flow__controls-button{background:transparent!important;border:none!important;border-bottom:none!important;color:var(--text-secondary)!important;fill:currentColor!important;transition:var(--transition-smooth)!important;border-radius:4px!important}.react-flow__controls-button:hover{background:var(--border-color)!important;color:var(--text-primary)!important}.react-flow__minimap{background:var(--bg-card)!important;border:1px solid var(--border-color)!important;border-radius:8px!important;box-shadow:var(--shadow-premium)!important;transition:background-color .3s ease,border-color .3s ease}.react-flow__minimap-mask{fill:#0000000d!important}:root.dark-theme .react-flow__minimap-mask{fill:#0009!important}.react-flow__minimap-node{fill:var(--border-color)!important}.add-field-row{border-top:1px solid var(--border-color);padding:6px 14px;display:flex;justify-content:center}.btn-add-field{background:transparent;border:1px dashed var(--border-color);color:var(--text-secondary);font-size:10px;font-weight:600;padding:3px 10px;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:4px;transition:var(--transition-smooth)}.btn-add-field:hover{border-color:var(--color-primary);color:var(--color-primary);background:#4f46e508}.field-popover{position:absolute;top:100%;left:0;width:100%;background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;padding:8px;z-index:50;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-floating)}.popover-checkbox{display:flex;align-items:center;gap:6px;font-size:9.5px;font-weight:600;color:var(--text-secondary);cursor:pointer}.popover-checkbox input{accent-color:var(--color-primary)}.popover-actions{display:flex;justify-content:flex-end;gap:4px}.floating-dashboard{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:10px 24px;display:flex;align-items:center;gap:24px;box-shadow:var(--shadow-floating);z-index:10;transition:var(--transition-smooth)}.dashboard-stat{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:16px;font-weight:700;color:var(--color-primary)}.stat-label{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-weight:600}.dashboard-divider{width:1px;height:24px;background-color:var(--border-color)}.search-input{width:100%;background:var(--bg-main);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);padding:8px 12px;font-family:var(--font-ui);font-size:12px;outline:none;transition:var(--transition-smooth)}.search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #4f46e51a}.table-list-sidebar{display:flex;flex-direction:column;gap:4px;max-height:140px;overflow-y:auto;margin-top:6px;padding:4px;background:#00000005;border-radius:6px;border:1px solid var(--border-color)}:root.dark-theme .table-list-sidebar{background:#ffffff03}.table-list-item{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-radius:5px;font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:var(--transition-smooth)}.table-list-item:hover{background:var(--border-color);color:var(--text-primary)}.canvas-toolbar{position:absolute;top:20px;left:50%;transform:translate(-50%);background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:4px;display:flex;align-items:center;gap:4px;box-shadow:var(--shadow-floating);z-index:10;transition:var(--transition-smooth)}.toolbar-btn{background:transparent;border:none;color:var(--text-secondary);width:30px;height:30px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-smooth)}.toolbar-btn:hover{background:var(--border-color);color:var(--text-primary)}.toolbar-btn.active{background:#4f46e51a;color:var(--color-primary);border:1px solid rgba(79,70,229,.2)}:root.dark-theme .toolbar-btn.active{background:#6366f126;color:var(--color-primary);border-color:#6366f14d}.toolbar-divider{width:1px;height:18px;background-color:var(--border-color);margin:0 4px}.lock-banner{position:absolute;top:70px;left:50%;transform:translate(-50%);background:#f43f5e1a;border:1px solid rgba(244,63,94,.2);color:var(--color-rose);font-size:11px;font-weight:600;padding:4px 12px;border-radius:20px;z-index:10;display:flex;align-items:center;gap:6px;box-shadow:var(--shadow-premium);pointer-events:none;animation:pulse 1s infinite alternate}
