.license-page[data-v-7fc030a4]{--accent-soft:#ffefe5;--text-main:#1f2a3d;--text-sub:#5f6c82;min-height:100vh;position:relative;overflow:hidden;background:radial-gradient(900px 520px at 0 0,rgba(64,158,255,.11),transparent 62%),radial-gradient(760px 480px at 100% 100%,rgba(255,95,10,.11),transparent 65%),linear-gradient(180deg,#f6f8fc,#edf2f9)}.background-grid[data-v-7fc030a4]{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(134,156,190,.1) 1px,transparent 0),linear-gradient(90deg,rgba(134,156,190,.1) 1px,transparent 0);background-size:44px 44px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 92%);mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 92%)}.top-brand[data-v-7fc030a4]{position:relative;z-index:1;padding:24px 0 0}.top-brand img[data-v-7fc030a4]{display:block;margin:0 auto}.stage[data-v-7fc030a4]{position:relative;z-index:1;min-height:calc(100vh - 112px);display:grid;place-items:center;padding:30px 20px 24px}.status-card[data-v-7fc030a4]{width:min(620px,100%);border:1px solid rgba(218,227,241,.95);border-radius:20px;background:hsla(0,0%,100%,.92);box-shadow:0 30px 60px rgba(18,36,71,.13);backdrop-filter:blur(6px);padding:28px 30px 30px;animation:cardEnter-data-v-7fc030a4 .28s ease-out}.status-card h1[data-v-7fc030a4]{margin:14px 0 8px;color:var(--text-main);font-size:30px;line-height:1.2;font-weight:700;letter-spacing:.3px}.badge[data-v-7fc030a4]{display:inline-flex;align-items:center;gap:8px;height:34px;border-radius:18px;padding:0 12px;border:1px solid #ffd5bc;background:var(--accent-soft);color:#d84f00;font-size:13px;font-weight:600}.badge i[data-v-7fc030a4]{font-size:16px}.subtitle[data-v-7fc030a4]{margin:0;color:var(--text-sub);line-height:1.7;font-size:14px}.info-block[data-v-7fc030a4]{margin-top:18px;border:1px solid #ebf0f7;border-radius:12px;background:#fcfdff;padding:14px 14px 10px}.info-block h2[data-v-7fc030a4]{margin:0;color:#2e3a52;font-size:15px;font-weight:700}.info-block ul[data-v-7fc030a4]{margin:10px 0 0;padding-left:18px}.info-block li[data-v-7fc030a4]{color:#55627a;line-height:1.8;margin-bottom:2px;font-size:14px}.primary-btn[data-v-7fc030a4]{margin-top:24px;width:100%;height:44px;border:0;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:linear-gradient(180deg,#ff6a00,#ff5200);box-shadow:0 14px 26px rgba(255,98,13,.28);color:#fff;font-size:16px;font-weight:700;letter-spacing:1px;transition:transform .2s,filter .2s}.primary-btn[data-v-7fc030a4]:hover{filter:brightness(1.04);transform:translateY(-1px)}.page-footer[data-v-7fc030a4]{position:relative;z-index:1;padding:0 16px 16px;text-align:center;color:#8a96ab;font-size:12px;letter-spacing:.8px}@keyframes cardEnter-data-v-7fc030a4{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.top-brand[data-v-7fc030a4]{padding-top:20px}.stage[data-v-7fc030a4]{min-height:calc(100vh - 104px);padding:20px 14px}.status-card[data-v-7fc030a4]{border-radius:16px;padding:22px 16px}.status-card h1[data-v-7fc030a4]{font-size:24px}.primary-btn[data-v-7fc030a4]{height:42px;font-size:15px}.info-block[data-v-7fc030a4]{padding:12px 12px 8px}}.logo-wrap,.toolbar-brand{display:inline-flex;align-items:center}.logo-wrap{justify-content:center;width:38px;height:24px;margin-left:8px;border-radius:7px;background:linear-gradient(180deg,#ff7a2e,#ff5a00);box-shadow:0 4px 10px rgba(255,88,0,.2)}.toolbar-brand .logo-img{height:15px!important}.toolbar-brand .di-title{font-size:16px!important;font-weight:600!important;margin-left:8px!important;margin-right:20px!important;padding-left:10px!important;letter-spacing:.2px}.toolbar-icon{font-size:18px!important;margin-top:14px!important;margin-right:10px!important}.right-toolbar{padding:8px 10px;line-height:24px}#userIcon{position:relative}#userIcon:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0}.components-panel{position:relative}.components-search{padding:8px;border-bottom:1px solid #f0f2f5;background:#fff}.noselect{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.svg-icon-margin{margin:0 5px 0 -5px}#canvas[data-v-1ea9290a]{height:100%}.layout-switch[data-v-1ea9290a]{display:inline-flex;align-items:center;border:1px solid #d7dbe3;border-radius:4px;overflow:hidden;background:#fff}.mode-btn[data-v-1ea9290a]{min-width:44px;text-align:center;line-height:24px;padding:0 8px;cursor:pointer;color:#606266;background:#fff;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mode-btn+.mode-btn[data-v-1ea9290a]{border-left:1px solid #d7dbe3}.mode-btn.active[data-v-1ea9290a]{color:#fff;background:#409eff}.canvas-size-panel[data-v-1ea9290a]{display:flex;flex-direction:column;gap:8px}.canvas-size-row[data-v-1ea9290a]{display:flex;align-items:center;gap:8px}.canvas-size-label[data-v-1ea9290a]{width:36px;font-size:12px;color:#909399;text-align:right}.canvas-size-actions[data-v-1ea9290a]{display:flex;justify-content:flex-end;gap:8px;padding-top:2px}#main .hot-table *{box-sizing:initial}.console-panel[data-v-beb45768]{width:100%;height:400px;position:relative;padding-top:10px}.console-panel-input[data-v-beb45768]{flex-grow:1;width:100%;height:380px;word-wrap:normal;font-size:16px;font-family:Consolas,Courier New,monospace;line-height:22px}.static-btn[data-v-beb45768]{width:180px;height:40px;margin-top:20px}.ok-btn[data-v-beb45768]{background-color:#ff5800;border-color:#ff5800;color:#fff}.ai-suggested-actions[data-v-a579a778]{margin:12px 0;background:#f8f9fa;border-radius:8px;overflow:hidden}.ai-suggested-actions .actions-header[data-v-a579a778]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:linear-gradient(135deg,rgba(102,126,234,.1254901961),rgba(118,75,162,.1254901961));color:#667eea;font-size:13px;font-weight:600}.ai-suggested-actions .actions-header i[data-v-a579a778]{font-size:14px}.ai-suggested-actions .actions-list .action-item[data-v-a579a778]{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;transition:all .2s;border-bottom:1px solid #e8e8e8}.ai-suggested-actions .actions-list .action-item[data-v-a579a778]:last-child{border-bottom:none}.ai-suggested-actions .actions-list .action-item[data-v-a579a778]:hover{background:#e8f0fe}.ai-suggested-actions .actions-list .action-item:hover .action-arrow[data-v-a579a778]{transform:translateX(4px)}.ai-suggested-actions .actions-list .action-item[data-v-a579a778]:active{transform:scale(.98)}.ai-suggested-actions .actions-list .action-item .action-icon[data-v-a579a778]{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#fff;color:#667eea;font-size:16px;flex-shrink:0}.ai-suggested-actions .actions-list .action-item .action-content[data-v-a579a778]{flex:1;min-width:0}.ai-suggested-actions .actions-list .action-item .action-content .action-title[data-v-a579a778]{font-size:14px;font-weight:500;color:#303133;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-suggested-actions .actions-list .action-item .action-content .action-description[data-v-a579a778]{font-size:12px;color:#909399;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-suggested-actions .actions-list .action-item .action-arrow[data-v-a579a778]{color:#c0c4cc;transition:transform .2s;flex-shrink:0}.ai-suggested-actions .actions-list .action-item.execute_sql .action-icon[data-v-a579a778]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.ai-suggested-actions .actions-list .action-item.create_chart .action-icon[data-v-a579a778]{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.ai-suggested-actions .actions-list .action-item.create_bar_chart .action-icon[data-v-a579a778],.ai-suggested-actions .actions-list .action-item.create_line_chart .action-icon[data-v-a579a778],.ai-suggested-actions .actions-list .action-item.create_pie_chart .action-icon[data-v-a579a778]{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.ai-suggested-actions .actions-list .action-item.view_data .action-icon[data-v-a579a778]{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff}.ai-suggested-actions .actions-list .action-item.copy_sql .action-icon[data-v-a579a778]{background:linear-gradient(135deg,#fa709a,#fee140);color:#fff}.datasource-selector .hint-text[data-v-6beabc6e]{margin:0 0 16px 0;color:#606266;font-size:14px}.datasource-selector .datasource-list[data-v-6beabc6e]{display:block;width:100%;max-height:300px;overflow-y:auto}.datasource-selector .datasource-item[data-v-6beabc6e]{padding:12px;border:1px solid #e4e7ed;border-radius:4px;margin-bottom:8px;transition:all .2s}.datasource-selector .datasource-item[data-v-6beabc6e]:hover{background-color:#f5f7fa;border-color:#667eea}.datasource-selector .datasource-item.is-disabled[data-v-6beabc6e]{opacity:.5;cursor:not-allowed}.datasource-selector .datasource-item.is-disabled[data-v-6beabc6e]:hover{background-color:transparent;border-color:#e4e7ed}.datasource-selector .datasource-item[data-v-6beabc6e] .el-radio{margin:0;display:flex;align-items:center}.datasource-selector .datasource-item[data-v-6beabc6e] .el-radio__label{width:100%}.datasource-selector .datasource-item .datasource-info[data-v-6beabc6e]{display:flex;align-items:center;gap:8px}.datasource-selector .datasource-item .datasource-info .datasource-name[data-v-6beabc6e]{font-weight:500;color:#303133}.datasource-selector .datasource-item .datasource-info .datasource-type[data-v-6beabc6e]{font-size:12px;color:#909399}.datasource-selector .empty-text[data-v-6beabc6e]{text-align:center;padding:40px 20px;color:#909399;font-size:14px}.ai-datasource-dialog,.ai-datasource-dialog+.v-modal{z-index:10000!important}.ai-chat-bar[data-v-34f833c7]{position:fixed;right:20px;bottom:0;z-index:9999;font-family:SF Pro Text,PingFang SC,Segoe UI,sans-serif}.ai-chat-bar .ai-chat-toggle .toggle-button[data-v-34f833c7]{width:56px;height:56px;border-radius:16px 16px 0 0;background:linear-gradient(150deg,#ff8a3d,#ff5c00);box-shadow:0 -6px 20px rgba(255,92,0,.35);color:#fff;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:transform .2s ease}.ai-chat-bar .ai-chat-toggle .toggle-button[data-v-34f833c7]:hover{transform:translateY(-2px)}.ai-chat-bar .ai-chat-toggle .toggle-button i[data-v-34f833c7]{font-size:22px}.ai-chat-bar .ai-chat-toggle .toggle-button .unread-badge[data-v-34f833c7]{position:absolute;right:-6px;top:-6px;min-width:18px;height:18px;border-radius:9px;background:#f56c6c;color:#fff;font-size:12px;line-height:18px;text-align:center;padding:0 4px}.ai-chat-bar .ai-chat-panel[data-v-34f833c7]{width:440px;height:580px;border-radius:18px 18px 0 0;background:linear-gradient(180deg,#fdfdfd,#f7f8fb);box-shadow:0 -10px 40px rgba(25,25,25,.16);display:flex;flex-direction:column;overflow:hidden}.ai-chat-bar .ai-chat-panel .chat-header[data-v-34f833c7]{height:56px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eceff4;background:hsla(0,0%,100%,.9);backdrop-filter:blur(8px)}.ai-chat-bar .ai-chat-panel .chat-header .header-left[data-v-34f833c7]{display:flex;align-items:center;gap:10px}.ai-chat-bar .ai-chat-panel .chat-header .header-left .brand-dot[data-v-34f833c7]{width:10px;height:10px;border-radius:50%;background:#ff5c00;box-shadow:0 0 0 4px rgba(255,92,0,.14)}.ai-chat-bar .ai-chat-panel .chat-header .header-left .title[data-v-34f833c7]{font-size:15px;font-weight:600;color:#1f2a37}.ai-chat-bar .ai-chat-panel .chat-header .header-actions[data-v-34f833c7]{display:flex;align-items:center;gap:4px}.ai-chat-bar .ai-chat-panel .chat-header .header-actions .model-pill[data-v-34f833c7]{display:inline-flex;align-items:center;border:1px solid #dde3ea;border-radius:999px;padding:3px 10px;font-size:12px;color:#334155;cursor:pointer;background:#fff;max-width:172px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-chat-bar .ai-chat-panel .chat-header .header-actions .header-btn[data-v-34f833c7]{color:#64748b;font-size:16px}.ai-chat-bar .ai-chat-panel .chat-messages[data-v-34f833c7]{flex:1;overflow-y:auto;padding:14px 14px 20px;background:radial-gradient(circle at 0 0,rgba(255,92,0,.08),transparent 35%),radial-gradient(circle at 100% 100%,rgba(59,130,246,.08),transparent 40%),#f7f9fc}.ai-chat-bar .ai-chat-panel .chat-messages .message-wrapper[data-v-34f833c7]{margin-bottom:14px}.ai-chat-bar .ai-chat-panel .chat-messages .message-item[data-v-34f833c7]{display:flex}.ai-chat-bar .ai-chat-panel .chat-messages .message-item.user[data-v-34f833c7]{justify-content:flex-end}.ai-chat-bar .ai-chat-panel .chat-messages .message-item.user .message-bubble[data-v-34f833c7]{background:linear-gradient(135deg,#ff8a3d,#ff5c00);color:#fff}.ai-chat-bar .ai-chat-panel .chat-messages .message-item.assistant[data-v-34f833c7]{justify-content:flex-start}.ai-chat-bar .ai-chat-panel .chat-messages .message-item.assistant .message-bubble[data-v-34f833c7]{background:#fff;color:#1e293b;border:1px solid #e5eaf1}.ai-chat-bar .ai-chat-panel .chat-messages .message-item .message-bubble[data-v-34f833c7]{max-width:78%;border-radius:14px;padding:10px 12px;line-height:1.6;word-break:break-word}.ai-chat-bar .ai-chat-panel .chat-messages .message-item .message-bubble .text-content p[data-v-34f833c7]{margin:0 0 8px}.ai-chat-bar .ai-chat-panel .chat-messages .message-item .message-bubble .text-content p[data-v-34f833c7]:last-child{margin-bottom:0}.ai-chat-bar .ai-chat-panel .chat-messages .message-item .message-bubble .text-content pre[data-v-34f833c7]{background:#1e1f24;border-radius:8px;padding:10px;overflow:auto}.ai-chat-bar .ai-chat-panel .chat-messages .message-item .message-bubble .text-content code[data-v-34f833c7]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace}.ai-chat-bar .ai-chat-panel .chat-messages .welcome-message[data-v-34f833c7]{margin-top:24px;text-align:center;color:#475569}.ai-chat-bar .ai-chat-panel .chat-messages .welcome-message .welcome-badge[data-v-34f833c7]{width:56px;height:56px;border-radius:16px;background:linear-gradient(145deg,#ff9f5a,#ff5c00);color:#fff;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;font-size:24px}.ai-chat-bar .ai-chat-panel .chat-messages .welcome-message h3[data-v-34f833c7]{margin:0;font-size:16px;color:#0f172a}.ai-chat-bar .ai-chat-panel .chat-messages .welcome-message p[data-v-34f833c7]{margin:8px auto;max-width:280px;font-size:13px}.ai-chat-bar .ai-chat-panel .chat-messages .welcome-message .hint[data-v-34f833c7]{color:#64748b;font-style:italic}.ai-chat-bar .ai-chat-panel .chat-input[data-v-34f833c7]{border-top:1px solid #eceff4;background:#fff;display:flex;align-items:flex-end;gap:10px;padding:12px}.ai-chat-bar .ai-chat-panel .chat-input .el-textarea[data-v-34f833c7]{flex:1}.ai-chat-bar .ai-chat-panel .chat-input .send-btn[data-v-34f833c7]{background:linear-gradient(140deg,#ff8a3d,#ff5c00);border:none}[data-v-34f833c7] .model-dropdown{max-height:320px;overflow-y:auto}[data-v-34f833c7] .model-dropdown .el-dropdown-menu__item.is-selected{color:#ff5c00;font-weight:600}[data-v-34f833c7] .ai-history-drawer .el-drawer__body{padding:0}.session-list[data-v-34f833c7]{padding:8px}.session-list .session-empty[data-v-34f833c7]{text-align:center;color:#94a3b8;padding:28px 0}.session-list .session-item[data-v-34f833c7]{display:flex;align-items:center;justify-content:space-between;border:1px solid #e8edf3;border-radius:10px;margin-bottom:8px;padding:8px 10px}.session-list .session-item.active[data-v-34f833c7]{border-color:#ffb184;background:#fff7f2}.session-list .session-item .session-main[data-v-34f833c7]{flex:1;min-width:0;cursor:pointer}.session-list .session-item .session-title[data-v-34f833c7]{color:#1f2937;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-list .session-item .session-time[data-v-34f833c7]{color:#94a3b8;font-size:12px;margin-top:4px}.session-list .session-item .session-delete[data-v-34f833c7]{color:#a0aec0;margin-left:8px}@media(max-width:768px){.ai-chat-bar[data-v-34f833c7]{right:0;width:100%}.ai-chat-bar .ai-chat-panel[data-v-34f833c7]{width:100%;height:72vh;border-radius:14px 14px 0 0}}.query-result-container .sql-display[data-v-187a6daf]{margin-bottom:16px;border:1px solid #e4e7ed;border-radius:4px;overflow:hidden}.query-result-container .sql-display .sql-header[data-v-187a6daf]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f5f7fa;border-bottom:1px solid #e4e7ed;font-weight:600}.query-result-container .sql-display .sql-content[data-v-187a6daf]{margin:0;padding:12px;background:#2d2d2d;color:#f8f8f2;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word}.query-result-container .result-stats[data-v-187a6daf]{padding:8px 12px;background:#e8f0fe;border-radius:4px;margin-bottom:12px;color:#667eea}.query-result-container .data-table-wrapper[data-v-187a6daf]{border:1px solid #e4e7ed;border-radius:4px;overflow:hidden}.query-result-container .empty-result[data-v-187a6daf]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#909399}.query-result-container .empty-result i[data-v-187a6daf]{font-size:48px;margin-bottom:12px}.query-result-container .error-message[data-v-187a6daf]{display:flex;align-items:center;justify-content:center;padding:16px;background:#fef0f0;border-radius:4px;color:#f56c6c}.query-result-container .error-message i[data-v-187a6daf]{margin-right:8px;font-size:20px}.el-menu--horizontal>.el-menu-item{height:40px;line-height:40px}.draft-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.draft-option-item{border:1px solid #dfe7f3;border-radius:10px;padding:12px;cursor:pointer;background:#fff}.draft-option-item.active{border-color:#409eff;box-shadow:0 0 0 2px rgba(64,158,255,.16)}.draft-option-title{font-size:14px;font-weight:600;color:#1f2a3d}.draft-option-desc{margin-top:6px;font-size:12px;color:#6d7e96;min-height:34px}.draft-option-preview{position:relative;margin-top:8px;height:116px;border:1px solid #e7edf5;border-radius:8px;background:linear-gradient(180deg,#f8fbff,#f1f6fd);overflow:hidden}.preview-block{position:absolute;border-radius:4px;border:1px solid rgba(126,148,183,.35);background:hsla(0,0%,100%,.82);box-sizing:border-box}.preview-role-header{background:hsla(0,0%,100%,.95);border-color:rgba(126,148,183,.4)}.preview-role-kpi{background:rgba(73,148,255,.2);border-color:rgba(56,129,237,.48)}.preview-role-chart{background:rgba(68,182,154,.2);border-color:rgba(48,156,131,.5)}.preview-role-table{background:rgba(255,157,66,.2);border-color:rgba(243,141,48,.5)}.draft-option-meta{margin-top:8px;display:flex;justify-content:space-between;font-size:12px;color:#6f7f95}#main.dark .ke-container{background-color:#454545;border:1px solid hsla(0,0%,100%,.15)}#main.dark .ke-toolbar .ke-separator{border-left:1px solid hsla(0,0%,100%,.15);border-right:1px solid hsla(0,0%,100%,.15)}#main.dark .ke-toolbar .ke-outline{border:1px solid hsla(0,0%,100%,.15)}#main.dark .ke-content,#main.dark .ke-statusbar,#main.dark .ke-toolbar{background-color:#454545}#main.dark .ke-content,#main.dark .ke-toolbar{border-bottom:1px solid hsla(0,0%,100%,.15)}#main.dark .ke-statusbar{border-top:1px solid hsla(0,0%,100%,.15)}#main.light .ke-container{background-color:#ecedee;border:1px solid #dedede}#main.light .ke-toolbar .ke-separator{border-left:1px solid #dedede;border-right:1px solid #dedede}#main.light .ke-toolbar .ke-outline{border:1px solid #dedede}#main.light .ke-content,#main.light .ke-statusbar,#main.light .ke-toolbar{background-color:#ecedee}#main.light .ke-content,#main.light .ke-toolbar{border-bottom:1px solid #dedede}#main.light .ke-statusbar{border-top:1px solid #dedede}#main .w-e-text{padding:0!important}#main .w-e-text-container .placeholder{padding:0!important;top:0;left:0}.ok-btn[data-v-61fb1d85]{background-color:#ff5800;border-color:#ff5800;color:#fff}#main .el-form .el-form-item.is-error .el-form-item__content{margin-bottom:14px!important}.el-footer,.el-header{text-align:center;line-height:40px;height:40px}.el-aside{text-align:center;height:100%}.main-middle{height:calc(100% - 60px)}.el-container{height:100%}.svg-icon[data-v-2af9feba]{width:1em;height:1em;vertical-align:-.15em;overflow:hidden;outline:none}.svg-external-icon[data-v-2af9feba]{-webkit-mask-size:cover!important;mask-size:cover!important;display:inline-block}