*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;overflow:hidden}body,.ant-btn,.ant-input,.ant-select,.ant-table,.ant-card,.ant-modal,.ant-drawer,.ant-tabs,.ant-tag,.ant-badge,.ant-form,.ant-descriptions,.ant-statistic{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important}.sider-dark{background:#0f172a!important}.sider-dark .ant-menu{background:transparent!important}.sider-dark .ant-menu-item-selected{background:#1e3a5f!important}.sider-light{background:#fff!important;border-right:1px solid #e5e7eb}.sider-light .logo-area{color:#1e293b}.sider-light .logo-subtitle{color:#94a3b8!important}.sider-light .ant-layout-sider-trigger{background:#fff!important;color:#475569!important;border-top:1px solid #e5e7eb}.logo-area{height:64px;margin:8px 12px 4px;display:flex;align-items:center;gap:10px;color:#fff}.logo-img-wrapper{position:relative;cursor:pointer;flex-shrink:0}.logo-img-wrapper .logo-icon{width:36px;height:36px;background:linear-gradient(135deg,#3b82f6,#6366f1);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:900;color:#fff}.logo-upload-hint{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;opacity:0;transition:opacity .2s}.logo-img-wrapper:hover .logo-upload-hint{opacity:1}.logo-text{overflow:hidden;white-space:nowrap}.logo-title{font-size:17px;font-weight:700;letter-spacing:1px;line-height:1.2}.logo-subtitle{font-size:10px;color:#ffffff80;letter-spacing:.5px}.app-header-global{height:56px;padding:0 20px;background:#fff;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e7eb;position:fixed;top:0;left:0;right:0;z-index:100}.header-logo{display:flex;align-items:center;gap:10px}.logo-icon-sm{width:32px;height:32px;background:linear-gradient(135deg,#3b82f6,#6366f1);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;color:#fff}.header-brand{font-size:17px;font-weight:700;color:#1e293b;letter-spacing:.5px}.header-right{display:flex;align-items:center}.header-actions-group{display:flex;align-items:center;gap:4px;background:#f1f5f9;border-radius:8px;padding:2px 6px}.header-divider{width:1px;height:18px;background:#d1d5db;margin:0 2px}.header-user{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .2s}.header-user:hover{background:#f1f5f9}.header-username{color:#334155;font-size:13px;font-weight:500}.header-logout{color:#94a3b8!important;font-size:13px}.site-layout-content{padding:12px 12px 0;overflow:hidden;display:flex;flex-direction:column;flex:1;min-height:0;background:#f1f5f9!important;width:100%;position:relative}.page-content-wrapper{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.page-pagination-bar{flex-shrink:0;height:40px;background:#fff;border-top:1px solid #f0f0f0;border-radius:0 0 12px 12px;margin-bottom:10px}.sider-dark .ant-layout-sider-trigger{background:#1e293b}.sider-light .ant-layout-sider-trigger{background:#fff;color:#475569;border-top:1px solid #e5e7eb}.flows-spin-full,.flows-spin-full>.ant-spin-container{display:flex;flex-direction:column;flex:1;min-height:0}.flows-spin-full>.ant-spin-container.ant-spin-blur{opacity:0!important;filter:none!important;pointer-events:none}.page-content-wrapper>div,.page-content-wrapper>.ant-spin-nested-loading,.page-content-wrapper>.ant-spin-nested-loading>.ant-spin-container{display:flex;flex-direction:column;flex:1;min-height:0}.site-layout-content{font-size:13px!important;font-weight:400!important}.site-layout-content .ant-card-head-title{font-weight:500!important}.site-layout-content .ant-tabs-tab,.site-layout-content .ant-btn,.site-layout-content .ant-select .ant-select-selection-item,.site-layout-content .ant-select .ant-select-selection-placeholder,.site-layout-content .ant-input{font-size:13px!important}.site-layout-content .ant-tag{font-size:12px!important}.site-layout-content .ant-descriptions-item-label,.site-layout-content .ant-descriptions-item-content{font-size:13px!important}.site-layout-content .ant-modal-title,.site-layout-content .ant-drawer-title{font-size:15px!important}.site-layout-content .ant-pagination,.site-layout-content .ant-empty-description{font-size:13px!important}.site-layout-content .ant-table-tbody>tr>td{padding:4px 8px!important;font-weight:400!important}.site-layout-content .ant-table-thead>tr>th{padding:6px 8px!important;font-weight:400!important;position:sticky;top:0;z-index:2}.site-layout-content .ant-table{font-size:13px}.site-layout-content .ant-table-wrapper{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.site-layout-content .ant-table-wrapper>.ant-spin-nested-loading{flex:1;display:flex;flex-direction:column;min-height:0}.site-layout-content .ant-table-wrapper>.ant-spin-nested-loading>.ant-spin-container{flex:1;display:flex;flex-direction:column;min-height:0}.site-layout-content .ant-table-wrapper .ant-table{flex:1;min-height:0;overflow:hidden}.site-layout-content .ant-table-wrapper .ant-table .ant-table-container{display:flex;flex-direction:column;height:100%}.site-layout-content .ant-table-wrapper .ant-table .ant-table-body{flex:1;overflow:auto!important}.site-layout-content .ant-table-wrapper .ant-pagination{position:fixed;bottom:10px;right:12px;height:40px;margin:0!important;padding:0 16px;display:flex;align-items:center;justify-content:flex-end;z-index:50;background:transparent}.site-layout-content *::-webkit-scrollbar{width:6px;height:6px;background:transparent}.site-layout-content *::-webkit-scrollbar-thumb{background:transparent;border-radius:3px;transition:background .2s}.site-layout-content *:hover::-webkit-scrollbar-thumb{background:#cbd5e1}.site-layout-content *{scrollbar-width:thin;scrollbar-color:transparent transparent}.site-layout-content *:hover{scrollbar-color:#cbd5e1 transparent}.dash-stat-card{border:none;border-radius:14px;overflow:hidden;color:#fff}.dash-stat-card .ant-card-body{padding:20px 24px}.dash-stat-label{color:#fffc;font-size:13px;margin-bottom:10px}.dash-stat-value{font-size:32px;font-weight:700;line-height:1}.dash-stat-extra{font-size:11px;color:#ffffffa6;margin-top:6px}.dash-stat-icon{font-size:36px;color:#ffffff40}.dash-conn-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f1f5f9}.dash-conn-item:last-child{border-bottom:none}.dash-conn-name{font-size:13px;color:#334155;font-weight:500}.dash-scene-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dash-scene-box{background:#f8fafc;border-radius:10px;padding:16px;cursor:default;transition:background .2s}.dash-scene-box:hover{background:#f1f5f9}.dash-scene-name{font-size:14px;font-weight:600;color:#1e293b}.dash-scene-count{font-size:12px;color:#3b82f6;margin-top:4px}.dash-sync-table .ant-table{font-size:13px}.stat-card{text-align:center;border-radius:8px}.stat-card .ant-statistic-title{color:#ffffffd9;font-size:13px}.stat-card .ant-statistic-content{color:#fff}.conn-card{border-radius:10px;transition:all .3s}.conn-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.scenario-group{margin-bottom:24px}.scenario-group h4{font-size:15px;font-weight:600;margin-bottom:8px;color:#1e293b;border-left:3px solid #3b82f6;padding-left:8px}.flow-pipeline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0}.flow-node{background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;padding:12px 16px;border-radius:10px;text-align:center;min-width:120px}.flow-node .node-label{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:1px}.flow-node .node-title{font-size:14px;font-weight:600;margin-top:2px}.flow-node .node-desc{font-size:11px;color:#64748b;margin-top:2px}.flow-arrow{color:#3b82f6;font-size:20px;font-weight:700}.mapping-table .ant-tag{font-size:12px}.ant-input::placeholder,.ant-input-password .ant-input::placeholder{color:#ffffff80!important}.ant-input-affix-wrapper .anticon{color:#ffffff80!important}.theme-toggle-btn{font-size:18px}[data-theme=dark] .app-header-global{background:#141414;border-bottom-color:#303030}[data-theme=dark] .header-brand{color:#e5e7eb}[data-theme=dark] .header-username{color:#d1d5db}[data-theme=dark] .header-user:hover{background:#2a2a2a}[data-theme=dark] .header-actions-group{background:#1f1f1f}[data-theme=dark] .header-divider{background:#404040}[data-theme=dark] .site-layout-content{background:#0a0a0a}[data-theme=dark] .dash-conn-item{border-bottom-color:#303030}[data-theme=dark] .dash-conn-name{color:#d1d5db}[data-theme=dark] .dash-scene-box{background:#1f1f1f}[data-theme=dark] .dash-scene-box:hover{background:#2a2a2a}[data-theme=dark] .dash-scene-name,[data-theme=dark] .scenario-group h4{color:#e5e7eb}[data-theme=dark] .flow-node{background:linear-gradient(135deg,#1a1a2e,#16213e)}.page-tabs-bar{scrollbar-width:none}.page-tabs-bar:hover{scrollbar-width:thin}.page-tabs-bar::-webkit-scrollbar{height:0}.page-tabs-bar:hover::-webkit-scrollbar{height:4px}.page-tabs-bar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.page-tabs-bar::-webkit-scrollbar-track{background:transparent}.ant-layout-sider{scrollbar-width:none}.ant-layout-sider:hover{scrollbar-width:thin}.ant-layout-sider::-webkit-scrollbar{width:0}.ant-layout-sider:hover::-webkit-scrollbar{width:4px}.ant-layout-sider::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:2px}.ant-layout-sider::-webkit-scrollbar-track{background:transparent}
