@charset "UTF-8";.ai-floating-chat[data-v-3e94b440]{position:fixed;z-index:2000}.ai-floating-chat[data-v-3e94b440] .el-select-dropdown{z-index:10000!important}.ai-floating-chat[data-v-3e94b440] .el-badge__content{border:2px solid #fff;box-shadow:0 2px 8px #00000026}.ai-floating-chat .chat-trigger[data-v-3e94b440]{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.ai-floating-chat .chat-trigger[data-v-3e94b440]:hover{transform:scale(1.05);box-shadow:0 6px 20px #2f6bff80,0 0 0 1px #ffffff4d}.ai-floating-chat .chat-trigger:hover .trigger-btn[data-v-3e94b440]{animation:none}.ai-floating-chat .chat-trigger.dragging[data-v-3e94b440]{cursor:move;opacity:.8}.ai-floating-chat .chat-trigger .trigger-btn[data-v-3e94b440]{width:44px;height:44px;background:linear-gradient(135deg,#2f6bff,#096dd9);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 2px 12px #2f6bff59;transition:all .3s ease}.ai-floating-chat .chat-trigger .trigger-label[data-v-3e94b440]{margin-top:8px;font-size:12px;color:#666;background:#ffffffe6;padding:2px 8px;border-radius:10px;box-shadow:0 2px 8px #0000001a;backdrop-filter:blur(5px);transition:all .3s ease}.ai-floating-chat .chat-trigger .drag-handle[data-v-3e94b440]{position:absolute;top:-8px;left:50%;transform:translate(-50%);width:40px;height:16px;background:#0000004d;border-radius:8px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;color:#fff;backdrop-filter:blur(5px)}.ai-floating-chat .chat-trigger .drag-handle[data-v-3e94b440]:before{content:"";width:20px;height:2px;background:#fffc;border-radius:1px}.ai-floating-chat .chat-trigger:hover .drag-handle[data-v-3e94b440]{opacity:1;background:#00000080}.ai-floating-chat .chat-window[data-v-3e94b440]{position:relative;width:min(380px,100vw - 20px);height:min(520px,100vh - 40px);max-width:calc(100vw - 20px);max-height:calc(100vh - 40px);background:#fffffffa;border-radius:12px;box-shadow:0 4px 24px #0000001f;display:flex;flex-direction:column;border:1px solid rgba(0,0,0,.06);transform-origin:bottom right}.ai-floating-chat .chat-window.dragging[data-v-3e94b440]{box-shadow:0 8px 32px #0000002e;cursor:move;transform:scale(1.02)}.ai-floating-chat .chat-window .chat-header[data-v-3e94b440]{display:flex;align-items:center;padding:8px 12px;background:linear-gradient(135deg,#f0f7ff,#e6f4ff);border-bottom:1px solid #e8e8e8;cursor:move;user-select:none;border-radius:12px 12px 0 0}.ai-floating-chat .chat-window .chat-header .drag-indicator[data-v-3e94b440]{margin-right:10px;color:#a8b0be;cursor:move;transition:all .2s ease}.ai-floating-chat .chat-window .chat-header .drag-indicator[data-v-3e94b440]:hover{color:#2f6bff;transform:scale(1.1)}.ai-floating-chat .chat-window .chat-header .header-info[data-v-3e94b440]{display:flex;align-items:center;gap:10px;flex:1}.ai-floating-chat .chat-window .chat-header .header-info .header-title[data-v-3e94b440]{font-size:13px;font-weight:600;color:#333}.ai-floating-chat .chat-window .chat-header .header-actions[data-v-3e94b440]{display:flex;gap:4px}.ai-floating-chat .chat-window .chat-header .header-actions[data-v-3e94b440] .el-button{transition:all .2s ease}.ai-floating-chat .chat-window .chat-header .header-actions[data-v-3e94b440] .el-button:hover{transform:scale(1.1)}.ai-floating-chat .chat-window .chat-body[data-v-3e94b440]{flex:1;overflow-y:auto;padding:12px;background:#f7f8fa}.ai-floating-chat .chat-window .chat-body[data-v-3e94b440]::-webkit-scrollbar{width:6px}.ai-floating-chat .chat-window .chat-body[data-v-3e94b440]::-webkit-scrollbar-track{background:transparent}.ai-floating-chat .chat-window .chat-body[data-v-3e94b440]::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.ai-floating-chat .chat-window .chat-body[data-v-3e94b440]::-webkit-scrollbar-thumb:hover{background:#0000004d}.ai-floating-chat .chat-window .chat-body .empty-state[data-v-3e94b440]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#8a94a6;animation:fadeIn-3e94b440 .5s ease}.ai-floating-chat .chat-window .chat-body .empty-state p[data-v-3e94b440]{margin:16px 0;font-size:14px}.ai-floating-chat .chat-window .chat-body .empty-state .quick-questions[data-v-3e94b440]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.ai-floating-chat .chat-window .chat-body .empty-state .quick-questions .quick-tag[data-v-3e94b440]{cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.ai-floating-chat .chat-window .chat-body .empty-state .quick-questions .quick-tag[data-v-3e94b440]:hover{transform:scale(1.05) translateY(-2px);box-shadow:0 4px 12px #2f6bff4d}.ai-floating-chat .chat-window .chat-body .messages .message-item[data-v-3e94b440]{display:flex;gap:10px;margin-bottom:16px;animation:messageSlideIn-3e94b440 .3s ease}.ai-floating-chat .chat-window .chat-body .messages .message-item.user[data-v-3e94b440]{flex-direction:row-reverse}.ai-floating-chat .chat-window .chat-body .messages .message-item.user .message-content[data-v-3e94b440]{align-items:flex-end}.ai-floating-chat .chat-window .chat-body .messages .message-item.user .message-content .message-text[data-v-3e94b440]{background:#2f6bff;color:#fff;border-radius:16px 16px 4px}.ai-floating-chat .chat-window .chat-body .messages .message-item.user .message-content .message-text[data-v-3e94b440]:hover{box-shadow:0 4px 12px #2f6bff4d}.ai-floating-chat .chat-window .chat-body .messages .message-item.assistant .message-content .message-text[data-v-3e94b440]{background:#fff;border-radius:16px 16px 16px 4px;box-shadow:0 2px 8px #0000000d}.ai-floating-chat .chat-window .chat-body .messages .message-item.assistant .message-content .message-text[data-v-3e94b440]:hover{box-shadow:0 4px 12px #0000001a}.ai-floating-chat .chat-window .chat-body .messages .message-item .message-avatar[data-v-3e94b440]{width:32px;height:32px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #0000001a;transition:all .2s ease}.ai-floating-chat .chat-window .chat-body .messages .message-item .message-avatar[data-v-3e94b440]:hover{transform:scale(1.1);box-shadow:0 4px 12px #00000026}.ai-floating-chat .chat-window .chat-body .messages .message-item .message-content[data-v-3e94b440]{max-width:80%;display:flex;flex-direction:column}.ai-floating-chat .chat-window .chat-body .messages .message-item .message-content .message-text[data-v-3e94b440]{padding:10px 14px;font-size:14px;line-height:1.6;word-break:break-word;box-shadow:0 2px 8px #00000014;transition:all .2s ease}.ai-floating-chat .chat-window .chat-body .messages .message-item .message-content .message-text[data-v-3e94b440] code{background:#00000014;padding:2px 6px;border-radius:4px;font-family:Consolas,monospace;transition:all .2s ease}.ai-floating-chat .chat-window .chat-body .messages .message-item .message-content .message-text[data-v-3e94b440] code:hover{background:#0000001f}.ai-floating-chat .chat-window .chat-body .messages .message-item .message-content .message-time[data-v-3e94b440]{font-size:11px;color:#a8b0be;margin-top:4px;opacity:.8;transition:opacity .2s ease}.ai-floating-chat .chat-window .chat-body .messages .message-item .message-content .message-time[data-v-3e94b440]:hover{opacity:1}.ai-floating-chat .chat-window .chat-body .messages .message-item .report-actions[data-v-3e94b440]{display:flex;gap:8px;margin-top:10px}.ai-floating-chat .chat-window .chat-body .messages .message-item .report-actions .el-button[data-v-3e94b440]{flex:1;border-radius:8px;transition:all .2s ease}.ai-floating-chat .chat-window .chat-body .messages .message-item .report-actions .el-button[data-v-3e94b440]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.ai-floating-chat .chat-window .chat-body .messages .message-item .typing-indicator[data-v-3e94b440]{display:flex;gap:4px;padding:10px 14px;background:#fff;border-radius:16px 16px 16px 4px;box-shadow:0 2px 8px #0000000d}.ai-floating-chat .chat-window .chat-body .messages .message-item .typing-indicator span[data-v-3e94b440]{width:8px;height:8px;background:#8a94a6;border-radius:50%;animation:typing-3e94b440 1.4s infinite}.ai-floating-chat .chat-window .chat-body .messages .message-item .typing-indicator span[data-v-3e94b440]:nth-child(2){animation-delay:.2s}.ai-floating-chat .chat-window .chat-body .messages .message-item .typing-indicator span[data-v-3e94b440]:nth-child(3){animation-delay:.4s}.ai-floating-chat .chat-window .chat-footer[data-v-3e94b440]{padding:10px 12px;border-top:1px solid #e8e8e8;background:#ffffffe6;backdrop-filter:blur(5px)}.ai-floating-chat .chat-window .chat-footer .model-selector[data-v-3e94b440]{margin-bottom:8px;position:relative;z-index:1000}.ai-floating-chat .chat-window .chat-footer .model-selector[data-v-3e94b440] .el-select .el-input__wrapper{border-radius:8px;transition:all .2s ease}.ai-floating-chat .chat-window .chat-footer .model-selector[data-v-3e94b440] .el-select .el-input__wrapper:hover{box-shadow:0 0 0 1px #2f6bff4d}.ai-floating-chat .chat-window .chat-footer .model-selector[data-v-3e94b440] .el-select .el-input__wrapper.is-focus{box-shadow:0 0 0 2px #2f6bff33}.ai-floating-chat .chat-window .chat-footer .input-area[data-v-3e94b440]{display:flex;gap:8px}.ai-floating-chat .chat-window .chat-footer .input-area .el-textarea[data-v-3e94b440]{flex:1}.ai-floating-chat .chat-window .chat-footer .input-area .el-textarea[data-v-3e94b440] .el-textarea__inner{border-radius:12px;transition:all .2s ease}.ai-floating-chat .chat-window .chat-footer .input-area .el-textarea[data-v-3e94b440] .el-textarea__inner:focus{box-shadow:0 0 0 2px #2f6bff33}.ai-floating-chat .chat-window .chat-footer .input-area .el-button[data-v-3e94b440]{border-radius:12px;transition:all .2s ease}.ai-floating-chat .chat-window .chat-footer .input-area .el-button[data-v-3e94b440]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #2f6bff4d}@media (max-width: 768px){.ai-floating-chat .chat-window[data-v-3e94b440]{width:90vw;max-width:320px;height:60vh;max-height:420px}}@keyframes typing-3e94b440{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}@keyframes pulse-3e94b440{0%{box-shadow:0 4px 16px #2f6bff66,0 0 0 1px #ffffff4d}50%{box-shadow:0 4px 20px #2f6bff99,0 0 0 1px #ffffff4d}to{box-shadow:0 4px 16px #2f6bff66,0 0 0 1px #ffffff4d}}@keyframes fadeIn-3e94b440{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes messageSlideIn-3e94b440{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-fade-enter-active[data-v-3e94b440],.slide-fade-leave-active[data-v-3e94b440]{transition:all .3s cubic-bezier(.4,0,.2,1)}.slide-fade-enter-from[data-v-3e94b440],.slide-fade-leave-to[data-v-3e94b440]{opacity:0;transform:translateY(20px) scale(.95)}.slide-fade-enter-to[data-v-3e94b440],.slide-fade-leave-from[data-v-3e94b440]{opacity:1;transform:translateY(0) scale(1)}#app{font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%}.el-dialog{border-radius:8px;box-shadow:0 4px 20px #00000026}.el-dialog__header{padding:20px 24px 16px;border-bottom:1px solid #e8ecf3;margin-right:0}.el-dialog__title{font-size:18px;font-weight:600;color:#1f2733;line-height:1.5}.el-dialog__body{padding:24px;font-size:14px;color:#5b6675;line-height:1.8}.el-dialog__footer{padding:16px 24px 24px;border-top:1px solid #e8ecf3}.el-form-item{margin-bottom:20px}.el-form-item__label{font-size:14px;color:#5b6675;font-weight:500;line-height:32px;padding-right:12px}.el-form-item__content{line-height:32px}.el-input__inner,.el-textarea__inner{font-size:14px;padding:8px 12px}.el-divider{margin:24px 0}.el-divider__text{font-size:15px;font-weight:600;color:#1f2733;background-color:#fff;padding:0 12px}.el-dialog .el-button+.el-button{margin-left:12px}.el-button--large{padding:10px 20px;font-size:14px}.el-radio,.el-checkbox{margin-right:16px}:root{--primary-color: #2f6bff;--success-color: #16a34a;--warning-color: #d97706;--error-color: #dc2626;--info-color: #2f6bff;--bg-color: #f4f6fb;--bg-dark: #10141c;--bg-card: #ffffff;--bg-dark-card: #1a1f2e;--text-primary: #1f2733;--text-regular: #5b6675;--text-secondary: #8a94a6;--text-placeholder: #a8b0be;--border-color: #dde3ed;--border-light: #e8ecf3;--sidebar-width: 220px;--header-height: 60px}.canvas-loading .loading-spinner{text-align:center}.canvas-loading .loading-spinner .spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.canvas-loading .loading-spinner p{color:var(--text-secondary);font-size:14px;margin:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-size:14px;color:var(--text-primary);background:var(--bg-color)}.dark{background:var(--bg-dark);color:#e5e7eb}.dark .sidebar{background:var(--bg-dark-card)}.dark .header{background:var(--bg-dark-card);border-bottom:1px solid #2d3748}.dark .main-content{background:var(--bg-dark)}.dark .card{background:var(--bg-dark-card);border-color:#2d3748}.app-container{display:flex;height:100vh;overflow:hidden}.sidebar{width:var(--sidebar-width);background:#f8fafc;color:#1f2733;display:flex;flex-direction:column;transition:width .3s}.sidebar.collapsed{width:64px}.sidebar .logo{height:var(--header-height);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;border-bottom:1px solid #e8ecf3}.sidebar .logo img{width:32px;height:32px;margin-right:8px}.sidebar .menu{flex:1;overflow-y:auto;padding:8px 0}.sidebar .menu .menu-item{display:flex;align-items:center;padding:12px 20px;color:#5b6675;cursor:pointer;transition:all .3s}.sidebar .menu .menu-item:hover{color:#1f2733;background:#eaf1ff}.sidebar .menu .menu-item.active{color:#2f6bff;background:#eaf1ff}.sidebar .menu .menu-item .el-icon{font-size:18px;margin-right:12px}.main-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden}.header{height:var(--header-height);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--border-light)}.header .header-left{display:flex;align-items:center}.header .header-left .breadcrumb{margin-left:20px}.header .header-right{display:flex;align-items:center}.header .header-right .user-info{display:flex;align-items:center;cursor:pointer}.header .header-right .user-info .avatar{width:32px;height:32px;border-radius:50%;margin-right:8px}.main-content{flex:1;padding:20px;overflow-y:auto;background:var(--bg-color)}.card{background:var(--bg-card);border-radius:4px;padding:20px;margin-bottom:20px;box-shadow:0 2px 12px #0000001a}.card .main-content .page-card .card{box-shadow:none;border:1px solid #e8ecf3}.card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card .card-header h3{font-size:16px;font-weight:500}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:20px}.stats-grid .stat-card{background:#fff;border-radius:4px;padding:20px;display:flex;align-items:center}.stats-grid .stat-card .stat-icon{width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-right:16px;font-size:24px}.stats-grid .stat-card .stat-icon.primary{background:#eaf1ff;color:#2f6bff}.stats-grid .stat-card .stat-icon.success{background:#f6ffed;color:#52c41a}.stats-grid .stat-card .stat-icon.warning{background:#fffbe6;color:#faad14}.stats-grid .stat-card .stat-icon.error{background:#fff1f0;color:#f5222d}.stats-grid .stat-card .stat-content .stat-value{font-size:24px;font-weight:600;margin-bottom:4px}.stats-grid .stat-card .stat-content .stat-label{color:var(--text-secondary);font-size:12px}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-light)}.data-table th{background:#f8fafc;font-weight:500;color:var(--text-regular)}.data-table tr:hover td{background:#f8fafc}.status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px}.status-badge.online{background:#f6ffed;color:#52c41a}.status-badge.offline{background:#f5f5f5;color:#8a94a6}.status-badge.error{background:#fff1f0;color:#f5222d}.status-badge.running{background:#eaf1ff;color:#2f6bff}.form-section{margin-bottom:24px}.form-section .section-title{font-size:14px;font-weight:500;margin-bottom:16px;padding-left:8px;border-left:3px solid var(--primary-color)}.btn-primary{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.btn-primary:hover{background:#5b8aff;border-color:#5b8aff}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter-from,.fade-leave-to{opacity:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-track{background:#f1f1f1}:root{--tl-bg: #f4f6fb;--tl-surface: #ffffff;--tl-surface-2: #f8fafc;--tl-primary: #2f6bff;--tl-primary-soft: #eaf1ff;--tl-text: #1f2733;--tl-text-2: #5b6675;--tl-muted: #8a94a6;--tl-border: #e8ecf3;--tl-border-strong: #dde3ed;--tl-success: #16a34a;--tl-success-soft: #e9f7ee;--tl-warning: #d97706;--tl-warning-soft: #fdf3e3;--tl-danger: #dc2626;--tl-danger-soft: #fdeaea;--tl-info: #6b7280;--tl-shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--tl-shadow: 0 1px 3px rgba(16, 24, 40, .06), 0 1px 2px rgba(16, 24, 40, .04);--tl-shadow-md: 0 4px 16px rgba(16, 24, 40, .08);--tl-r-sm: 8px;--tl-r: 12px;--tl-r-lg: 16px;--tl-sidebar-w: 220px;--tl-header-h: 60px;--el-color-primary: #2f6bff;--el-color-primary-light-3: #6d97ff;--el-color-primary-light-5: #97b5ff;--el-color-primary-light-7: #c1d3ff;--el-color-primary-light-8: #d5e1ff;--el-color-primary-light-9: #eaf1ff;--el-color-primary-dark-2: #2356e0;--el-color-success: #16a34a;--el-color-success-light-9: #e9f7ee;--el-color-success-light-8: #d3efde;--el-color-warning: #d97706;--el-color-warning-light-9: #fdf3e3;--el-color-warning-light-8: #f9e6c4;--el-color-danger: #dc2626;--el-color-danger-light-9: #fdeaea;--el-color-danger-light-8: #f9d3d3;--el-color-error: #dc2626;--el-color-info: #6b7280;--el-color-info-light-9: #eef1f6;--el-text-color-primary: #1f2733;--el-text-color-regular: #5b6675;--el-text-color-secondary: #8a94a6;--el-text-color-placeholder: #a8b0be;--el-border-color: #dde3ed;--el-border-color-light: #e8ecf3;--el-border-color-lighter: #eef1f6;--el-border-color-extra-light: #f1f4f8;--el-bg-color: #ffffff;--el-bg-color-page: #f4f6fb;--el-bg-color-overlay: #ffffff;--el-fill-color-blank: #ffffff;--el-fill-color-light: #f8fafc;--el-fill-color-lighter: #fafbfd;--el-border-radius-base: 8px;--el-border-radius-small: 6px;--el-box-shadow-light: 0 1px 3px rgba(16, 24, 40, .06), 0 1px 2px rgba(16, 24, 40, .04);--el-box-shadow: 0 4px 16px rgba(16, 24, 40, .08)}body{background:var(--tl-bg);color:var(--tl-text);-webkit-font-smoothing:antialiased}.el-table td.n,.tl-num{font-variant-numeric:tabular-nums}.el-button{border-radius:var(--tl-r-sm);font-weight:500}.el-button--small{border-radius:6px}.el-card{border:1px solid var(--tl-border);border-radius:var(--tl-r);box-shadow:var(--tl-shadow)!important}.el-card__header{border-bottom:1px solid var(--tl-border);font-weight:600}.el-table{--el-table-border-color: var(--tl-border);--el-table-header-bg-color: var(--tl-surface-2);--el-table-header-text-color: var(--tl-text-2);--el-table-row-hover-bg-color: var(--tl-surface-2);--el-table-text-color: var(--tl-text);font-size:13px}.el-table th.el-table__cell{font-weight:600;font-size:12.5px}.el-tag{border-radius:20px;border:none;font-weight:500}.el-tag--success{background:var(--tl-success-soft);color:var(--tl-success)}.el-tag--warning{background:var(--tl-warning-soft);color:var(--tl-warning)}.el-tag--danger,.el-tag--error{background:var(--tl-danger-soft);color:var(--tl-danger)}.el-tag--info{background:#eef1f6;color:var(--tl-info)}.el-input__wrapper,.el-select__wrapper,.el-textarea__inner{border-radius:var(--tl-r-sm)}.el-dialog,.el-message-box,.el-drawer,.el-notification,.el-message{border-radius:var(--tl-r)}.el-tabs__item{font-size:14px}.el-tabs__nav-wrap:after{background:var(--tl-border);height:1px}.el-pagination{--el-pagination-button-bg-color: var(--tl-surface);font-weight:400}.el-pagination .el-pager li,.el-pagination button{border-radius:6px}.el-descriptions__label,.el-empty__description p{color:var(--tl-muted)}.tl-page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:12px}.tl-page-title{font-size:20px;font-weight:600;color:var(--tl-text)}
