@import"https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600&family=Fira+Sans:wght@300;400;500;600&display=swap";*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Fira Sans,Arial,sans-serif;font-size:14px;background:#0f172a;color:#e2e8f0;line-height:1.6}.layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:#0d1526;border-right:1px solid #1e293b;padding:0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:20px 16px 18px;border-bottom:1px solid #1e293b}.brand-icon{width:32px;height:32px;color:#22d3ee;flex-shrink:0}.brand-title{font-family:Fira Code,monospace;font-size:13px;font-weight:600;color:#f1f5f9;margin:0;line-height:1.2;letter-spacing:-.3px}.brand-sub{font-size:10px;color:#475569;letter-spacing:.5px;text-transform:uppercase}nav{display:flex;flex-direction:column;gap:2px;padding:12px 8px;flex:1}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:#64748b;text-decoration:none;font-size:13px;font-weight:500;transition:all .15s ease;cursor:pointer}.nav-item svg{width:16px;height:16px;flex-shrink:0}.nav-item:hover{color:#cbd5e1;background:#1e293b}.nav-item.router-link-active{color:#22d3ee;background:#0f2744}.nav-item-sub{padding-left:28px;font-size:12px;color:#334155}.nav-item-sub.router-link-active{color:#22d3ee;background:#0f2744}.sidebar-footer{padding:12px;border-top:1px solid #1e293b}.user-block{display:flex;align-items:center;gap:10px;padding:6px 4px}.user-avatar{width:32px;height:32px;border-radius:8px;background:#083344;border:1px solid #0e4d6b;color:#22d3ee;font-family:Fira Code,monospace;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-info{flex:1;min-width:0}.user-name{font-size:12px;font-weight:500;color:#cbd5e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:10px;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-btn{width:28px;height:28px;padding:0;background:transparent;color:#475569;border:1px solid #1e293b;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.logout-btn:hover{background:#1e293b;color:#f87171;border-color:#7f1d1d}.logout-btn svg{width:13px;height:13px}.content{padding:24px;overflow-y:auto;min-height:100vh}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-title{font-family:Fira Code,monospace;font-size:16px;font-weight:600;color:#f1f5f9;margin:0}.page-sub{font-size:12px;color:#475569;margin-top:2px}.card{background:#111827;border:1px solid #1e293b;border-radius:12px;padding:16px}.card-title{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.6px;margin:0 0 12px}button,.btn{display:inline-flex;align-items:center;gap:6px;background:#06b6d4;color:#082f49;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;font-family:Fira Sans,sans-serif;cursor:pointer;transition:all .15s ease;white-space:nowrap}button:hover:not(:disabled){background:#22d3ee}button:disabled{opacity:.4;cursor:not-allowed}button svg{width:14px;height:14px}.btn-ghost{background:transparent;color:#64748b;border:1px solid #1e293b}.btn-ghost:hover:not(:disabled){background:#1e293b;color:#cbd5e1}.btn-sm{padding:5px 10px;font-size:12px}.btn-danger{background:transparent;color:#f87171;border:1px solid #1e293b}.btn-danger:hover:not(:disabled){background:#1e293b}input,textarea,select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid #1e293b;background:#0b1220;color:#e2e8f0;font-size:13px;font-family:Fira Sans,sans-serif;transition:border-color .15s;outline:none}input:focus,textarea:focus,select:focus{border-color:#22d3ee}label{display:block;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}.form-group{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.table-wrap{overflow-x:auto;border-radius:8px;border:1px solid #1e293b}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{background:#0d1526;color:#64748b;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:8px 12px;text-align:left;border-bottom:1px solid #1e293b;white-space:nowrap}.data-table td{padding:7px 12px;border-bottom:1px solid #0f172a;color:#cbd5e1;font-family:Fira Code,monospace;font-size:11px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#1e293b44}.badge{display:inline-block;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:600;font-family:Fira Code,monospace;white-space:nowrap}.badge-blue{background:#1e3a5f;color:#60a5fa}.badge-green{background:#064e3b;color:#34d399}.badge-orange{background:#451a03;color:#fb923c}.badge-purple{background:#2e1065;color:#c084fc}.badge-gray{background:#1e293b;color:#94a3b8}.badge-cyan{background:#083344;color:#22d3ee}.spinner{display:inline-block;width:16px;height:16px;border:2px solid #1e293b;border-top-color:#22d3ee;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 20px;color:#334155;font-size:13px;text-align:center}.empty-state svg{width:32px;height:32px;color:#1e293b}.error-msg{background:#1c0a0a;border:1px solid #7f1d1d;color:#f87171;padding:10px 14px;border-radius:8px;font-size:12px}.info-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}code{font-family:Fira Code,monospace;font-size:12px;background:#0d1526;border:1px solid #1e293b;padding:2px 6px;border-radius:4px;color:#22d3ee}pre.code-block{font-family:Fira Code,monospace;font-size:12px;background:#0d1526;border:1px solid #1e293b;border-radius:8px;padding:14px;overflow-x:auto;color:#94a3b8;line-height:1.7;margin:0;white-space:pre-wrap;word-break:break-all}.row-count{font-size:11px;color:#475569}.divider{border:none;border-top:1px solid #1e293b;margin:16px 0}.admin-layout[data-v-e472c5af]{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:start}.tables-panel[data-v-e472c5af]{position:sticky;top:0;max-height:calc(100vh - 80px);overflow-y:auto}.table-list[data-v-e472c5af]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.table-item[data-v-e472c5af]{padding:8px 10px;border-radius:7px;cursor:pointer;transition:background .12s;border:1px solid transparent}.table-item[data-v-e472c5af]:hover{background:#1e293b44}.table-item.active[data-v-e472c5af]{background:#0f2744;border-color:#1e40af44}.table-item-name[data-v-e472c5af]{font-family:Fira Code,monospace;font-size:12px;color:#cbd5e1;font-weight:500;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-item.active .table-item-name[data-v-e472c5af]{color:#22d3ee}.table-item-meta[data-v-e472c5af]{display:flex;align-items:center;gap:6px}.detail-area[data-v-e472c5af]{min-width:0}.ctx-layout[data-v-444bf8f2]{display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:start}.ctx-tabs[data-v-444bf8f2]{display:flex;flex-direction:column;gap:4px;position:sticky;top:24px}.tab-btn[data-v-444bf8f2]{display:flex;align-items:center;gap:8px;background:transparent;color:#64748b;border:1px solid transparent;border-radius:8px;padding:9px 12px;font-size:13px;font-weight:500;cursor:pointer;text-align:left;transition:all .15s;width:100%}.tab-btn svg[data-v-444bf8f2]{width:15px;height:15px;flex-shrink:0}.tab-btn[data-v-444bf8f2]:hover{color:#cbd5e1;background:#1e293b}.tab-btn.active[data-v-444bf8f2]{color:#22d3ee;background:#0f2744;border-color:#1e4a7a}.table-header-row[data-v-444bf8f2]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:6px}.table-desc[data-v-444bf8f2]{font-size:12px;color:#94a3b8;margin:6px 0 0;line-height:1.5}.domain-header[data-v-444bf8f2]{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px}.keywords-row[data-v-444bf8f2]{display:flex;flex-wrap:wrap;gap:4px}.tnode[data-v-ee1674cc]{width:210px;border-radius:10px;overflow:hidden;font-family:Fira Sans,sans-serif;box-shadow:0 4px 24px #0005;-webkit-user-select:none;user-select:none}.tnode--source[data-v-ee1674cc]{border:1.5px solid #164e63;background:#060f1f}.tnode--join[data-v-ee1674cc]{border:1.5px solid #78350f;background:#0d0800}.tnode-header[data-v-ee1674cc]{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 10px;height:42px}.tnode--source .tnode-header[data-v-ee1674cc]{background:#0c1f38;border-bottom:1px solid #164e63}.tnode--join .tnode-header[data-v-ee1674cc]{background:#1a0f00;border-bottom:1px solid #78350f}.tnode-header-left[data-v-ee1674cc]{display:flex;align-items:center;gap:6px;overflow:hidden}.tnode-header-left svg[data-v-ee1674cc]{width:13px;height:13px;flex-shrink:0}.tnode--source .tnode-header-left svg[data-v-ee1674cc]{color:#22d3ee}.tnode--join .tnode-header-left svg[data-v-ee1674cc]{color:#f59e0b}.tnode-name[data-v-ee1674cc]{font-size:12px;font-weight:700;font-family:Fira Code,monospace;color:#f1f5f9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tnode-badge[data-v-ee1674cc]{font-size:9px;font-weight:700;font-family:Fira Code,monospace;padding:2px 6px;border-radius:4px;white-space:nowrap;flex-shrink:0;letter-spacing:.3px}.tnode-badge.source[data-v-ee1674cc]{background:#0c4a6e;color:#38bdf8}.tnode-badge.join[data-v-ee1674cc]{background:#451a03;color:#fb923c}.tnode-cols[data-v-ee1674cc]{display:flex;flex-direction:column}.tnode-col[data-v-ee1674cc]{display:flex;align-items:center;gap:6px;padding:0 10px;height:30px;border-bottom:1px solid;transition:background .1s;cursor:default}.tnode--source .tnode-col[data-v-ee1674cc]{border-color:#0d1e36}.tnode--join .tnode-col[data-v-ee1674cc]{border-color:#150e00}.tnode-col[data-v-ee1674cc]:last-child{border-bottom:none}.tnode-col[data-v-ee1674cc]:hover{background:#ffffff08}.tnode-col--linked[data-v-ee1674cc]{background:#042f2e!important}.tnode-col-dot[data-v-ee1674cc]{width:5px;height:5px;border-radius:50%;flex-shrink:0;background:#1e293b;transition:background .15s}.tnode-col--linked .tnode-col-dot[data-v-ee1674cc]{background:#22d3ee}.tnode-col-name[data-v-ee1674cc]{font-family:Fira Code,monospace;font-size:11px;color:#94a3b8;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tnode-col--linked .tnode-col-name[data-v-ee1674cc]{color:#2dd4bf}.tnode-col-type[data-v-ee1674cc]{font-size:9px;color:#334155;white-space:nowrap;flex-shrink:0}[data-v-ee1674cc] .field-handle{width:9px!important;height:9px!important;border-radius:50%!important;background:#1e3a5f!important;border:1.5px solid #3b82f6!important;transition:background .1s,transform .1s!important}[data-v-ee1674cc] .field-handle:hover{background:#22d3ee!important;border-color:#22d3ee!important;transform:scale(1.4)!important}[data-v-ee1674cc] .vue-flow__handle-connecting{background:#f59e0b!important;border-color:#f59e0b!important}[data-v-ee1674cc] .vue-flow__handle-valid{background:#10b981!important;border-color:#10b981!important}.vue-flow{position:relative;width:100%;height:100%;overflow:hidden;z-index:0;direction:ltr}.vue-flow__container{position:absolute;height:100%;width:100%;left:0;top:0}.vue-flow__pane{z-index:1}.vue-flow__pane.draggable{cursor:grab}.vue-flow__pane.selection{cursor:pointer}.vue-flow__pane.dragging{cursor:grabbing}.vue-flow__transformationpane{transform-origin:0 0;z-index:2;pointer-events:none}.vue-flow__viewport{z-index:4;overflow:clip}.vue-flow__selection{z-index:6}.vue-flow__edge-labels{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible{outline:none}.vue-flow .vue-flow__edges{pointer-events:none;overflow:visible}.vue-flow__edge-path,.vue-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.vue-flow__edge{pointer-events:visibleStroke;cursor:pointer}.vue-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__edge.animated path.vue-flow__edge-interaction{stroke-dasharray:none;animation:none}.vue-flow__edge.inactive{pointer-events:none}.vue-flow__edge.selected,.vue-flow__edge:focus,.vue-flow__edge:focus-visible{outline:none}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:focus .vue-flow__edge-path,.vue-flow__edge:focus-visible .vue-flow__edge-path{stroke:#555}.vue-flow__edge-textwrapper{pointer-events:all}.vue-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-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}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.vue-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px}.vue-flow__handle.connectable{pointer-events:all;cursor:crosshair}.vue-flow__handle-bottom{left:50%;bottom:0;transform:translate(-50%,50%)}.vue-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.vue-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.vue-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.vue-flow__edgeupdater{cursor:move;pointer-events:all}.vue-flow__panel{position:absolute;z-index:5;margin:15px}.vue-flow__panel.top{top:0}.vue-flow__panel.bottom{bottom:0}.vue-flow__panel.left{left:0}.vue-flow__panel.right{right:0}.vue-flow__panel.center{left:50%;transform:translate(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10}}:root{--vf-node-bg: #fff;--vf-node-text: #222;--vf-connection-path: #b1b1b7;--vf-handle: #555}.vue-flow__edge.updating .vue-flow__edge-path{stroke:#777}.vue-flow__edge-text{font-size:10px}.vue-flow__edge-textbg{fill:#fff}.vue-flow__connection-path{stroke:var(--vf-connection-path)}.vue-flow__node{cursor:grab}.vue-flow__node.selectable:focus,.vue-flow__node.selectable:focus-visible{outline:none}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{padding:10px;border-radius:3px;width:150px;font-size:12px;text-align:center;border-width:1px;border-style:solid;color:var(--vf-node-text);background-color:var(--vf-node-bg);border-color:var(--vf-node-color)}.vue-flow__node-default.selected,.vue-flow__node-default.selected:hover,.vue-flow__node-input.selected,.vue-flow__node-input.selected:hover,.vue-flow__node-output.selected,.vue-flow__node-output.selected:hover{box-shadow:0 0 0 .5px var(--vf-box-shadow)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible,.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible,.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid #555}.vue-flow__node-default .vue-flow__handle,.vue-flow__node-input .vue-flow__handle,.vue-flow__node-output .vue-flow__handle{background:var(--vf-handle)}.vue-flow__node-default.selectable:hover,.vue-flow__node-input.selectable:hover,.vue-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.vue-flow__node-input{--vf-node-color: var(--vf-node-color, #0041d0);--vf-handle: var(--vf-node-color, #0041d0);--vf-box-shadow: var(--vf-node-color, #0041d0);background:var(--vf-node-bg);border-color:var(--vf-node-color, #0041d0)}.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible{outline:none;border:1px solid var(--vf-node-color, #0041d0)}.vue-flow__node-default{--vf-handle: var(--vf-node-color, #1a192b);--vf-box-shadow: var(--vf-node-color, #1a192b);background:var(--vf-node-bg);border-color:var(--vf-node-color, #1a192b)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible{outline:none;border:1px solid var(--vf-node-color, #1a192b)}.vue-flow__node-output{--vf-handle: var(--vf-node-color, #ff0072);--vf-box-shadow: var(--vf-node-color, #ff0072);background:var(--vf-node-bg);border-color:var(--vf-node-color, #ff0072)}.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid var(--vf-node-color, #ff0072)}.vue-flow__nodesselection-rect,.vue-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible,.vue-flow__selection:focus,.vue-flow__selection:focus-visible{outline:none}.vue-flow__handle{width:6px;height:6px;background:var(--vf-handle);border:1px solid #fff;border-radius:100%}.fb-page[data-v-751c74a0]{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start;min-height:calc(100vh - 48px)}.fb-panel[data-v-751c74a0]{position:sticky;top:0;max-height:calc(100vh - 48px);overflow-y:auto;padding:14px;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:#1e293b transparent}.fb-main[data-v-751c74a0]{display:flex;flex-direction:column;gap:0}.canvas-wrap[data-v-751c74a0]{padding:0;overflow:hidden;height:calc(100vh - 120px);min-height:500px}.added-tables[data-v-751c74a0]{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}.added-table-row[data-v-751c74a0]{background:#0d1526;border:1px solid #1e293b;border-radius:8px;padding:8px 10px}.added-table-info[data-v-751c74a0]{display:flex;align-items:center;gap:7px;margin-bottom:2px}.added-table-name[data-v-751c74a0]{font-family:Fira Code,monospace;font-size:12px;font-weight:600;color:#e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edge-badge[data-v-751c74a0]{display:flex;align-items:center;gap:6px;background:#0d1526;border:1px solid #1e3a5f;border-radius:7px;padding:6px 8px;margin-bottom:5px;font-size:11px}.edge-badge-label[data-v-751c74a0]{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.edge-table[data-v-751c74a0]{font-size:9px;color:#475569;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.hint-box[data-v-751c74a0]{display:flex;align-items:flex-start;gap:7px;background:#0d1526;border:1px dashed #1e293b;border-radius:7px;padding:8px 10px;font-size:11px;color:#475569;line-height:1.5;margin-bottom:8px}.hint-box svg[data-v-751c74a0]{width:13px;height:13px;flex-shrink:0;margin-top:1px}.filter-row[data-v-751c74a0]{display:flex;gap:5px;align-items:center}.save-status[data-v-751c74a0]{display:flex;align-items:center;gap:6px;background:#042f2e;border:1px solid #0d9488;border-radius:7px;padding:6px 10px;font-size:11px;color:#2dd4bf}.saved-flow-item[data-v-751c74a0]{background:#0d1526;border:1px solid #1e293b;border-radius:8px;padding:8px 10px;margin-bottom:6px}.flows-grid[data-v-46bcfaba]{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}.flow-card[data-v-46bcfaba]{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden}.flow-card-header[data-v-46bcfaba]{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 10px;border-bottom:1px solid #1e293b;background:#0d1526}.flow-card-name[data-v-46bcfaba]{font-size:14px;font-weight:700;color:#f1f5f9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:8px}.flow-card-meta[data-v-46bcfaba]{display:flex;flex-direction:column;gap:5px;padding:10px 14px 8px}.flow-meta-item[data-v-46bcfaba]{display:flex;align-items:center;gap:7px;font-family:Fira Code,monospace;font-size:11px;color:#64748b}.flow-meta-item svg[data-v-46bcfaba]{width:12px;height:12px;flex-shrink:0;color:#334155}.flow-card-id[data-v-46bcfaba]{font-family:Fira Code,monospace;font-size:9px;color:#1e293b;padding:0 14px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-result-badge[data-v-46bcfaba]{display:flex;align-items:center;gap:6px;background:#042f2e;border-top:1px solid #0d9488;padding:6px 14px;font-size:11px;color:#2dd4bf}.flow-card-actions[data-v-46bcfaba]{display:flex;gap:6px;padding:10px 14px;border-top:1px solid #1e293b;margin-top:auto;flex-wrap:wrap}.modal-backdrop[data-v-46bcfaba]{position:fixed;inset:0;background:#0008;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:100}.modal-box[data-v-46bcfaba]{width:380px;max-width:90vw;padding:24px}.modal-title[data-v-46bcfaba]{font-size:15px;font-weight:700;color:#f1f5f9;margin:0 0 10px}.modal-body[data-v-46bcfaba]{font-size:13px;color:#94a3b8;line-height:1.6;margin:0}.banner-warn[data-v-0ed44551]{background:#1c1207;border:1px solid #92400e;border-radius:10px;padding:14px 16px;margin:12px 0 0}.banner-title[data-v-0ed44551]{display:flex;align-items:center;gap:8px;color:#fbbf24;font-size:13px;margin-bottom:10px}.banner-title svg[data-v-0ed44551]{width:16px;height:16px}.key-row[data-v-0ed44551]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.key-plain[data-v-0ed44551]{flex:1;font-family:Fira Code,monospace;font-size:12px;background:#0d1526;border:1px solid #1e293b;padding:8px 12px;border-radius:6px;color:#fbbf24;word-break:break-all;min-width:200px}.modal-backdrop[data-v-0ed44551]{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal-card[data-v-0ed44551]{background:#111827;border:1px solid #1e293b;border-radius:12px;padding:22px;width:100%;max-width:420px}.modal-card h3[data-v-0ed44551]{font-family:Fira Code,monospace;font-size:14px;color:#f1f5f9;margin:0 0 4px}.modal-sub[data-v-0ed44551]{font-size:12px;color:#64748b;margin:0 0 14px}.modal-actions[data-v-0ed44551]{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.login-page[data-v-049e4966]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at top,#1e293b,#0f172a 60%);padding:24px}.login-card[data-v-049e4966]{width:100%;max-width:380px;background:#111827;border:1px solid #1e293b;border-radius:14px;padding:32px 28px;box-shadow:0 20px 60px #0006}.brand-stack[data-v-049e4966]{text-align:center;margin-bottom:28px}.brand-svg[data-v-049e4966]{width:42px;height:42px;color:#22d3ee;margin-bottom:12px}.brand-stack h1[data-v-049e4966]{font-family:Fira Code,monospace;font-size:18px;font-weight:600;color:#f1f5f9;margin:0}.brand-stack p[data-v-049e4966]{font-size:11px;color:#475569;letter-spacing:.6px;text-transform:uppercase;margin:4px 0 0}.login-form[data-v-049e4966]{display:flex;flex-direction:column;gap:14px}.login-btn[data-v-049e4966]{margin-top:6px;background:#06b6d4;color:#082f49;border:none;border-radius:8px;padding:11px 14px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s}.login-btn[data-v-049e4966]:hover:not(:disabled){background:#22d3ee}.login-btn[data-v-049e4966]:disabled{opacity:.4;cursor:not-allowed}.chat-page[data-v-62d73425]{display:flex;flex-direction:column;height:calc(100vh - 48px);overflow:hidden}.chat-header[data-v-62d73425]{display:flex;align-items:flex-start;justify-content:space-between;flex-shrink:0;padding-bottom:16px;border-bottom:1px solid #1e293b;gap:12px;flex-wrap:wrap}.header-actions[data-v-62d73425]{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.dataset-selector[data-v-62d73425]{display:flex;flex-direction:column;gap:4px}.dataset-selector label[data-v-62d73425]{font-size:10px;color:#475569;text-transform:uppercase;letter-spacing:.5px;margin:0}.dataset-selector select[data-v-62d73425]{width:auto;min-width:180px;padding:6px 10px;font-size:12px;border-color:#6d28d9}.dataset-selector select[data-v-62d73425]:focus{border-color:#c084fc}.diag-banner[data-v-62d73425]{margin-top:12px;padding:10px 14px;border-radius:8px;border:1px solid #1e293b;background:#0d1526;font-size:12px;display:flex;flex-direction:column;gap:6px}.diag-banner.ok[data-v-62d73425]{border-color:#064e3b;background:#022c22}.diag-banner.warn[data-v-62d73425]{border-color:#451a03;background:#1c1207}.diag-banner.fail[data-v-62d73425]{border-color:#7f1d1d;background:#1c0a0a}.diag-row[data-v-62d73425]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.diag-pill[data-v-62d73425]{padding:2px 8px;border-radius:4px;font-family:Fira Code,monospace;font-size:11px;font-weight:600}.diag-pill.ok[data-v-62d73425]{background:#064e3b;color:#34d399}.diag-pill.fail[data-v-62d73425]{background:#7f1d1d;color:#fca5a5}.diag-meta[data-v-62d73425]{color:#64748b;font-size:11px;margin-left:auto}.diag-error[data-v-62d73425]{color:#fca5a5;font-family:Fira Code,monospace;font-size:11px}.diag-hint[data-v-62d73425]{color:#fbbf24;font-size:12px}.chat-body[data-v-62d73425]{flex:1;overflow-y:auto;padding:20px 0;display:flex;flex-direction:column;gap:24px}.chat-empty[data-v-62d73425]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;flex:1;color:#334155;text-align:center}.chat-empty svg[data-v-62d73425]{width:48px;height:48px;color:#1e293b}.chat-empty p[data-v-62d73425]{font-size:14px;color:#475569;margin:0}.suggestions[data-v-62d73425]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:600px}.suggestion-chip[data-v-62d73425]{background:#111827;border:1px solid #1e293b;color:#64748b;padding:7px 14px;border-radius:20px;font-size:12px;cursor:pointer;transition:all .15s;font-weight:400}.suggestion-chip[data-v-62d73425]:hover{border-color:#c084fc;color:#c084fc;background:#2e1065}.msg-group[data-v-62d73425]{display:flex;flex-direction:column;gap:10px}.msg[data-v-62d73425]{display:flex;gap:10px}.msg-user[data-v-62d73425]{justify-content:flex-end}.msg-ai[data-v-62d73425]{justify-content:flex-start;align-items:flex-start}.msg-bubble[data-v-62d73425]{max-width:70%;padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.6;word-break:break-word}.msg-bubble-user[data-v-62d73425]{background:#2e1065;border:1px solid #6d28d9;color:#e2e8f0;border-radius:12px 12px 2px}.msg-bubble-ai[data-v-62d73425]{background:#111827;border:1px solid #1e293b;color:#cbd5e1;border-radius:2px 12px 12px;max-width:100%}.loading-bubble[data-v-62d73425]{display:flex;align-items:center;gap:6px;padding:14px 18px}.loading-status[data-v-62d73425]{margin-left:8px;font-size:12px;color:#94a3b8;font-style:italic}.dot-pulse[data-v-62d73425]{width:7px;height:7px;border-radius:50%;background:#475569;animation:pulse-62d73425 1s ease-in-out infinite}@keyframes pulse-62d73425{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.ai-avatar[data-v-62d73425]{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.ai-avatar.fabric[data-v-62d73425]{background:#2e1065;border:1px solid #6d28d9}.ai-avatar.fabric svg[data-v-62d73425]{width:14px;height:14px;color:#c084fc}.ai-content[data-v-62d73425]{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}.sql-block[data-v-62d73425]{background:#0d1526;border:1px solid #1e293b;border-radius:8px;overflow:hidden}.sql-toggle[data-v-62d73425]{display:flex;align-items:center;gap:6px;padding:8px 12px;cursor:pointer;font-size:11px;color:#475569;-webkit-user-select:none;user-select:none;transition:background .15s}.sql-toggle[data-v-62d73425]:hover{background:#111827}.sql-toggle svg[data-v-62d73425]{width:13px;height:13px}.sql-toggle span[data-v-62d73425]{flex:1;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.copy-btn[data-v-62d73425]{padding:3px 8px;font-size:11px}.sql-pre[data-v-62d73425]{border:none;border-radius:0;border-top:1px solid #1e293b;margin:0}.result-block[data-v-62d73425]{border:1px solid #1e293b;border-radius:8px;overflow:hidden}.result-header[data-v-62d73425]{display:flex;align-items:center;justify-content:space-between;padding:7px 12px;background:#0d1526;border-bottom:1px solid #1e293b}.no-rows[data-v-62d73425]{font-size:12px;color:#475569;padding:10px 14px;background:#111827;border:1px solid #1e293b;border-radius:8px}.reasoning-body[data-v-62d73425]{padding:10px 14px;font-size:12px;color:#94a3b8;line-height:1.7;border-top:1px solid #1e293b;white-space:pre-wrap}.col-toggles[data-v-62d73425]{display:flex;flex-wrap:wrap;gap:5px;padding:8px 12px;border-bottom:1px solid #1e293b;background:#0b111e}.col-chip[data-v-62d73425]{background:#1e293b;color:#475569;border:1px solid #1e293b;border-radius:4px;padding:2px 8px;font-size:10px;font-family:Fira Code,monospace;cursor:pointer;transition:all .12s;font-weight:500;white-space:nowrap}.col-chip[data-v-62d73425]:hover{border-color:#334155;color:#94a3b8}.col-chip.active[data-v-62d73425]{background:#2e1065;border-color:#c084fc44;color:#c084fc}.chat-input-area[data-v-62d73425]{flex-shrink:0;padding-top:12px;border-top:1px solid #1e293b}.chat-input-wrap[data-v-62d73425]{display:flex;align-items:flex-end;gap:8px;background:#111827;border:1px solid #1e293b;border-radius:12px;padding:8px 8px 8px 14px;transition:border-color .15s}.chat-input-wrap[data-v-62d73425]:focus-within{border-color:#c084fc}.chat-textarea[data-v-62d73425]{flex:1;background:transparent;border:none;color:#e2e8f0;font-size:13px;font-family:Fira Sans,sans-serif;resize:none;outline:none;line-height:1.6;padding:0;min-height:22px;max-height:160px;overflow-y:auto}.chat-textarea[data-v-62d73425]::placeholder{color:#334155}.send-btn[data-v-62d73425]{width:34px;height:34px;padding:0;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.send-btn.fabric-send[data-v-62d73425]{background:#a855f7;color:#1e0436}.send-btn.fabric-send[data-v-62d73425]:hover:not(:disabled){background:#c084fc}.send-btn[data-v-62d73425]:disabled{background:#1e293b;opacity:1}.send-btn svg[data-v-62d73425]{width:14px;height:14px}.input-hint[data-v-62d73425]{font-size:10px;color:#1e293b;text-align:center;margin:6px 0 0}.chat-page[data-v-1d1b9d90]{display:flex;flex-direction:column;height:calc(100vh - 48px);overflow:hidden}.chat-header[data-v-1d1b9d90]{display:flex;align-items:flex-start;justify-content:space-between;flex-shrink:0;padding-bottom:16px;border-bottom:1px solid #1e293b;gap:12px;flex-wrap:wrap}.header-actions[data-v-1d1b9d90]{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.flow-selector[data-v-1d1b9d90]{display:flex;flex-direction:column;gap:4px}.flow-selector label[data-v-1d1b9d90]{font-size:10px;color:#475569;text-transform:uppercase;letter-spacing:.5px;margin:0}.flow-selector select[data-v-1d1b9d90]{width:auto;padding:6px 10px;font-size:12px}.chat-body[data-v-1d1b9d90]{flex:1;overflow-y:auto;padding:20px 0;display:flex;flex-direction:column;gap:24px}.chat-empty[data-v-1d1b9d90]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;flex:1;color:#334155;text-align:center}.chat-empty svg[data-v-1d1b9d90]{width:48px;height:48px;color:#1e293b}.chat-empty p[data-v-1d1b9d90]{font-size:14px;color:#475569;margin:0}.suggestions[data-v-1d1b9d90]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:600px}.suggestion-chip[data-v-1d1b9d90]{background:#111827;border:1px solid #1e293b;color:#64748b;padding:7px 14px;border-radius:20px;font-size:12px;cursor:pointer;transition:all .15s;font-weight:400}.suggestion-chip[data-v-1d1b9d90]:hover{border-color:#22d3ee;color:#22d3ee;background:#083344}.msg-group[data-v-1d1b9d90]{display:flex;flex-direction:column;gap:10px}.msg[data-v-1d1b9d90]{display:flex;gap:10px}.msg-user[data-v-1d1b9d90]{justify-content:flex-end}.msg-ai[data-v-1d1b9d90]{justify-content:flex-start;align-items:flex-start}.msg-bubble[data-v-1d1b9d90]{max-width:70%;padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.6;word-break:break-word}.msg-bubble-user[data-v-1d1b9d90]{background:#0f2744;border:1px solid #1e4a7a;color:#e2e8f0;border-radius:12px 12px 2px}.msg-bubble-ai[data-v-1d1b9d90]{background:#111827;border:1px solid #1e293b;color:#cbd5e1;border-radius:2px 12px 12px;max-width:100%}.loading-bubble[data-v-1d1b9d90]{display:flex;align-items:center;gap:6px;padding:14px 18px}.dot-pulse[data-v-1d1b9d90]{width:7px;height:7px;border-radius:50%;background:#475569;animation:pulse-1d1b9d90 1s ease-in-out infinite}@keyframes pulse-1d1b9d90{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.ai-avatar[data-v-1d1b9d90]{width:28px;height:28px;border-radius:8px;background:#083344;border:1px solid #0e4d6b;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.ai-avatar svg[data-v-1d1b9d90]{width:14px;height:14px;color:#22d3ee}.ai-content[data-v-1d1b9d90]{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}.sql-block[data-v-1d1b9d90]{background:#0d1526;border:1px solid #1e293b;border-radius:8px;overflow:hidden}.sql-toggle[data-v-1d1b9d90]{display:flex;align-items:center;gap:6px;padding:8px 12px;cursor:pointer;font-size:11px;color:#475569;-webkit-user-select:none;user-select:none;transition:background .15s}.sql-toggle[data-v-1d1b9d90]:hover{background:#111827}.sql-toggle svg[data-v-1d1b9d90]{width:13px;height:13px}.sql-toggle span[data-v-1d1b9d90]{flex:1;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.copy-btn[data-v-1d1b9d90]{padding:3px 8px;font-size:11px}.sql-pre[data-v-1d1b9d90]{border:none;border-radius:0;border-top:1px solid #1e293b;margin:0}.result-block[data-v-1d1b9d90]{border:1px solid #1e293b;border-radius:8px;overflow:hidden}.result-header[data-v-1d1b9d90]{display:flex;align-items:center;justify-content:space-between;padding:7px 12px;background:#0d1526;border-bottom:1px solid #1e293b}.no-rows[data-v-1d1b9d90]{font-size:12px;color:#475569;padding:10px 14px;background:#111827;border:1px solid #1e293b;border-radius:8px}.reasoning-body[data-v-1d1b9d90]{padding:10px 14px;font-size:12px;color:#94a3b8;line-height:1.7;border-top:1px solid #1e293b;white-space:pre-wrap}.col-toggles[data-v-1d1b9d90]{display:flex;flex-wrap:wrap;gap:5px;padding:8px 12px;border-bottom:1px solid #1e293b;background:#0b111e}.col-chip[data-v-1d1b9d90]{background:#1e293b;color:#475569;border:1px solid #1e293b;border-radius:4px;padding:2px 8px;font-size:10px;font-family:Fira Code,monospace;cursor:pointer;transition:all .12s;font-weight:500;white-space:nowrap}.col-chip[data-v-1d1b9d90]:hover{border-color:#334155;color:#94a3b8}.col-chip.active[data-v-1d1b9d90]{background:#083344;border-color:#22d3ee44;color:#22d3ee}.pagination[data-v-1d1b9d90]{display:flex;align-items:center;gap:6px;padding:8px 12px;border-top:1px solid #1e293b;background:#0b111e;flex-wrap:wrap}.pg-btn[data-v-1d1b9d90]{background:transparent;color:#64748b;border:1px solid #1e293b;border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer;transition:all .12s;white-space:nowrap}.pg-btn[data-v-1d1b9d90]:hover:not(:disabled){background:#1e293b;color:#cbd5e1}.pg-btn[data-v-1d1b9d90]:disabled{opacity:.3;cursor:not-allowed}.pg-info[data-v-1d1b9d90]{flex:1;text-align:center;font-size:11px;color:#475569;display:flex;align-items:center;justify-content:center;gap:6px;min-width:120px}.pg-size[data-v-1d1b9d90]{width:auto;padding:4px 8px;font-size:11px;border-radius:6px;border:1px solid #1e293b;background:#0b111e;color:#64748b}.chat-input-area[data-v-1d1b9d90]{flex-shrink:0;padding-top:12px;border-top:1px solid #1e293b}.chat-input-wrap[data-v-1d1b9d90]{display:flex;align-items:flex-end;gap:8px;background:#111827;border:1px solid #1e293b;border-radius:12px;padding:8px 8px 8px 14px;transition:border-color .15s}.chat-input-wrap[data-v-1d1b9d90]:focus-within{border-color:#22d3ee}.chat-textarea[data-v-1d1b9d90]{flex:1;background:transparent;border:none;color:#e2e8f0;font-size:13px;font-family:Fira Sans,sans-serif;resize:none;outline:none;line-height:1.6;padding:0;min-height:22px;max-height:160px;overflow-y:auto}.chat-textarea[data-v-1d1b9d90]::placeholder{color:#334155}.send-btn[data-v-1d1b9d90]{width:34px;height:34px;padding:0;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#06b6d4}.send-btn[data-v-1d1b9d90]:disabled{background:#1e293b;opacity:1}.send-btn svg[data-v-1d1b9d90]{width:14px;height:14px}.input-hint[data-v-1d1b9d90]{font-size:10px;color:#1e293b;text-align:center;margin:6px 0 0}.tab-btn[data-v-6bd03cfe]{padding:8px 14px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-size:.9rem}.tab-btn.active[data-v-6bd03cfe]{background:#0f172a;color:#fff;border-color:#0f172a}.badge[data-v-6bd03cfe]{display:inline-block;padding:1px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.75rem;margin-left:6px}.tab-btn.active .badge[data-v-6bd03cfe]{background:#1e293b;color:#cbd5e1}.data-table[data-v-6bd03cfe]{width:100%;border-collapse:collapse}.data-table th[data-v-6bd03cfe],.data-table td[data-v-6bd03cfe]{padding:10px 12px;text-align:left;border-bottom:1px solid #f1f5f9;font-size:.9rem}.data-table th[data-v-6bd03cfe]{color:#64748b;font-weight:500;font-size:.8rem;text-transform:uppercase}.chip[data-v-6bd03cfe]{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:#e0f2fe;color:#075985;font-size:.8rem;margin:2px 4px 2px 0}.chip-x[data-v-6bd03cfe]{border:none;background:transparent;color:#075985;cursor:pointer;font-size:1rem;padding:0 2px}.btn-primary[data-v-6bd03cfe]{background:#0f172a;color:#fff;border:0;padding:7px 14px;border-radius:6px;cursor:pointer;font-size:.85rem}.btn-danger[data-v-6bd03cfe]{background:#ef4444;color:#fff;border:0;padding:7px 14px;border-radius:6px;cursor:pointer;font-size:.85rem}.btn-primary[data-v-6bd03cfe]:disabled{opacity:.6;cursor:not-allowed}.modal-backdrop[data-v-6bd03cfe]{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-6bd03cfe]{background:#fff;border-radius:12px;width:480px;max-width:94vw;max-height:88vh;overflow-y:auto;box-shadow:0 20px 60px #00000059}.modal-header[data-v-6bd03cfe]{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #e2e8f0}.modal-close[data-v-6bd03cfe]{background:transparent;border:0;font-size:1.4rem;cursor:pointer;color:#94a3b8}.modal-body[data-v-6bd03cfe]{padding:18px}.modal-footer[data-v-6bd03cfe]{display:flex;gap:10px;justify-content:flex-end;padding:12px 18px;border-top:1px solid #e2e8f0}.checkbox-row[data-v-6bd03cfe]{display:flex;align-items:flex-start;gap:10px;padding:8px 4px;cursor:pointer}.checkbox-row input[data-v-6bd03cfe]{margin-top:4px}.empty-state[data-v-6bd03cfe]{padding:24px;text-align:center;color:#94a3b8}.config-grid[data-v-6bd03cfe]{display:flex;flex-direction:column;gap:14px;max-width:640px}.config-row label[data-v-6bd03cfe]{display:block;font-size:.85rem;color:#475569;margin-bottom:6px;font-weight:500}.config-row input[type=text][data-v-6bd03cfe],.config-row input[type=password][data-v-6bd03cfe],.config-row input[data-v-6bd03cfe]:not([type=checkbox]){width:100%;padding:8px 10px;border:1px solid #cbd5e1;border-radius:6px;font-size:.9rem}.switch-label[data-v-6bd03cfe]{display:flex;align-items:center;gap:8px;font-weight:400!important;color:#334155!important}.badge-ok[data-v-6bd03cfe]{background:#dcfce7;color:#166534}.badge-warn[data-v-6bd03cfe]{background:#fef3c7;color:#92400e}.info-msg[data-v-6bd03cfe]{padding:8px 12px;background:#dbeafe;color:#1e40af;border-radius:6px;font-size:.85rem}.config-hint[data-v-6bd03cfe]{padding:12px 14px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;font-size:.85rem;color:#475569}.config-hint code[data-v-6bd03cfe]{background:#e2e8f0;padding:1px 5px;border-radius:3px;font-size:.82em}.config-hint ol[data-v-6bd03cfe]{margin:6px 0 0 20px;padding:0}.config-hint ol li[data-v-6bd03cfe]{margin:3px 0}.filters-grid[data-v-bae35073]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.fg label[data-v-bae35073]{display:block;font-size:.75rem;color:#475569;margin-bottom:4px}.fg input[data-v-bae35073],.fg select[data-v-bae35073]{width:100%;padding:6px 8px;border:1px solid #cbd5e1;border-radius:6px;font-size:.85rem}.data-table[data-v-bae35073]{width:100%;border-collapse:collapse}.data-table th[data-v-bae35073],.data-table td[data-v-bae35073]{padding:8px 10px;text-align:left;border-bottom:1px solid #f1f5f9;font-size:.85rem;vertical-align:top}.data-table th[data-v-bae35073]{color:#64748b;font-weight:500;font-size:.75rem;text-transform:uppercase;background:#f8fafc}.data-table.small th[data-v-bae35073],.data-table.small td[data-v-bae35073]{padding:5px 8px;font-size:.8rem}.prompt-cell[data-v-bae35073]{color:#334155;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono[data-v-bae35073]{font-family:Fira Code,monospace;font-size:.78rem!important}.row-err td[data-v-bae35073]{background:#fff5f5}.row-err td[data-v-bae35073]:first-child{border-left:3px solid #dc2626}.chip[data-v-bae35073]{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.2px;border:1px solid transparent}.chip-web[data-v-bae35073]{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}.chip-api[data-v-bae35073]{background:#ede9fe;color:#5b21b6;border-color:#ddd6fe}.chip-telegram[data-v-bae35073]{background:#cffafe;color:#155e75;border-color:#a5f3fc}.chip-status-done[data-v-bae35073]{background:#d1fae5;color:#065f46;border-color:#a7f3d0}.chip-status-failed[data-v-bae35073]{background:#fecaca;color:#7f1d1d;border-color:#fca5a5}.chip-status-pending[data-v-bae35073],.chip-status-running[data-v-bae35073]{background:#fef3c7;color:#78350f;border-color:#fde68a}.pagination[data-v-bae35073]{display:flex;gap:6px;justify-content:center;margin-top:14px;align-items:center}.btn-ghost.small[data-v-bae35073],.btn-primary.small[data-v-bae35073]{padding:4px 10px;font-size:.8rem}.btn-primary[data-v-bae35073]{background:#0f172a;color:#fff;border:0;padding:7px 14px;border-radius:6px;cursor:pointer;font-size:.85rem}.modal-backdrop[data-v-bae35073]{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:100}.modal-large[data-v-bae35073]{background:#fff;border-radius:12px;width:900px;max-width:96vw;max-height:92vh;overflow-y:auto;box-shadow:0 20px 60px #00000059}.modal-header[data-v-bae35073]{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #e2e8f0}.modal-close[data-v-bae35073]{background:transparent;border:0;font-size:1.4rem;cursor:pointer;color:#94a3b8}.modal-body[data-v-bae35073]{padding:18px}.detail-grid[data-v-bae35073]{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;font-size:.88rem;color:#334155;padding:12px;background:#f8fafc;border-radius:8px;margin-bottom:14px}.block[data-v-bae35073]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:10px 12px;font-size:.82rem;white-space:pre-wrap;word-break:break-word;margin:4px 0 12px}.block.code[data-v-bae35073]{font-family:Fira Code,monospace;font-size:.78rem;color:#0f172a}.block.small[data-v-bae35073]{font-size:.8rem}.block.err[data-v-bae35073]{background:#fef2f2;border:1px solid #fca5a5;border-left:4px solid #dc2626;color:#7f1d1d;font-weight:500}h4[data-v-bae35073]{font-size:.85rem;color:#475569;text-transform:uppercase;margin:14px 0 4px;letter-spacing:.5px}.empty-state[data-v-bae35073]{padding:24px;text-align:center;color:#94a3b8}
