.layout{min-height:100vh;display:flex;background:#f5f6fa}.sidebar{position:fixed;top:0;left:0;bottom:0;width:240px;background:#fff;border-right:1px solid #e4e7ed;z-index:100;display:flex;flex-direction:column;transition:transform .3s ease}.sidebar-header{padding:20px 16px;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:10px;cursor:pointer}.logo-text{font-size:15px;font-weight:600;color:#303133;letter-spacing:.5px}.menu-toggle{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;font-size:18px;color:#606266;border-radius:4px}.menu-toggle:hover{background:#f5f7fa}.nav-menu{flex:1;padding:16px 12px;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:6px;color:#606266;transition:all .15s ease;margin-bottom:4px;font-size:14px;text-decoration:none}.nav-item:hover{background:#f5f7fa;color:#303133}.nav-item.active{background:#ecf5ff;color:#409eff}.nav-item.active .nav-icon{color:#409eff}.nav-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:#909399;flex-shrink:0}.nav-item:hover .nav-icon{color:#606266}.nav-text{font-size:14px;font-weight:400}.nav-divider{height:1px;background:#ebeef5;margin:12px 14px}.nav-section-title{font-size:12px;color:#909399;padding:12px 14px 8px;letter-spacing:.5px;font-weight:500}.sidebar-footer-v2{padding:12px;border-top:1px solid #f0f0f0}.balance-box{display:flex;align-items:center;gap:6px;padding:10px 12px;border:1px solid #e8e8e8;border-radius:8px;margin-bottom:12px;cursor:pointer;transition:all .2s;background:transparent}.balance-box:hover{border-color:#d9d9d9;background:#00000005}.balance-text{font-size:12px;color:#8c8c8c}.balance-amount{font-size:14px;font-weight:600;color:#333}.user-badge{margin-left:auto;display:flex;align-items:center;gap:3px;padding:2px 6px;background:#f5f5f5;border:1px solid #e8e8e8;border-radius:10px;font-size:10px;color:#666;font-weight:500}.user-badge svg{opacity:.6}.balance-fire{font-size:14px;margin-left:4px}.user-row{display:flex;align-items:center;gap:10px;padding:6px 4px}.user-avatar-circle{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#1890ff,#69c0ff);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;flex-shrink:0}.user-nickname{flex:1;font-size:13px;color:#333;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-logout-small{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:#bfbfbf;border-radius:4px;transition:all .2s}.btn-logout-small:hover{background:#f5f5f5;color:#ff4d4f}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:-1;opacity:0;visibility:hidden;transition:all .3s ease}.main-content{margin-left:240px;padding:24px;min-height:100vh;background:#f5f6fa;flex:1}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar.open .sidebar-overlay{opacity:1;visibility:visible;z-index:-1}.main-content{margin-left:0;padding:16px}}.impersonate-bar{position:fixed;top:0;left:0;right:0;height:40px;background:linear-gradient(90deg,#ff6b35,#e85d26);color:#fff;display:flex;align-items:center;justify-content:center;gap:16px;z-index:200;font-size:13px;box-shadow:0 2px 8px #ff6b354d}.impersonate-text{display:flex;align-items:center;gap:4px}.impersonate-exit-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.5);padding:4px 16px;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.impersonate-exit-btn:hover{background:#ffffff59}.sidebar.with-impersonate-bar{top:40px}.main-content.with-impersonate-bar{padding-top:64px}@media (max-width: 768px){.impersonate-bar{font-size:12px;gap:8px;padding:0 12px}.impersonate-exit-btn{padding:3px 10px;font-size:11px}.main-content.with-impersonate-bar{padding-top:56px}}.hide-mobile{display:inline-flex}.hide-desktop{display:none}@media (max-width: 768px){.hide-mobile{display:none}.hide-desktop{display:inline-flex}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#f5f7fa,#e4e8ec)}.auth-container{width:100%;max-width:400px}.auth-header{text-align:center;margin-bottom:32px}.auth-logo{font-size:48px;margin-bottom:12px}.auth-title{font-size:22px;font-weight:600;color:#303133;margin-bottom:8px}.auth-subtitle{font-size:14px;color:#909399}.auth-form{background:#fff;padding:40px 32px;border-radius:8px;box-shadow:0 4px 24px #00000014;border:1px solid #ebeef5}.form-title{font-size:18px;font-weight:600;text-align:center;margin-bottom:28px;color:#303133}.btn-block{width:100%}.auth-footer{text-align:center;margin-top:24px;font-size:13px;color:#909399}.auth-footer a{color:#409eff;font-weight:500}.code-input-group{display:flex;gap:12px}.code-input-group .form-input{flex:1}.send-code-btn{white-space:nowrap;min-width:110px;padding:10px 16px;font-size:14px}.send-code-btn:disabled{background:#f5f7fa;color:#c0c4cc;border-color:#dcdfe6;cursor:not-allowed}.form-hint{margin-top:6px;font-size:12px;color:#909399}.auth-form .message{margin-bottom:20px;padding:12px 16px;border-radius:4px;font-size:14px}.auth-form .message-error{background:#fef0f0;border:1px solid #fde2e2;color:#f56c6c}.register-notice{text-align:center;padding:16px;background:#f5f7fa;border-radius:8px;margin-bottom:24px}.register-notice p{margin:0;font-size:14px;color:#606266;line-height:1.6}.register-notice strong{color:#1a1a1a}.auth-footer .btn-link{background:none;border:none;color:#1890ff;font-size:14px;cursor:pointer;padding:0}.auth-footer .btn-link:hover{text-decoration:underline}@media (max-width: 480px){.auth-form{padding:32px 24px}.auth-title{font-size:20px}.code-input-group{flex-direction:column}.send-code-btn{width:100%}}.dashboard-v2{max-width:1200px}.welcome-banner{position:relative;background:linear-gradient(135deg,#1a1a1a,#333);border-radius:16px;padding:40px;margin-bottom:24px;overflow:hidden}.banner-content{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}.banner-text h1{font-size:28px;font-weight:600;color:#fff;margin:0 0 8px}.banner-text p{font-size:14px;color:#ffffffb3;margin:0}.banner-actions{display:flex;gap:12px}.btn-banner-primary{padding:12px 24px;background:#fff;color:#1a1a1a;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-banner-primary:hover{background:#f5f5f5;transform:translateY(-1px)}.btn-banner-secondary{padding:12px 24px;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-banner-secondary:hover{background:#ffffff1a;border-color:#ffffff80}.banner-wave{position:absolute;bottom:0;left:0;right:0;height:60px;overflow:hidden}.banner-wave svg{width:100%;height:100%}.overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.overview-card{background:#fff;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 3px #0000000f;transition:box-shadow .2s}.overview-card:hover{box-shadow:0 4px 12px #00000014}.overview-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.overview-icon.connectors{background:#e6f7ff;color:#1890ff}.overview-icon.active{background:#f6ffed;color:#52c41a}.overview-icon.inactive{background:#f5f5f5;color:#8c8c8c}.overview-icon.balance{background:#fff7e6;color:#fa8c16}.overview-content{flex:1}.overview-value{font-size:24px;font-weight:700;color:#1a1a1a;line-height:1.2}.overview-label{font-size:13px;color:#8c8c8c;margin-top:4px}.dashboard-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.dashboard-col{min-width:0}.panel{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden;height:100%}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f0f0f0}.panel-header h2{font-size:16px;font-weight:600;color:#1a1a1a;margin:0}.btn-link{background:none;border:none;color:#1890ff;font-size:13px;cursor:pointer;padding:0}.panel-body{padding:20px}.account-info{margin-bottom:20px}.info-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f5f5f5}.info-row:last-child{border-bottom:none}.info-label{font-size:13px;color:#8c8c8c}.info-value{font-size:14px;color:#1a1a1a;font-weight:500}.role-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.role-tag.admin{background:#fff7e6;color:#fa8c16}.role-tag.user{background:#f5f5f5;color:#666}.apikey-section{padding-top:16px;border-top:1px solid #f0f0f0}.apikey-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.apikey-label{font-size:13px;font-weight:600;color:#1a1a1a}.btn-sm-outline{padding:4px 10px;background:transparent;border:1px solid #e8e8e8;border-radius:4px;font-size:12px;color:#666;cursor:pointer}.btn-sm-outline:hover{border-color:#1a1a1a;color:#1a1a1a}.apikey-box{display:flex;gap:8px}.apikey-input{flex:1;padding:10px 12px;border:1px solid #e8e8e8;border-radius:6px;font-size:13px;font-family:monospace;background:#fafafa}.btn-copy{padding:10px 16px;background:#1a1a1a;color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer;transition:background .2s}.btn-copy:hover:not(:disabled){background:#333}.btn-copy:disabled{opacity:.5;cursor:not-allowed}.apikey-hint{margin:8px 0 0;font-size:12px;color:#8c8c8c}.empty-state-v2{text-align:center;padding:40px 20px}.empty-state-v2 .empty-icon{color:#e8e8e8;margin-bottom:12px}.empty-state-v2 p{font-size:14px;color:#8c8c8c;margin:0 0 16px}.btn-create{padding:10px 20px;background:#1a1a1a;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer}.btn-create:hover{background:#333}.connector-list-v2{display:flex;flex-direction:column;gap:8px}.connector-item-v2{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fafafa;border-radius:8px;cursor:pointer;transition:background .2s}.connector-item-v2:hover{background:#f0f0f0}.connector-main{flex:1;min-width:0}.connector-name{font-size:14px;font-weight:500;color:#1a1a1a;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.connector-table{font-size:12px;color:#8c8c8c}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.inactive{background:#d9d9d9}.quick-entries{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.entry-card{background:#fff;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 3px #0000000f;cursor:pointer;transition:all .2s}.entry-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.entry-icon{width:40px;height:40px;background:#f5f5f5;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#1a1a1a;flex-shrink:0}.entry-text{flex:1;min-width:0}.entry-title{font-size:14px;font-weight:600;color:#1a1a1a;margin-bottom:2px}.entry-desc{font-size:12px;color:#8c8c8c}@media (max-width: 1024px){.overview-grid{grid-template-columns:repeat(2,1fr)}.dashboard-cols{grid-template-columns:1fr}.quick-entries{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.welcome-banner{padding:24px}.banner-text h1{font-size:22px}.banner-actions{width:100%;flex-direction:column}.overview-grid{grid-template-columns:1fr 1fr}.quick-entries{grid-template-columns:1fr}}.connector-list-page{max-width:1200px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}.page-title{font-size:24px;font-weight:600;color:var(--text-primary)}.header-actions{display:flex;gap:12px}.btn-dark{background:#1a1a1a;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-dark:hover{background:#333}.btn-outline{background:transparent;color:#666;border:1px solid #e8e8e8;padding:6px 12px;border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s}.btn-outline:hover{border-color:#1a1a1a;color:#1a1a1a}.connector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px}.connector-card{background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .2s ease}.connector-card:hover{box-shadow:var(--shadow-md)}.connector-card-header{padding:16px 20px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.connector-title{font-size:16px;font-weight:600;color:var(--text-primary)}.connector-card-body{padding:16px 20px}.connector-meta{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.meta-item{display:flex;font-size:13px}.meta-label{color:var(--text-secondary);min-width:70px}.meta-value{color:var(--text-primary)}.connector-channels{padding:12px 0 0;border-top:1px dashed var(--border-color);margin-top:12px}.channels-label{font-size:12px;color:var(--text-secondary);display:block;margin-bottom:8px}.channel-tags{display:flex;gap:8px;flex-wrap:wrap}.channel-tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.channel-tag.tag-feishu{background:#e6f7ff;color:#1890ff}.channel-tag.tag-api{background:#f0f9eb;color:#67c23a}.connector-card-footer{padding:12px 20px;border-top:1px solid var(--border-color);display:flex;gap:8px;justify-content:flex-end}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px;padding:16px}.page-info{font-size:14px;color:var(--text-secondary)}@media (max-width: 768px){.connector-grid{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start}}.connector-form-page{max-width:1100px;margin:0 auto}.page-header{margin-bottom:20px;display:flex;align-items:center;justify-content:space-between}.page-title{font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-lighter)}.form-actions-bar{display:flex;justify-content:flex-end;margin-top:20px;padding:16px 0}.tabs{display:flex;border-bottom:1px solid var(--border-color);margin-bottom:24px;background:#fff;padding:0 20px;border-radius:var(--radius-md) var(--radius-md) 0 0}.tab{padding:14px 24px;font-size:14px;font-weight:500;color:var(--text-secondary);border:none;background:none;cursor:pointer;position:relative;transition:all .2s ease;margin-bottom:-1px}.tab:hover{color:var(--primary-color)}.tab.active{color:var(--primary-color);font-weight:600;border-bottom:2px solid var(--primary-color)}.field-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.field-table-wrapper{border:1px solid var(--border-lighter);border-radius:8px;overflow:hidden;background:#fff;max-width:100%;overflow-x:auto}.field-table{width:100%;min-width:800px;border-collapse:collapse;font-size:13px}.field-table thead{background:#fafafa}.field-table th{padding:12px 16px;text-align:left;font-weight:600;color:var(--text-regular);font-size:13px;border-bottom:1px solid var(--border-lighter)}.field-table td{padding:8px 16px;border-bottom:1px solid var(--border-lighter);vertical-align:middle}.field-table tr:last-child td{border-bottom:none}.field-table tr:hover{background:#f5f7fa}.field-table .row-num{text-align:center;color:var(--text-secondary);font-weight:500}.field-table input[type=text],.field-table select{width:100%;padding:6px 8px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:13px;background:transparent;box-sizing:border-box;transition:all .2s}.field-table input[type=text]:hover,.field-table select:hover{background:#fff;border-color:var(--border-lighter)}.field-table input[type=text]:focus,.field-table select:focus{outline:none;background:#fff;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-light)}.field-table input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary-color)}.field-top-actions{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;background:#fafafa;border-radius:8px;border:1px solid var(--border-lighter)}.field-top-actions .btn{padding:8px 14px;font-size:13px;border-radius:6px;font-weight:500;display:inline-flex;align-items:center;gap:6px}.field-top-actions .btn-primary{background:linear-gradient(135deg,#1890ff,#096dd9);border:none;color:#fff;box-shadow:0 2px 4px #1890ff33}.field-top-actions .btn-primary:hover{background:linear-gradient(135deg,#40a9ff,#1890ff);box-shadow:0 4px 8px #1890ff4d}.field-top-actions .btn-secondary{background:#fff;border:1px solid #d9d9d9;color:#606266}.field-top-actions .btn-secondary:hover{border-color:#1890ff;color:#1890ff}.field-top-actions .btn-danger{background:#fff;border:1px solid #f56c6c;color:#f56c6c}.field-top-actions .btn-danger:hover{background:#fef0f0}.field-top-actions .field-count{margin-left:auto;font-size:13px;color:var(--text-secondary)}.build-data-card{border:none;background:#f5f7fa;box-shadow:none;border-radius:var(--radius-md);padding:20px}.build-data-card .card-body{padding:0}.section-intro{background:#fff;padding:20px;border-radius:var(--radius-md);margin-bottom:20px;border:1px solid var(--border-lighter);display:flex;align-items:center;gap:16px}.section-intro h3{margin:0;font-size:16px;color:var(--text-primary);font-weight:600}.section-intro p{margin:0;font-size:13px;color:var(--text-secondary)}.section-hint{font-size:12px;color:var(--text-secondary);margin-bottom:12px;padding:10px 12px;background:#f5f7fa;border-radius:var(--radius-sm)}.section-hint code{background:#e6f7ff;padding:2px 6px;border-radius:3px;font-family:monospace;color:#1890ff;font-size:11px}.empty-inputs-hint{text-align:center;color:var(--text-secondary);padding:20px;font-size:13px}.workflow-section{background:transparent;border:none;overflow:visible;margin-bottom:0}.workflow-section.collapsed .section-content{display:none}.workflow-section .section-header{display:flex;align-items:center;gap:12px;padding:14px 20px;background:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--border-lighter);border-radius:var(--radius-md);transition:all .2s}.workflow-section .section-header:hover{border-color:var(--border-color);box-shadow:0 2px 8px #0000000f}.workflow-section:not(.collapsed) .section-header{border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom-color:var(--border-lighter)}.workflow-section .section-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--primary-light);color:var(--primary-color);border-radius:50%;font-size:12px;font-weight:600}.workflow-section .section-title{flex:1;font-size:15px;font-weight:600;color:var(--text-primary)}.workflow-section .section-badge{font-size:12px;padding:2px 8px;background:var(--bg-page);border-radius:10px;color:var(--text-secondary)}.workflow-section .section-header:after,.workflow-section .section-header:before,.workflow-section .section-badge:after,.workflow-section .section-badge:before{display:none!important;content:none!important}.workflow-section .section-toggle{font-size:12px;color:var(--text-placeholder)}.workflow-section .section-content{padding:20px;background:#fff;border:1px solid var(--border-lighter);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md)}.section-actions{display:flex;justify-content:flex-end;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-lighter)}.compact-inputs-list{margin-top:12px}.compact-inputs-table{width:100%;border-collapse:collapse;font-size:13px;border:1px solid var(--border-lighter);border-radius:var(--radius-sm)}.compact-inputs-table th{text-align:left;padding:10px 12px;font-weight:500;color:var(--text-regular);font-size:12px;background:#fafafa;border-bottom:1px solid var(--border-lighter)}.compact-inputs-table td{padding:8px 12px;vertical-align:middle;border-bottom:1px solid var(--border-lighter)}.compact-inputs-table tr:last-child td{border-bottom:none}.compact-input,.compact-select{width:100%;padding:6px 8px;border:1px solid var(--border-lighter);border-radius:var(--radius-sm);font-size:13px;transition:all .2s}.compact-input:focus,.compact-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-light)}.nodes-list{display:flex;flex-direction:column;gap:16px}.node-item{background:#fff;border-radius:var(--radius-md);border:1px solid var(--border-lighter);overflow:hidden;transition:all .2s}.node-item:hover{border-color:var(--border-color);box-shadow:var(--shadow-sm)}.node-item.expanded{border-color:var(--primary-color);box-shadow:var(--shadow-md)}.node-item-header{display:flex;align-items:center;gap:12px;padding:14px 20px;background:#fff;cursor:pointer;-webkit-user-select:none;user-select:none}.node-item.expanded .node-item-header{background:#f5f7fa;border-bottom:1px solid var(--border-lighter)}.node-icon{font-size:16px;color:var(--text-secondary)}.node-name{flex:1;font-weight:500;color:var(--text-primary);font-size:14px}.node-type-badge{font-size:11px;padding:2px 8px;background:var(--bg-page);color:var(--text-secondary);border-radius:4px}.node-item-body{padding:20px}.node-test-section{margin-top:20px;padding-top:20px;border-top:1px dashed var(--border-lighter)}.test-api-section{display:flex;align-items:center;gap:12px;margin-top:16px}.btn-test-api{padding:8px 16px;background:#fff;border:1px solid var(--primary-color);color:var(--primary-color);border-radius:var(--radius-sm);font-size:13px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.btn-test-api:hover:not(:disabled){background:var(--primary-light)}.node-output-config{margin-top:16px;padding:16px;background:#fafafa;border:1px solid var(--border-lighter);border-radius:var(--radius-sm)}.output-params-list{display:flex;flex-wrap:wrap;gap:8px;min-height:40px;padding:12px;background:#fff;border-radius:var(--radius-sm);border:1px solid var(--border-lighter);margin-top:8px}.add-node-btns{display:flex;gap:12px;margin-top:16px;padding:16px 0}.btn-add-compact{padding:8px 16px;background:linear-gradient(135deg,#1890ff,#096dd9);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #1890ff33}.btn-add-compact:hover{background:linear-gradient(135deg,#40a9ff,#1890ff);box-shadow:0 4px 8px #1890ff4d;transform:translateY(-1px)}.btn-add-compact.secondary{background:#fff;color:#1890ff;border:1px solid #1890ff;box-shadow:none}.btn-add-compact.secondary:hover{background:#e6f7ff;border-color:#40a9ff;color:#40a9ff;transform:translateY(-1px)}.btn-add-input{padding:8px 16px;background:#fff;color:#1890ff;border:1px dashed #1890ff;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s;margin-top:12px}.btn-add-input:hover{background:#e6f7ff;border-style:solid}.add-field-btn{width:auto;display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#fff;color:#1890ff;border:1px dashed #1890ff;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s;margin-top:12px}.add-field-btn:hover{background:#e6f7ff;border-style:solid}.btn-icon-delete{padding:6px;background:transparent;border:none;color:#909399;cursor:pointer;transition:all .2s;border-radius:4px}.btn-icon-delete:hover{color:#f56c6c;background:#fef0f0}.btn-mini-danger{padding:6px;background:transparent;border:none;color:#909399;cursor:pointer;transition:all .2s;border-radius:4px;display:flex;align-items:center;justify-content:center}.btn-mini-danger:hover{color:#f56c6c;background:#fef0f0}.btn-mini-danger:hover{color:var(--error-color);background:#fef0f0}.output-param-item{display:flex;align-items:center;gap:8px;padding:4px 10px;background:var(--bg-page);border:1px solid var(--border-lighter);border-radius:4px;font-size:12px}.output-param-item .param-name{font-weight:600;color:var(--text-primary)}.output-param-item .param-var{padding:2px 6px;background:#e6f7ff;color:#1890ff;border-radius:2px;font-family:monospace;font-size:11px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.test-modal,.field-picker-modal{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-lighter)}.modal-header{padding:16px 24px;border-bottom:1px solid var(--border-lighter);display:flex;justify-content:space-between;align-items:center;background:#fafafa;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-header h3{margin:0;font-size:16px;color:var(--text-primary);font-weight:600}.btn-close-modal{width:24px;height:24px;border:none;background:transparent;color:var(--text-secondary);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px}.btn-close-modal:hover{background:#0000000d;color:var(--text-primary)}.modal-footer{padding:16px 24px;border-top:1px solid var(--border-lighter);display:flex;justify-content:flex-end;gap:12px;background:#fff;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.variable-input-simple{position:relative;display:flex;width:100%}.variable-input-simple .form-input{padding-right:36px}.variable-input-simple .var-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:none;background:transparent;color:var(--primary-color);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center}.variable-input-simple .var-btn:hover{background:var(--primary-light)}.var-dropdown-v2{border:1px solid var(--border-lighter);box-shadow:var(--shadow-md);border-radius:var(--radius-md);overflow:hidden}.var-dropdown-header{background:#fafafa;padding:8px 12px;border-bottom:1px solid var(--border-lighter);font-size:12px;color:var(--text-secondary)}.var-item-v2{padding:8px 12px;border-bottom:1px solid var(--border-lighter)}.var-item-v2:hover{background:#f5f7fa}.var-label-main{font-size:13px;color:var(--text-primary);font-weight:500}.var-name-sub{font-size:11px;color:var(--text-secondary);font-family:monospace}.toggle-switch{position:relative;display:inline-block;width:40px;height:20px}.toggle-slider{border-radius:20px;background-color:#dcdfe6}.toggle-slider:before{height:16px;width:16px;left:2px;bottom:2px;box-shadow:0 1px 2px #0000001a}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary-color)}.variables-hint-box{background:#fdf6ec;border:1px solid #faecd8;color:#e6a23c;border-radius:var(--radius-sm)}.variables-hint-box .hint-title{color:#e6a23c}.variables-hint-box code{background:#ffffff80;color:#d48806}.field-picker-item.loop-append-item{background:#f0f9eb;border-left:3px solid #67c23a}.loop-append-name{color:#67c23a}.type-badge.type-loop{background:#67c23a}.publish-channel-container{display:flex;flex-direction:column;gap:16px;max-width:900px}.channel-card{background:#fff;border:1px solid var(--border-lighter);border-radius:10px;overflow:hidden}.channel-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fafafa;border-bottom:1px solid var(--border-lighter)}.channel-header{display:flex;align-items:center;gap:12px}.channel-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#e6f7ff;color:#1890ff;border-radius:8px}.channel-name{font-size:15px;font-weight:600;color:var(--text-primary)}.channel-status{font-size:12px;padding:3px 10px;border-radius:12px}.channel-status.active{background:#f0f9eb;color:#67c23a}.channel-status.inactive{background:#f4f4f5;color:#909399}.channel-card .card-body{padding:20px}.channel-info{margin-bottom:16px}.channel-info p{margin:0;color:var(--text-secondary);font-size:13px}.copy-input{display:flex;gap:8px}.copy-input .form-input{flex:1;padding:8px 12px;font-size:13px;background:#fafafa;border:1px solid var(--border-lighter);border-radius:6px}.copy-input .btn{padding:8px 14px;font-size:13px;border-radius:6px}.api-test-section{background:#fafafa;padding:16px;border-radius:8px;border:1px solid var(--border-lighter)}.api-test-section h4{margin:0 0 12px;font-size:14px;color:var(--text-primary)}.collapsible-section{border:1px solid var(--border-lighter);border-radius:6px;margin-bottom:12px;overflow:hidden}.collapsible-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fafafa;cursor:pointer;font-size:13px;color:var(--text-primary);font-weight:500}.collapsible-content{padding:12px 14px;background:#fff}.collapsible-content pre{margin:0;padding:12px;background:#282c34;color:#abb2bf;border-radius:6px;font-size:12px;overflow-x:auto}.output-field-table{border:1px solid var(--border-lighter);border-radius:8px;overflow:hidden;background:#fff}.field-mapping-table thead{background:#fafafa}.field-mapping-table th{padding:10px 12px;text-align:left;font-weight:500;color:#606266;font-size:12px;border-bottom:1px solid var(--border-lighter);white-space:nowrap}.field-mapping-table td{padding:8px 12px;border-bottom:1px solid var(--border-lighter);vertical-align:middle}.field-mapping-table tr:last-child td{border-bottom:none}.field-mapping-table tr:hover{background:#f5f7fa}.field-path{font-family:monospace;font-size:11px;color:#606266;word-break:break-all}.field-path.array-path{color:#e6a23c}.field-sample{display:block;font-size:10px;color:#909399;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.type-badge.type-string{background:#ecf5ff;color:#409eff}.type-badge.type-number{background:#f0f9eb;color:#67c23a}.type-badge.type-boolean{background:#fdf6ec;color:#e6a23c}.type-badge.type-array{background:#fef0f0;color:#f56c6c}.type-badge.type-object{background:#f4f4f5;color:#909399}.type-badge.type-null{background:#f4f4f5;color:#c0c4cc}.loop-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:#606266;cursor:pointer}.loop-toggle input{accent-color:#1890ff}.na-cell{color:#c0c4cc}.compact-select-sm{padding:4px 8px;font-size:12px;border:1px solid var(--border-lighter);border-radius:4px;background:#fff}.compact-select-sm:focus{outline:none;border-color:#1890ff}.output-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.output-header label{font-size:13px;color:#606266}.hint-text{font-size:12px;color:#909399}.record-preview{font-size:12px;color:#909399;margin-left:auto}.record-preview strong{color:#1890ff}.no-output-fields{text-align:center;padding:30px 20px;background:#fafafa;border-radius:8px;border:1px dashed var(--border-lighter)}.no-output-fields p{margin:0;color:#606266}.no-output-fields .hint{font-size:12px;color:#909399;margin-top:8px}.kv-item .form-input{flex:1}.input-params-section{margin-top:16px}.input-params-list{display:flex;flex-direction:column;gap:8px}.input-param-row{display:flex;gap:8px;align-items:center}.input-param-row .param-key{width:140px;flex-shrink:0;padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px;background:#fafafa}.input-param-row .variable-input-simple{flex:1}.input-param-row .btn-icon-small{padding:6px 8px;background:none;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;font-size:12px;color:#999;transition:all .2s}.input-param-row .btn-icon-small:hover{background:#fff2f0;border-color:#ff4d4f;color:#ff4d4f}.btn-add-param{padding:8px 16px;background:#f5f5f5;border:1px dashed #d9d9d9;border-radius:6px;color:#666;cursor:pointer;font-size:13px;transition:all .2s;width:fit-content;margin-top:8px}.btn-add-param:hover{background:#e6f7ff;border-color:#1890ff;color:#1890ff}.variable-input-simple{position:relative;flex:1;display:flex}.variable-input-simple .form-input{flex:1;padding-right:40px}.variable-input-simple .var-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:none;background:#e6f4ff;color:#1890ff;border-radius:4px;cursor:pointer;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.variable-input-simple .var-btn:hover{background:#1890ff;color:#fff}.var-dropdown-v2{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 16px #00000026;z-index:1000;min-width:280px;margin-top:4px}.var-dropdown-header{padding:10px 14px;font-size:12px;color:#666;border-bottom:1px solid #f0f0f0;background:#fafafa;border-radius:8px 8px 0 0;display:flex;align-items:center}.var-dropdown-header .back-btn{background:none;border:none;color:#1890ff;cursor:pointer;font-size:14px;padding:0;margin-right:8px}.var-empty{padding:20px;text-align:center;color:#999}.var-empty p{margin:0}.var-empty .hint{font-size:12px;margin-top:4px}.var-sources{max-height:300px;overflow-y:auto}.var-source-item{display:flex;align-items:center;padding:12px 16px;cursor:pointer;border-bottom:1px solid #f5f5f5;transition:background .15s}.var-source-item:hover{background:#f5f5f5}.var-source-item:last-child{border-bottom:none}.source-label{font-weight:500;color:#333;min-width:100px}.source-desc{flex:1;font-size:12px;color:#888;margin-left:8px}.source-count{font-size:11px;padding:2px 8px;background:#e6f4ff;color:#1890ff;border-radius:10px;margin-left:8px}.source-arrow{color:#ccc;font-size:16px;margin-left:8px}.var-list{max-height:300px;overflow-y:auto}.var-item-v2{padding:10px 16px;cursor:pointer;border-bottom:1px solid #f5f5f5;transition:background .15s}.var-item-v2:hover{background:#e6f4ff}.var-item-v2:last-child{border-bottom:none}.var-info{display:flex;flex-direction:column;gap:2px}.variable-input-simple .var-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 16px #00000026;z-index:1000;max-height:250px;overflow-y:auto;margin-top:4px}.workflow-arrow{display:flex;justify-content:center;align-items:center;padding:12px 0}.workflow-arrow svg{width:20px;height:20px;color:#bfbfbf}.field-picker-modal.large{width:900px;max-width:95vw;max-height:85vh;display:flex;flex-direction:column}.field-picker-modal .modal-header{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0;background:#fafafa;position:relative}.field-picker-modal .modal-header h3{margin:0;font-size:16px;font-weight:600;color:#333;flex:1}.field-picker-modal .modal-header-actions{display:flex;gap:8px;margin-right:16px}.field-picker-modal .modal-body{flex:1;overflow:hidden;padding:16px 20px;display:flex;flex-direction:column}.field-picker-modal .modal-desc{margin:0 0 16px;font-size:13px;color:#666;line-height:1.5}.field-picker-table-wrapper{flex:1;overflow:auto;border:1px solid #e0e0e0;border-radius:8px}.field-picker-table{width:100%;border-collapse:collapse;font-size:13px}.field-picker-table thead{position:sticky;top:0;z-index:10;background:#f5f7fa}.field-picker-table th{padding:12px 16px;text-align:left;font-weight:600;color:#333;border-bottom:1px solid #e0e0e0;white-space:nowrap}.field-picker-table td{padding:10px 16px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.field-picker-table tr:hover{background:#fafafa}.field-picker-table tr.selected{background:#e6f7ff}.field-picker-table tr.object-row{background:#fffbe6}.field-picker-table tr.array-row{background:#f6ffed}.td-checkbox{width:30px;text-align:center}.td-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.td-name{min-width:180px}.field-name-cell{display:flex;align-items:center;gap:8px}.field-name-cell .expand-toggle{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#666;font-size:10px;transition:transform .2s}.field-name-cell .expand-toggle.expanded{color:#1890ff}.field-name-cell .expand-placeholder{width:16px}.field-name-cell .field-name-text{font-weight:500;color:#333}.td-type{width:100px}.type-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.type-tag.type-string{background:#e6f7ff;color:#1890ff}.type-tag.type-number{background:#f6ffed;color:#52c41a}.type-tag.type-boolean{background:#fff7e6;color:#fa8c16}.type-tag.type-object{background:#f9f0ff;color:#722ed1}.type-tag.type-array{background:#fff0f6;color:#eb2f96}.td-value{max-width:250px}.value-preview{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#666;font-size:12px}.td-path{min-width:200px}.json-path{font-family:monospace;font-size:12px;color:#666;background:#f5f5f5;padding:2px 6px;border-radius:4px}.loop-btn{margin-left:8px;padding:2px 8px;font-size:11px;border:1px solid #1890ff;background:#fff;color:#1890ff;border-radius:4px;cursor:pointer}.loop-btn.active{background:#1890ff;color:#fff}.field-picker-modal .modal-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid #e0e0e0;background:#fafafa}.field-picker-modal .footer-hint{font-size:13px;color:#666}.field-picker-modal .footer-btns{display:flex;gap:8px}.btn-close-modal{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:none;background:none;font-size:20px;color:#999;cursor:pointer;border-radius:4px}.btn-close-modal:hover{background:#f0f0f0;color:#333}.output-config-section{padding:20px}.output-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.output-header .form-label{margin:0;font-size:14px;font-weight:600;color:#333}.output-header .compact-select{min-width:180px}.output-header .btn{white-space:nowrap}.record-preview{font-size:13px;color:#666;margin-left:auto}.record-preview strong{color:#1890ff;font-size:16px}.output-field-table{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;background:#fff;margin-bottom:20px}.field-mapping-table{width:100%;border-collapse:collapse;font-size:13px}.field-mapping-table thead{background:#f5f7fa}.field-mapping-table th{padding:12px 16px;text-align:left;font-weight:600;color:#333;font-size:13px;border-bottom:1px solid #e0e0e0}.field-mapping-table td{padding:12px 16px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.field-mapping-table tr:hover{background:#fafafa}.field-mapping-table .compact-input{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px}.field-mapping-table .compact-select-sm{padding:6px 10px;font-size:13px;border:1px solid #d9d9d9;border-radius:6px;min-width:100px}.field-path-cell{display:flex;flex-direction:column;gap:4px}.field-path-cell .path{font-family:monospace;font-size:13px;color:#333;word-break:break-all}.field-path-cell .sample{font-size:11px;color:#999;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.type-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.output-actions{display:flex;align-items:center;gap:12px;padding:16px 0;border-top:1px solid #f0f0f0;margin-top:16px}.output-actions .btn{display:inline-flex;align-items:center;gap:6px}.code-preview-section{margin-top:20px}.code-preview-section h4{font-size:14px;color:#333;margin:0 0 12px;display:flex;align-items:center;gap:8px}.code-preview-box{background:#1e1e1e;border-radius:8px;overflow:hidden}.code-preview-box pre{margin:0;padding:16px;color:#d4d4d4;font-size:12px;font-family:Consolas,Monaco,monospace;overflow-x:auto;max-height:300px;overflow-y:auto}.code-preview-box pre .key{color:#9cdcfe}.code-preview-box pre .string{color:#ce9178}.code-preview-box pre .number{color:#b5cea8}.code-preview-box pre .boolean{color:#569cd6}details.code-details{margin-top:16px;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}details.code-details summary{padding:12px 16px;background:#fafafa;cursor:pointer;font-size:13px;color:#1890ff;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:8px}details.code-details summary:hover{background:#f0f0f0}details.code-details[open] summary{border-bottom:1px solid #e0e0e0}details.code-details .code-content{padding:0}details.code-details pre{margin:0;padding:16px;background:#1e1e1e;color:#d4d4d4;font-size:12px;font-family:Consolas,Monaco,monospace;overflow-x:auto;max-height:250px}.node-test-section{margin-top:20px;padding-top:20px;border-top:1px dashed #e0e0e0}.node-test-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.btn-test-api{padding:10px 24px;background:linear-gradient(135deg,#1890ff,#096dd9);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:0 2px 6px #1890ff4d}.btn-test-api:hover:not(:disabled){background:linear-gradient(135deg,#40a9ff,#1890ff);box-shadow:0 4px 12px #1890ff66}.btn-test-api:disabled{opacity:.6;cursor:not-allowed}.test-status{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500}.test-status.success{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.test-status.error{background:#fff2f0;color:#ff4d4f;border:1px solid #ffccc7}.node-output-section{margin-top:20px;padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.output-section-header{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}.output-section-header .form-label{margin:0;font-size:14px;font-weight:600}.output-section-header .hint{font-size:12px;color:#64748b}.output-section-header .hint code{padding:2px 6px;background:#e2e8f0;border-radius:3px;font-family:monospace;color:#0891b2}.available-fields-section{margin-top:16px}.available-fields-header{font-size:13px;color:#1890ff;margin-bottom:10px}.available-fields-list{display:flex;flex-direction:column;gap:8px}.available-field-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .15s}.available-field-item:hover{border-color:#1890ff;background:#e6f7ff}.available-field-item .field-name{font-family:monospace;font-size:13px;color:#333;flex:1}.available-field-item .field-type{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.available-field-item .field-sample{font-size:12px;color:#999;max-width:150px;overflow:hidden;text-overflow:ellipsis}.available-field-item .add-btn{padding:4px 12px;background:#1890ff;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer}.api-channel-section{padding:20px}.api-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.api-info-item{background:#fafafa;padding:16px;border-radius:8px;border:1px solid #e0e0e0}.api-info-item label{display:block;font-size:13px;color:#666;margin-bottom:8px}.api-url-box{display:flex;gap:8px}.api-url-box input{flex:1;padding:10px 14px;border:1px solid #d9d9d9;border-radius:6px;font-family:monospace;font-size:13px;background:#fff}.api-key-box{display:flex;gap:8px}.api-key-box input{flex:1;padding:10px 14px;border:1px solid #d9d9d9;border-radius:6px;font-family:monospace;font-size:13px}.api-example-section{margin-top:20px}.api-example-section h4{font-size:14px;color:#333;margin:0 0 12px;display:flex;align-items:center;gap:8px}.api-code-block{background:#1e1e1e;border-radius:8px;overflow:hidden;position:relative}.api-code-block .code-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#2d2d2d;border-bottom:1px solid #3d3d3d}.api-code-block .code-header span{color:#999;font-size:12px}.api-code-block .copy-btn{padding:4px 12px;background:#3d3d3d;color:#ccc;border:none;border-radius:4px;font-size:12px;cursor:pointer}.api-code-block .copy-btn:hover{background:#4d4d4d;color:#fff}.api-code-block pre{margin:0;padding:16px;color:#d4d4d4;font-size:13px;font-family:Consolas,Monaco,monospace;overflow-x:auto;line-height:1.5}.api-code-block pre .keyword{color:#569cd6}.api-code-block pre .string{color:#ce9178}.api-code-block pre .comment{color:#6a9955}.api-test-section{margin-top:24px;padding:20px;background:#fafafa;border-radius:8px;border:1px solid #e0e0e0}.api-test-section h4{font-size:14px;color:#333;margin:0 0 16px}.api-test-inputs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:16px}.api-test-inputs .input-group{display:flex;flex-direction:column;gap:6px}.api-test-inputs label{font-size:12px;color:#666}.api-test-inputs input{padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px}.api-test-result{margin-top:16px}.api-test-result .result-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.api-test-result pre{background:#1e1e1e;color:#d4d4d4;padding:16px;border-radius:8px;font-size:12px;overflow-x:auto;max-height:300px}.field-table th{padding:14px 16px;font-size:13px}.field-table td{padding:10px 16px}.field-table td select{min-width:100px;padding:8px 12px}.output-source-row{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding:16px;background:#f5f7fa;border-radius:8px;flex-wrap:wrap}.output-source-row label{font-size:14px;font-weight:500;color:#333;white-space:nowrap}.output-source-row .compact-select{min-width:180px;padding:10px 14px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;background:#fff}.output-source-row .btn{padding:10px 20px;font-size:14px}.output-source-row .hint-text{font-size:13px;color:#909399}.output-source-row .record-preview{margin-left:auto;font-size:14px;color:#666}.output-source-row .record-preview strong{color:#1890ff;font-size:18px;margin:0 4px}.no-output-fields{text-align:center;padding:40px 20px;background:#fafafa;border-radius:8px;border:1px dashed #d9d9d9}.no-output-fields p{margin:0 0 8px;color:#333;font-size:14px}.no-output-fields .hint{color:#909399;font-size:13px}.field-mapping-table th{background:#f5f7fa}.field-mapping-table .field-path{display:block;font-family:monospace;font-size:12px;color:#333;word-break:break-all;line-height:1.4}.field-mapping-table .field-path.array-path{color:#e6a23c}.field-mapping-table .field-sample{display:block;font-size:11px;color:#909399;margin-top:4px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.output-config-actions{display:flex;align-items:center;gap:12px;padding:16px;background:#fafafa;border-top:1px solid #e0e0e0;margin-top:16px;border-radius:0 0 8px 8px}.output-config-actions .count-text{font-size:13px;color:#666}.output-config-actions .count-text strong{color:#1890ff}.code-block{background:#1e1e1e;color:#d4d4d4;padding:16px;border-radius:8px;font-size:13px;font-family:Consolas,Monaco,Menlo,monospace;overflow-x:auto;line-height:1.5;white-space:pre-wrap;word-break:break-all}.test-result{margin-top:16px;border-radius:8px;overflow:hidden}.test-result-header{padding:12px 16px;font-weight:500;font-size:14px}.test-result.success .test-result-header{background:#f6ffed;color:#52c41a}.test-result.error .test-result-header{background:#fff2f0;color:#ff4d4f}.test-result-body{background:#1e1e1e;color:#d4d4d4;padding:16px;margin:0;font-size:12px;font-family:Consolas,Monaco,monospace;max-height:300px;overflow:auto}.response-details{margin-top:16px;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.response-details summary{padding:12px 16px;background:#fafafa;cursor:pointer;font-size:14px;color:#333;display:flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}.response-details summary:hover{background:#f0f0f0}.response-details summary svg{color:#1890ff}.response-details[open] summary{border-bottom:1px solid #e0e0e0}.response-details pre{margin:0;padding:16px;background:#1e1e1e;color:#d4d4d4;font-size:13px;font-family:Consolas,Monaco,monospace;overflow-x:auto;max-height:300px;line-height:1.5}.test-inputs{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:16px}.test-input-row{display:flex;flex-direction:column;gap:6px}.test-input-row label{font-size:13px;color:#606266;font-weight:500}.test-input-row input{padding:10px 14px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px}.test-input-row input:focus{border-color:#1890ff;outline:none;box-shadow:0 0 0 2px #1890ff1a}.api-test-section{margin-top:24px;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.api-test-section .form-label{font-size:15px;font-weight:600;color:#333;display:flex;align-items:center;gap:8px}.form-hint{color:#888;font-size:12px;margin-top:8px}.copy-input{display:flex;gap:8px;align-items:center}.copy-input .form-input{flex:1;font-family:monospace;font-size:13px;background:#fafafa}.parsed-fields-section{margin-top:16px;padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.parsed-fields-header{font-size:13px;color:#1890ff;font-weight:500;margin-bottom:12px;display:flex;align-items:center;gap:8px}.parsed-fields-list{display:flex;flex-wrap:wrap;gap:8px}.parsed-field-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:12px;transition:all .15s}.parsed-field-item:hover:not(.selected){border-color:#1890ff;background:#e6f7ff}.parsed-field-item.selected{background:#f0fdf4;border-color:#52c41a;cursor:default}.parsed-field-item .field-name{font-weight:500;color:#333;font-family:monospace}.parsed-field-item .field-type{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.parsed-field-item .field-type.type-string{background:#e6f7ff;color:#1890ff}.parsed-field-item .field-type.type-number{background:#f6ffed;color:#52c41a}.parsed-field-item .field-type.type-boolean{background:#fff7e6;color:#fa8c16}.parsed-field-item .field-type.type-array{background:#f9f0ff;color:#722ed1}.parsed-field-item .field-type.type-object{background:#fff0f6;color:#eb2f96}.parsed-field-item .field-sample{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#999;font-size:11px}.parsed-field-item .add-icon{color:#1890ff;font-weight:700;font-size:14px}.parsed-field-item .added-icon{color:#52c41a;font-size:14px}.test-status-mini{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500}.test-status-mini.success{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.test-status-mini.error{background:#fff2f0;color:#ff4d4f;border:1px solid #ffccc7}.test-error-msg{margin-top:12px;padding:12px 16px;background:#fff2f0;border:1px solid #ffccc7;border-radius:6px;color:#ff4d4f;font-size:13px}.response-json{margin:0;padding:16px;background:#1e1e1e;color:#d4d4d4;font-size:12px;font-family:Consolas,Monaco,monospace;max-height:250px;overflow:auto;border-radius:0 0 8px 8px}.output-params-list{display:flex;flex-wrap:wrap;gap:8px;min-height:40px;padding:12px;background:#fff;border-radius:6px;border:1px dashed #d9d9d9}.output-params-list .empty-hint{color:#999;font-size:13px}.output-param-item{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#e6f7ff,#f0fdf4);border:1px solid #91d5ff;border-radius:6px;font-size:12px}.output-param-item .param-name{font-weight:600;color:#1890ff}.output-param-item .param-var{padding:2px 6px;background:#1890ff;color:#fff;border-radius:4px;font-family:monospace;font-size:11px}.output-param-item button{background:none;border:none;color:#999;cursor:pointer;font-size:14px;padding:0 2px}.output-param-item button:hover{color:#ff4d4f}.btn-mapping{padding:4px 10px;font-size:12px;border:1px solid #d9d9d9;background:#fff;border-radius:4px;cursor:pointer;transition:all .2s;color:#666}.btn-mapping:hover{border-color:#1890ff;color:#1890ff}.btn-mapping.active{background:#e6f7ff;border-color:#1890ff;color:#1890ff}.value-mapping-modal{width:500px;max-width:95vw;max-height:80vh;background:#fff;border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.value-mapping-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f0f0f0}.value-mapping-modal .modal-header h3{margin:0;font-size:16px;font-weight:600}.value-mapping-modal .btn-close{width:28px;height:28px;border:none;background:transparent;font-size:20px;cursor:pointer;color:#999;border-radius:4px}.value-mapping-modal .btn-close:hover{background:#f5f5f5;color:#333}.value-mapping-modal .modal-body{padding:20px;overflow-y:auto;flex:1}.value-mapping-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #f0f0f0}.mapping-info{background:#f5f7fa;padding:12px 16px;border-radius:6px;margin-bottom:16px}.mapping-info p{margin:0;font-size:13px;color:#666}.mapping-info .hint{margin-top:6px;font-size:12px;color:#999}.toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.toggle-label input{width:16px;height:16px;accent-color:#1890ff}.mapping-rules{margin:16px 0}.rules-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.rules-header span{font-size:14px;font-weight:500;color:#333}.btn-add-rule{padding:4px 12px;font-size:12px;background:#1890ff;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-add-rule:hover{background:#40a9ff}.no-rules{padding:20px;text-align:center;color:#999;font-size:13px;background:#fafafa;border-radius:6px}.rules-table{width:100%;border-collapse:collapse}.rules-table th{text-align:left;padding:8px;font-size:12px;color:#999;font-weight:400}.rules-table td{padding:6px 8px}.rules-table td.arrow{width:30px;text-align:center;color:#999}.rules-table input{width:100%;padding:8px 10px;border:1px solid #d9d9d9;border-radius:4px;font-size:13px}.rules-table input:focus{outline:none;border-color:#1890ff}.btn-remove-rule{width:24px;height:24px;border:none;background:transparent;color:#999;font-size:16px;cursor:pointer;border-radius:4px}.btn-remove-rule:hover{background:#fff1f0;color:#ff4d4f}.value-mapping-modal .form-group{margin-bottom:16px}.value-mapping-modal .form-group label{display:block;margin-bottom:6px;font-size:13px;color:#666}.value-mapping-modal .form-group input[type=text]{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:13px}.value-mapping-modal .form-group input[type=text]:focus{outline:none;border-color:#1890ff}.mock-output-row{display:flex;gap:16px}.mock-section-half{flex:1;min-width:0}.mock-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.mock-section-header h4{margin:0;font-size:13px;font-weight:600;color:#333}.btn-expand-code{width:24px;height:24px;border:none;background:#f5f5f5;border-radius:4px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;color:#666;transition:all .2s}.btn-expand-code:hover{background:#1890ff;color:#fff}.json-preview-dark{background:#1e1e1e!important;color:#d4d4d4!important;font-family:Monaco,Menlo,Consolas,monospace;font-size:11px;line-height:1.5;padding:12px;border-radius:6px;max-height:180px;overflow:auto;margin:0;border:1px solid #333}.json-preview-dark::-webkit-scrollbar{width:6px;height:6px}.json-preview-dark::-webkit-scrollbar-track{background:#2d2d2d}.json-preview-dark::-webkit-scrollbar-thumb{background:#555;border-radius:3px}.json-preview-dark::-webkit-scrollbar-thumb:hover{background:#777}.code-expand-modal{background:#fff;border-radius:12px;width:90%;max-width:800px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #0000004d}.code-expand-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e8e8e8}.code-expand-modal .modal-header h3{margin:0;font-size:16px;font-weight:600}.btn-close-modal{width:32px;height:32px;border:none;background:#f5f5f5;border-radius:50%;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;color:#666}.btn-close-modal:hover{background:#ff4d4f;color:#fff}.code-expand-modal .modal-body{flex:1;overflow:auto;padding:16px 20px}.json-preview-expanded{background:#1e1e1e;color:#d4d4d4;font-family:Monaco,Menlo,Consolas,monospace;font-size:13px;line-height:1.6;padding:20px;border-radius:8px;margin:0;white-space:pre-wrap;word-break:break-word;min-height:300px;max-height:calc(85vh - 120px);overflow:auto}.json-preview-expanded::-webkit-scrollbar{width:8px;height:8px}.json-preview-expanded::-webkit-scrollbar-track{background:#2d2d2d}.json-preview-expanded::-webkit-scrollbar-thumb{background:#555;border-radius:4px}@media (max-width: 768px){.mock-output-row{flex-direction:column}.mock-section-half{flex:none}}.output-field-header{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0;margin-bottom:0}.field-count-info{font-size:13px;color:#666}.field-count-info .collapsed-hint{color:#999;margin-left:8px}.output-field-actions{display:flex;gap:8px;align-items:center}.btn-text{background:none!important;border:none!important;color:#999!important;padding:4px 8px!important;font-size:13px!important}.btn-text:hover{color:#ff4d4f!important;background:#fff1f0!important}.field-list-toggle{padding:12px;text-align:center;border-top:1px solid #f0f0f0;background:#fafafa}.btn-toggle-expand{background:none;border:1px solid #d9d9d9;color:#666;padding:6px 16px;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s}.btn-toggle-expand:hover{border-color:#1890ff;color:#1890ff;background:#e6f4ff}.form-row{display:flex;gap:16px;align-items:flex-start}.icon-upload-wrapper{display:flex;flex-direction:column;align-items:center;gap:4px}.icon-preview{width:80px;height:80px;border:2px dashed #d9d9d9;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;background:#fafafa;position:relative;overflow:hidden}.icon-preview:hover{border-color:#1890ff;background:#e6f4ff}.icon-preview img{width:100%;height:100%;object-fit:cover;border-radius:10px}.icon-placeholder{font-size:32px}.icon-uploading{position:absolute;top:0;right:0;bottom:0;left:0;background:#fffc;display:flex;align-items:center;justify-content:center;font-size:12px;color:#1890ff}.icon-hint{font-size:11px;color:#999}@media (max-width: 768px){.form-row{flex-direction:column}.form-row .form-group{flex:none!important;width:100%}.icon-upload-wrapper{flex-direction:row;gap:12px}.icon-preview{width:60px;height:60px}}.ai-field-matcher-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:1000}.ai-field-matcher-sidebar{position:fixed;top:0;right:0;bottom:0;width:480px;max-width:90vw;background:#fff;box-shadow:-4px 0 24px #00000026;display:flex;flex-direction:column;animation:slideIn .25s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #f0f0f0;background:#fafafa}.sidebar-header h3{font-size:18px;font-weight:600;margin:0;color:#1a1a1a}.sidebar-header .close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:0;line-height:1;transition:color .2s}.sidebar-header .close-btn:hover{color:#333}.sidebar-content{flex:1;overflow-y:auto;padding:24px}.matcher-intro{margin-bottom:20px}.matcher-intro p{font-size:14px;color:#666;margin:0 0 12px;line-height:1.6}.field-stats{display:inline-flex;padding:8px 14px;background:#f5f5f5;border-radius:6px;font-size:13px;color:#666}.field-stats strong{color:#1890ff;margin:0 2px}.input-section{margin-bottom:20px}.input-section label{display:block;font-weight:600;font-size:14px;margin-bottom:10px;color:#333}.document-input{width:100%;padding:14px;border:1px solid #e8e8e8;border-radius:8px;font-size:13px;font-family:Consolas,Monaco,monospace;resize:vertical;min-height:200px;line-height:1.6;transition:border-color .2s}.document-input:focus{outline:none;border-color:#1890ff}.document-input::placeholder{color:#bbb;font-size:12px}.match-btn{margin-top:16px;width:100%;padding:12px;background:#1a1a1a;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center;gap:8px}.match-btn:hover:not(:disabled){background:#333}.match-btn:disabled{opacity:.6;cursor:not-allowed}.loading-dot{width:6px;height:6px;background:#fff;border-radius:50%;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.error-message{margin-top:16px;padding:12px 16px;background:#fff2f0;border:1px solid #ffccc7;color:#ff4d4f;border-radius:8px;font-size:13px}.result-section{margin-top:24px;padding-top:24px;border-top:1px solid #f0f0f0}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.result-stats{font-size:14px;color:#666}.result-stats strong{color:#52c41a;font-size:16px}.mapping-list{max-height:320px;overflow-y:auto;border:1px solid #e8e8e8;border-radius:8px;background:#fafafa}.mapping-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fff;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background .2s}.mapping-item:last-child{border-bottom:none}.mapping-item:hover:not(.no-match){background:#f5f5f5}.mapping-item.selected{background:#e6f7ff}.mapping-item.no-match{opacity:.6;cursor:not-allowed;background:#fafafa}.mapping-item input[type=checkbox]{flex-shrink:0;width:16px;height:16px;cursor:pointer}.mapping-content{flex:1;display:flex;align-items:center;gap:10px;min-width:0}.source-field{font-family:Consolas,Monaco,monospace;font-size:12px;color:#1890ff;background:#f0f5ff;padding:2px 8px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.arrow{color:#d9d9d9;flex-shrink:0}.chinese-name{flex:1;font-size:14px;color:#999;font-style:italic}.chinese-name.matched{color:#1a1a1a;font-style:normal;font-weight:500}.sidebar-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #f0f0f0;background:#fafafa}.sidebar-footer .btn-secondary{padding:10px 20px;background:#fff;border:1px solid #e8e8e8;border-radius:6px;font-size:14px;color:#666;cursor:pointer}.sidebar-footer .btn-secondary:hover{border-color:#d9d9d9;color:#333}.sidebar-footer .btn-primary{padding:10px 20px;background:#1a1a1a;border:none;border-radius:6px;font-size:14px;color:#fff;cursor:pointer}.sidebar-footer .btn-primary:hover:not(:disabled){background:#333}.sidebar-footer .btn-primary:disabled{opacity:.5;cursor:not-allowed}.progress-section{margin-top:16px;padding:16px;background:#f8f9fa;border-radius:8px}.progress-bar-container{width:100%;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#1890ff,#52c41a);border-radius:4px;transition:width .3s ease}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.progress-text{font-size:13px;color:#666}.progress-percent{font-size:14px;font-weight:600;color:#1890ff}@media (max-width: 540px){.ai-field-matcher-sidebar{width:100%;max-width:100%}.source-field{max-width:100px;font-size:11px}}.ai-code-generator-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.ai-code-generator-modal{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header h3{font-size:18px;margin:0;display:flex;align-items:center;gap:8px}.modal-header h3:before{content:"🤖"}.modal-header .close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-light);padding:0;line-height:1}.modal-body{flex:1;overflow-y:auto;padding:24px}.context-section{margin-bottom:20px}.context-section h4{font-size:14px;color:var(--text-secondary);margin-bottom:10px}.context-info{background:var(--bg-color);border-radius:8px;padding:12px}.context-item{display:flex;gap:8px;font-size:13px;margin-bottom:6px}.context-item:last-child{margin-bottom:0}.context-item .label{color:var(--text-light);min-width:100px}.context-item .value{color:var(--text-primary);font-family:monospace}.description-section label{display:block;font-weight:600;margin-bottom:10px;color:var(--text-primary)}.description-input{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;resize:vertical;min-height:100px}.description-input:focus{outline:none;border-color:var(--primary-color)}.generate-btn{margin-top:12px;width:100%}.error-message{margin-top:16px;padding:12px;background:#f8d7da;color:#721c24;border-radius:8px;font-size:14px}.result-section{margin-top:20px;border-top:1px solid var(--border-color);padding-top:20px}.result-section label{display:block;font-weight:600;margin-bottom:10px;color:var(--text-primary)}.code-preview{background:#1e1e1e;color:#d4d4d4;border-radius:8px;padding:16px;overflow-x:auto;font-size:13px;line-height:1.5;max-height:300px;overflow-y:auto}.code-preview code{font-family:Monaco,Menlo,Ubuntu Mono,monospace;white-space:pre}.result-hint{font-size:12px;color:var(--text-light);margin-top:8px}@media (max-width: 640px){.ai-code-generator-modal{margin:16px;max-width:none}}.connector-config-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#fff;padding:20px}.config-modal{width:100%;max-width:500px;background:#fff;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #f0f0f0}.modal-title{margin:0;font-size:16px;font-weight:600;color:#333}.btn-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;font-size:20px;color:#999;cursor:pointer;border-radius:4px}.btn-close:hover{background:#f5f5f5;color:#666}.config-error{padding:12px 16px;background:#fff2f0;border:1px solid #ffccc7;border-radius:6px;color:#ff4d4f;font-size:13px;margin-bottom:20px}.form-item{display:flex;flex-direction:column;gap:8px}.form-label{font-size:14px;color:#333;font-weight:500}.form-label .required{color:#ff4d4f;margin-right:4px}.config-input,.config-select,.config-textarea{width:100%;padding:10px 14px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;color:#333;background:#fff;transition:border-color .2s,box-shadow .2s}.config-input:focus,.config-select:focus,.config-textarea:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.config-input::placeholder{color:#bfbfbf}.config-textarea{resize:vertical;min-height:80px}.form-hint{font-size:12px;color:#ff4d4f;margin-top:4px}.config-ready{text-align:center;padding:40px 20px}.ready-icon{width:48px;height:48px;margin:0 auto 16px;border-radius:50%;background:#f6ffed;color:#52c41a;font-size:24px;display:flex;align-items:center;justify-content:center}.ready-text{font-size:14px;color:#666}.modal-footer{padding:16px 24px;background:#fafafa}.btn-submit{width:100%;padding:12px 24px;background:#1890ff;color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s}.btn-submit:hover:not(:disabled){background:#40a9ff}.btn-submit:disabled{background:#bfbfbf;cursor:not-allowed}.service-footer{text-align:center;padding:16px;font-size:12px;color:#999;border-top:1px solid #f0f0f0}.config-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.loading-spinner{width:32px;height:32px;border:3px solid #f0f0f0;border-top-color:#1890ff;border-radius:50%;animation:spin .8s linear infinite}.config-loading p{margin-top:16px;font-size:14px;color:#666}@media (max-width: 540px){.connector-config-page{padding:16px}.config-modal{max-width:100%}.modal-header{padding:16px 20px}.modal-body{padding:20px}.modal-footer{padding:16px 20px}}.migration-page{min-height:100vh;background:#f5f7fa;padding:20px}.migration-header{display:flex;align-items:center;gap:20px;margin-bottom:24px}.migration-header h1{font-size:24px;color:#1f2329;margin:0}.migration-header .back-btn{padding:8px 16px;background:#fff;border:1px solid #e5e6eb;border-radius:6px;cursor:pointer;font-size:14px;color:#646a73;transition:all .2s}.migration-header .back-btn:hover{background:#f5f6f7;color:#1f2329}.migration-content{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.status-card,.action-card,.result-card,.error-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000f}.status-card h2,.action-card h2,.result-card h2{font-size:18px;color:#1f2329;margin:0 0 16px}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}.status-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f7f8fa;border-radius:8px}.status-item .label{font-size:14px;color:#646a73}.status-item .badge{font-size:13px;padding:4px 10px;border-radius:4px}.status-item .badge.success{background:#e8f5e9;color:#2e7d32}.status-item .badge.pending{background:#fff3e0;color:#e65100}.migration-needed{background:#fff8e1;border:1px solid #ffca28;border-radius:8px;padding:16px;margin-bottom:16px}.migration-needed p{margin:0;color:#f57c00;font-size:14px}.migration-needed .hint{margin-top:8px;color:#795548}.migration-complete{background:#e8f5e9;border:1px solid #66bb6a;border-radius:8px;padding:16px;margin-bottom:16px}.migration-complete p{margin:0;color:#2e7d32;font-size:14px}.refresh-btn{padding:8px 20px;background:#f5f6f7;border:1px solid #e5e6eb;border-radius:6px;cursor:pointer;font-size:14px;color:#646a73;transition:all .2s}.refresh-btn:hover:not(:disabled){background:#e5e6eb}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.action-card{position:relative}.action-card .card-badge{position:absolute;top:16px;right:16px;padding:4px 12px;border-radius:4px;font-size:12px;font-weight:500;background:#e8f0fe;color:#1967d2}.action-card .card-badge.new{background:#e6f4ea;color:#137333}.action-card .description{font-size:14px;color:#646a73;line-height:1.6;margin:0 0 12px}.action-card .description.hint{font-size:13px;color:#888;font-style:italic}.action-card .table-list{margin:0 0 16px;padding-left:20px}.action-card .table-list li{font-size:14px;color:#646a73;margin-bottom:8px;line-height:1.5}.action-card .table-list li strong{color:#1f2329}.status-hint{margin-bottom:16px}.status-hint .hint-warning{color:#f57c00;font-size:14px}.status-hint .hint-success{color:#2e7d32;font-size:14px}.table-status-group{margin-bottom:20px}.table-status-group h4{font-size:14px;color:#646a73;margin:0 0 12px;font-weight:500}.migrate-btn{padding:12px 32px;background:linear-gradient(135deg,#3370ff,#2860df);border:none;border-radius:8px;color:#fff;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:16px}.migrate-btn.primary{background:linear-gradient(135deg,#22c55e,#16a34a)}.migrate-btn.secondary{background:linear-gradient(135deg,#64748b,#475569)}.migrate-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3370ff4d}.migrate-btn.primary:hover:not(:disabled){box-shadow:0 4px 12px #22c55e4d}.migrate-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.result-card{border-left:4px solid #66bb6a}.result-card.error{border-left-color:#ef5350}.result-section{margin-bottom:16px}.result-section:last-child{margin-bottom:0}.result-section h3,.result-section h4{font-size:15px;color:#1f2329;margin:0 0 8px}.result-card h3{font-size:16px;color:#1f2329;margin:0 0 12px}.result-section ul{margin:0;padding-left:20px}.result-section li{font-size:14px;color:#646a73;margin-bottom:4px}.result-section li.success{color:#2e7d32}.result-section li.error{color:#c62828}.result-section .error-detail{color:#c62828;font-size:13px}.result-section.errors{background:#ffebee;border-radius:8px;padding:16px}.result-section.errors h3,.result-section.errors li{color:#c62828}.error-card{background:#ffebee;border:1px solid #ef5350}.error-card p{margin:0;color:#c62828;font-size:14px}.loading{text-align:center;padding:20px;color:#646a73}@media (max-width: 768px){.migration-page{padding:16px}.migration-header{flex-direction:column;align-items:flex-start;gap:12px}.migration-header h1{font-size:20px}.status-card,.action-card,.result-card,.error-card{padding:16px}.status-grid{grid-template-columns:1fr}.status-item{flex-direction:column;align-items:flex-start;gap:8px}.migrate-btn{width:100%}}.xhs-accounts-page{padding:24px;max-width:1200px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.header-left h1{font-size:24px;color:#1f2329;margin:0 0 8px}.header-left .subtitle{font-size:14px;color:#646a73;margin:0}.btn-primary{padding:10px 20px;background:linear-gradient(135deg,#ff2442,#ff6b81);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff24424d}.message-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.message-bar.success{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.message-bar.error{background:#ffebee;color:#c62828;border:1px solid #ef9a9a}.message-bar .close-btn{background:none;border:none;font-size:18px;cursor:pointer;opacity:.7;color:inherit}.loading-state{text-align:center;padding:60px 20px}.loading-state .spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid #ff2442;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.loading-state p{color:#646a73;margin:0}.error-state{text-align:center;padding:60px 20px}.error-state p{color:#c62828;margin-bottom:16px}.error-state button{padding:8px 20px;background:#fff;border:1px solid #e5e6eb;border-radius:6px;cursor:pointer}.empty-state{text-align:center;padding:60px 20px;background:#f7f8fa;border-radius:12px}.empty-state h3{font-size:18px;color:#1f2329;margin:0 0 8px}.empty-state p{font-size:14px;color:#646a73;margin:0 0 20px}.accounts-list{display:flex;flex-direction:column;gap:16px}.account-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(135deg,#fff5f7,#fff);border-bottom:1px solid #f0f0f0}.account-info h3{font-size:16px;color:#1f2329;margin:0 0 4px}.account-info .user-id{font-size:12px;color:#8f959e}.token-status.status-valid{background:#e8f5e9;color:#2e7d32}.token-status.status-expiring{background:#fff3e0;color:#e65100}.token-status.status-expired{background:#ffebee;color:#c62828}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.info-item label{font-size:12px;color:#8f959e}.info-item span{font-size:14px;color:#1f2329}.advertisers-section{margin-top:16px;padding-top:16px;border-top:1px solid #f0f0f0}.advertisers-section h4{font-size:14px;color:#1f2329;margin:0 0 12px}.advertisers-list{display:flex;flex-wrap:wrap;gap:8px}.advertiser-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f7f8fa;border-radius:6px;font-size:13px}.advertiser-item .adv-name{color:#1f2329}.advertiser-item .adv-id{color:#8f959e;font-size:11px}.card-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#f7f8fa;border-top:1px solid #f0f0f0}.card-footer .created-at{font-size:12px;color:#8f959e}.card-footer .actions{display:flex;gap:8px}.btn-secondary{padding:6px 14px;background:#fff;border:1px solid #e5e6eb;border-radius:6px;color:#646a73;font-size:13px;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background:#f5f6f7;color:#1f2329}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{padding:6px 14px;background:#fff;border:1px solid #ffcdd2;border-radius:6px;color:#c62828;font-size:13px;cursor:pointer;transition:all .2s}.btn-danger:hover:not(:disabled){background:#ffebee}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.help-section{margin-top:32px;padding:20px;background:#f7f8fa;border-radius:12px}.help-section h4{font-size:14px;color:#1f2329;margin:0 0 12px}.help-section ul{margin:0;padding-left:20px}.help-section li{font-size:13px;color:#646a73;line-height:1.8}@media (max-width: 768px){.xhs-accounts-page{padding:16px}.page-header{flex-direction:column;gap:16px}.header-left h1{font-size:20px}.btn-primary{width:100%}.card-header{flex-direction:column;align-items:flex-start;gap:8px}.info-grid{grid-template-columns:1fr}.card-footer{flex-direction:column;gap:12px;align-items:stretch}.card-footer .actions{justify-content:stretch}.card-footer .actions button{flex:1}.advertisers-list{flex-direction:column}.advertiser-item{justify-content:space-between}}.platform-accounts-page{padding:20px;max-width:1200px;margin:0 auto}.message-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:8px;margin-bottom:20px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.message-bar .close-btn{background:none;border:none;font-size:20px;cursor:pointer;opacity:.6;transition:opacity .2s}.message-bar .close-btn:hover{opacity:1}.platforms-section{margin-bottom:32px}.platforms-section h3{font-size:16px;font-weight:600;color:#333;margin:0 0 16px}.platforms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.platform-card{background:#fff;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 8px #0000000f;border:1px solid #eee;transition:all .2s}.platform-card:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 4px 16px #0000001a;border-color:var(--platform-color, #1890ff)}.platform-card.disabled{opacity:.6;background:#fafafa}.platform-icon{font-size:32px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f5f5,#fff);border-radius:12px;flex-shrink:0}.platform-info{flex:1;min-width:0}.platform-info h4{font-size:15px;font-weight:600;color:#1a1a1a;margin:0 0 4px}.platform-info p{font-size:12px;color:#888;margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.platform-info .account-count{font-size:12px;color:var(--platform-color, #1890ff);font-weight:500;margin-top:4px;display:inline-block}.btn-auth{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;background:var(--platform-color, #1890ff);color:#fff;border:none}.btn-auth:hover:not(:disabled){opacity:.9;transform:scale(1.02)}.btn-auth:disabled{background:#d9d9d9;color:#999;cursor:not-allowed}.filter-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px 16px;background:#f8f9fa;border-radius:10px;flex-wrap:wrap;gap:12px}.filter-tabs{display:flex;gap:8px;flex-wrap:wrap}.filter-tab{padding:8px 16px;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;background:#fff;color:#666;border:1px solid #ddd}.filter-tab:hover{border-color:var(--tab-color, #1890ff);color:var(--tab-color, #1890ff)}.filter-tab.active{background:var(--tab-color, #1890ff);color:#fff;border-color:var(--tab-color, #1890ff)}.btn-refresh{padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;background:#fff;color:#666;border:1px solid #ddd;transition:all .2s}.btn-refresh:hover{border-color:#1890ff;color:#1890ff}.accounts-content{min-height:200px}.accounts-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.account-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f;border:1px solid #eee;transition:all .2s}.account-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.account-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:linear-gradient(135deg,var(--platform-color, #1890ff)08,transparent);border-bottom:1px solid #f0f0f0}.platform-badge{display:flex;align-items:center;gap:8px}.platform-badge .badge-icon{font-size:18px}.platform-badge .badge-text{font-size:13px;font-weight:500;color:var(--platform-color, #1890ff)}.token-status{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.token-status.status-valid{background:#f0fdf4;color:#22c55e}.token-status.status-expiring{background:#fffbeb;color:#f59e0b}.token-status.status-expired{background:#fef2f2;color:#ef4444}.account-card .card-body{padding:16px}.account-title{margin-bottom:16px}.account-title h3{font-size:16px;font-weight:600;color:#1a1a1a;margin:0 0 4px}.account-title .user-id{font-size:12px;color:#999;font-family:monospace}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{font-size:11px;color:#999;text-transform:uppercase;letter-spacing:.5px}.info-item span{font-size:13px;color:#333}.advertisers-section{background:#f8f9fa;border-radius:8px;padding:12px}.advertisers-section h4{font-size:13px;font-weight:600;color:#333;margin:0 0 10px}.advertisers-list{display:flex;flex-direction:column;gap:8px}.advertiser-item{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:#fff;border-radius:6px;font-size:13px}.advertiser-item .adv-name{color:#333;font-weight:500}.advertiser-item .adv-id{color:#999;font-size:11px;font-family:monospace}.more-advertisers{font-size:12px;color:#888;text-align:center;padding:8px}.account-card .card-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fafafa;border-top:1px solid #f0f0f0;flex-wrap:wrap;gap:10px}.created-at{font-size:12px;color:#999}.actions{display:flex;gap:8px}.btn-secondary,.btn-danger{padding:6px 14px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-secondary{background:#f0f0f0;color:#666}.btn-secondary:hover:not(:disabled){background:#e0e0e0}.btn-danger{background:#fff1f0;color:#ff4d4f}.btn-danger:hover:not(:disabled){background:#ff4d4f;color:#fff}.btn-secondary:disabled,.btn-danger:disabled{opacity:.5;cursor:not-allowed}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-state .empty-icon{font-size:48px;margin-bottom:16px;opacity:.8}.empty-state p{color:#888;margin:0}.error-state p{color:#ff4d4f;margin-bottom:16px}.error-state button{padding:8px 20px;border-radius:6px;background:#1890ff;color:#fff;border:none;cursor:pointer}.help-section{margin-top:32px;padding:20px;background:#f8f9fa;border-radius:12px;border:1px solid #eee}.help-section h4{font-size:14px;font-weight:600;color:#333;margin:0 0 12px}.help-section ul{margin:0;padding-left:20px;color:#666;font-size:13px;line-height:1.8}@media (max-width: 768px){.platform-accounts-page{padding:16px}.page-header h1{font-size:20px}.platforms-grid{grid-template-columns:1fr}.platform-card{padding:16px}.accounts-list,.info-grid{grid-template-columns:1fr}.filter-tabs{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.filter-tab{flex-shrink:0}.account-card .card-footer{flex-direction:column;align-items:stretch}.actions{justify-content:flex-end}}.oauth-apps-page{padding:20px;max-width:1200px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.page-header h1{font-size:24px;font-weight:600;color:#1a1a1a;margin:0}.page-header .subtitle{color:#666;margin:4px 0 0;font-size:14px}.btn-primary{padding:10px 20px;background:linear-gradient(135deg,#1890ff,#096dd9);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1890ff4d}.message-bar.warning{background:#fffbeb;border:1px solid #f59e0b;color:#b45309}.message-bar .close-btn{background:none;border:none;font-size:20px;cursor:pointer;opacity:.6}.apps-content{min-height:300px}.apps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.app-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000f;border:1px solid #eee;cursor:pointer;transition:all .2s}.app-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a;border-color:#1890ff}.app-card .card-header{display:flex;gap:14px;margin-bottom:12px}.app-card .app-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#f0f5ff,#e6f0ff);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.app-card .app-icon img{width:32px;height:32px;object-fit:contain}.app-card .app-info h3{font-size:16px;font-weight:600;color:#1a1a1a;margin:0 0 4px}.app-card .auth-type{font-size:12px;color:#888}.app-card .app-desc{font-size:13px;color:#666;line-height:1.5;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.app-card .card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #f0f0f0}.token-count{display:flex;align-items:center;gap:6px;font-size:13px;color:#666}.card-actions{display:flex;gap:8px}.btn-icon{width:32px;height:32px;border-radius:6px;border:none;background:#f5f5f5;cursor:pointer;transition:all .2s;font-size:14px}.btn-icon:hover{background:#e8e8e8}.btn-icon.danger:hover{background:#fff1f0}.btn-quick-auth{padding:4px 10px;background:#1890ff;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-quick-auth:hover{background:#40a9ff}.add-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;border:2px dashed #d9d9d9;background:#fafafa}.add-card:hover{border-color:#1890ff;background:#f0f7ff}.add-card .add-icon{font-size:32px;color:#bbb;margin-bottom:8px}.add-card span{color:#888;font-size:14px}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.spinner{width:40px;height:40px;border:3px solid #f0f0f0;border-top-color:#1890ff;border-radius:50%;animation:spin .8s linear infinite}.empty-state .empty-icon{font-size:48px;margin-bottom:16px}.empty-state h3{font-size:18px;color:#333;margin:0 0 8px}.empty-state p{color:#888;margin:0 0 20px}.help-section{margin-top:40px;padding:24px;background:#f8f9fa;border-radius:12px}.help-section h4{font-size:16px;font-weight:600;color:#333;margin:0 0 12px}.help-section>p{color:#666;font-size:14px;margin:0 0 20px}.auth-types-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.auth-type-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#fff;border-radius:8px}.auth-type-item .type-icon{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:8px}.auth-type-item .type-info{display:flex;flex-direction:column;gap:4px}.auth-type-item .type-info strong{font-size:14px;color:#333}.auth-type-item .type-info span{font-size:12px;color:#888}@media (max-width: 768px){.oauth-apps-page{padding:16px}.page-header{flex-direction:column;gap:12px}.page-header h1{font-size:20px}.apps-grid,.auth-types-list{grid-template-columns:1fr}}.quick-auth-modal{width:420px;max-width:90vw;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 20px 40px #00000026}.quick-auth-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f0f0f0}.quick-auth-modal .modal-header h3{margin:0;font-size:16px;font-weight:600}.quick-auth-modal .btn-close{width:28px;height:28px;border:none;background:transparent;font-size:20px;cursor:pointer;color:#999;border-radius:4px}.quick-auth-modal .btn-close:hover{background:#f5f5f5;color:#333}.quick-auth-modal .modal-body{padding:20px}.quick-auth-modal .modal-hint{margin:0 0 16px;color:#666;font-size:14px}.quick-auth-modal .form-group{display:flex;flex-direction:column;gap:6px}.quick-auth-modal .form-group label{font-size:13px;font-weight:500;color:#333}.quick-auth-modal .required{color:#ff4d4f}.quick-auth-modal .form-input{padding:10px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;transition:border-color .2s}.quick-auth-modal .form-input:focus{outline:none;border-color:#1890ff}.quick-auth-modal .input-hint{font-size:12px;color:#999}.quick-auth-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #f0f0f0}.quick-auth-modal .btn{padding:8px 20px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.quick-auth-modal .btn-secondary{background:#fff;border:1px solid #d9d9d9;color:#666}.quick-auth-modal .btn-secondary:hover{border-color:#1890ff;color:#1890ff}.quick-auth-modal .btn-primary{background:#1890ff;border:1px solid #1890ff;color:#fff}.quick-auth-modal .btn-primary:hover{background:#40a9ff;border-color:#40a9ff}.quick-auth-modal .btn-primary:disabled{background:#f5f5f5;border-color:#d9d9d9;color:#bfbfbf;cursor:not-allowed}.json-path-picker-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.json-path-picker-modal{background:#fff;border-radius:12px;width:100%;max-width:1000px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.picker-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e8e8e8}.picker-header h3{margin:0;font-size:18px;color:#333}.picker-header .btn-close{width:32px;height:32px;border:none;background:#f5f5f5;border-radius:50%;font-size:20px;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center}.picker-header .btn-close:hover{background:#e8e8e8;color:#333}.picker-desc{padding:12px 24px;margin:0;background:#f9f9f9;font-size:13px;color:#666;border-bottom:1px solid #e8e8e8}.picker-desc .link-help{margin-left:12px;color:#1890ff;text-decoration:none}.picker-desc .link-help:hover{text-decoration:underline}.picker-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.json-table-container{flex:1;overflow:auto;padding:0}.json-table{width:100%;border-collapse:collapse;font-size:13px}.json-table thead{position:sticky;top:0;background:#fafafa;z-index:10}.json-table th{padding:12px 16px;text-align:left;font-weight:500;color:#666;border-bottom:1px solid #e8e8e8}.json-table td{padding:10px 16px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.json-table tr:hover{background:#f5f9ff}.json-table tr.has-children{background:#fafafa}.name-cell{display:flex;align-items:center;gap:6px}.expand-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:10px;color:#999;cursor:pointer;transition:transform .2s;-webkit-user-select:none;user-select:none}.expand-icon.expanded{transform:rotate(90deg)}.expand-icon:hover{color:#1890ff}.item-name{font-weight:500;color:#333}.type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-family:monospace}.type-badge.type-boolean{background:#fff7e6;color:#fa8c16}.type-badge.type-null{background:#f5f5f5;color:#999}.value-preview{display:block;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#666;font-size:12px}.json-path{display:block;padding:4px 8px;background:#f5f5f5;border-radius:4px;font-size:12px;color:#666;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-action{padding:4px 10px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;font-size:12px;cursor:pointer;white-space:nowrap;transition:all .2s}.btn-action:hover{border-color:#1890ff;color:#1890ff}.btn-generate{color:#52c41a;border-color:#b7eb8f}.btn-generate:hover:not(:disabled){background:#f6ffed;border-color:#52c41a;color:#52c41a}.btn-copy{color:#666}.selected-params-section{padding:16px 24px;background:#f6ffed;border-top:1px solid #b7eb8f}.selected-params-section h4{margin:0 0 12px;font-size:14px;color:#52c41a}.selected-params-list{display:flex;flex-wrap:wrap;gap:8px}.selected-param-item{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#fff;border:1px solid #b7eb8f;border-radius:6px}.selected-param-item .param-name{font-weight:500;color:#333}.selected-param-item .param-path{font-size:11px;color:#999;font-family:monospace}.selected-param-item .btn-remove{width:18px;height:18px;border:none;background:#fff1f0;color:#ff4d4f;border-radius:50%;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.selected-param-item .btn-remove:hover{background:#ff4d4f;color:#fff}.picker-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e8e8e8}.picker-footer .btn{padding:8px 24px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.picker-footer .btn-secondary{background:#fff;border:1px solid #d9d9d9;color:#666}.picker-footer .btn-secondary:hover{border-color:#1890ff;color:#1890ff}.picker-footer .btn-primary{background:#1890ff;border:1px solid #1890ff;color:#fff}.picker-footer .btn-primary:hover{background:#40a9ff}.picker-footer .btn-primary:disabled{background:#d9d9d9;border-color:#d9d9d9;cursor:not-allowed}@media (max-width: 768px){.json-path-picker-modal{max-width:100%;max-height:100vh;border-radius:0}.json-table{font-size:12px}.json-table th,.json-table td{padding:8px 10px}.action-buttons{flex-direction:column;gap:4px}}.oauth-app-edit{padding:20px;max-width:900px;margin:0 auto}.oauth-app-edit.loading-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.header-left{display:flex;align-items:center;gap:16px}.btn-back{padding:8px 16px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.btn-back:hover{background:#e8e8e8}.page-header h1{font-size:22px;font-weight:600;color:#1a1a1a;margin:0}.btn-primary{padding:10px 24px;background:linear-gradient(135deg,#1890ff,#096dd9);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #1890ff4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.message-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:8px;margin-bottom:20px}.message-bar.success{background:#f0fdf4;border:1px solid #22c55e;color:#15803d}.message-bar.error{background:#fef2f2;border:1px solid #ef4444;color:#dc2626}.close-btn{background:none;border:none;font-size:18px;cursor:pointer;opacity:.6}.tabs{display:flex;gap:4px;border-bottom:1px solid #e0e0e0;margin-bottom:24px}.tab{padding:12px 20px;background:none;border:none;border-bottom:2px solid transparent;font-size:14px;color:#666;cursor:pointer;transition:all .2s}.tab:hover{color:#1890ff}.tab.active{color:#1890ff;border-bottom-color:#1890ff;font-weight:500}.tab-content{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.form-section{background:#fff;border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 2px 8px #0000000f;border:1px solid #eee}.form-section h3{font-size:16px;font-weight:600;color:#333;margin:0 0 16px}.form-section h4{font-size:14px;font-weight:600;color:#666;margin:20px 0 12px}.section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.section-hint{font-size:13px;color:#888;margin:4px 0 0}.form-group label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.form-group label .required{color:#ef4444}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;transition:all .2s;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.form-group textarea{resize:vertical;min-height:80px}.field-hint{font-size:12px;color:#888;margin-top:6px}.readonly-field{display:flex;gap:8px}.readonly-field input{background:#f5f5f5;color:#666}.btn-copy{padding:10px 16px;background:#f5f5f5;border:1px solid #d9d9d9;border-radius:6px;cursor:pointer;white-space:nowrap}.btn-copy:hover{background:#e8e8e8}.form-row{display:flex;gap:16px}.form-row .form-group,.form-row.three-col .form-group{flex:1}.auth-type-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.auth-type-option{display:flex;align-items:center;gap:12px;padding:14px 16px;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;transition:all .2s}.auth-type-option:hover{border-color:#1890ff;background:#f0f7ff}.auth-type-option.selected{border-color:#1890ff;background:#e6f4ff}.auth-type-option .type-icon{font-size:24px}.auth-type-option .type-label{font-size:14px;color:#333}.params-list{display:flex;flex-direction:column;gap:12px}.param-item{background:#fafafa;border-radius:8px;padding:12px}.param-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.param-row:last-child{margin-bottom:0}.param-row input{flex:1;padding:8px 10px;border:1px solid #e0e0e0;border-radius:4px;font-size:13px}.param-row select{width:100px;padding:8px;border:1px solid #e0e0e0;border-radius:4px;font-size:13px}.param-name{flex:1}.param-label{flex:1.5}.param-type{width:80px!important;flex:none!important}.param-default{flex:2}.checkbox-label{display:flex;align-items:center;gap:4px;font-size:13px;color:#666;white-space:nowrap}.checkbox-label input{width:auto}.btn-remove{width:28px;height:28px;border-radius:4px;border:none;background:#fff1f0;color:#ff4d4f;cursor:pointer;font-size:12px;flex-shrink:0}.btn-add{padding:8px 16px;background:#f0f7ff;color:#1890ff;border:1px dashed #1890ff;border-radius:6px;cursor:pointer;font-size:13px}.btn-add:hover{background:#e6f4ff}.btn-add-small{padding:6px 12px;background:none;color:#1890ff;border:none;cursor:pointer;font-size:13px}.btn-add-small:hover{text-decoration:underline}.empty-params{text-align:center;padding:40px 20px;color:#888;background:#fafafa;border-radius:8px}.kv-item{display:flex;gap:8px;align-items:center}.kv-item input{flex:1;padding:8px 10px;border:1px solid #e0e0e0;border-radius:4px;font-size:13px}.kv-item button{width:28px;height:28px;border-radius:4px;border:none;background:#f5f5f5;cursor:pointer;font-size:12px}.kv-item button:hover{background:#ff4d4f;color:#fff}.token-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#fafafa;border-radius:8px;gap:16px}.token-info{display:flex;align-items:center;gap:12px}.token-name{font-weight:500;color:#333}.token-status{padding:2px 8px;border-radius:4px;font-size:12px}.token-status.active{background:#f0fdf4;color:#22c55e}.token-status.inactive{background:#fef2f2;color:#ef4444}.token-meta{flex:1;font-size:13px;color:#888}.token-actions{display:flex;gap:8px}.token-actions button{padding:6px 12px;border-radius:4px;border:none;background:#f5f5f5;cursor:pointer;font-size:13px}.token-actions button:hover{background:#e8e8e8}.token-actions button.danger{color:#ff4d4f}.token-actions button.danger:hover{background:#ff4d4f;color:#fff}.loading-state{text-align:center;padding:40px;color:#888}.spinner{width:32px;height:32px;border:3px solid #f0f0f0;border-top-color:#1890ff;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}.variable-input-wrapper{position:relative;display:flex;flex:1}.variable-input-wrapper input{flex:1;padding-right:40px}.variable-input-wrapper .var-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:none;background:#e6f4ff;color:#1890ff;border-radius:4px;cursor:pointer;font-size:11px;font-weight:700;z-index:10;pointer-events:auto!important;-webkit-user-select:none;user-select:none}.variable-input-wrapper .var-btn:hover{background:#1890ff;color:#fff}.variable-input-wrapper .var-btn:active{background:#096dd9;color:#fff}.var-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:280px;background:#fff;border:1px solid #d9d9d9;border-radius:8px;box-shadow:0 6px 20px #0003;z-index:99999;max-height:280px;overflow-y:auto}.variable-input-wrapper{position:relative;display:flex;flex:1;z-index:10}.form-group:has(.variable-input-wrapper){overflow:visible!important}.config-step,.form-section{overflow:visible!important}.var-dropdown-header{padding:8px 12px;font-size:12px;color:#888;border-bottom:1px solid #f0f0f0;background:#fafafa}.var-item{padding:10px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f5f5f5}.var-item:hover{background:#e6f4ff}.var-item .var-name{font-family:monospace;font-size:13px;color:#1890ff}.var-item .var-label{font-size:12px;color:#888}.test-section{border:2px solid #e6f4ff;background:linear-gradient(to bottom,#fafcff,#fff)}.test-section .section-header{display:flex;align-items:center;gap:12px}.section-badge{font-size:12px;padding:4px 10px;background:#fff7e6;color:#fa8c16;border-radius:4px}.code-textarea{font-family:Monaco,Menlo,monospace;font-size:13px;background:#1e1e1e;color:#d4d4d4;border-radius:6px}.test-params-section{background:#f8f9fa;border-radius:8px;padding:16px;margin-bottom:16px}.test-params-section>label{display:block;font-size:13px;color:#666;margin-bottom:12px}.test-params-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.test-param-item label{display:block;font-size:12px;color:#888;margin-bottom:4px}.test-param-item input{width:100%;padding:8px 10px;border:1px solid #e0e0e0;border-radius:4px;font-size:13px}.btn-test{padding:12px 24px;background:linear-gradient(135deg,#52c41a,#389e0d);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;width:100%;margin-top:8px}.btn-test:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #52c41a4d}.btn-test:disabled{opacity:.7;cursor:wait}.test-result{margin-top:20px;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.result-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fafafa;border-bottom:1px solid #e0e0e0}.status-badge{padding:4px 12px;border-radius:4px;font-size:13px;font-weight:500}.status-badge.success{background:#f6ffed;color:#52c41a}.status-badge.error{background:#fff2f0;color:#ff4d4f}.elapsed{font-size:13px;color:#888}.error-text{color:#ff4d4f;font-size:13px}.result-tabs{display:flex;border-bottom:1px solid #e0e0e0}.result-tabs button{padding:10px 16px;background:none;border:none;border-bottom:2px solid transparent;font-size:13px;color:#666;cursor:pointer}.result-tabs button:hover{color:#1890ff}.result-tabs button.active{color:#1890ff;border-bottom-color:#1890ff}.result-json{margin:0;padding:16px;background:#1e1e1e;color:#d4d4d4;font-family:Monaco,Menlo,monospace;font-size:12px;overflow-x:auto;max-height:300px;overflow-y:auto}.json-paths-list{padding:16px}.json-paths-list .hint{font-size:12px;color:#888;margin:0 0 12px}.json-path-item{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#fafafa;border-radius:6px;margin-bottom:6px}.json-path-item:hover{background:#f0f7ff}.path-name{font-family:monospace;font-size:13px;color:#333;flex:1}.path-type{font-size:11px;padding:2px 8px;border-radius:4px;background:#f5f5f5;color:#888}.path-type.string{background:#e6f7ff;color:#1890ff}.path-type.number{background:#f6ffed;color:#52c41a}.path-type.boolean{background:#fff7e6;color:#fa8c16}.path-type.array{background:#f9f0ff;color:#722ed1}.path-sample{font-size:12px;color:#999;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-add-var{width:24px;height:24px;border-radius:4px;border:none;background:#52c41a;color:#fff;cursor:pointer;font-size:14px;font-weight:700}.btn-add-var:hover{background:#389e0d}.output-variables{margin-top:20px;padding:16px;background:#f6ffed;border:1px solid #b7eb8f;border-radius:8px}.output-variables h4{font-size:14px;color:#389e0d;margin:0 0 12px}.output-var-list{display:flex;flex-direction:column;gap:8px}.output-var-item{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#fff;border-radius:6px}.output-var-item .var-badge{font-family:monospace;font-size:13px;padding:4px 10px;background:#e6f7ff;color:#1890ff;border-radius:4px}.output-var-item .var-path{font-size:12px;color:#888;flex:1}.output-var-item button{width:24px;height:24px;border-radius:4px;border:none;background:#fff1f0;color:#ff4d4f;cursor:pointer}.output-var-item button:hover{background:#ff4d4f;color:#fff}.config-step{margin-bottom:24px;padding:20px;background:#fafafa;border-radius:8px;border:1px solid #f0f0f0}.step-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.step-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#1890ff;color:#fff;font-weight:700;font-size:14px;border-radius:50%}.step-title{font-size:15px;font-weight:600;color:#333}.test-auth-section{display:flex;align-items:center;gap:12px;margin:16px 0;padding:12px 16px;background:#e6f7ff;border-radius:6px}.btn-test-auth{padding:8px 20px;background:#1890ff;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.btn-test-auth:hover{background:#40a9ff}.btn-test-auth:disabled{background:#d9d9d9;cursor:not-allowed}.btn-test-auth.production-mode{background:linear-gradient(135deg,#52c41a,#389e0d)}.btn-test-auth.production-mode:hover{background:linear-gradient(135deg,#73d13d,#52c41a)}.test-hint-simple{font-size:13px;color:#666}.production-toggle-group{margin-top:24px;padding-top:24px;border-top:1px dashed #e0e0e0}.production-toggle{display:flex;gap:12px;margin:8px 0}.toggle-option{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 20px;background:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s}.toggle-option:hover{border-color:#bbb}.toggle-option.active.test{background:#e6f7ff;border-color:#1890ff}.toggle-option.active.production{background:#f6ffed;border-color:#52c41a}.toggle-icon{font-size:20px}.toggle-label{font-size:14px;font-weight:500}.callback-params-section{margin-top:16px}.callback-params-section>label{display:block;margin-bottom:8px;font-size:13px;color:#666}.callback-params-list{display:flex;flex-direction:column;gap:8px}.callback-param-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#f6ffed;border:1px solid #b7eb8f;border-radius:6px}.callback-param-item .param-key{font-weight:500;color:#52c41a;min-width:60px}.callback-param-item .param-value{flex:1;color:#333;font-family:monospace;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.callback-param-item .param-var{padding:2px 8px;background:#52c41a;color:#fff;border-radius:4px;font-size:11px;font-family:monospace}.callback-param-item .btn-remove-small{width:24px;height:24px;border:none;background:#fff1f0;color:#ff4d4f;border-radius:4px;cursor:pointer;font-size:12px}.callback-param-item .btn-remove-small:hover{background:#ff4d4f;color:#fff}.callback-success-banner{padding:10px 14px;background:#f6ffed;border:1px solid #b7eb8f;border-radius:6px;color:#52c41a;font-weight:500;margin-bottom:12px}.manual-add-section{margin-top:12px}.manual-add-section summary{cursor:pointer;color:#1890ff;font-size:13px;-webkit-user-select:none;user-select:none}.manual-add-section summary:hover{text-decoration:underline}.manual-add-section .manual-callback-input{margin-top:10px}.manual-callback-input{display:flex;gap:8px}.manual-callback-input input{flex:1;padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px}.manual-callback-input input:first-child{max-width:100px}.param-description{flex:1;padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px}@media (max-width: 768px){.oauth-app-edit{padding:16px}.page-header{flex-direction:column;align-items:stretch}.header-left{flex-direction:column;align-items:flex-start;gap:12px}.tabs{overflow-x:auto;flex-wrap:nowrap}.tab{white-space:nowrap}.auth-type-selector{grid-template-columns:1fr}.form-row{flex-direction:column;gap:0}.form-row.three-col{flex-direction:column}.param-row{flex-wrap:wrap}.param-name,.param-label{flex:100%}.token-item{flex-direction:column;align-items:flex-start}.token-actions{width:100%;justify-content:flex-end}.test-auth-section{flex-direction:column;align-items:flex-start}.manual-callback-input{flex-direction:column}.manual-callback-input input:first-child{max-width:none}}.step-test-section{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:16px;border-top:1px dashed #e8e8e8}.btn-test{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.btn-test:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-test:disabled{background:#d9d9d9;cursor:not-allowed}.test-hint-inline{font-size:13px;color:#999}.step-output-section{margin-top:20px;padding:16px;background:#f9fafb;border-radius:8px;border:1px solid #e8e8e8}.output-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.output-header h4{margin:0;font-size:14px;color:#52c41a}.btn-small{padding:6px 12px;font-size:13px}.btn-outline{background:#fff;border:1px solid #1890ff;color:#1890ff;border-radius:4px;cursor:pointer}.btn-outline:hover{background:#e6f7ff}.raw-json-preview{max-height:200px;overflow:auto;background:#282c34;border-radius:6px;padding:12px;margin-bottom:12px}.raw-json-preview pre{margin:0;font-size:12px;color:#abb2bf;font-family:Consolas,Monaco,monospace;white-space:pre-wrap;word-break:break-all}.configured-outputs{margin-top:12px;padding-top:12px;border-top:1px solid #e8e8e8}.outputs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px;color:#666}.output-tags{display:flex;flex-wrap:wrap;gap:8px}.output-tag{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#fff;border:1px solid #d9d9d9;border-radius:6px;font-size:12px}.output-tag .tag-name{font-weight:600;color:#333}.output-tag .tag-path{color:#999;font-family:monospace}.output-tag .tag-var{padding:2px 6px;background:#52c41a;color:#fff;border-radius:3px;font-family:monospace;font-size:11px}.output-tag .tag-remove{width:18px;height:18px;border:none;background:#fff1f0;color:#ff4d4f;border-radius:50%;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;padding:0}.output-tag .tag-remove:hover{background:#ff4d4f;color:#fff}.refresh-schedule-config{display:flex;flex-direction:column;gap:12px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.checkbox-label input[type=checkbox]{width:16px;height:16px}.schedule-inputs{display:flex;align-items:center;gap:8px;padding-left:24px;font-size:14px;color:#666}.schedule-inputs input,.schedule-inputs select{padding:6px 10px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px}.final-output-step{background:linear-gradient(135deg,#f6ffed,#e6f7ff)}.step-desc{margin:0 0 16px;font-size:13px;color:#666}.final-output-table{background:#fff;border-radius:8px;border:1px solid #d9d9d9;overflow:visible}.final-output-table .table-row{position:relative}.final-output-table .table-header{display:flex;background:#fafafa;border-bottom:1px solid #e8e8e8;font-weight:500;font-size:13px;color:#666}.final-output-table .table-header>div{padding:12px 16px}.final-output-table .table-row{display:flex;border-bottom:1px solid #f0f0f0}.final-output-table .table-row:last-child{border-bottom:none}.final-output-table .table-row>div{padding:10px 12px}.final-output-table .col-name{flex:0 0 150px;min-width:120px}.final-output-table .col-token,.final-output-table .col-refresh{flex:1;min-width:180px}.final-output-table .col-action{flex:0 0 50px;display:flex;align-items:center;justify-content:center}.configured-outputs-section{background:#f6ffed;border:1px solid #b7eb8f;border-radius:8px;padding:12px 16px;margin-top:12px}.configured-outputs-section .outputs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.configured-outputs-section .outputs-title{font-weight:500;color:#52c41a;font-size:13px}.btn-add-to-output{padding:2px 8px;background:#e6f7ff;border:1px solid #91d5ff;border-radius:4px;color:#1890ff;font-size:11px;cursor:pointer;white-space:nowrap;transition:all .2s}.btn-add-to-output:hover{background:#1890ff;color:#fff}.final-output-table input[type=text]{width:100%;padding:8px 10px;border:1px solid #d9d9d9;border-radius:4px;font-size:13px}.btn-remove-row{width:28px;height:28px;border:none;background:#fff1f0;color:#ff4d4f;border-radius:4px;cursor:pointer;font-size:16px}.btn-remove-row:hover{background:#ff4d4f;color:#fff}.final-output-table .table-footer{padding:12px 16px;background:#fafafa;border-top:1px solid #e8e8e8}.btn-add-row{padding:8px 16px;background:#fff;border:1px dashed #d9d9d9;border-radius:4px;color:#666;cursor:pointer;font-size:13px;transition:all .2s}.btn-add-row:hover{border-color:#1890ff;color:#1890ff}.final-output-hint{margin-top:16px;padding:12px 16px;background:#fff;border-radius:6px;font-size:13px}.final-output-hint strong{margin-right:12px;color:#333}.final-output-hint code{margin:0 4px;padding:2px 8px;background:#1890ff;color:#fff;border-radius:4px;font-size:12px}.var-dropdown-grouped{max-height:320px;overflow-y:auto}.var-group{margin-bottom:4px}.var-group-title{padding:6px 12px;font-size:11px;font-weight:600;color:#888;background:#f5f5f5;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e8e8e8;position:sticky;top:0}.var-empty{padding:16px 12px;text-align:center;color:#888}.var-empty p{margin:0;font-size:13px}.var-empty .hint{font-size:12px;color:#bbb;margin-top:6px}.var-group .var-item{padding-left:16px}.test-modal{background:#fff;border-radius:12px;width:100%;max-width:480px;box-shadow:0 20px 40px #0003;overflow:hidden}.test-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fafafa;border-bottom:1px solid #e8e8e8}.test-modal .modal-header h3{margin:0;font-size:16px;font-weight:600;color:#1a1a1a}.btn-close-modal{width:32px;height:32px;border:none;background:transparent;font-size:20px;color:#999;cursor:pointer;border-radius:6px;transition:all .2s}.btn-close-modal:hover{background:#e8e8e8;color:#333}.test-modal .modal-body{padding:20px}.modal-hint{margin:0 0 12px;font-size:14px;color:#666}.modal-sub-hint{margin:-8px 0 16px;font-size:12px;color:#999}.test-params-section{margin-bottom:20px;padding:12px;background:#f9f9f9;border-radius:8px}.test-params-section .section-label{display:block;font-size:13px;font-weight:500;color:#1890ff;margin-bottom:10px;padding-bottom:6px;border-bottom:1px dashed #e0e0e0}.test-params-list{display:flex;flex-direction:column;gap:12px}.test-param-row .param-var-hint{font-size:11px;color:#999;margin-left:6px;font-weight:400}.test-param-row{display:flex;flex-direction:column;gap:4px}.test-param-row label{font-size:13px;font-weight:500;color:#333}.test-param-row input{padding:10px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;transition:border-color .2s}.test-param-row input:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.no-params-hint{text-align:center;color:#999;padding:20px}.callback-params-preview{margin-top:16px;padding:12px;background:#f0f9ff;border-radius:8px;border:1px solid #bae0ff}.callback-params-preview>label{display:block;font-size:12px;font-weight:500;color:#1890ff;margin-bottom:8px}.callback-param-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px}.callback-param-item .param-key{font-weight:500;color:#333}.callback-param-item .param-value{color:#666;font-family:Consolas,monospace;background:#fff;padding:2px 6px;border-radius:4px}.test-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;background:#fafafa;border-top:1px solid #e8e8e8}.btn-secondary{padding:10px 20px;background:#fff;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.btn-secondary:hover{border-color:#1890ff;color:#1890ff}.tokens-list{display:flex;flex-direction:column;gap:12px}.token-card{background:#fff;border:1px solid #e8e8e8;border-radius:8px;overflow:hidden;transition:all .2s}.token-card:hover{border-color:#1890ff}.token-card.expanded{border-color:#1890ff;box-shadow:0 2px 8px #1890ff1a}.token-card-header{display:flex;align-items:center;padding:14px 16px;cursor:pointer;background:#fafafa;gap:16px}.token-card-header:hover{background:#f0f0f0}.token-main-info{display:flex;align-items:center;gap:12px;flex:1}.token-card .token-name{font-weight:600;color:#1a1a1a;font-size:14px}.token-card .token-status{font-size:12px;padding:2px 8px;border-radius:4px}.token-card .token-status.active{background:#f0fdf4;color:#16a34a}.token-card .token-status.inactive{background:#fef2f2;color:#dc2626}.token-summary{display:flex;align-items:center;gap:16px;font-size:12px;color:#888}.token-summary .token-id{font-family:Consolas,monospace}.expand-icon{color:#999;font-size:10px}.token-card-body{padding:16px;background:#fff;border-top:1px solid #e8e8e8}.token-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.token-detail-grid .detail-item{display:flex;flex-direction:column;gap:4px}.token-detail-grid .detail-item.full-width{grid-column:1 / -1}.token-detail-grid .detail-item label{font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.5px}.token-detail-grid .detail-item code{font-family:Consolas,monospace;font-size:13px;background:#f5f5f5;padding:6px 10px;border-radius:4px;color:#1890ff;word-break:break-all}.token-detail-grid .detail-item span{font-size:13px;color:#333}.output-data-preview{background:#1e1e1e;color:#d4d4d4;padding:12px;border-radius:6px;font-size:11px;max-height:150px;overflow:auto;margin:0}.token-card .token-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid #f0f0f0}.btn-small{padding:6px 12px;font-size:12px;border:1px solid #d9d9d9;background:#fff;border-radius:4px;cursor:pointer;transition:all .2s}.btn-small:hover{border-color:#1890ff;color:#1890ff}.btn-small.danger{color:#999}.btn-small.danger:hover{border-color:#ff4d4f;color:#ff4d4f}.optional-step{margin:16px 0}.btn-add-code-block{display:flex;align-items:center;gap:12px;width:100%;padding:16px 20px;background:linear-gradient(135deg,#f8f9fa,#f0f2f5);border:2px dashed #d9d9d9;border-radius:12px;cursor:pointer;transition:all .3s ease;text-align:left}.btn-add-code-block:hover{border-color:#1890ff;background:linear-gradient(135deg,#e6f7ff,#f0f5ff)}.btn-add-code-block .add-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:linear-gradient(135deg,#1890ff,#096dd9);color:#fff;border-radius:8px;font-size:20px;font-weight:700}.btn-add-code-block span:nth-child(2){font-size:15px;font-weight:600;color:#333}.btn-add-code-block .add-hint{font-size:12px;color:#999;margin-left:auto}.btn-remove-step{margin-left:auto;padding:4px 12px;background:#fff;border:1px solid #ff4d4f;border-radius:4px;color:#ff4d4f;font-size:12px;cursor:pointer;transition:all .2s}.btn-remove-step:hover{background:#ff4d4f;color:#fff}.ai-code-section{margin-bottom:16px}.ai-input-row{display:flex;gap:12px}.ai-prompt-input{flex:1;padding:10px 14px;border:1px solid #d9d9d9;border-radius:8px;font-size:13px;transition:all .2s}.ai-prompt-input:focus{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a;outline:none}.ai-prompt-input::placeholder{color:#bfbfbf}.btn-ai-generate{padding:10px 20px;background:linear-gradient(135deg,#722ed1,#531dab);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-ai-generate:hover:not(:disabled){background:linear-gradient(135deg,#9254de,#722ed1);transform:translateY(-1px);box-shadow:0 4px 12px #722ed14d}.btn-ai-generate:disabled{opacity:.6;cursor:not-allowed}.code-editor-wrapper{border:1px solid #e8e8e8;border-radius:8px;overflow:hidden}.code-editor-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#1e1e1e;color:#d4d4d4;font-size:12px}.code-actions{display:flex;gap:8px}.btn-code-action{padding:4px 10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#d4d4d4;font-size:11px;cursor:pointer;transition:all .2s}.btn-code-action:hover{background:#fff3;color:#fff}.code-textarea{width:100%;padding:16px;background:#1e1e1e;color:#d4d4d4;border:none;font-family:SF Mono,Monaco,Consolas,monospace;font-size:13px;line-height:1.6;resize:vertical;min-height:200px}.code-textarea:focus{outline:none}.code-hint{padding:10px 12px;background:#f5f7fa;border-top:1px solid #e8e8e8;font-size:12px;color:#666}.code-hint code{background:#e6f7ff;color:#1890ff;padding:2px 6px;border-radius:3px;font-size:11px;margin:0 4px}.code-params-section{margin:16px 0}.code-params-section .params-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.code-params-section .params-header label{font-weight:600;color:#333;font-size:14px}.code-params-section .btn-add-small{padding:5px 14px;background:#fff;border:1px dashed #1890ff;color:#1890ff;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s}.code-params-section .btn-add-small:hover{background:#e6f7ff;border-style:solid}.code-params-section .btn-auto-parse{padding:5px 14px;background:linear-gradient(135deg,#52c41a,#389e0d);border:none;color:#fff;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s;margin-left:auto}.code-params-section .btn-auto-parse:hover{transform:translateY(-1px);box-shadow:0 2px 8px #52c41a4d}.code-params-section .params-table{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #00000014}.code-params-section .params-table-header{display:grid;grid-template-columns:140px 1fr 36px;padding:10px 16px;background:linear-gradient(135deg,#f8f9fa,#f0f2f5);font-size:12px;font-weight:600;color:#666;border-bottom:1px solid #e8e8e8}.code-params-section .params-table-header.with-sample{grid-template-columns:120px 1fr 100px 36px}.code-params-section .params-table-row{display:grid;grid-template-columns:140px 1fr 36px;padding:10px 16px;border-bottom:1px solid #f5f5f5;align-items:center;gap:12px;transition:background .2s}.code-params-section .params-table-row.with-sample{grid-template-columns:120px 1fr 100px 36px}.code-params-section .params-table-row:hover{background:#fafafa}.code-params-section .params-table-row:last-child{border-bottom:none}.code-params-section .col-name{padding:8px 12px;border:1px solid #e8e8e8;border-radius:6px;font-size:13px;background:#fff;transition:all .2s}.code-params-section .col-name:focus{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a;outline:none}.code-params-section .col-value{min-width:0}.code-params-section .col-value .variable-input-wrapper{width:100%}.code-params-section .col-value .variable-input-wrapper input{border-radius:6px}.code-params-section .col-sample{font-size:12px;color:#8c8c8c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#f5f5f5;padding:6px 10px;border-radius:4px;font-family:SF Mono,Monaco,Consolas,monospace}.code-params-section .col-action{display:flex;justify-content:center}.code-params-section .btn-remove{width:28px;height:28px;background:#fff;border:1px solid #e8e8e8;border-radius:6px;color:#bfbfbf;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s}.code-params-section .btn-remove:hover{border-color:#ff4d4f;color:#ff4d4f;background:#fff2f0}.code-params-section .empty-hint{font-size:13px;color:#8c8c8c;margin:0;padding:16px;background:#fafafa;border-radius:8px;text-align:center}.code-test-section{margin:16px 0;padding:16px;background:#f0f5ff;border-radius:8px}.btn-test-code{padding:10px 24px;background:linear-gradient(135deg,#1890ff,#096dd9);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-test-code:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #1890ff4d}.btn-test-code:disabled{opacity:.6;cursor:not-allowed}.code-test-section .test-result{margin-top:16px;border-radius:6px;overflow:hidden}.code-test-section .test-result.success{border:1px solid #b7eb8f}.code-test-section .test-result.error{border:1px solid #ffccc7}.code-test-section .result-header{padding:10px 14px;font-size:13px;font-weight:500}.code-test-section .test-result.success .result-header{background:#f6ffed;color:#52c41a}.code-test-section .test-result.error .result-header{background:#fff2f0;color:#ff4d4f}.code-test-section .result-body{padding:12px 14px;background:#1e1e1e;color:#d4d4d4;margin:0;font-size:12px;font-family:SF Mono,Monaco,Consolas,monospace;max-height:200px;overflow:auto}.code-test-section .result-body.error{background:#fff2f0;color:#ff4d4f}@media (max-width: 768px){.final-output-table .table-header,.final-output-table .table-row{flex-direction:column}.final-output-table .col-name,.final-output-table .col-token,.final-output-table .col-refresh{flex:none;width:100%}.final-output-table .col-action{flex:none;width:100%;justify-content:flex-end;padding:8px 12px}.schedule-inputs{flex-wrap:wrap}.test-modal{max-width:100%}.token-detail-grid{grid-template-columns:1fr}.token-summary{display:none}.ai-input-row{flex-direction:column}.btn-add-code-block{flex-direction:column;text-align:center}.btn-add-code-block .add-hint{margin-left:0;margin-top:8px}}.oauth-callback-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f5f7fa;padding:20px}.callback-container{background:#fff;border-radius:16px;padding:40px;max-width:480px;width:100%;box-shadow:0 4px 20px #00000014;text-align:center}.callback-header{margin-bottom:24px}.callback-icon{font-size:48px;display:block;margin-bottom:16px}.callback-header h1{font-size:22px;color:#1a1a1a;margin:0 0 8px;font-weight:600}.callback-desc{color:#666;font-size:14px;margin:0}.success-message{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:16px;margin-bottom:20px}.success-message p{margin:0;color:#16a34a;font-size:14px}.params-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:20px;text-align:left}.params-preview h3{margin:0 0 12px;font-size:13px;color:#64748b;font-weight:500}.param-row{display:flex;align-items:center;padding:10px 0;border-bottom:1px solid #e2e8f0;gap:12px}.param-row:last-child{border-bottom:none}.param-row .key{font-weight:600;color:#1890ff;min-width:80px;font-size:13px}.param-row .value{flex:1;color:#333;word-break:break-all;font-family:Consolas,Monaco,monospace;font-size:12px;background:#fff;padding:4px 8px;border-radius:4px;border:1px solid #e2e8f0}.param-row .btn-copy-value{padding:6px 12px;background:#1890ff;color:#fff;border:none;border-radius:6px;font-size:12px;cursor:pointer;flex-shrink:0;transition:background .2s}.param-row .btn-copy-value:hover{background:#40a9ff}.countdown{color:#94a3b8;font-size:13px;margin-bottom:16px}.btn-close,.callback-btn-close{background:#1890ff!important;color:#fff!important;border:none!important;padding:12px 32px!important;border-radius:8px!important;font-size:15px!important;cursor:pointer!important;transition:background .2s!important;display:inline-block!important}.btn-close:hover,.callback-btn-close:hover{background:#40a9ff!important}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:16px;margin-bottom:20px}.error-message p{margin:0;color:#dc2626;font-size:14px}.loading-state{padding:40px}.loading-state p{color:#64748b;margin-top:16px}.loading-state .sub-text{font-size:13px;color:#94a3b8;margin-top:8px}.token-result{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:16px;margin-bottom:20px}.token-result p{margin:0;color:#166534}.auth-success-icon{color:#22c55e}.auth-success-message{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:20px;margin-bottom:20px}.auth-success-message p{margin:0;color:#16a34a;font-size:15px;font-weight:500}.loading-state .spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top:3px solid #1890ff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 480px){.callback-container{padding:24px}.param-row{flex-wrap:wrap}.param-row .key{width:100%;margin-bottom:4px}.param-row .value{width:100%}}.ai-config-page{max-width:800px;margin:0 auto}.ai-config-page .page-header{margin-bottom:24px}.ai-config-page .page-header h1{font-size:24px;margin-bottom:8px}.ai-config-page .page-desc{color:var(--text-secondary)}.ai-config-page .message{padding:12px 16px;border-radius:8px;margin-bottom:16px}.ai-config-page .message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.ai-config-page .message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.config-card{background:var(--bg-white);border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 2px 8px #0000000f}.config-card h3{font-size:18px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.config-card .form-group{margin-bottom:20px}.config-card .form-group label{display:block;font-weight:500;margin-bottom:8px;color:var(--text-primary)}.config-card .form-input,.config-card .form-select{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;transition:border-color .2s}.config-card .form-input:focus,.config-card .form-select:focus{outline:none;border-color:var(--primary-color)}.config-card .form-hint{font-size:12px;color:var(--text-light);margin-top:6px}.service-selector{display:flex;gap:16px}.service-option{flex:1;display:flex;align-items:center;gap:10px;padding:16px;border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s}.service-option:hover{border-color:var(--primary-color)}.service-option.active{border-color:var(--primary-color);background:var(--primary-light)}.service-option input[type=radio]{width:18px;height:18px}.service-name{font-weight:500}.api-key-status{display:flex;align-items:center;gap:10px;margin-bottom:10px}.key-masked{font-family:monospace;color:var(--text-secondary)}.status-badge.success{background:#d4edda;color:#155724}.status-badge.warning{background:#fff3cd;color:#856404}.form-actions{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color)}.feature-list{display:flex;flex-direction:column;gap:16px}.feature-item{display:flex;align-items:flex-start;gap:16px;padding:16px;background:var(--bg-color);border-radius:8px}.feature-icon{font-size:28px;line-height:1}.feature-info h4{font-size:15px;margin-bottom:4px;color:var(--text-primary)}.feature-info p{font-size:13px;color:var(--text-secondary);margin:0}@media (max-width: 768px){.ai-config-page{padding:0}.config-card{border-radius:0;margin-bottom:12px}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.user-management-page .page-header{margin-bottom:24px}.user-management-page .page-header h1{font-size:24px;margin-bottom:8px}.user-management-page .page-desc{color:var(--text-secondary)}.user-management-page .message{padding:12px 16px;border-radius:8px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.user-management-page .message.success{background:#d4edda;color:#155724}.user-management-page .message.error{background:#f8d7da;color:#721c24}.user-management-page .message .close-btn{background:none;border:none;font-size:18px;cursor:pointer;opacity:.7}.search-bar{display:flex;align-items:center;gap:16px;margin-bottom:20px}.search-bar form{display:flex;gap:10px;flex:1;max-width:400px}.search-input{flex:1;padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;font-size:14px}.search-input:focus{outline:none;border-color:var(--primary-color)}.total-count{color:var(--text-secondary);font-size:14px}.content-wrapper{display:flex;gap:20px}.user-list-section{flex:1;min-width:0}.user-table-wrapper{background:var(--bg-white);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.user-table{width:100%;border-collapse:collapse}.user-table th,.user-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border-color)}.user-table th{background:var(--bg-color);font-weight:600;font-size:13px;color:var(--text-secondary)}.user-table tr:hover{background:var(--bg-color)}.user-table tr.selected{background:var(--primary-light)}.user-cell{display:flex;align-items:center;gap:10px}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.role-select{padding:4px 8px;border:1px solid var(--border-color);border-radius:4px;font-size:13px;background:#fff}.status-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:500}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#f8d7da;color:#721c24}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.btn-success{background:#28a745;color:#fff}.btn-success:hover{background:#218838}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px;padding:16px}.page-info{color:var(--text-secondary);font-size:14px}.user-detail-sidebar{width:320px;background:var(--bg-white);border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden;height:fit-content;position:sticky;top:80px}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color)}.sidebar-header h3{font-size:16px;margin:0}.sidebar-header .close-btn{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-light)}.user-info-card{text-align:center;padding:24px 20px;border-bottom:1px solid var(--border-color)}.user-avatar-large{width:64px;height:64px;border-radius:50%;background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:24px;margin:0 auto 12px}.user-info-card h4{font-size:18px;margin-bottom:4px}.user-info-card p{color:var(--text-secondary);font-size:14px;margin-bottom:12px}.role-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.role-badge.admin{background:#ff6b35;color:#fff}.role-badge.user{background:var(--bg-color);color:var(--text-secondary)}.detail-section{padding:16px 20px;border-bottom:1px solid var(--border-color)}.detail-section:last-child{border-bottom:none}.detail-section h4{font-size:14px;color:var(--text-secondary);margin-bottom:12px}.item-list{list-style:none;padding:0;margin:0}.item-list li{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px dashed var(--border-color)}.item-list li:last-child{border-bottom:none}.item-name{font-size:14px;color:var(--text-primary)}.item-type{font-size:12px;color:var(--text-light);background:var(--bg-color);padding:2px 6px;border-radius:4px}.status-dot{width:8px;height:8px;border-radius:50%;background:#ccc}.status-dot.active{background:#28a745}.empty-hint{color:var(--text-light);font-size:13px;text-align:center;padding:10px 0}.user-management-page .tabs{display:flex;gap:0;border-bottom:1px solid #dcdfe6}.user-management-page .tab{padding:12px 24px;background:none;border:none;border-bottom:2px solid transparent;font-size:14px;color:#606266;cursor:pointer;transition:all .2s}.user-management-page .tab:hover{color:#409eff}.user-management-page .tab.active{color:#409eff;border-bottom-color:#409eff}.settings-section{display:flex;flex-direction:column;gap:20px}.settings-card{background:#fff;border-radius:8px;padding:24px;border:1px solid #ebeef5}.settings-card h3{font-size:16px;margin:0 0 20px;color:#303133}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #ebeef5}.setting-item:last-child{border-bottom:none}.setting-info label{display:block;font-size:14px;color:#303133;margin-bottom:4px}.setting-desc{font-size:12px;color:#909399;margin:0}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#dcdfe6;transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:#409eff}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.settings-actions{margin-top:20px;padding-top:20px;border-top:1px solid #ebeef5}.help-list{list-style:none;padding:0;margin:0}.help-list li{font-size:14px;color:#606266;position:relative;padding:8px 0 8px 20px}.help-list li:before{content:"•";position:absolute;left:0;color:#409eff}.empty-state{text-align:center;padding:60px 20px;color:#909399}.empty-state p{margin-bottom:16px}.btn-warning{background:#e6a23c;color:#fff;border-color:#e6a23c}.btn-warning:hover{background:#cf8f2e}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:400px;box-shadow:0 4px 24px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #ebeef5}.modal-header h3{font-size:16px;margin:0}.modal-header .close-btn{background:none;border:none;font-size:20px;color:#909399;cursor:pointer}.modal-body{padding:20px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #ebeef5}@media (max-width: 1024px){.content-wrapper{flex-direction:column}.user-detail-sidebar{width:100%;position:static}}@media (max-width: 768px){.search-bar{flex-direction:column;align-items:stretch}.search-bar form{max-width:none}.user-table-wrapper{overflow-x:auto}.user-table{min-width:600px}.action-buttons{flex-direction:column;gap:4px}.action-buttons .btn-sm{font-size:12px;padding:4px 8px}}.btn-impersonate{background:#1890ff;color:#fff;border-color:#1890ff;white-space:nowrap}.btn-impersonate:hover{background:#096dd9;border-color:#096dd9}.balance-cell{font-weight:500;color:#fa8c16}.recharge-user-info{display:flex;align-items:center;gap:12px;padding:16px;background:#f5f7fa;border-radius:8px;margin-bottom:20px}.recharge-user-info .user-avatar{width:48px;height:48px;border-radius:50%;background:#1890ff;color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}.recharge-user-info .user-text{display:flex;flex-direction:column;gap:4px}.recharge-user-info .username{font-size:16px;font-weight:600;color:#333}.recharge-user-info .current-balance{font-size:13px;color:#909399}.system-config-page{padding:24px;max-width:960px;margin:0 auto}.system-config-page.loading{display:flex;align-items:center;justify-content:center;min-height:300px;color:#8c8c8c}.page-header{margin-bottom:24px}.page-header h1{font-size:24px;font-weight:600;color:#333;margin:0 0 8px}.page-desc{font-size:14px;color:#8c8c8c;margin:0}.message-bar{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.config-tabs{display:flex;gap:4px;border-bottom:1px solid #e8e8e8;margin-bottom:24px}.config-tabs .tab{padding:12px 20px;border:none;background:none;cursor:pointer;font-size:14px;color:#666;border-bottom:2px solid transparent;transition:all .2s}.config-tabs .tab:hover{color:#1890ff}.config-tabs .tab.active{color:#1890ff;border-bottom-color:#1890ff;font-weight:500}.config-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000f}.section-header{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.section-header h2{font-size:18px;font-weight:600;color:#333;margin:0 0 8px}.section-header p{font-size:14px;color:#8c8c8c;margin:0}.config-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:#333;display:flex;align-items:center;gap:8px}.form-group label input[type=checkbox]{width:16px;height:16px}.form-group input[type=text],.form-group input[type=password],.form-group select{padding:10px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#1890ff;outline:none;box-shadow:0 0 0 2px #1890ff1a}.field-hint{font-size:12px;color:#8c8c8c}.field-hint a{color:#1890ff}.form-actions{display:flex;gap:12px;margin-top:8px}.btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#1890ff;color:#fff}.btn-primary:hover:not(:disabled){background:#40a9ff}.btn-secondary{background:#f5f5f5;color:#333;border:1px solid #d9d9d9}.btn-secondary:hover:not(:disabled){background:#e8e8e8}.info-box{margin-top:24px;padding:16px;background:#f6f8fa;border-radius:8px;border:1px solid #e8e8e8}.info-box h4{font-size:14px;font-weight:600;color:#333;margin:0 0 12px}.info-box ul{margin:0;padding-left:20px}.info-box li{font-size:13px;color:#666;margin-bottom:6px}.info-box li:last-child{margin-bottom:0}.coze-accounts-table{overflow-x:auto}.coze-accounts-table table{width:100%;border-collapse:collapse;font-size:13px}.coze-accounts-table th{text-align:left;padding:10px 12px;background:#fafafa;border-bottom:1px solid #e8e8e8;font-weight:500;color:#666;white-space:nowrap}.coze-accounts-table td{padding:10px 12px;border-bottom:1px solid #f0f0f0;color:#333}.coze-accounts-table .row-disabled td{opacity:.5}.coze-accounts-table .url-cell{font-size:12px;color:#999}.coze-accounts-table .token-cell{font-family:monospace;font-size:12px;color:#999}.coze-accounts-table .status-tag{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px}.coze-accounts-table .status-tag.active{background:#f6ffed;color:#52c41a}.coze-accounts-table .status-tag.inactive{background:#f5f5f5;color:#999}.table-actions{display:flex;gap:8px}.btn-link:disabled{color:#999;cursor:not-allowed}.empty-hint-box{padding:24px;text-align:center;color:#999;font-size:14px;background:#fafafa;border-radius:8px;border:1px dashed #d9d9d9}.system-config-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.system-config-page .modal-content{background:#fff;border-radius:12px;width:460px;max-height:90vh;overflow-y:auto}.system-config-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f0f0f0}.system-config-page .modal-header h3{margin:0;font-size:16px}.system-config-page .btn-close{background:none;border:none;font-size:20px;cursor:pointer;color:#999}.system-config-page .modal-body{padding:20px}.system-config-page .modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid #f0f0f0}@media (max-width: 768px){.system-config-page,.config-section{padding:16px}.form-actions{flex-direction:column}}.market-page-v2,.api-market-page-v2{padding:0;min-height:calc(100vh - 40px)}.market-header-v2{display:flex;justify-content:space-between;align-items:center;padding:16px 0;margin-bottom:20px;border-bottom:1px solid #f0f0f0}.header-left{display:flex;align-items:center}.header-tabs{display:flex;gap:0}.header-tab{padding:8px 16px;background:none;border:none;font-size:16px;font-weight:500;color:#8a8a8a;cursor:pointer;position:relative;transition:color .2s}.header-tab:hover{color:#333}.header-tab.active{color:#333;font-weight:600}.header-tab.active:after{content:"";position:absolute;bottom:-17px;left:16px;right:16px;height:2px;background:#333;border-radius:1px}.header-right{display:flex;align-items:center;gap:12px}.search-form-v2{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:#bfbfbf}.search-input-v2{width:200px;padding:8px 12px 8px 36px;border:1px solid #e8e8e8;border-radius:8px;font-size:14px;background:#f5f5f5;transition:all .2s}.search-input-v2:focus{outline:none;border-color:#d9d9d9;background:#fff;width:260px}.search-input-v2::placeholder{color:#bfbfbf}.header-btn{padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.header-btn.secondary{background:#fff;border:1px solid #e8e8e8;color:#333}.header-btn.secondary:hover{border-color:#d9d9d9;background:#fafafa}.header-btn.primary{background:#1a1a1a;border:1px solid #1a1a1a;color:#fff}.header-btn.primary:hover{background:#333}.connector-grid-v2{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.connector-card-v2{display:flex;gap:12px;padding:16px;background:#fff;border:1px solid #f0f0f0;border-radius:12px;cursor:pointer;transition:all .2s}.connector-card-v2:hover{border-color:#e0e0e0;box-shadow:0 4px 12px #0000000f}.card-icon-v2{width:56px;height:56px;border-radius:12px;overflow:hidden;flex-shrink:0;background:#f5f5f5}.card-icon-v2 img{width:100%;height:100%;object-fit:cover}.card-icon-v2 .icon-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0f5ff,#e6f7ff);font-size:24px}.card-content-v2{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between}.card-title-v2{font-size:14px;font-weight:600;color:#333;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.official-tag{display:inline-block;padding:1px 6px;background:#1890ff;color:#fff;font-size:10px;font-weight:500;border-radius:4px}.card-desc-v2{font-size:12px;color:#8a8a8a;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}.card-footer-v2{display:flex;justify-content:space-between;align-items:center}.price-tag-v2{font-size:12px;font-weight:500}.price-tag-v2.free{color:#52c41a}.price-tag-v2.paid{color:#fa8c16}.install-count-v2{display:flex;align-items:center;gap:4px;font-size:12px;color:#bfbfbf}.install-count-v2 svg{opacity:.6}.loading-state-v2{text-align:center;padding:80px 20px}.loading-spinner{width:32px;height:32px;border:3px solid #f0f0f0;border-top-color:#333;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}.loading-state-v2 p{color:#8a8a8a;font-size:14px}.empty-state-v2{text-align:center;padding:80px 20px}.empty-icon{font-size:64px;margin-bottom:16px}.empty-state-v2 h3{margin:0 0 8px;font-size:18px;color:#333}.empty-state-v2 p{margin:0;color:#8a8a8a;font-size:14px}.category-tabs{display:flex;gap:8px;padding:0 0 16px;margin-bottom:16px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.category-tabs::-webkit-scrollbar{display:none}.category-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#f5f5f5;border:1px solid transparent;border-radius:20px;font-size:13px;color:#666;cursor:pointer;transition:all .2s;white-space:nowrap}.category-tab:hover{background:#e8e8e8}.category-tab.active{background:#1890ff;color:#fff;border-color:#1890ff}.category-icon{font-size:14px}.category-name{font-weight:500}.category-badge{display:inline-block;padding:2px 8px;background:#f0f0f0;color:#666;font-size:11px;border-radius:10px;margin-right:auto}@media (max-width: 768px){.market-header-v2{flex-direction:column;align-items:flex-start;gap:16px}.header-right{width:100%;flex-wrap:wrap}.search-form-v2{flex:1;min-width:200px}.search-input-v2{width:100%}.search-input-v2:focus{width:100%}.connector-grid-v2{grid-template-columns:1fr}.header-btn{flex:1}.category-tabs{padding-bottom:12px}.category-tab{padding:6px 12px;font-size:12px}}.market-detail-page{max-width:900px;margin:0 auto}.back-btn{display:inline-flex;align-items:center;padding:8px 0;margin-bottom:20px;background:none;border:none;color:#1890ff;font-size:14px;cursor:pointer}.back-btn:hover{color:#40a9ff}.message-bar{padding:12px 16px;border-radius:6px;margin-bottom:20px;font-size:14px}.message-bar.success{background:#f6ffed;border:1px solid #b7eb8f;color:#52c41a}.message-bar.error{background:#fff2f0;border:1px solid #ffccc7;color:#ff4d4f}.detail-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.detail-header{display:flex;gap:24px;padding:24px;border-bottom:1px solid #f0f0f0}.detail-cover{width:160px;height:160px;border-radius:12px;overflow:hidden;flex-shrink:0;background:#f5f7fa}.detail-cover img{width:100%;height:100%;object-fit:cover}.detail-cover .cover-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,#f0f5ff,#e6f7ff);font-size:64px}.detail-info{flex:1}.detail-info h1{margin:0 0 12px;font-size:24px;font-weight:600;color:#333}.detail-desc{margin:0 0 16px;font-size:14px;color:#666;line-height:1.6}.detail-meta{display:flex;gap:16px;margin-bottom:20px}.meta-item{font-size:13px;color:#909399}.meta-link{font-size:13px;color:#1890ff}.price-section{display:flex;align-items:center;gap:16px;margin-bottom:20px}.price-display{font-size:24px;font-weight:600}.price-display.free{color:#52c41a}.price-display.paid{color:#fa8c16}.balance-hint{font-size:13px;color:#909399}.install-btn{padding:12px 32px;font-size:15px}.install-btn.installed{background:#d9d9d9;cursor:not-allowed}.detail-content{padding:24px}.detail-content h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#333}.content-list{display:flex;flex-wrap:wrap;gap:12px}.content-item{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#f5f7fa;border-radius:6px;font-size:13px;color:#606266}.content-icon{font-size:16px}.loading-state,.error-state{text-align:center;padding:80px 20px}.loading-spinner{width:32px;height:32px;border:3px solid #f0f0f0;border-top-color:#1890ff;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}.error-icon{font-size:64px;margin-bottom:16px}.error-state h2{margin:0 0 16px;font-size:20px;color:#333}@media (max-width: 768px){.detail-header{flex-direction:column;align-items:center;text-align:center}.detail-cover{width:120px;height:120px}.detail-meta{justify-content:center}.price-section{justify-content:center;flex-direction:column;gap:8px}}.image-upload-wrapper{width:100%}.image-upload-input-group{display:flex;gap:8px;align-items:stretch}.image-upload-url-input{flex:1;padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;transition:border-color .2s}.image-upload-url-input:focus{outline:none;border-color:#1890ff}.image-upload-btn{display:flex;align-items:center;justify-content:center;padding:8px 16px;background:#f5f5f5;border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap}.image-upload-btn:hover{background:#e6f7ff;border-color:#1890ff}.image-upload-btn.drag-over{background:#e6f7ff;border-color:#1890ff;border-style:solid}.image-upload-btn.uploading{background:#f0f0f0;cursor:not-allowed}.upload-icon{font-size:13px;color:#666}.upload-loading{font-size:13px;color:#1890ff}.upload-error{margin-top:6px;font-size:12px;color:#ff4d4f}.image-preview{position:relative;display:inline-block;margin-top:12px;border-radius:6px;overflow:hidden;border:1px solid #e8e8e8}.image-preview img{display:block;max-width:200px;max-height:120px;object-fit:contain}.preview-clear{position:absolute;top:4px;right:4px;width:20px;height:20px;border:none;background:#00000080;color:#fff;border-radius:50%;cursor:pointer;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.image-preview:hover .preview-clear{opacity:1}.preview-clear:hover{background:#ff4d4fe6}@media (max-width: 768px){.image-upload-input-group{flex-direction:column}.image-upload-btn{padding:12px}.image-preview img{max-width:100%}}.market-admin-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.market-admin-page .page-header h1{font-size:24px;margin-bottom:8px}.market-admin-page .page-desc{color:var(--text-secondary)}.market-admin-page .message{padding:12px 16px;border-radius:8px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.market-admin-page .message.success{background:#d4edda;color:#155724}.market-admin-page .message.error{background:#f8d7da;color:#721c24}.app-table-wrapper{background:var(--bg-white);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.app-table{width:100%;border-collapse:collapse}.app-table th,.app-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border-color)}.app-table th{background:var(--bg-color);font-weight:600;font-size:13px;color:var(--text-secondary)}.app-table tr:hover{background:var(--bg-color)}.app-name-cell{display:flex;align-items:center;gap:10px}.app-thumb{width:40px;height:40px;border-radius:6px;object-fit:cover}.app-thumb-placeholder{width:40px;height:40px;border-radius:6px;background:var(--bg-color);display:flex;align-items:center;justify-content:center;font-size:20px}.desc-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.published{background:#d4edda;color:#155724}.status-badge.draft{background:#e2e3e5;color:#383d41}.status-badge.offline{background:#fff3cd;color:#856404}.action-buttons{display:flex;gap:8px}.btn-warning{background:#ffc107;color:#212529}.btn-warning:hover{background:#e0a800}.empty-cell{text-align:center;color:var(--text-light);padding:40px!important}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-header h3{font-size:18px;margin:0}.modal-header .close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-light)}.modal-body{padding:24px}.modal-body .form-group{margin-bottom:20px}.modal-body .form-group:last-child{margin-bottom:0}.modal-body label{display:block;font-weight:500;margin-bottom:8px;color:var(--text-primary)}.modal-body .form-input,.modal-body .form-select,.modal-body .form-textarea{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;font-size:14px}.modal-body .form-textarea{min-height:80px;resize:vertical}.modal-body .form-input:focus,.modal-body .form-select:focus,.modal-body .form-textarea:focus{outline:none;border-color:var(--primary-color)}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color)}@media (max-width: 768px){.market-admin-page .page-header{flex-direction:column;gap:16px}.app-table-wrapper{overflow-x:auto}.app-table{min-width:700px}.modal-content{margin:16px;max-width:none}}.api-market-page-v2{padding:0;background:#f5f6fa;min-height:calc(100vh - 40px)}.apikey-wrapper{position:relative}.apikey-dropdown{position:absolute;top:100%;right:0;margin-top:8px;padding:12px;background:#fff;border:1px solid #e8e8e8;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:100;min-width:320px}.apikey-content{display:flex;gap:8px}.apikey-input{flex:1;padding:8px 12px;border:1px solid #e8e8e8;border-radius:6px;font-family:monospace;font-size:12px;background:#f5f5f5}.btn-copy{padding:8px 16px;background:#1a1a1a;color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer}.btn-copy:hover{background:#333}.apikey-hint{margin:8px 0 0;font-size:12px;color:#8a8a8a}.balance-tag{padding:6px 12px;background:#fffbe6;border:1px solid #ffe58f;border-radius:6px;font-size:13px;color:#d48806;font-weight:500}.card-arrow{color:#bfbfbf;font-size:18px;margin-left:auto;font-weight:300}.api-detail-page{max-width:900px;margin:0 auto;padding:24px;background:#fff;min-height:calc(100vh - 48px)}.detail-nav{padding-bottom:16px;border-bottom:1px solid #f0f0f0;margin-bottom:24px}.btn-back{display:inline-flex;align-items:center;gap:4px;padding:6px 0;background:none;border:none;font-size:14px;color:#666;cursor:pointer;transition:color .2s}.btn-back:hover{color:#1890ff}.detail-header{margin-bottom:20px}.api-title{font-size:28px;font-weight:700;color:#1a1a1a;margin:0 0 12px}.api-meta{display:flex;align-items:center;gap:12px}.category-tag{padding:4px 12px;background:#e6f7ff;color:#1890ff;border-radius:4px;font-size:13px;font-weight:500}.price-tag{font-size:15px;font-weight:600}.price-tag.free{color:#52c41a}.price-tag.paid{color:#ff4d4f}.detail-desc-box{padding:16px 20px;background:#fafafa;border:1px solid #f0f0f0;border-radius:8px;font-size:14px;color:#666;line-height:1.6;margin-bottom:32px}.detail-section{margin-bottom:40px}.api-detail-page .section-title{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:600;color:#1a1a1a;margin:0 0 24px;padding-bottom:12px;border-bottom:2px solid #1a1a1a}.title-icon{font-size:20px}.doc-block{margin-bottom:28px}.doc-title{font-size:15px;font-weight:600;color:#333;margin:0 0 12px}.doc-desc{font-size:13px;color:#666;margin:0 0 12px}.endpoint-box{display:flex;align-items:center;gap:0;border:1px solid #e8e8e8;border-radius:6px;overflow:hidden}.method-tag{padding:10px 14px;background:#fafafa;border-right:1px solid #e8e8e8;font-size:13px;font-weight:600;color:#333}.endpoint-input{flex:1;padding:10px 14px;border:none;font-size:13px;font-family:monospace;color:#333;background:#fff}.endpoint-input:focus{outline:none}.btn-copy-sm{padding:10px 16px;background:#fafafa;border:none;border-left:1px solid #e8e8e8;font-size:13px;color:#666;cursor:pointer;transition:all .2s}.btn-copy-sm:hover{background:#f0f0f0;color:#333}.auth-options{display:flex;flex-direction:column;gap:12px}.auth-option{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fafafa;border-radius:6px}.auth-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.auth-badge.recommended{background:#e6f7ff;color:#1890ff}.auth-badge:not(.recommended){background:#f5f5f5;color:#8c8c8c}.auth-label{font-size:13px;color:#333;font-weight:500}.auth-code{font-family:monospace;font-size:12px;color:#1890ff;background:#fff;padding:4px 8px;border-radius:4px;border:1px solid #e8e8e8}.params-table{width:100%;border-collapse:collapse;font-size:13px}.params-table th{text-align:left;padding:12px 16px;background:#fafafa;border-bottom:1px solid #e8e8e8;font-weight:600;color:#333}.params-table td{padding:12px 16px;border-bottom:1px solid #f0f0f0;color:#333}.param-row.highlight{background:#fafafa}.param-name{font-family:monospace;color:#1890ff;font-size:13px}.required-yes{color:#ff4d4f;font-weight:500}.type-tag{display:inline-block;padding:2px 8px;background:#f5f5f5;border-radius:4px;font-size:11px;color:#666;font-weight:500}.required-mark{color:#ff4d4f;font-size:11px;margin-left:6px}.default-val{color:#8c8c8c;font-size:11px;margin-left:6px}.code-block{position:relative;background:#1e1e1e;border-radius:8px;overflow:hidden}.code-block pre{margin:0;padding:16px 20px;color:#d4d4d4;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:1.6;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.code-block .error-response{color:#ff6b6b}.code-block .placeholder-response{color:#6a737d;font-style:italic}.btn-copy-code{position:absolute;top:8px;right:8px;padding:4px 10px;background:#ffffff1a;border:none;border-radius:4px;color:#fff;font-size:12px;cursor:pointer;transition:background .2s}.btn-copy-code:hover{background:#fff3}.response-block pre{max-height:400px;overflow-y:auto}.test-params-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-bottom:16px}.test-param-item{display:flex;flex-direction:column;gap:6px}.test-param-item label{font-size:13px;color:#333;font-weight:500}.test-param-item label .required{color:#ff4d4f;margin-left:2px}.test-param-item input{padding:10px 14px;border:1px solid #e8e8e8;border-radius:6px;font-size:13px;transition:border-color .2s}.test-param-item input:focus{outline:none;border-color:#1890ff}.test-actions{display:flex;align-items:center;gap:16px;margin-bottom:16px}.btn-test{padding:10px 24px;background:#1a1a1a;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-test:hover:not(:disabled){background:#333}.btn-test:disabled{opacity:.6;cursor:not-allowed}.cost-hint{font-size:13px;color:#ff4d4f}.balance-hint{font-size:13px;color:#8c8c8c}.loading-state,.empty-state{display:flex;align-items:center;justify-content:center;min-height:300px;color:#8c8c8c;font-size:14px}.output-params-table{width:100%;border-collapse:collapse;table-layout:auto;border:1px solid #e8e8e8;border-radius:8px;overflow:hidden}.output-params-table th,.output-params-table td{text-align:left;padding:12px 16px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.output-params-table th{background:#fafafa;font-weight:600;font-size:13px;color:#333;white-space:nowrap}.output-params-table tbody tr:last-child td{border-bottom:none}.output-params-table tbody tr:hover{background:#f9f9f9}.output-params-table td{font-size:13px;color:#333}.output-params-table td:nth-child(1){min-width:120px;max-width:200px}.output-params-table td:nth-child(2){min-width:70px;white-space:nowrap}.output-params-table td:nth-child(3){min-width:80px}.output-params-table td:nth-child(4){min-width:100px}.output-params-table .param-path{font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px;color:#1890ff;background:#f0f5ff;padding:3px 8px;border-radius:4px;word-break:break-all;display:inline-block}.output-params-table .type-tag{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:500;white-space:nowrap}.output-params-table .type-tag.type-string{background:#e6f7ff;color:#1890ff}.output-params-table .type-tag.type-number{background:#f6ffed;color:#52c41a}.output-params-table .type-tag.type-boolean{background:#fffbe6;color:#faad14}.output-params-table .type-tag.type-object{background:#f9f0ff;color:#722ed1}.output-params-table .type-tag.type-array{background:#fff0f6;color:#eb2f96}.dark-code-block{background:#1e1e1e!important;border:none!important}.dark-code-block pre{color:#d4d4d4!important}.dark-code-block .btn-copy-code{background:#ffffff1a;color:#d4d4d4;border:1px solid rgba(255,255,255,.2)}.dark-code-block .btn-copy-code:hover{background:#fff3;color:#fff}@media (max-width: 768px){.api-detail-page{padding:16px}.api-title{font-size:22px}.endpoint-box{flex-direction:column}.method-tag{width:100%;border-right:none;border-bottom:1px solid #e8e8e8}.btn-copy-sm{width:100%;border-left:none;border-top:1px solid #e8e8e8}.auth-option{flex-wrap:wrap}.test-params-grid{grid-template-columns:1fr}.test-actions{flex-direction:column;align-items:flex-start}}.user-center-page{max-width:900px;margin:0 auto}.user-center-page h1{font-size:20px;font-weight:600;color:#333;margin:0 0 24px}.balance-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.balance-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000f}.balance-card.main{background:linear-gradient(135deg,#1890ff,#096dd9)}.balance-card.main .card-label,.balance-card.main .card-value,.balance-card.main .card-hint{color:#fff}.card-label{font-size:13px;color:#909399;margin-bottom:8px}.card-value{font-size:28px;font-weight:600;color:#333}.card-hint{font-size:12px;color:#ffffffb3;margin-top:12px}.api-key-card{background:#fff;border-radius:12px;padding:20px;margin-bottom:24px;box-shadow:0 2px 8px #0000000f}.api-key-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.api-key-card h3{margin:0;font-size:15px;font-weight:600;color:#333}.api-key-row{display:flex;gap:8px}.api-key-input{flex:1;padding:10px 14px;border:1px solid #d9d9d9;border-radius:6px;font-family:monospace;font-size:13px;background:#f5f7fa}.api-key-hint{margin:12px 0 0;font-size:12px;color:#909399}.logs-section{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000f}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3{margin:0;font-size:15px;font-weight:600;color:#333}.filter-tabs{display:flex;gap:8px}.filter-tab{padding:5px 12px;background:#fff;border:1px solid #d9d9d9;border-radius:16px;font-size:13px;color:#606266;cursor:pointer;transition:all .2s}.filter-tab:hover{border-color:#1890ff;color:#1890ff}.filter-tab.active{background:#1890ff;border-color:#1890ff;color:#fff}.logs-table{overflow-x:auto}.logs-table table{width:100%;border-collapse:collapse}.logs-table th,.logs-table td{padding:12px;text-align:left;border-bottom:1px solid #f0f0f0}.logs-table th{font-size:13px;font-weight:500;color:#909399;background:#fafafa}.logs-table td{font-size:13px;color:#606266}.type-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px}.type-tag.type-recharge{background:#f6ffed;color:#52c41a}.type-tag.type-consume{background:#fff2f0;color:#ff4d4f}.type-tag.type-refund{background:#fff7e6;color:#fa8c16}.amount.plus{color:#52c41a}.amount.minus{color:#ff4d4f}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid #f0f0f0}.pagination button{padding:6px 14px;background:#fff;border:1px solid #d9d9d9;border-radius:6px;font-size:13px;color:#606266;cursor:pointer}.pagination button:hover:not(:disabled){border-color:#1890ff;color:#1890ff}.pagination button:disabled{opacity:.5;cursor:not-allowed}.page-info{font-size:13px;color:#909399}.loading-state,.empty-state{text-align:center;padding:40px 20px;color:#909399}@media (max-width: 768px){.balance-cards{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start;gap:12px}.filter-tabs{flex-wrap:wrap}}.admin-api-market-page{max-width:1100px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1{margin:0;font-size:20px;font-weight:600;color:#333}.api-table{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.api-table table{width:100%;border-collapse:collapse}.api-table th,.api-table td{padding:14px 16px;text-align:left;border-bottom:1px solid #f0f0f0}.api-table th{background:#fafafa;font-size:13px;font-weight:500;color:#909399}.api-table td{font-size:13px;color:#606266}.api-name-cell{display:flex;flex-direction:column;gap:4px}.api-name-cell .api-name{font-weight:500;color:#333}.api-name-cell .api-url{font-size:12px;color:#909399;font-family:monospace}.price-free{color:#52c41a}.price-paid{color:#fa8c16}.status-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px}.status-tag.status-published{background:#f6ffed;color:#52c41a}.status-tag.status-offline{background:#fff2f0;color:#ff4d4f}.status-tag.status-draft{background:#f5f7fa;color:#909399}.action-btns{display:flex;gap:12px}.btn-link{background:none;border:none;padding:0;font-size:13px;color:#1890ff;cursor:pointer}.btn-link:hover{color:#40a9ff}.btn-link.danger{color:#ff4d4f}.empty-cell{text-align:center;color:#909399;padding:40px!important}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-content.large{max-width:860px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f0f0f0}.modal-header h3{margin:0;font-size:16px;font-weight:600;color:#333}.btn-close{background:none;border:none;font-size:20px;color:#909399;cursor:pointer;padding:0;line-height:1}.modal-body{padding:20px;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #f0f0f0}.form-section{margin-bottom:24px}.form-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#333}.form-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.form-section .section-header h4{margin:0}.form-row{display:flex;gap:12px}.form-item{flex:1;margin-bottom:12px}.form-item label{display:block;font-size:13px;color:#606266;margin-bottom:6px}.form-item input[type=text],.form-item input[type=number],.form-item select,.form-item textarea{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px;box-sizing:border-box}.form-item input:focus,.form-item select:focus,.form-item textarea:focus{outline:none;border-color:#1890ff}.code-input{font-family:monospace}.checkbox-label{display:flex;align-items:center;gap:6px;font-size:13px;color:#606266;cursor:pointer}.checkbox-label.inline{display:inline-flex}.radio-label{display:flex;align-items:center;gap:6px;font-size:13px;color:#606266;cursor:pointer;margin-right:20px}.status-options{display:flex;flex-wrap:wrap}.params-list{display:flex;flex-direction:column;gap:8px}.param-item{display:flex;gap:8px;align-items:center}.param-item input[type=text]{width:120px;padding:6px 10px;border:1px solid #d9d9d9;border-radius:4px;font-size:12px}.param-item select{width:80px;padding:6px 8px;border:1px solid #d9d9d9;border-radius:4px;font-size:12px}.btn-icon-delete{background:#fff2f0;border:1px solid #ffccc7;color:#ff4d4f;width:24px;height:24px;border-radius:4px;font-size:14px;cursor:pointer;flex-shrink:0}.empty-hint{font-size:13px;color:#909399;margin:0}.section-hint{font-size:12px;color:#909399;margin:0 0 12px}.field-hint{font-size:12px;color:#909399;margin:8px 0 0}.input-with-vars{position:relative}.input-with-vars input,.input-with-vars textarea{width:100%;padding-right:40px}.var-selector.inline.for-textarea{top:8px;transform:none}.btn-var-toggle{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#f5f5f5;border:1px solid #e8e8e8;border-radius:4px;font-size:12px;color:#666;cursor:pointer;transition:all .2s}.btn-var-toggle:hover{background:#e8e8e8;border-color:#d9d9d9}.var-dropdown{display:none;position:absolute;top:calc(100% + 4px);right:0;min-width:200px;max-height:220px;overflow-y:auto;background:#fff;border:1px solid #e8e8e8;border-radius:8px;box-shadow:0 6px 16px #0000001f;z-index:1010}.var-selector:hover .var-dropdown{display:block}.var-selector.inline .var-dropdown{top:calc(100% + 6px);right:-6px}.var-empty{padding:12px;color:#999;font-size:12px;text-align:center}.var-option{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;cursor:pointer;transition:background .2s}.var-option:hover{background:#f5f5f5}.var-option .var-name{font-family:monospace;font-size:12px;color:#1890ff}.var-option .var-label{font-size:11px;color:#999}.test-params{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:12px}.test-param{display:flex;flex-direction:column;gap:6px}.test-param label{font-size:12px;color:#606266}.test-param input{padding:8px 10px;border:1px solid #d9d9d9;border-radius:4px;font-size:13px}.test-result{margin-top:12px;border-radius:6px;overflow:hidden}.test-result.success{border:1px solid #b7eb8f}.test-result.error{border:1px solid #ffccc7}.test-result .result-header{padding:10px 12px;font-size:13px}.test-result.success .result-header{background:#f6ffed;color:#52c41a}.test-result.error .result-header{background:#fff2f0;color:#ff4d4f}.test-result .result-body{padding:12px;margin:0;background:#1e1e1e;color:#d4d4d4;font-size:12px;font-family:monospace;max-height:200px;overflow:auto}.input-params-table{border:1px solid #e8e8e8;border-radius:8px;overflow:hidden}.input-params-table table{width:100%;border-collapse:collapse;font-size:13px}.input-params-table th,.input-params-table td{padding:10px 8px;text-align:left;border-bottom:1px solid #f0f0f0}.input-params-table th{background:#fafafa;font-size:12px;font-weight:500;color:#909399}.input-params-table tbody tr:hover{background:#f5f7fa}.table-input{width:100%;padding:6px 8px;border:1px solid #d9d9d9;border-radius:4px;font-size:12px;transition:border-color .2s}.table-input:focus{border-color:#1890ff;outline:none}.table-select{width:100%;padding:6px 8px;border:1px solid #d9d9d9;border-radius:4px;font-size:12px;background:#fff}.table-select:focus{border-color:#1890ff;outline:none}.output-params-list{display:flex;flex-direction:column;gap:6px}.output-param-item{display:flex;gap:12px;padding:8px 12px;background:#f5f7fa;border-radius:4px;font-size:12px}.output-param-item .param-path{font-family:monospace;color:#1890ff;min-width:150px}.output-param-item .param-type{color:#909399;min-width:60px}.output-param-item .param-name{color:#606266;min-width:80px}.output-param-item .param-sample{color:#909399;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.output-more{font-size:12px;color:#909399;padding:8px;text-align:center}.output-params-table{border:1px solid #e8e8e8;border-radius:8px;overflow:hidden;max-height:400px;overflow-y:auto}.output-params-table table{width:100%;border-collapse:collapse;font-size:13px}.output-params-table th,.output-params-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #f0f0f0}.output-params-table th{background:#fafafa;font-size:12px;font-weight:500;color:#909399;position:sticky;top:0;z-index:1}.output-params-table tbody tr:hover{background:#f5f7fa}.param-path-code{font-family:monospace;font-size:12px;color:#1890ff;background:#f0f5ff;padding:2px 6px;border-radius:3px}.type-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.type-badge.type-string{background:#e6f7ff;color:#1890ff}.type-badge.type-number{background:#f6ffed;color:#52c41a}.type-badge.type-boolean{background:#fffbe6;color:#faad14}.type-badge.type-object{background:#f9f0ff;color:#722ed1}.type-badge.type-array{background:#fff0f6;color:#eb2f96}.inline-input{width:100%;padding:4px 8px;border:1px solid transparent;border-radius:4px;font-size:12px;background:transparent}.inline-input:hover{border-color:#d9d9d9;background:#fff}.inline-input:focus{border-color:#1890ff;background:#fff;outline:none}.sample-cell{color:#909399;font-family:monospace;font-size:11px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.output-hint{font-size:12px;color:#909399;margin-top:8px;text-align:right}.loading-state{text-align:center;padding:60px 20px;color:#909399}.mode-selector{display:flex;gap:12px}.mode-option{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid #d9d9d9;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.mode-option:hover{border-color:#1890ff}.mode-option.active{border-color:#1890ff;background:#e6f7ff;color:#1890ff}.mode-option.disabled{opacity:.5;cursor:not-allowed}.mode-option input[type=radio]{display:none}.mode-hint{font-size:11px;color:#909399}.coze-config{margin-top:16px;padding:16px;background:#f9f9f9;border-radius:8px}.input-with-action{display:flex;gap:8px}.input-with-action input{flex:1}.sub-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.sub-section-header label{font-size:13px;font-weight:500;color:#333}.btn-link{background:none;border:none;color:#1890ff;cursor:pointer;font-size:13px;padding:0}.btn-link:hover{text-decoration:underline}.kv-list{display:flex;flex-direction:column;gap:8px}.kv-row{display:flex;gap:8px;align-items:center}.kv-row>input{padding:8px 10px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px;box-sizing:border-box}input.kv-key-input,.form-item input.kv-key-input[type=text]{width:140px!important;flex:0 0 140px;min-width:100px}.kv-row>input:focus{border-color:#1890ff;outline:none}.btn-remove{width:28px;height:28px;border:none;background:#fff0f0;color:#ff4d4f;border-radius:4px;cursor:pointer;font-size:16px;line-height:1;flex-shrink:0}.btn-remove:hover{background:#ff4d4f;color:#fff}.kv-row .input-with-vars{position:relative;flex:1;min-width:0}.kv-row .input-with-vars input{width:100%;padding:8px 40px 8px 10px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px;box-sizing:border-box}.kv-row .input-with-vars input:focus{border-color:#1890ff;outline:none}.var-selector.inline{position:absolute;right:6px;top:50%;transform:translateY(-50%);z-index:1}.var-selector.inline .btn-var-toggle{width:26px;height:26px;padding:0;font-size:11px;font-weight:600;min-width:auto;background:#f0f5ff;color:#1890ff;border:1px solid #d6e4ff;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.var-selector.inline .btn-var-toggle:hover{background:#1890ff;color:#fff;border-color:#1890ff}.icon-uploader{display:flex;flex-direction:column;align-items:center;gap:8px}.icon-upload-box{width:80px;height:80px;border:2px dashed #d9d9d9;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;background:#fafafa;overflow:hidden}.icon-upload-box:hover{border-color:#1890ff;background:#f0f7ff}.icon-preview-img{width:100%;height:100%;object-fit:cover}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:4px}.upload-icon{font-size:24px;color:#999;line-height:1}.upload-text{font-size:11px;color:#999}.upload-loading{font-size:12px;color:#1890ff}.btn-remove-icon{padding:2px 8px;font-size:11px;color:#ff4d4f;background:none;border:1px solid #ffccc7;border-radius:4px;cursor:pointer}.btn-remove-icon:hover{background:#fff2f0}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start;gap:12px}.form-row{flex-direction:column}.param-item{flex-wrap:wrap}.test-params{grid-template-columns:1fr}.mode-selector{flex-direction:column}.kv-row{flex-wrap:wrap}.kv-row>input,input.kv-key-input,.form-item input.kv-key-input[type=text]{width:100%!important;flex:1 1 auto}.kv-row .input-with-vars{width:100%;min-width:0}}.ai-assistant-page{display:flex;flex-direction:column;height:calc(100vh + -0px);background:#f7f8fa;overflow:hidden}.ai-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#fff;border-bottom:1px solid #e8e8e8;flex-shrink:0}.ai-header-left{display:flex;align-items:center;gap:12px}.ai-header-icon{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff}.ai-header-title{margin:0;font-size:17px;font-weight:600;color:#1a1a1a}.ai-header-desc{margin:2px 0 0;font-size:12px;color:#999}.ai-new-chat-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid #d9d9d9;border-radius:6px;background:#fff;color:#333;font-size:13px;cursor:pointer;transition:all .2s}.ai-new-chat-btn:hover{border-color:#667eea;color:#667eea;background:#f5f0ff}.ai-messages{flex:1;overflow-y:auto;padding:20px 0;scroll-behavior:smooth}.ai-messages::-webkit-scrollbar{width:6px}.ai-messages::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px}.ai-msg{display:flex;gap:12px;padding:8px 24px;margin-bottom:4px;max-width:100%}.ai-msg-user{flex-direction:row-reverse}.ai-msg-avatar{width:32px;height:32px;min-width:32px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.ai-msg-content{max-width:75%;min-width:0}.ai-msg-text{padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.7;color:#333;word-break:break-word}.ai-msg-assistant .ai-msg-text{background:#fff;border:1px solid #eee;border-radius:2px 12px 12px}.ai-msg-user .ai-msg-text{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px 2px 12px 12px}.ai-msg-user .ai-msg-text strong{color:#fff}.ai-msg-error .ai-msg-text{background:#fff2f0;border-color:#ffccc7;color:#cf1322}.ai-msg-text h2{margin:12px 0 8px;font-size:16px;font-weight:600;color:#1a1a1a}.ai-msg-text h3{margin:10px 0 6px;font-size:15px;font-weight:600;color:#1a1a1a}.ai-msg-text h4{margin:8px 0 4px;font-size:14px;font-weight:600;color:#333}.ai-msg-text ul{margin:6px 0;padding-left:20px}.ai-msg-text li{margin-bottom:4px;line-height:1.6}.ai-msg-text strong{color:#1a1a1a}.ai-inline-code{padding:2px 6px;background:#f0f0f0;border-radius:3px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px;color:#e83e8c}.ai-msg-user .ai-inline-code{background:#fff3;color:#fff}.ai-code-block{margin:8px 0;padding:12px 16px;background:#1e1e1e;border-radius:8px;overflow-x:auto;font-size:12px;line-height:1.5}.ai-code-block code{color:#d4d4d4;font-family:SF Mono,Monaco,Consolas,monospace;white-space:pre}.ai-cursor-blink{animation:blink 1s steps(2) infinite;color:#667eea;font-weight:700}@keyframes blink{0%{opacity:1}50%{opacity:0}}.ai-typing-indicator{display:flex;gap:4px;padding:12px 16px;background:#fff;border:1px solid #eee;border-radius:2px 12px 12px;width:fit-content}.ai-typing-indicator span{width:8px;height:8px;border-radius:50%;background:#667eea;animation:typing 1.4s infinite ease-in-out both}.ai-typing-indicator span:nth-child(1){animation-delay:-.32s}.ai-typing-indicator span:nth-child(2){animation-delay:-.16s}.ai-typing-indicator span:nth-child(3){animation-delay:0s}@keyframes typing{0%,80%,to{transform:scale(.4);opacity:.4}40%{transform:scale(1);opacity:1}}.ai-config-card{margin:12px 24px 12px 68px;background:#fff;border:2px solid #667eea;border-radius:12px;overflow:hidden;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.config-card-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;font-size:14px}.config-card-body{padding:16px}.config-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.config-item{padding:8px 12px;background:#f7f8fa;border-radius:6px}.config-label{display:block;font-size:11px;color:#999;margin-bottom:2px}.config-value{font-size:14px;font-weight:500;color:#333}.config-card-actions{display:flex;gap:10px}.btn-create-connector{display:flex;align-items:center;gap:6px;padding:9px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-create-connector:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-create-connector:disabled{opacity:.7;cursor:not-allowed}.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.btn-view-config{padding:9px 16px;background:#fff;color:#667eea;border:1px solid #667eea;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.btn-view-config:hover{background:#f5f0ff}.ai-msg-connector-created{padding:8px 24px 8px 68px;margin-bottom:4px}.created-card{display:flex;gap:14px;padding:16px 20px;background:#f6ffed;border:1px solid #b7eb8f;border-radius:12px;animation:slideUp .3s ease}.created-icon{font-size:28px;flex-shrink:0}.created-info h4{margin:0 0 4px;font-size:15px;color:#52c41a}.created-name{margin:0 0 12px;color:#666;font-size:13px}.created-actions{display:flex;gap:8px}.btn-go-edit{padding:6px 14px;background:#52c41a;color:#fff;border:none;border-radius:4px;font-size:13px;cursor:pointer;transition:background .2s}.btn-go-edit:hover{background:#389e0d}.btn-copy-url{padding:6px 14px;background:#fff;color:#52c41a;border:1px solid #b7eb8f;border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s}.btn-copy-url:hover{background:#f6ffed}.ai-input-area{flex-shrink:0;padding:12px 24px 16px;background:#fff;border-top:1px solid #e8e8e8}.ai-input-wrapper{display:flex;align-items:flex-end;gap:8px;padding:8px 8px 8px 4px;background:#f7f8fa;border:1px solid #d9d9d9;border-radius:12px;transition:border-color .2s,box-shadow .2s}.ai-input-wrapper:focus-within{border-color:#667eea;box-shadow:0 0 0 2px #667eea26}.ai-attach-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;border:none;background:transparent;color:#999;border-radius:6px;cursor:pointer;transition:all .2s}.ai-attach-btn:hover:not(:disabled){color:#667eea;background:#eee}.ai-attach-btn:disabled{opacity:.5;cursor:not-allowed}.ai-input{flex:1;border:none;background:transparent;resize:none;font-size:14px;line-height:1.5;color:#333;outline:none;min-height:24px;max-height:200px;padding:6px 0;font-family:inherit}.ai-input::placeholder{color:#bbb}.ai-send-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px;cursor:pointer;transition:all .2s}.ai-send-btn:hover:not(:disabled){opacity:.9;transform:scale(1.05)}.ai-send-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.ai-input-hint{padding:6px 4px 0;font-size:11px;color:#bbb;text-align:center}@media (max-width: 768px){.ai-msg-content{max-width:88%}.ai-config-card{margin-left:24px}.ai-msg-connector-created{padding-left:24px}.config-summary{grid-template-columns:1fr}.config-card-actions,.created-actions{flex-direction:column}}.coze-accounts-page{padding:24px}.coze-accounts-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.coze-accounts-page .page-header h1{margin:0 0 4px;font-size:20px}.coze-accounts-page .page-desc{color:#999;font-size:13px;margin:0}.empty-state{text-align:center;padding:60px 20px;color:#999}.empty-icon{font-size:48px;margin-bottom:16px}.empty-state h3{margin:0 0 8px;color:#333}.empty-state p{margin:0 0 20px;font-size:14px}.accounts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}.account-card{background:#fff;border:1px solid #e8e8e8;border-radius:10px;overflow:hidden;transition:box-shadow .2s}.account-card:hover{box-shadow:0 2px 12px #00000014}.account-card.disabled{opacity:.6}.account-card-header{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid #f0f0f0}.account-icon{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.account-info{flex:1;min-width:0}.account-info h3{margin:0;font-size:15px;font-weight:600;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-owner{font-size:12px;color:#999}.status-dot{width:8px;height:8px;border-radius:50%;background:#d9d9d9;flex-shrink:0}.status-dot.active{background:#52c41a}.account-card-body{padding:12px 16px}.account-detail{display:flex;gap:8px;margin-bottom:6px;font-size:13px}.detail-label{color:#999;min-width:50px;flex-shrink:0}.detail-value{color:#666;word-break:break-all}.detail-value.token{font-family:monospace;font-size:12px}.account-card-footer{display:flex;gap:0;border-top:1px solid #f0f0f0}.btn-action{flex:1;padding:10px;border:none;background:transparent;color:#667eea;font-size:13px;cursor:pointer;transition:background .2s;border-right:1px solid #f0f0f0}.btn-action:last-child{border-right:none}.btn-action:hover{background:#f7f8fa}.btn-action.danger{color:#ff4d4f}.btn-action:disabled{opacity:.5;cursor:not-allowed}.coze-accounts-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.coze-accounts-page .modal-content{background:#fff;border-radius:12px;width:480px;max-height:90vh;overflow-y:auto}.coze-accounts-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f0f0f0}.coze-accounts-page .modal-header h3{margin:0;font-size:16px}.coze-accounts-page .modal-body{padding:20px}.coze-accounts-page .modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid #f0f0f0}.coze-accounts-page .form-group{margin-bottom:16px}.coze-accounts-page .form-label{display:block;font-size:13px;font-weight:500;color:#333;margin-bottom:6px}.coze-accounts-page .required{color:#f56c6c}.coze-accounts-page .hint{color:#999;font-weight:400;font-size:12px;margin-left:4px}.coze-accounts-page .form-input{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;box-sizing:border-box;transition:border-color .2s}.coze-accounts-page .form-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 2px #667eea26}.coze-accounts-page .field-hint{margin:4px 0 0;font-size:12px;color:#999}.loading-state{text-align:center;padding:40px;color:#999}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #409eff;--primary-hover: #66b1ff;--primary-light: #ecf5ff;--primary-dark: #337ecc;--success-color: #67c23a;--warning-color: #e6a23c;--error-color: #f56c6c;--info-color: #909399;--text-primary: #303133;--text-regular: #606266;--text-secondary: #909399;--text-placeholder: #c0c4cc;--text-disabled: #c0c4cc;--border-color: #dcdfe6;--border-light: #e4e7ed;--border-lighter: #ebeef5;--bg-color: #f5f6fa;--bg-white: #ffffff;--bg-page: #f2f3f5;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .08);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.6;color:var(--text-primary);background-color:var(--bg-color);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}a{color:var(--primary-color);text-decoration:none}a:hover{color:var(--primary-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;font-size:14px;font-weight:500;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;white-space:nowrap;line-height:1}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#1890ff,#096dd9);color:#fff;border:none;box-shadow:0 2px 4px #1890ff33}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#40a9ff,#1890ff);box-shadow:0 4px 8px #1890ff4d;transform:translateY(-1px)}.btn-secondary{background:#fff;color:#606266;border:1px solid #d9d9d9}.btn-secondary:hover:not(:disabled){border-color:#1890ff;color:#1890ff;background:#e6f7ff}.btn-danger{background:#fff;color:#f56c6c;border:1px solid #f56c6c}.btn-danger:hover:not(:disabled){background:#fef0f0;color:#f56c6c;border-color:#f56c6c}.btn-text{background:transparent;color:var(--primary-color);border:none;padding:9px 12px}.btn-text:hover:not(:disabled){background:var(--primary-light)}.btn-sm{padding:6px 12px;font-size:13px}.btn-lg{padding:12px 20px;font-size:15px}.form-group{margin-bottom:16px}.form-label{display:block;margin-bottom:6px;font-weight:500;color:var(--text-primary)}.form-label .required{color:var(--error-color);margin-left:2px}.form-input,.form-select,.form-textarea{width:100%;padding:10px 12px;font-size:14px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-white);transition:all .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-light)}.form-input::placeholder{color:var(--text-disabled)}.form-textarea{min-height:100px;resize:vertical}.form-hint{margin-top:4px;font-size:12px;color:var(--text-secondary)}.form-error{margin-top:4px;font-size:12px;color:var(--error-color)}.card{background:var(--bg-white);border-radius:var(--radius-md);border:1px solid var(--border-lighter);overflow:hidden}.card-header{padding:14px 20px;border-bottom:1px solid var(--border-lighter);display:flex;align-items:center;justify-content:space-between;background:#fafafa}.card-title{font-size:15px;font-weight:600;color:var(--text-primary)}.card-body{padding:20px}.message{padding:12px 16px;border-radius:var(--radius-md);margin-bottom:16px}.message-success{background:#f6ffed;border:1px solid #b7eb8f;color:#52c41a}.message-error{background:#fff2f0;border:1px solid #ffccc7;color:#ff4d4f}.message-warning{background:#fffbe6;border:1px solid #ffe58f;color:#faad14}.message-info{background:var(--primary-light);border:1px solid #91d5ff;color:var(--primary-color)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state-title{font-size:16px;font-weight:500;margin-bottom:8px;color:var(--text-primary)}.empty-state-desc{font-size:14px;margin-bottom:20px}.loading{display:flex;align-items:center;justify-content:center;padding:40px}.loading-spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tag{display:inline-flex;align-items:center;padding:2px 8px;font-size:12px;border-radius:var(--radius-sm)}.tag-success{background:#f6ffed;color:#52c41a}.tag-warning{background:#fffbe6;color:#faad14}.tag-error{background:#fff2f0;color:#ff4d4f}.tag-info{background:var(--primary-light);color:var(--primary-color)}.tag-default{background:var(--bg-color);color:var(--text-secondary)}@media (max-width: 768px){.hide-mobile{display:none!important}}@media (min-width: 769px){.hide-desktop{display:none!important}}.container{max-width:1200px;margin:0 auto;padding:0 16px}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-1{flex:1}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.text-center{text-align:center}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--success-color)}.text-error{color:var(--error-color)}.font-bold{font-weight:600}
