.app-layout{min-height:100vh}.app-sider{box-shadow:2px 0 8px #00000026;z-index:10}.sider-logo{height:64px;display:flex;align-items:center;justify-content:center;padding:0 16px;border-bottom:1px solid rgba(255,255,255,.1)}.logo-icon{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#1677ff,#0958d9);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#fff}.logo-text{margin-left:12px;font-size:16px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;transition:all .3s}.sidebar-menu{border-right:none!important;margin-top:8px}.sidebar-menu .ant-menu-item,.sidebar-menu .ant-menu-submenu{margin:4px 8px!important;border-radius:6px;width:calc(100% - 16px)!important}.sidebar-menu .ant-menu-submenu-title{border-radius:6px!important}.sidebar-menu .ant-menu-item:hover{background:#ffffff14!important}.sidebar-menu .ant-menu-item-selected{background:#1677ff!important;box-shadow:0 2px 8px #1677ff59}.sidebar-menu .ant-menu-submenu-selected>.ant-menu-submenu-title{color:#1677ff!important}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;box-shadow:0 1px 4px #0000000f;position:sticky;top:0;z-index:9}.header-left{display:flex;align-items:center;gap:16px}.collapse-btn{font-size:16px;width:40px;height:40px}.header-left .page-title{font-size:18px;font-weight:500;color:#000000d9}.header-right{display:flex;align-items:center;gap:8px}.user-dropdown{display:flex;align-items:center;gap:8px;padding:4px 12px;border-radius:6px;cursor:pointer;transition:background .3s}.user-dropdown:hover{background:#0000000a}.username{font-size:14px;color:#000000a6;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-content{margin:16px;background:#f0f2f5;min-height:calc(100vh - 96px)}@media (max-width: 768px){.app-sider{position:fixed!important;height:100vh;z-index:100}.username{display:none}.header-left .page-title{font-size:16px}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#001529,#002140 40%,#1677ff);position:relative;overflow:hidden}.login-background{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;pointer-events:none}.bg-circle{position:absolute;border-radius:50%;background:#ffffff08;border:1px solid rgba(255,255,255,.05)}.bg-circle-1{width:600px;height:600px;top:-200px;right:-100px;animation:float 20s ease-in-out infinite}.bg-circle-2{width:400px;height:400px;bottom:-100px;left:-100px;animation:float 15s ease-in-out infinite reverse}.bg-circle-3{width:300px;height:300px;top:50%;left:50%;transform:translate(-50%,-50%);animation:pulse 10s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(30px,-30px) rotate(120deg)}66%{transform:translate(-20px,20px) rotate(240deg)}}@keyframes pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.5}50%{transform:translate(-50%,-50%) scale(1.1);opacity:.8}}.login-card{width:440px;border-radius:16px!important;box-shadow:0 16px 48px #0000004d!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1}.login-logo{font-size:52px;color:#1677ff;margin-bottom:16px}.input-icon{color:#00000040}.login-options{display:flex;justify-content:space-between;align-items:center}.login-btn{height:44px;font-size:16px;font-weight:500;border-radius:8px;background:linear-gradient(135deg,#1677ff,#0958d9);border:none}.login-btn:hover{background:linear-gradient(135deg,#4096ff,#1677ff)!important}.login-footer{text-align:center;margin-top:24px;padding-top:16px;border-top:1px solid #f0f0f0}.login-footer p{font-size:12px;color:#00000059;margin:2px 0}@media (max-width: 480px){.login-card{width:90%;max-width:400px}.login-title{font-size:20px}}.stat-cards-row{margin-bottom:8px}.stat-card{border-radius:10px!important;transition:all .3s ease;box-shadow:0 2px 8px #0000000a}.stat-card:hover{box-shadow:0 8px 24px #00000014;transform:translateY(-2px)}.stat-card-content{display:flex;align-items:center;gap:16px}.stat-icon-wrapper{font-size:36px;opacity:.8}.stat-info{flex:1}.stat-info .ant-statistic-title{font-size:13px;color:#00000073;margin-bottom:4px}.chart-card{margin-top:16px;border-radius:10px!important;box-shadow:0 2px 8px #0000000a}.chart-card .ant-card-head{border-bottom:1px solid #f0f0f0;font-weight:500}.chart-card .ant-card-body{padding:20px}.trend-up{color:#52c41a;font-size:13px;font-weight:500}.trend-down{color:#f5222d;font-size:13px;font-weight:500}.detail-modal .ant-modal-body{max-height:70vh;overflow-y:auto;padding:20px 24px}.detail-modal-header{display:flex;align-items:center;gap:8px}.detail-modal-icon{color:#1677ff;font-size:18px}.product-detail-content{padding:8px 0}.product-title{font-size:18px;font-weight:600;color:#000000d9;margin-bottom:16px;line-height:1.5}.product-descriptions{margin-bottom:16px}.product-price{font-size:18px;font-weight:600;color:#f5222d}.original-price{font-size:14px;color:#00000059;text-decoration:line-through;margin-left:8px}.product-description-section{margin:16px 0;padding:16px;background:#fafafa;border-radius:8px}.product-description-section h4{font-size:14px;font-weight:600;margin-bottom:8px;color:#000000a6}.product-description-section p{color:#000000a6;line-height:1.8}.product-tags-section{margin:16px 0}.product-tags-section h4{font-size:14px;font-weight:600;margin-bottom:8px;color:#000000a6}.tags-list{display:flex;flex-wrap:wrap;gap:8px}.product-meta{margin-top:16px;padding-top:16px;border-top:1px solid #f0f0f0}.filter-card{margin-bottom:16px;border-radius:10px!important;box-shadow:0 2px 8px #0000000a}.table-card{border-radius:10px!important;box-shadow:0 2px 8px #0000000a}.table-card .ant-table-thead>tr>th{background:#fafafa;font-weight:600}.pagination-wrapper{display:flex;justify-content:flex-end;padding-top:16px;border-top:1px solid #f0f0f0;margin-top:16px}.filter-tag{margin-right:8px}.advanced-filter{background:#fafafa;padding:16px;border-radius:8px;margin-top:12px}.price-range{display:flex;align-items:center;gap:8px}.price-range .ant-input-number{width:100px}.overview-stats{margin-bottom:24px}.overview-stats .ant-card{border-radius:10px;box-shadow:0 2px 8px #0000000a}.section-title{font-size:16px;font-weight:600;color:#000000d9;margin:24px 0 16px;padding-left:12px;border-left:4px solid #1677ff}.node-cards{margin-bottom:8px}.node-card{border-radius:10px!important;transition:all .3s;box-shadow:0 2px 8px #0000000a}.node-card:hover{box-shadow:0 8px 24px #00000014;transform:translateY(-2px)}.node-online{border-left:4px solid #52c41a!important}.node-offline{border-left:4px solid #f5222d!important}.node-card-title{font-weight:500}.node-info p{margin-bottom:6px;font-size:13px;color:#000000a6}.node-info .ant-tag{margin:2px}.dataflow-card{border-radius:10px!important}.dataflow-visual{display:flex;flex-direction:column;gap:16px}.dataflow-link{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;background:#fafafa;transition:all .3s}.dataflow-link:hover{background:#f0f5ff}.link-normal{border-left:4px solid #52c41a}.link-broken{border-left:4px solid #f5222d;background:#fff2f0}.node-tag{font-size:14px;font-weight:600;min-width:36px;text-align:center}.link-arrow{color:#00000040;font-size:16px}.link-info{flex:1;display:flex;justify-content:space-between;align-items:center}.link-name{font-weight:500;color:#000000a6}.crawler-info{padding:8px 0}.crawler-info .ant-statistic-title{font-size:12px}.crawler-info .ant-statistic-content{font-size:20px}.monitor-card{border-radius:10px!important;box-shadow:0 2px 8px #0000000a}.monitor-detail-card{border-radius:10px!important;box-shadow:0 2px 8px #0000000a;transition:all .3s}.monitor-detail-card:hover{box-shadow:0 8px 24px #00000014}.monitor-detail-card.online{border-left:4px solid #52c41a!important}.monitor-detail-card.offline{border-left:4px solid #f5222d!important}.monitor-card-title{display:flex;align-items:center;gap:8px}.monitor-card-title .anticon{font-size:18px;color:#1677ff}.monitor-details{padding:4px 0}.monitor-details p{margin-bottom:8px;font-size:13px;color:#000000a6}.service-item{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid #f5f5f5}.service-item:last-child{border-bottom:none}.service-status{font-size:12px;color:#00000073}.service-latency{margin-left:auto;font-size:12px;color:#00000073}.transmission-stats{margin-bottom:16px}.transmission-stats .ant-card{border-radius:10px;box-shadow:0 2px 8px #0000000a}.stat-value{font-size:28px;font-weight:600;color:#000000d9;margin-top:8px}.stat-suffix{font-size:14px;font-weight:400;color:#00000073;margin-left:4px}.log-table-card{border-radius:10px!important}.link-visual-card{border-radius:10px!important;margin-top:16px}.timeline-detail{font-size:12px;color:#00000073;margin-top:4px}.audit-table-card{border-radius:10px!important;box-shadow:0 2px 8px #0000000a}.log-details{font-size:12px;color:#00000073;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.ai-topology-map-container{position:relative;width:100%;height:100%;overflow:hidden;background:#0a0e1a;border-radius:12px}.topology-svg{width:100%;height:100%;transition:transform .15s ease-out;-webkit-user-select:none;user-select:none}.topology-node,.topology-node .node-card{transition:all .3s ease}.topology-node:hover .node-card{filter:brightness(1.2);stroke-width:2}.topology-node.selected .node-card{stroke-width:2.5;filter:brightness(1.3)}.node-glow{animation:nodeGlowPulse 3s ease-in-out infinite}@keyframes nodeGlowPulse{0%,to{stroke-opacity:.3}50%{stroke-opacity:.7}}.node-status-dot{animation:statusBlink 2s ease-in-out infinite}@keyframes statusBlink{0%,to{opacity:1}50%{opacity:.5}}.you-are-here{animation:youHerePulse 2s ease-in-out infinite}@keyframes youHerePulse{0%,to{opacity:.85;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.data-flow-line{animation:dataFlow linear infinite}@keyframes dataFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-96}}.center-glow{animation:centerGlowPulse 4s ease-in-out infinite}@keyframes centerGlowPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.topology-controls{position:absolute;bottom:16px;left:16px;display:flex;flex-direction:column;gap:6px;z-index:10}.control-btn{width:32px;height:32px;border-radius:8px;border:1px solid #1e293b;background:#141b2de6;color:#94a3b8;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.control-btn:hover{background:#1677ff;color:#fff;border-color:#1677ff;transform:scale(1.05)}.control-btn:active{transform:scale(.95)}.topology-legend{position:absolute;top:16px;right:16px;display:flex;flex-direction:column;gap:8px;padding:12px 16px;background:#141b2de6;border:1px solid #1e293b;border-radius:10px;z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.legend-item{display:flex;align-items:center;gap:8px;color:#94a3b8;font-size:12px}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.node-tooltip{min-width:180px}.node-tooltip-title{font-size:14px;font-weight:700;color:#e2e8f0;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #1e293b}.node-tooltip-item{font-size:12px;color:#94a3b8;margin-bottom:4px;display:flex;align-items:center}.node-tooltip-metrics{margin-top:8px;padding-top:6px;border-top:1px solid #1e293b;display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;font-size:11px;color:#64748b;text-align:center}@media (max-width: 1200px){.topology-legend{padding:8px 12px;gap:6px}.legend-item{font-size:11px}}@media (max-width: 768px){.topology-controls{bottom:8px;left:8px}.control-btn{width:28px;height:28px;font-size:14px}.topology-legend{top:8px;right:8px;padding:6px 10px}}.chat-float-button{position:fixed;bottom:32px;right:32px;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#1677ff,#0050b3);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1000;box-shadow:0 4px 20px #1677ff66;transition:all .3s ease}.chat-float-button:hover{transform:scale(1.1);box-shadow:0 6px 30px #1677ff99}.chat-button-inner{color:#fff;position:relative;z-index:2}.pulse-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid #1677ff;animation:pulseRing 2s ease-out infinite}.pulse-ring.delay{animation-delay:1s}@keyframes pulseRing{0%{transform:scale(1);opacity:.6}to{transform:scale(1.8);opacity:0}}.chat-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;border-radius:10px;background:#f5222f;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 6px;z-index:3;animation:badgeBounce .5s ease}@keyframes badgeBounce{0%{transform:scale(0)}50%{transform:scale(1.3)}to{transform:scale(1)}}.chat-panel{position:fixed;bottom:24px;right:24px;width:420px;height:600px;max-height:calc(100vh - 48px);background:#141b2d;border:1px solid #1e293b;border-radius:16px;display:flex;flex-direction:column;z-index:1000;box-shadow:0 8px 40px #00000080;animation:panelSlideIn .3s ease;overflow:hidden}@keyframes panelSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(135deg,#0f172a,#1e293b);border-bottom:1px solid #1e293b;flex-shrink:0}.chat-header-left{display:flex;align-items:center;gap:12px}.chat-header-info{display:flex;flex-direction:column}.chat-header-title{color:#e2e8f0;font-size:15px;font-weight:700}.chat-header-status{color:#64748b;font-size:11px;display:flex;align-items:center;gap:4px}.status-online-dot{width:7px;height:7px;border-radius:50%;background:#52c41a;animation:statusPulse 2s ease infinite}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.5}}.chat-close-btn{color:#64748b!important;transition:color .2s}.chat-close-btn:hover{color:#e2e8f0!important;background:#ffffff0d!important}.chat-quick-commands{padding:10px 14px;background:#0a0e1a80;border-bottom:1px solid #1e293b;flex-shrink:0}.quick-commands-title{color:#64748b;font-size:11px;margin-bottom:8px;display:flex;align-items:center;gap:4px}.quick-command-tag{background:#1677ff1a!important;border-color:#1677ff4d!important;color:#7bb3ff!important;cursor:pointer;font-size:12px;padding:2px 10px;transition:all .2s ease}.quick-command-tag:hover{background:#1677ff40!important;border-color:#1677ff!important;color:#fff!important;transform:translateY(-1px)}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-thumb{background:#1e293b;border-radius:2px}.chat-message{display:flex;gap:10px;align-items:flex-start;animation:messageSlideIn .3s ease}.chat-message.user{flex-direction:row-reverse}.message-avatar{flex-shrink:0;margin-top:2px}.message-bubble{max-width:75%;padding:10px 14px;border-radius:12px;position:relative}.chat-message.assistant .message-bubble{background:#1e293b;color:#e2e8f0;border-bottom-left-radius:4px}.chat-message.user .message-bubble{background:linear-gradient(135deg,#1677ff,#0050b3);color:#fff;border-bottom-right-radius:4px}.message-content .md-p{margin:0 0 6px;line-height:1.6}.message-content .md-p:last-child{margin-bottom:0}.message-content .md-strong{font-weight:600}.chat-message.user .message-content .md-strong{color:#fff}.message-content .md-code{background:#ffffff1a;padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:.9em}.message-content .md-ul{margin:4px 0;padding-left:18px}.message-content .md-li{margin-bottom:2px}.message-time{font-size:10px;opacity:.5;margin-top:4px;text-align:right}.typing-indicator{display:flex;gap:4px;padding:6px 4px}.typing-dot{width:8px;height:8px;border-radius:50%;background:#64748b;animation:typingBounce 1.4s ease-in-out infinite}.typing-dot:nth-child(1){animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.chat-input-area{display:flex;align-items:flex-end;gap:8px;padding:12px 14px;background:#0f172a;border-top:1px solid #1e293b;flex-shrink:0}.chat-input{flex:1;background:#1e293b!important;border-color:#334155!important;color:#e2e8f0!important;border-radius:10px;resize:none}.chat-input::placeholder{color:#475569!important}.chat-input:focus{border-color:#1677ff!important;box-shadow:0 0 0 2px #1677ff26!important}.chat-send-btn{height:36px;width:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:10px;background:linear-gradient(135deg,#1677ff,#0050b3)!important;border:none!important}.chat-send-btn:hover{background:linear-gradient(135deg,#4096ff,#1677ff)!important}.chat-send-btn:disabled{opacity:.5}@media (max-width: 520px){.chat-panel{position:fixed;top:0;left:0;width:100%;height:100%;max-height:100vh;border-radius:0;bottom:0;right:0}.chat-float-button{bottom:20px;right:20px;width:52px;height:52px}}.ai-node-detail-modal .ant-modal-content{background:#141b2d;border:1px solid #1e293b;border-radius:12px;box-shadow:0 8px 40px #00000080}.ai-node-detail-modal .ant-modal-header{background:linear-gradient(135deg,#0f172a,#1e293b);border-bottom:1px solid #1e293b;border-radius:12px 12px 0 0;padding:16px 20px}.ai-node-detail-modal .ant-modal-title{color:#e2e8f0}.ai-node-detail-modal .ant-modal-close{color:#64748b;transition:color .2s}.ai-node-detail-modal .ant-modal-close:hover{color:#e2e8f0;background:#ffffff0d}.ai-node-detail-modal .ant-modal-body{padding:0;max-height:65vh;overflow-y:auto;background:#141b2d;border-radius:0 0 12px 12px}.ai-node-detail-modal .ant-modal-body::-webkit-scrollbar{width:6px}.ai-node-detail-modal .ant-modal-body::-webkit-scrollbar-track{background:transparent}.ai-node-detail-modal .ant-modal-body::-webkit-scrollbar-thumb{background:#1e293b;border-radius:3px}.ai-node-detail-modal .ant-modal-body::-webkit-scrollbar-thumb:hover{background:#334155}.node-detail-header{display:flex;align-items:center;gap:12px}.node-detail-icon{font-size:24px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#1677ff1a}.node-detail-title{flex:1}.node-detail-name{color:#e2e8f0;font-size:16px;font-weight:700}.node-detail-role{color:#64748b;font-size:12px}.node-detail-status{margin-left:auto}.node-detail-content{padding:16px 20px}.node-detail-section{margin-bottom:20px}.node-detail-section:last-child{margin-bottom:0}.section-title{color:#94a3b8;font-size:13px;font-weight:600;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid #1e293b;display:flex;align-items:center;gap:6px}.node-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.info-item{display:flex;flex-direction:column;gap:2px}.info-label{color:#64748b;font-size:11px}.info-value{color:#e2e8f0;font-size:13px;font-weight:500}.info-value.mono{font-family:Courier New,monospace;font-size:12px}.node-metrics{display:flex;flex-direction:column;gap:14px}.metric-item{display:flex;flex-direction:column;gap:4px}.metric-header{display:flex;justify-content:space-between;align-items:center}.metric-label{color:#94a3b8;font-size:12px}.metric-value{font-size:14px;font-weight:700;font-family:Courier New,monospace}.node-metrics .ant-progress-inner{background-color:#1e293b!important}.node-metrics .ant-progress-bg{transition:all .5s ease}.service-list{background:transparent}.service-list .ant-list-item{border-bottom:1px solid #1e293b;padding:10px 0}.service-list .ant-list-item:last-child{border-bottom:none}.service-item{display:flex;justify-content:space-between;align-items:center}.service-info{display:flex;align-items:center;gap:10px}.service-name{color:#e2e8f0;font-size:13px}.service-tag{font-size:11px}.diagnose-result{background:#0a0e1a;border:1px solid #1e293b;border-radius:8px;padding:12px;color:#e2e8f0;font-size:12px;line-height:1.8;white-space:pre-wrap;font-family:Courier New,monospace;max-height:200px;overflow-y:auto}.log-container{background:#0a0e1a;border:1px solid #1e293b;border-radius:8px;padding:12px;max-height:220px;overflow-y:auto;font-family:Courier New,monospace;font-size:11px;line-height:1.8}.log-container::-webkit-scrollbar{width:4px}.log-container::-webkit-scrollbar-track{background:transparent}.log-container::-webkit-scrollbar-thumb{background:#1e293b;border-radius:2px}.log-line{padding:1px 0;white-space:nowrap}.log-info{color:#94a3b8}.log-warn{color:#faad14}.node-detail-actions{display:flex;gap:10px;padding-top:16px;border-top:1px solid #1e293b}.action-btn{flex:1;height:38px;border-radius:8px;font-size:13px}.diagnose-btn{background:#1677ff1a!important;border-color:#1677ff4d!important;color:#7bb3ff!important}.diagnose-btn:hover{background:#1677ff33!important;border-color:#1677ff!important;color:#fff!important}.repair-btn{background:#52c41a1a!important;border-color:#52c41a4d!important;color:#7ec84f!important}.repair-btn:hover{background:#52c41a33!important;border-color:#52c41a!important;color:#fff!important}@media (max-width: 640px){.ai-node-detail-modal{max-width:100vw!important;margin:0!important;padding:0!important}.node-info-grid{grid-template-columns:1fr}.node-detail-actions{flex-direction:column}}.ai-repair-panel{background:#141b2d;border:1px solid #1e293b;border-radius:12px;overflow:hidden;height:100%;display:flex;flex-direction:column}.repair-panel-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:linear-gradient(135deg,#0f172a,#1e293b);border-bottom:1px solid #1e293b;flex-shrink:0}.panel-title{color:#e2e8f0;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.history-btn,.back-btn{background:#1677ff1a!important;border-color:#1677ff4d!important;color:#7bb3ff!important}.history-btn:hover,.back-btn:hover{background:#1677ff33!important;border-color:#1677ff!important;color:#fff!important}.repair-panel-body{display:flex;flex:1;overflow:hidden}.repair-scripts-sidebar{width:260px;border-right:1px solid #1e293b;display:flex;flex-direction:column;flex-shrink:0}.category-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:10px;border-bottom:1px solid #1e293b}.category-tab{display:flex;align-items:center;gap:4px;padding:5px 10px;border-radius:6px;color:#64748b;font-size:12px;cursor:pointer;transition:all .2s ease;background:transparent;border:1px solid transparent}.category-tab:hover{background:#1677ff1a;color:#7bb3ff}.category-tab.active{background:#1677ff26;color:#1677ff;border-color:#1677ff4d;font-weight:500}.scripts-list{flex:1;overflow-y:auto;background:transparent}.scripts-list::-webkit-scrollbar{width:4px}.scripts-list::-webkit-scrollbar-track{background:transparent}.scripts-list::-webkit-scrollbar-thumb{background:#1e293b;border-radius:2px}.scripts-list .ant-list-item{padding:0;border-bottom:1px solid #1e293b;transition:all .2s ease}.script-item{padding:12px 14px;cursor:pointer;transition:all .2s ease;border-left:3px solid transparent}.script-item:hover{background:#1677ff0d}.script-item.selected{background:#1677ff1a;border-left-color:#1677ff}.script-item-name{color:#e2e8f0;font-size:13px;font-weight:500;margin-bottom:4px}.script-item-desc{color:#64748b;font-size:11px;line-height:1.4;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.script-category-tag{font-size:10px;background:#1677ff1a!important;border-color:#1677ff33!important;color:#7bb3ff!important}.repair-detail-area{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column}.repair-detail-area::-webkit-scrollbar{width:6px}.repair-detail-area::-webkit-scrollbar-track{background:transparent}.repair-detail-area::-webkit-scrollbar-thumb{background:#1e293b;border-radius:3px}.script-detail-header{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #1e293b}.script-detail-name{color:#e2e8f0;font-size:16px;font-weight:700;margin:0 0 6px}.script-detail-desc{color:#64748b;font-size:12px;margin:0}.repair-form{margin-bottom:16px}.repair-form .ant-form-item-label>label{color:#94a3b8!important;font-size:12px}.dark-input{background:#0a0e1a!important;border-color:#1e293b!important;color:#e2e8f0!important}.dark-input::placeholder{color:#475569!important}.dark-input:focus{border-color:#1677ff!important;box-shadow:0 0 0 2px #1677ff26!important}.dark-select .ant-select-selector{background:#0a0e1a!important;border-color:#1e293b!important;color:#e2e8f0!important}.dark-select .ant-select-selection-placeholder{color:#475569!important}.dark-switch{background-color:#1e293b!important}.execution-area{background:#0a0e1a;border:1px solid #1e293b;border-radius:8px;padding:12px;margin-bottom:16px}.execution-progress{margin-bottom:10px}.execution-progress .ant-progress-text{color:#94a3b8!important}.execution-log{background:#0f172a;border:1px solid #1e293b;border-radius:6px;padding:10px;color:#94a3b8;font-size:11px;font-family:Courier New,monospace;max-height:150px;overflow-y:auto;line-height:1.6;white-space:pre-wrap}.execution-result{border-radius:6px;padding:10px}.execution-result pre{margin:0;font-size:12px;font-family:Courier New,monospace;line-height:1.6;white-space:pre-wrap}.execution-result.success{background:#52c41a1a;border:1px solid rgba(82,196,26,.3)}.execution-result.success pre{color:#7ec84f}.execution-result.failed{background:#f5222f1a;border:1px solid rgba(245,34,47,.3)}.execution-result.failed pre{color:#ff7875}.execution-actions{margin-top:auto}.execute-btn{width:100%;height:40px;font-size:14px;background:linear-gradient(135deg,#1677ff,#0050b3)!important;border:none!important;border-radius:8px!important}.execute-btn:hover{background:linear-gradient(135deg,#4096ff,#1677ff)!important}.repair-empty,.repair-empty .ant-empty-description{color:#64748b}.history-table,.history-table .ant-table{background:transparent}.history-table .ant-table-thead>tr>th{background:#0f172a!important;color:#94a3b8!important;border-bottom:1px solid #1e293b!important;font-size:12px}.history-table .ant-table-tbody>tr>td{background:transparent!important;color:#e2e8f0!important;border-bottom:1px solid #1e293b!important;font-size:12px}.history-table .ant-table-tbody>tr:hover>td{background:#1677ff0d!important}.history-table .ant-pagination-item{background:#1e293b!important;border-color:#334155!important}.history-table .ant-pagination-item a{color:#94a3b8!important}.history-table .ant-pagination-item-active{background:#1677ff!important;border-color:#1677ff!important}.history-table .ant-pagination-item-active a{color:#fff!important}.history-time{color:#64748b;font-size:11px;font-family:Courier New,monospace}@media (max-width: 768px){.repair-panel-body{flex-direction:column}.repair-scripts-sidebar{width:100%;max-height:200px;border-right:none;border-bottom:1px solid #1e293b}.category-tabs{flex-wrap:nowrap;overflow-x:auto}}.ai-upgrade-panel{padding:16px;overflow-y:auto;height:100%}.ai-upgrade-panel::-webkit-scrollbar{width:6px}.ai-upgrade-panel::-webkit-scrollbar-track{background:transparent}.ai-upgrade-panel::-webkit-scrollbar-thumb{background:#1e293b;border-radius:3px}.upgrade-header{margin-bottom:20px}.upgrade-stats-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.stat-card{background:#141b2d!important;border:1px solid #1e293b!important;border-radius:10px!important}.stat-card .ant-card-body{padding:14px 16px}.stat-label{color:#64748b;font-size:12px;margin-bottom:6px}.stat-value{font-size:22px;font-weight:700;margin-bottom:4px}.version-value{color:#1677ff;font-size:18px}.success-value{color:#52c41a}.warning-value{color:#faad14}.stat-desc{color:#475569;font-size:11px}.upgrade-all-btn{width:100%;height:44px;font-size:15px;background:linear-gradient(135deg,#1677ff,#0050b3)!important;border:none!important;border-radius:10px!important}.upgrade-all-btn:hover{background:linear-gradient(135deg,#4096ff,#1677ff)!important}.gray-progress-section{background:#141b2d;border:1px solid #1e293b;border-radius:10px;padding:16px;margin-bottom:20px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;max-height:0;overflow:hidden}to{opacity:1;max-height:500px}}.gray-steps{margin-top:12px}.gray-steps .ant-steps-item-title{color:#e2e8f0!important;font-size:13px!important}.gray-steps .ant-steps-item-description{color:#64748b!important;font-size:11px!important}.gray-steps .ant-steps-item-tail:after{background:#1e293b!important}.gray-steps .ant-steps-item-icon{background:#1e293b!important;border-color:#334155!important}.gray-steps .ant-steps-item-icon .ant-steps-icon{color:#64748b!important}.gray-steps .ant-steps-item-finish .ant-steps-item-icon{background:#1677ff!important;border-color:#1677ff!important}.gray-steps .ant-steps-item-finish .ant-steps-item-icon .ant-steps-icon{color:#fff!important}.gray-steps .ant-steps-item-process .ant-steps-item-icon{background:#1677ff!important;border-color:#1677ff!important}.gray-steps .ant-steps-item-process .ant-steps-item-icon .ant-steps-icon{color:#fff!important}.gray-steps .ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-tail:after{background:#1677ff!important}.version-table-section{background:#141b2d;border:1px solid #1e293b;border-radius:10px;padding:16px;margin-bottom:20px}.section-title{color:#e2e8f0;font-size:14px;font-weight:600;margin-bottom:14px;display:flex;align-items:center}.version-table,.version-table .ant-table{background:transparent}.version-table .ant-table-thead>tr>th{background:#0f172a!important;color:#94a3b8!important;border-bottom:1px solid #1e293b!important;font-size:12px;font-weight:600}.version-table .ant-table-tbody>tr>td{background:transparent!important;color:#e2e8f0!important;border-bottom:1px solid #1e293b!important;font-size:12px}.version-table .ant-table-tbody>tr:hover>td{background:#1677ff0d!important}.version-node-name{display:flex;align-items:center;color:#e2e8f0;font-weight:500}.version-tag{font-family:Courier New,monospace;font-size:11px;border:none}.version-tag.current{background:#1677ff1a!important;color:#7bb3ff!important}.version-tag.latest{background:#52c41a1a!important;color:#7ec84f!important}.version-status-tag{font-size:11px}.last-upgrade-time{color:#64748b;font-size:11px;font-family:Courier New,monospace}.version-actions{display:flex;gap:6px}.upgrade-btn{background:linear-gradient(135deg,#1677ff,#0050b3)!important;border:none!important;font-size:12px}.upgrade-btn:hover{background:linear-gradient(135deg,#4096ff,#1677ff)!important}.upgrade-btn:disabled{opacity:.4;background:#1e293b!important}.rollback-btn{font-size:12px;background:#f5222f1a!important;border-color:#f5222f4d!important;color:#ff7875!important}.rollback-btn:hover{background:#f5222f33!important;border-color:#f5222f!important;color:#fff!important}.history-timeline-section{background:#141b2d;border:1px solid #1e293b;border-radius:10px;padding:16px}.upgrade-timeline{padding-left:8px}.upgrade-timeline .ant-timeline-item-tail{border-left-color:#1e293b!important}.upgrade-timeline .ant-timeline-item-head{background:transparent!important}.upgrade-timeline .ant-timeline-item-head-green{color:#52c41a!important}.upgrade-timeline .ant-timeline-item-head-red{color:#f5222f!important}.upgrade-timeline .ant-timeline-item-head-blue{color:#1677ff!important}.timeline-item{padding-bottom:4px}.timeline-title{display:flex;align-items:center;gap:8px;margin-bottom:4px}.timeline-title .node-name{color:#e2e8f0;font-weight:500;font-size:13px}.timeline-desc{color:#94a3b8;font-size:12px;font-family:Courier New,monospace}.timeline-time{color:#475569;font-size:11px;margin-top:2px}.rollback-modal .ant-modal-content{background:#141b2d;border:1px solid #f5222f;border-radius:12px}.rollback-modal .ant-modal-header{background:#141b2d;border-bottom:1px solid #1e293b;border-radius:12px 12px 0 0}.rollback-modal .ant-modal-title{color:#f5222f}.rollback-modal .ant-modal-close{color:#64748b}.rollback-modal .ant-modal-body{background:#141b2d}.rollback-modal .ant-modal-footer{background:#141b2d;border-top:1px solid #1e293b;border-radius:0 0 12px 12px}@media (max-width: 768px){.upgrade-stats-cards{grid-template-columns:1fr}.gray-steps{overflow-x:auto}}.ai-alert-list{padding:16px;height:100%;overflow-y:auto;background:#141b2d;border:1px solid #1e293b;border-radius:12px}.ai-alert-list::-webkit-scrollbar{width:6px}.ai-alert-list::-webkit-scrollbar-track{background:transparent}.ai-alert-list::-webkit-scrollbar-thumb{background:#1e293b;border-radius:3px}.alert-stats-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #1e293b}.stats-row{display:flex;gap:20px;flex:1}.stat-box{text-align:center}.stat-box-value{font-size:22px;font-weight:700;color:#e2e8f0;line-height:1.2}.stat-box-value.today{color:#1677ff}.stat-box-value.unack-value{color:#faad14;font-size:18px}.stat-box-label{font-size:11px;color:#64748b;margin-top:2px}.refresh-btn{background:#1677ff1a!important;border-color:#1677ff4d!important;color:#7bb3ff!important}.refresh-btn:hover{background:#1677ff33!important;border-color:#1677ff!important}.alert-filter-bar{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.filter-btn{display:flex;align-items:center;gap:6px;padding:5px 14px;border-radius:8px;font-size:12px;color:#64748b;background:#0a0e1a;border:1px solid #1e293b;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.filter-btn:hover{background:#1677ff1a;color:#7bb3ff;border-color:#1677ff4d}.filter-btn.active{background:#1677ff26;color:#1677ff;border-color:#1677ff;font-weight:500}.filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:9px;background:#1e293b;color:#94a3b8;font-size:10px;padding:0 5px}.filter-btn.active .filter-count{background:#1677ff33;color:#1677ff}.alert-card-list{background:transparent}.alert-card-list .ant-list-item{padding:0;margin-bottom:10px;border-bottom:none}.alert-list-item:last-child{margin-bottom:0}.alert-card{background:#0a0e1a!important;border:1px solid #1e293b!important;border-radius:10px!important;transition:all .2s ease;width:100%}.alert-card:hover{border-color:#334155!important;transform:translate(2px)}.alert-card.acknowledged{opacity:.6}.alert-card.severity-critical{border-left:3px solid #f5222f!important}.alert-card.severity-warning{border-left:3px solid #faad14!important}.alert-card.severity-info{border-left:3px solid #1677ff!important}.alert-card .ant-card-body{padding:12px 14px}.alert-card-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}.alert-severity-indicator{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;flex-shrink:0}.alert-info{flex:1;min-width:0}.alert-title-row{display:flex;align-items:center;gap:6px}.alert-title{color:#e2e8f0;font-size:13px;font-weight:500}.alert-new-badge{flex-shrink:0}.alert-meta{display:flex;gap:12px;margin-top:2px;flex-wrap:wrap}.alert-node{color:#7bb3ff;font-size:11px;transition:color .2s}.alert-node:hover{color:#1677ff;text-decoration:underline}.alert-time{color:#475569;font-size:11px;font-family:Courier New,monospace}.alert-severity-tag{font-size:11px;border:none;flex-shrink:0}.alert-message{color:#94a3b8;font-size:12px;line-height:1.5;margin-bottom:10px;padding-left:38px}.alert-actions{display:flex;gap:6px;padding-left:38px}.alert-action-btn{font-size:11px;height:28px;padding:0 10px}.ack-btn{background:#52c41a1a!important;border-color:#52c41a4d!important;color:#7ec84f!important}.ack-btn:hover{background:#52c41a33!important;border-color:#52c41a!important;color:#fff!important}.ignore-btn{background:#8c8c8c1a!important;border-color:#8c8c8c4d!important;color:#8c8c8c!important}.ignore-btn:hover{background:#8c8c8c33!important;border-color:#8c8c8c!important;color:#fff!important}.repair-btn{background:linear-gradient(135deg,#1677ff,#0050b3)!important;border:none!important;font-size:11px}.repair-btn:hover{background:linear-gradient(135deg,#4096ff,#1677ff)!important}.alert-acknowledged-tag{padding-left:38px;color:#52c41a;font-size:11px;display:flex;align-items:center;gap:4px}.alert-empty{color:#64748b;padding:40px 0}.alert-empty .ant-empty-description{color:#64748b}@media (max-width: 768px){.stats-row{gap:12px}.stat-box-value{font-size:18px}.alert-actions{flex-wrap:wrap}.alert-message,.alert-actions,.alert-acknowledged-tag{padding-left:0}}.ai-agent-page{display:flex;flex-direction:column;height:100vh;background:#0a0e1a;color:#e2e8f0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow:hidden}.agent-header{display:flex;justify-content:space-between;align-items:center;padding:0 20px;height:56px;background:linear-gradient(135deg,#0f172a,#1e293b);border-bottom:1px solid #1e293b;flex-shrink:0}.agent-header-left{display:flex;align-items:center;gap:12px}.agent-logo{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#1677ff,#0050b3);display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;box-shadow:0 0 15px #1677ff4d;animation:logoGlow 3s ease-in-out infinite}@keyframes logoGlow{0%,to{box-shadow:0 0 15px #1677ff4d}50%{box-shadow:0 0 25px #1677ff80}}.agent-title h1{margin:0;font-size:18px;font-weight:700;color:#e2e8f0;letter-spacing:.5px}.agent-subtitle{font-size:11px;color:#64748b}.agent-status-badge .agent-status-text{color:#52c41a;font-size:12px;font-weight:500}.agent-header-right{display:flex;align-items:center;gap:16px;color:#64748b;font-size:12px}.agent-version{font-family:Courier New,monospace;background:#1677ff1a;padding:3px 10px;border-radius:6px;border:1px solid rgba(22,119,255,.2)}.agent-uptime{color:#475569}.agent-body{display:flex;flex:1;overflow:hidden}.agent-sidebar{width:200px;min-width:200px;background:linear-gradient(180deg,#0f172a,#141b2d);border-right:1px solid #1e293b;display:flex;flex-direction:column;padding:12px 0;overflow-y:auto;flex-shrink:0}.agent-sidebar::-webkit-scrollbar{width:3px}.agent-sidebar::-webkit-scrollbar-track{background:transparent}.agent-sidebar::-webkit-scrollbar-thumb{background:#1e293b;border-radius:2px}.sidebar-menu{padding:0 8px}.sidebar-menu-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;color:#64748b;font-size:13px;cursor:pointer;transition:all .2s ease;margin-bottom:2px;position:relative}.sidebar-menu-item:hover{background:#1677ff14;color:#94a3b8}.sidebar-menu-item.active{background:#1677ff26;color:#1677ff;font-weight:500}.sidebar-menu-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:#1677ff;border-radius:0 2px 2px 0}.menu-icon{font-size:16px;width:20px;display:flex;align-items:center;justify-content:center}.menu-label{flex:1}.menu-badge .ant-badge-count{background:#f5222f;box-shadow:none;font-size:10px;height:16px;line-height:16px;min-width:16px;padding:0 4px}.sidebar-divider{height:1px;background:#1e293b;margin:12px 16px}.sidebar-auto-section{padding:0 14px}.sidebar-section-title{color:#475569;font-size:11px;font-weight:600;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:6px}.auto-switch-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.auto-switch-label{display:flex;align-items:center;gap:8px;color:#94a3b8;font-size:12px}.auto-dot{width:7px;height:7px;border-radius:50%;background:#8c8c8c;transition:background .3s ease}.auto-dot.on{background:#52c41a;box-shadow:0 0 6px #52c41a80}.auto-dot.off{background:#475569}.dark-switch.ant-switch{background-color:#1e293b!important;min-width:32px;height:16px}.dark-switch.ant-switch-checked{background-color:#1677ff!important}.dark-switch .ant-switch-handle{width:12px;height:12px}.sidebar-status-section{padding:0 14px;margin-top:auto}.status-indicator{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#52c41a1a;border:1px solid rgba(82,196,26,.2);border-radius:8px;margin-bottom:10px}.status-text{color:#52c41a;font-size:12px;font-weight:500}.status-detail{display:flex;flex-direction:column;gap:6px}.status-detail-item{display:flex;justify-content:space-between;font-size:11px;color:#64748b}.status-detail-value{color:#94a3b8;font-family:Courier New,monospace}.status-detail-value.healthy{color:#52c41a}.status-detail-value.error{color:#f5222f}.agent-main{flex:1;overflow:hidden;padding:16px;display:flex;flex-direction:column}.agent-content{flex:1;overflow:hidden;border-radius:12px;border:1px solid #1e293b;background:#141b2d}.knowledge-panel{padding:20px;height:100%;overflow-y:auto}.knowledge-panel::-webkit-scrollbar{width:6px}.knowledge-panel::-webkit-scrollbar-track{background:transparent}.knowledge-panel::-webkit-scrollbar-thumb{background:#1e293b;border-radius:3px}.knowledge-header{color:#e2e8f0;font-size:16px;font-weight:700;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid #1e293b;display:flex;align-items:center;gap:8px}.knowledge-list{display:flex;flex-direction:column;gap:12px}.knowledge-item{background:#0a0e1a;border:1px solid #1e293b;border-radius:10px;padding:14px 16px;transition:all .2s ease;cursor:pointer}.knowledge-item:hover{border-color:#334155;transform:translate(4px);background:#1677ff08}.knowledge-item-title{color:#e2e8f0;font-size:14px;font-weight:500;margin-bottom:8px}.knowledge-item-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.knowledge-tag{background:#1677ff1a!important;border-color:#1677ff33!important;color:#7bb3ff!important;font-size:11px}.knowledge-tag-text{color:#475569;font-size:11px}.knowledge-item-content{color:#94a3b8;font-size:12px;line-height:1.6}.chat-view-panel{display:flex;align-items:center;justify-content:center;height:100%;background:#141b2d}.chat-view-placeholder{text-align:center;color:#475569}.chat-view-placeholder p{margin-top:16px;font-size:13px}.logs-panel{height:100%;display:flex;flex-direction:column;background:#141b2d}.logs-header{padding:14px 16px;color:#e2e8f0;font-size:14px;font-weight:700;border-bottom:1px solid #1e293b;display:flex;align-items:center;gap:8px;flex-shrink:0}.logs-content{flex:1;overflow-y:auto;padding:16px;margin:0;color:#94a3b8;font-size:12px;line-height:1.8;font-family:Courier New,monospace;background:#0a0e1a}.logs-content::-webkit-scrollbar{width:6px}.logs-content::-webkit-scrollbar-track{background:transparent}.logs-content::-webkit-scrollbar-thumb{background:#1e293b;border-radius:3px}.agent-footer{display:flex;justify-content:space-between;align-items:center;padding:0 20px;height:36px;background:#0f172a;border-top:1px solid #1e293b;color:#475569;font-size:11px;flex-shrink:0}.footer-left{display:flex;align-items:center;gap:8px}.footer-action{display:flex;align-items:center;gap:6px}.footer-center{display:flex;align-items:center;gap:10px}.footer-divider{color:#1e293b}.footer-right{font-family:Courier New,monospace}.ai-agent-page .ant-badge-status-processing,.ai-agent-page .ant-badge-status-processing .ant-badge-status-dot{background-color:#52c41a}@media (max-width: 768px){.agent-sidebar{position:absolute;left:0;top:56px;bottom:36px;z-index:100;transform:translate(-100%);transition:transform .3s ease}.agent-sidebar.open{transform:translate(0)}.agent-main{padding:8px}.agent-header{padding:0 12px}.agent-title h1{font-size:14px}.agent-header-right{display:none}}.streaming-message{display:flex;gap:12px;padding:16px;margin:8px 0;border-radius:12px;background:linear-gradient(135deg,#0d1321,#111a2e);border:1px solid #1a2d4a;position:relative;animation:messageSlideIn .3s ease-out;transition:all .3s ease}.streaming-message:hover{border-color:#1e3a5f;box-shadow:0 0 20px #1677ff14}.streaming-message.complete{border-color:#1a3a2a;background:linear-gradient(135deg,#0d1321,#0f1f17)}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-avatar{width:36px;height:36px;min-width:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px}.ai-avatar{background:linear-gradient(135deg,#1677ff,#0958d9);color:#fff;box-shadow:0 0 12px #1677ff66}.message-content-wrapper{flex:1;min-width:0}.message-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.message-sender{font-size:13px;font-weight:600;color:#1677ff}.message-time{font-size:11px;color:#4a5578}.complete-badge{font-size:11px;color:#52c41a;background:#52c41a1a;padding:2px 8px;border-radius:10px;display:flex;align-items:center;gap:4px}.streaming-badge{font-size:11px;color:#1677ff;background:#1677ff1a;padding:2px 8px;border-radius:10px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.message-body{color:#c9d1d9;font-size:14px;line-height:1.8}.message-body.streaming{border-right:2px solid #1677ff;animation:cursorBlink .8s step-end infinite}@keyframes cursorBlink{0%,to{border-right-color:#1677ff}50%{border-right-color:transparent}}.message-body p{margin:0 0 10px}.message-body p:last-child{margin-bottom:0}.message-body h1,.message-body h2,.message-body h3,.message-body h4{color:#e6edf3;margin:16px 0 10px;font-weight:600}.message-body h1{font-size:18px;border-bottom:1px solid #1e293b;padding-bottom:8px}.message-body h2{font-size:16px}.message-body h3{font-size:14px}.message-body ul,.message-body ol{margin:8px 0;padding-left:24px}.message-body li{margin:4px 0}.message-body strong{color:#e6edf3;font-weight:600}.message-body a{color:#1677ff;text-decoration:none}.message-body a:hover{text-decoration:underline}.message-body blockquote{margin:10px 0;padding:8px 16px;border-left:3px solid #1677ff;background:#1677ff0d;border-radius:0 6px 6px 0;color:#8b949e}.message-body table{width:100%;border-collapse:collapse;margin:10px 0;font-size:13px}.message-body th,.message-body td{border:1px solid #1e293b;padding:8px 12px;text-align:left}.message-body th{background:#141b2d;font-weight:600;color:#e6edf3}.message-body tr:nth-child(2n){background:#141b2d80}.inline-code{background:#1e293b;color:#ff7b72;padding:2px 6px;border-radius:4px;font-size:13px;font-family:JetBrains Mono,Fira Code,Consolas,monospace}.code-block-wrapper{margin:12px 0;border-radius:10px;overflow:hidden;border:1px solid #1e293b;background:#0d1117}.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:#161b22;border-bottom:1px solid #1e293b}.code-language{font-size:11px;color:#8b949e;text-transform:uppercase;font-family:JetBrains Mono,monospace}.code-copy-btn{color:#8b949e!important;padding:2px 6px!important;height:auto!important}.code-copy-btn:hover{color:#e6edf3!important;background:#ffffff0d!important}.copy-success{color:#52c41a!important}.code-block-wrapper pre{margin:0!important;padding:16px!important;font-size:13px!important;line-height:1.6!important;background:#0d1117!important;border-radius:0!important}.stream-indicator{display:inline-flex;gap:4px;margin-left:4px;vertical-align:middle}.stream-dot{width:6px;height:6px;background:#1677ff;border-radius:50%;animation:streamDotBounce 1.4s ease-in-out infinite both}.stream-dot:nth-child(1){animation-delay:-.32s}.stream-dot:nth-child(2){animation-delay:-.16s}@keyframes streamDotBounce{0%,80%,to{transform:scale(0);opacity:.3}40%{transform:scale(1);opacity:1}}.message-footer{display:flex;gap:12px;margin-top:8px;padding-top:8px;border-top:1px solid #1a2639}.message-meta{font-size:11px;color:#4a5578}@media (max-width: 768px){.streaming-message{padding:12px}.message-avatar{width:28px;height:28px;min-width:28px;font-size:14px}.message-body{font-size:13px}}.chat-interface{display:flex;flex-direction:column;height:100%;background:#0a0e1a;position:relative;overflow:hidden}.chat-messages{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:4px;scrollbar-width:thin;scrollbar-color:#1e293b transparent}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:#1e293b;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#2d3a4f}.user-message{display:flex;gap:12px;padding:14px 16px;margin:4px 0;border-radius:12px;background:linear-gradient(135deg,#141b2d,#1a2436);border:1px solid #1e293b;animation:messageSlideIn .25s ease-out;align-self:flex-end;max-width:90%}.user-avatar{width:32px;height:32px;min-width:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;background:linear-gradient(135deg,#52c41a,#389e0d);color:#fff}.user-body{color:#e6edf3;font-size:14px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.streaming-placeholder{display:flex;gap:12px;padding:16px;margin:8px 0;border-radius:12px;background:linear-gradient(135deg,#0d1321,#111a2e);border:1px solid #1a2d4a}.streaming-loader{display:flex;align-items:center;gap:12px;padding:8px 0}.typing-indicator{display:flex;gap:4px;align-items:center}.typing-indicator span{width:8px;height:8px;background:#1677ff;border-radius:50%;animation:typingBounce 1.4s ease-in-out infinite both}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typingBounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.streaming-text{font-size:13px;color:#4a5578}.quick-commands{padding:10px 16px;border-top:1px solid #141b2d;background:#0d1117}.quick-commands-label{font-size:11px;color:#4a5578;margin-bottom:8px;display:flex;align-items:center;gap:4px;text-transform:uppercase;letter-spacing:.5px}.quick-commands-list{display:flex;flex-wrap:wrap;gap:6px}.quick-command-btn{background:#141b2d!important;border:1px solid #1e293b!important;color:#8b949e!important;font-size:12px!important;height:28px!important;padding:0 10px!important;border-radius:6px!important;transition:all .2s ease!important}.quick-command-btn:hover{background:#1a2436!important;border-color:#1677ff!important;color:#e6edf3!important;transform:translateY(-1px);box-shadow:0 2px 8px #1677ff26}.quick-command-btn:disabled{opacity:.4;transform:none!important}.command-icon{margin-right:4px;font-size:13px}.chat-input-area{display:flex;align-items:flex-end;gap:8px;padding:12px 16px;border-top:1px solid #141b2d;background:#0a0e1a}.clear-btn{color:#4a5578!important;padding:8px!important;height:auto!important}.clear-btn:hover{color:#f5222f!important;background:#f5222f1a!important}.input-wrapper{flex:1;min-width:0}.chat-textarea{background:#141b2d!important;border:1px solid #1e293b!important;color:#e6edf3!important;border-radius:10px!important;padding:10px 14px!important;font-size:14px!important}.chat-textarea::placeholder{color:#4a5578!important}.chat-textarea:hover,.chat-textarea:focus{border-color:#1677ff!important;box-shadow:0 0 0 2px #1677ff26!important}.chat-textarea textarea{background:transparent!important;color:#e6edf3!important}.chat-textarea .ant-input{resize:none}.chat-actions{display:flex;align-items:center;gap:8px}.send-btn{background:linear-gradient(135deg,#1677ff,#0958d9)!important;border:none!important;height:38px!important;padding:0 18px!important;border-radius:10px!important;font-weight:500!important;display:flex;align-items:center;gap:6px}.send-btn:hover{background:linear-gradient(135deg,#4096ff,#1677ff)!important;box-shadow:0 4px 14px #1677ff59;transform:translateY(-1px)}.send-btn:disabled{opacity:.4;transform:none!important}.stop-btn{height:38px!important;padding:0 18px!important;border-radius:10px!important;font-weight:500!important;background:linear-gradient(135deg,#f5222f,#cf1322)!important;border:none!important}.stop-btn:hover{background:linear-gradient(135deg,#ff4d4f,#f5222f)!important;box-shadow:0 4px 14px #f5222f59}.scroll-bottom-btn{position:absolute;bottom:140px;right:24px;z-index:10;background:#141b2d!important;border:1px solid #1e293b!important;color:#8b949e!important;box-shadow:0 4px 12px #0000004d!important;width:36px!important;height:36px!important;display:flex;align-items:center;justify-content:center}.scroll-bottom-btn:hover{background:#1a2436!important;border-color:#1677ff!important;color:#e6edf3!important}.chat-empty{color:#4a5578;margin:auto}.chat-empty .ant-empty-description{color:#4a5578}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.chat-messages{padding:12px}.quick-commands-list{gap:4px}.quick-command-btn{font-size:11px!important;padding:0 8px!important;height:26px!important}.chat-input-area{padding:8px 12px}.send-btn,.stop-btn{height:34px!important;padding:0 14px!important}}.fix-preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#4a5578;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px;color:#1e293b}.fix-preview-empty p{font-size:16px;margin:0 0 8px;color:#8b949e}.empty-desc{font-size:13px;color:#4a5578}.fix-preview{background:#0a0e1a;border-radius:12px;overflow:hidden}.fix-preview-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#0d1321,#111a2e);border-bottom:1px solid #1a2639}.fix-header-title{display:flex;align-items:center;gap:10px}.fix-icon{font-size:20px;color:#1677ff}.fix-title{font-size:16px;font-weight:600;color:#e6edf3}.severity-tag{font-size:11px!important;line-height:18px!important;height:20px!important}.fix-header-meta{display:flex;gap:12px}.fix-meta-item{font-size:12px;color:#4a5578;display:flex;align-items:center;gap:4px}.fix-section{padding:16px 20px;border-bottom:1px solid #0f1829}.fix-section:last-of-type{border-bottom:none}.section-title{font-size:13px;font-weight:600;color:#8b949e;margin:0 0 12px;display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.5px}.section-content{color:#c9d1d9;font-size:13px;line-height:1.7}.issue-description{margin:0 0 10px;font-size:14px;color:#e6edf3;line-height:1.8}.issue-tags{display:flex;gap:8px;flex-wrap:wrap}.root-cause-text{margin:0;padding:12px;background:#1677ff0d;border-left:3px solid #1677ff;border-radius:0 6px 6px 0;color:#c9d1d9}.risk-level-bar{height:8px;background:#1e293b;border-radius:4px;overflow:hidden;margin-bottom:8px}.risk-level-fill{height:100%;border-radius:4px;transition:width .5s ease}.risk-labels{display:flex;justify-content:space-between;font-size:11px;color:#4a5578}.fix-section .ant-timeline{padding-left:8px}.fix-section .ant-timeline-item{padding-bottom:8px}.fix-section .ant-timeline-item-content{color:#c9d1d9;font-size:13px;min-height:24px}.script-language{font-size:11px;color:#4a5578;font-weight:400;text-transform:none;letter-spacing:0;margin-left:4px}.script-copy-btn{margin-left:auto;color:#4a5578!important}.script-copy-btn:hover{color:#e6edf3!important}.rollback-content{display:flex;align-items:center;padding:12px;background:#52c41a0d;border:1px solid rgba(82,196,26,.15);border-radius:8px;color:#c9d1d9}.execution-section{background:#1677ff08}.execution-logs{max-height:200px;overflow-y:auto;background:#0d1117;border:1px solid #1e293b;border-radius:8px;padding:10px 12px;margin-top:12px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:12px;line-height:1.8}.execution-logs::-webkit-scrollbar{width:4px}.execution-logs::-webkit-scrollbar-thumb{background:#1e293b;border-radius:2px}.log-line{display:flex;gap:10px;padding:1px 0}.log-timestamp{color:#4a5578;min-width:60px;flex-shrink:0}.execution-duration{color:#4a5578;font-size:12px;margin-top:8px}.result-section .ant-alert{background:transparent;border:1px solid}.result-section .ant-alert-success{border-color:#52c41a4d;background:#52c41a0d}.result-section .ant-alert-error{border-color:#f5222f4d;background:#f5222f0d}.fix-actions{display:flex;gap:10px;padding:16px 20px;background:#0d1117;border-top:1px solid #1a2639;flex-wrap:wrap}.action-btn{border-radius:8px!important;height:36px!important;font-size:13px!important}.preview-btn{background:#141b2d!important;border:1px solid #1e293b!important;color:#8b949e!important}.edit-btn{background:#141b2d!important;border:1px solid #1e293b!important;color:#8b949e!important}.edit-btn:hover{border-color:#faad14!important;color:#e6edf3!important}.execute-btn{background:linear-gradient(135deg,#1677ff,#0958d9)!important;border:none!important}.execute-btn:hover{background:linear-gradient(135deg,#4096ff,#1677ff)!important;box-shadow:0 4px 14px #1677ff59;transform:translateY(-1px)}.stop-btn{background:linear-gradient(135deg,#f5222f,#cf1322)!important;border:none!important;color:#fff!important}.stop-btn:hover{background:linear-gradient(135deg,#ff4d4f,#f5222f)!important}.cancel-btn,.close-btn{background:transparent!important;border:1px solid #1e293b!important;color:#8b949e!important}.confirm-content{color:#c9d1d9}.confirm-content p{margin:6px 0;font-size:13px}.fix-modal .ant-modal-content{background:#141b2d!important;border:1px solid #1e293b;border-radius:12px!important}.fix-modal .ant-modal-header{background:#0d1321!important;border-bottom:1px solid #1e293b;border-radius:12px 12px 0 0!important}.fix-modal .ant-modal-title{color:#e6edf3!important}.fix-modal .ant-modal-close{color:#4a5578!important}.fix-modal .ant-modal-close:hover{color:#e6edf3!important}.fix-modal .ant-modal-body{color:#c9d1d9}.fix-modal .ant-modal-footer{border-top:1px solid #1e293b}.preview-modal-content{padding:8px 0}.preview-modal-content .ant-timeline{margin:16px 0}.preview-script-section{margin-top:20px}.preview-script-section h4{font-size:13px;color:#8b949e;margin-bottom:10px}.script-edit-textarea{resize:none!important}.script-edit-textarea:focus{border-color:#1677ff!important;box-shadow:0 0 0 2px #1677ff26!important}.fix-preview::-webkit-scrollbar{width:6px}.fix-preview::-webkit-scrollbar-track{background:transparent}.fix-preview::-webkit-scrollbar-thumb{background:#1e293b;border-radius:3px}.fix-section .ant-progress-text{color:#8b949e!important}@media (max-width: 768px){.fix-actions,.fix-section{padding:12px}.fix-preview-header{padding:12px;flex-direction:column;gap:8px;align-items:flex-start}}.upgrade-preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#4a5578;text-align:center}.upgrade-preview-empty .empty-icon{font-size:48px;margin-bottom:16px;color:#1e293b}.upgrade-preview-empty p{font-size:16px;margin:0 0 8px;color:#8b949e}.upgrade-preview-empty .empty-desc{font-size:13px;color:#4a5578}.upgrade-preview{background:#0a0e1a;border-radius:12px;overflow:hidden}.upgrade-preview-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#0d1321,#111a2e);border-bottom:1px solid #1a2639}.upgrade-header-title{display:flex;align-items:center;gap:10px}.upgrade-type-icon{font-size:20px}.upgrade-title{font-size:16px;font-weight:600;color:#e6edf3}.upgrade-type-tag{font-size:11px!important;line-height:18px!important;height:20px!important}.upgrade-meta{font-size:12px;color:#4a5578}.upgrade-tabs{padding:0 16px}.upgrade-tabs .ant-tabs-nav{margin-bottom:12px!important}.upgrade-tabs .ant-tabs-nav:before{border-bottom-color:#1e293b!important}.upgrade-tabs .ant-tabs-tab{color:#4a5578!important;font-size:13px!important;padding:8px 16px!important}.upgrade-tabs .ant-tabs-tab-active{color:#1677ff!important}.upgrade-tabs .ant-tabs-ink-bar{background:#1677ff!important}.upgrade-tabs .ant-tabs-content{padding-bottom:16px}.upgrade-overview{padding:8px 4px}.patch-info-card{padding:16px;background:linear-gradient(135deg,#0d1321,#111a2e);border:1px solid #1a2639;border-radius:10px;margin-bottom:16px}.patch-type-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:500;margin-bottom:10px}.patch-title{font-size:15px;font-weight:600;color:#e6edf3;margin:0 0 8px}.patch-description{font-size:13px;color:#8b949e;margin:0;line-height:1.6}.patch-files-section{margin-bottom:16px}.patch-files-section .section-title{font-size:13px;font-weight:600;color:#8b949e;margin:0 0 10px;display:flex;align-items:center;gap:6px}.patch-files-list{display:flex;flex-direction:column;gap:6px}.patch-file-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#0d1117;border:1px solid #1e293b;border-radius:8px;cursor:pointer;transition:all .2s ease}.patch-file-item:hover{border-color:#1677ff;background:#1677ff0d}.patch-file-item.active{border-color:#1677ff;background:#1677ff14}.file-change-type{font-size:11px;font-weight:500;white-space:nowrap}.file-path{flex:1;font-size:12px;color:#c9d1d9;font-family:JetBrains Mono,Fira Code,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.diff-stats{display:flex;gap:10px;font-size:11px;font-family:JetBrains Mono,monospace;white-space:nowrap}.stat-add{color:#52c41a}.stat-del{color:#f5222f}.stat-modify{color:#faad14}.patch-backup-section{margin-bottom:16px}.patch-backup-section .section-title{font-size:13px;font-weight:600;color:#8b949e;margin:0 0 10px;display:flex;align-items:center;gap:6px}.patch-backup-section .ant-alert{background:#52c41a0d;border:1px solid rgba(82,196,26,.2);color:#c9d1d9}.patch-backup-section .ant-alert-message{color:#52c41a}.patch-rollback-section .section-title{font-size:13px;font-weight:600;color:#8b949e;margin:0 0 10px;display:flex;align-items:center;gap:6px}.rollback-info{display:flex;align-items:center;gap:10px;padding:12px;background:#52c41a0d;border:1px solid rgba(82,196,26,.15);border-radius:8px;color:#c9d1d9;font-size:13px}.upgrade-diff{padding:8px 4px}.diff-file-selector{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #1e293b}.diff-file-btn{background:#141b2d!important;border:1px solid #1e293b!important;color:#8b949e!important;font-size:11px!important;height:28px!important;display:flex;align-items:center;gap:6px!important}.diff-file-btn.active{background:#1677ff!important;border-color:#1677ff!important}.diff-file-btn:hover:not(.active){border-color:#4a5578!important;color:#e6edf3!important}.file-btn-path{font-family:JetBrains Mono,monospace;max-width:200px;overflow:hidden;text-overflow:ellipsis}.diff-view{border:1px solid #1e293b;border-radius:10px;overflow:hidden}.diff-file-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#161b22;border-bottom:1px solid #1e293b;font-size:13px}.diff-file-header .anticon{color:#1677ff}.diff-file-path{font-family:JetBrains Mono,Fira Code,monospace;color:#e6edf3;font-size:12px}.diff-content{max-height:500px;overflow-y:auto;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:12px;line-height:1.8;background:#0d1117}.diff-content::-webkit-scrollbar{width:6px}.diff-content::-webkit-scrollbar-thumb{background:#1e293b;border-radius:3px}.diff-line{display:flex;padding:0 10px;min-height:24px;align-items:center}.diff-line-prefix{width:20px;min-width:20px;text-align:center;font-weight:600;-webkit-user-select:none;user-select:none}.diff-line-content{flex:1;white-space:pre-wrap;word-break:break-all;padding-left:8px}.diff-line-header{background:#161b22;color:#4a5578}.diff-line-header .diff-line-prefix{color:#4a5578}.diff-line-meta{background:#161b22;color:#8b949e}.diff-line-meta .diff-line-prefix{color:#4a5578}.diff-line-info{background:#1677ff14;color:#1677ff}.diff-line-info .diff-line-prefix{color:#1677ff;font-weight:700}.diff-line-add{background:#52c41a14}.diff-line-add .diff-line-prefix{color:#52c41a}.diff-line-add .diff-line-content{color:#a3d9a5}.diff-line-del{background:#f5222f14}.diff-line-del .diff-line-prefix{color:#f5222f}.diff-line-del .diff-line-content{color:#ffa39e}.diff-line-normal{color:#8b949e}.diff-line-normal .diff-line-prefix{color:#4a5578}.apply-result{padding:20px}.apply-result .ant-alert{background:transparent;border:1px solid}.apply-result .ant-alert-success{border-color:#52c41a4d;background:#52c41a0d}.apply-result .ant-alert-error{border-color:#f5222f4d;background:#f5222f0d}.apply-duration{color:#4a5578;font-size:12px;margin-top:8px}.applying-indicator{display:flex;align-items:center;justify-content:center;gap:12px;padding:30px}.applying-indicator .spinner{width:24px;height:24px;border:2px solid #1e293b;border-top-color:#1677ff;border-radius:50%;animation:spin .8s linear infinite}.applying-indicator span{color:#8b949e;font-size:13px}.upgrade-actions{display:flex;gap:10px;padding:16px 20px;background:#0d1117;border-top:1px solid #1a2639}.preview-btn{background:#141b2d!important;border:1px solid #1e293b!important;color:#8b949e!important;border-radius:8px!important}.preview-btn:hover{border-color:#1677ff!important;color:#e6edf3!important}.rollback-action-btn{background:#141b2d!important;border:1px solid #1e293b!important;color:#8b949e!important;border-radius:8px!important}.rollback-action-btn:hover{border-color:#f5222f!important;color:#f5222f!important}.rollback-action-btn:disabled{opacity:.4}.apply-btn{background:linear-gradient(135deg,#1677ff,#0958d9)!important;border:none!important;border-radius:8px!important}.apply-btn:hover{background:linear-gradient(135deg,#4096ff,#1677ff)!important;box-shadow:0 4px 14px #1677ff59;transform:translateY(-1px)}.cancel-btn,.close-btn{background:transparent!important;border:1px solid #1e293b!important;color:#8b949e!important;border-radius:8px!important}.cancel-btn:hover,.close-btn:hover{border-color:#4a5578!important;color:#e6edf3!important}.confirm-upgrade-content{color:#c9d1d9}.confirm-upgrade-content p{margin:6px 0;font-size:13px}.confirm-upgrade-content strong{color:#e6edf3}.upgrade-preview .ant-modal-content{background:#141b2d!important}.upgrade-preview .ant-modal-header{background:#0d1321!important}.upgrade-preview .ant-modal-title{color:#e6edf3!important}.upgrade-overview .ant-timeline-item-tail{border-left-color:#1e293b!important}.upgrade-overview .ant-timeline-item-content{color:#c9d1d9!important;font-size:13px!important}@media (max-width: 768px){.upgrade-actions{flex-wrap:wrap;padding:12px}.diff-file-selector{gap:4px}.diff-file-btn{font-size:10px!important;padding:0 8px!important}.diff-content{font-size:11px}.upgrade-preview-header{flex-direction:column;gap:8px;align-items:flex-start}}.self-healing-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:12px;color:#4a5578}.self-healing-loading .spinner{width:32px;height:32px;border:3px solid #1e293b;border-top-color:#1677ff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.self-healing-control{background:#0a0e1a;border-radius:12px;overflow:hidden}.shc-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#0d1321,#111a2e);border-bottom:1px solid #1a2639}.shc-status-indicator{display:flex;align-items:center;gap:10px}.status-pulse{width:10px;height:10px;border-radius:50%;position:relative}.status-pulse.running{background:#52c41a;box-shadow:0 0 #52c41ab3;animation:statusPulse 2s infinite}.status-pulse.stopped{background:#4a5578}@keyframes statusPulse{0%{transform:scale(.95);box-shadow:0 0 #52c41ab3}70%{transform:scale(1);box-shadow:0 0 0 8px #52c41a00}to{transform:scale(.95);box-shadow:0 0 #52c41a00}}.status-text{font-size:14px;font-weight:600}.status-text.running{color:#52c41a}.status-text.stopped{color:#4a5578}.shc-actions{display:flex;gap:8px}.start-btn{background:linear-gradient(135deg,#1677ff,#0958d9)!important;border:none!important}.start-btn:hover{background:linear-gradient(135deg,#4096ff,#1677ff)!important;box-shadow:0 4px 14px #1677ff59}.stop-btn{background:#141b2d!important;border:1px solid #f5222f!important;color:#f5222f!important}.stop-btn:hover{background:#f5222f1a!important}.refresh-btn{background:transparent!important;border:1px solid #1e293b!important;color:#4a5578!important}.refresh-btn:hover{border-color:#1677ff!important;color:#1677ff!important}.shc-current-check{padding:16px 20px;background:#1677ff08;border-bottom:1px solid #1a2639}.current-check-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.check-icon{color:#1677ff;font-size:16px}.check-name{flex:1;font-size:13px;color:#e6edf3;font-weight:500}.shc-current-check .ant-progress-text{color:#8b949e!important}.shc-stats{padding:16px 20px;border-bottom:1px solid #1a2639}.stat-card{background:#0d1117!important;border:1px solid #1e293b!important;border-radius:8px!important}.stat-card .ant-card-body{padding:12px!important}.stat-card .ant-statistic-title{color:#4a5578!important;font-size:12px!important;margin-bottom:4px!important}.stat-card .ant-statistic-content{display:flex;align-items:center;gap:6px}.stat-card .ant-statistic-content-prefix{font-size:18px!important}.found-card{border-left:3px solid #faad14!important}.fixed-card{border-left:3px solid #52c41a!important}.pending-card{border-left:3px solid #1677ff!important}.total-card{border-left:3px solid #8b949e!important}.shc-recent-checks{padding:16px 20px;border-bottom:1px solid #1a2639}.shc-recent-checks .section-title{font-size:13px;font-weight:600;color:#8b949e;margin:0 0 10px;display:flex;align-items:center;gap:6px}.recent-checks-list{display:flex;flex-direction:column;gap:6px}.recent-check-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#0d1117;border:1px solid #1e293b;border-radius:8px;font-size:12px;flex-wrap:wrap}.check-time{color:#4a5578;font-family:JetBrains Mono,monospace;font-size:11px;min-width:55px}.check-result-tag{font-size:11px!important;line-height:18px!important;height:20px!important}.check-item-name{flex:1;color:#c9d1d9;font-weight:500;min-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.check-message{color:#8b949e;font-size:11px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shc-config-collapse{border-bottom:1px solid #1a2639}.shc-config-collapse .ant-collapse-header{color:#8b949e!important;font-size:13px;font-weight:600;padding:14px 20px!important}.shc-config-collapse .ant-collapse-content{background:transparent!important;border-top:1px solid #1a2639!important}.shc-config-collapse .ant-collapse-content-box{padding:16px 20px!important}.config-panel-header{display:flex;align-items:center;gap:6px}.shc-config{display:flex;flex-direction:column;gap:14px}.config-item{display:flex;align-items:center;justify-content:space-between;gap:12px}.config-item.slider-item,.config-item.input-item{flex-direction:column;align-items:stretch;gap:8px}.config-item.select-item{flex-direction:row}.config-label{font-size:13px;color:#c9d1d9;display:flex;align-items:center;gap:6px;white-space:nowrap}.config-item .ant-switch{min-width:36px;height:18px}.config-item .ant-switch-checked{background:#1677ff!important}.config-item .ant-switch-handle{width:14px;height:14px}.config-slider{width:100%}.config-slider .ant-slider-track{background:#1677ff!important}.config-slider .ant-slider-handle{border-color:#1677ff!important}.config-slider .ant-slider-rail{background:#1e293b!important}.config-select{min-width:140px}.config-select .ant-select-selector{background:#141b2d!important;border-color:#1e293b!important;color:#e6edf3!important}.config-select:hover .ant-select-selector{border-color:#1677ff!important}.config-input{background:#141b2d!important;border-color:#1e293b!important;color:#e6edf3!important}.config-input::placeholder{color:#4a5578!important}.config-input:hover,.config-input:focus{border-color:#1677ff!important;box-shadow:0 0 0 2px #1677ff26!important}.config-input .ant-input-prefix{color:#4a5578!important}.save-config-btn{background:linear-gradient(135deg,#1677ff,#0958d9)!important;border:none!important;height:38px!important;margin-top:8px}.save-config-btn:hover{background:linear-gradient(135deg,#4096ff,#1677ff)!important;box-shadow:0 4px 14px #1677ff59}.shc-logs{padding:16px 20px}.logs-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.logs-header .section-title{font-size:13px;font-weight:600;color:#8b949e;margin:0;display:flex;align-items:center;gap:6px}.clear-logs-btn{color:#4a5578!important;font-size:12px!important;padding:0 8px!important;height:auto!important}.clear-logs-btn:hover{color:#f5222f!important}.logs-container{max-height:240px;overflow-y:auto;background:#0d1117;border:1px solid #1e293b;border-radius:8px;padding:10px 12px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:11px;line-height:1.9}.logs-container::-webkit-scrollbar{width:4px}.logs-container::-webkit-scrollbar-thumb{background:#1e293b;border-radius:2px}.logs-empty{padding:20px}.logs-empty .ant-empty-description{color:#4a5578}.log-entry{padding:1px 0;white-space:pre-wrap;word-break:break-all}.log-info{color:#8b949e}.log-success{color:#52c41a}.log-warning{color:#faad14}.log-error{color:#f5222f}.shc-stats .ant-card{transition:all .2s ease}.shc-stats .ant-card:hover{border-color:#2d3a4f!important;box-shadow:0 4px 12px #0003}.shc-recent-checks .ant-empty-description{color:#4a5578}@media (max-width: 768px){.shc-header{flex-direction:column;gap:12px;align-items:flex-start}.shc-stats{padding:12px}.recent-check-item{flex-direction:column;align-items:flex-start;gap:4px}.check-item-name,.check-message{max-width:100%}.config-item{flex-direction:column;align-items:flex-start;gap:6px}.config-item.select-item{flex-direction:row}}.llm-agent-page{display:flex;width:100%;height:calc(100vh - 64px);background:#0a0e1a;overflow:hidden}.llm-left-nav{width:200px;min-width:200px;background:linear-gradient(180deg,#0d1321,#0a0e1a);border-right:1px solid #141b2d;display:flex;flex-direction:column;overflow:hidden}.nav-brand{display:flex;align-items:center;gap:12px;padding:20px 16px;border-bottom:1px solid #141b2d}.brand-icon{width:40px;height:40px;min-width:40px;border-radius:12px;background:linear-gradient(135deg,#1677ff,#0958d9);display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;box-shadow:0 0 16px #1677ff4d}.brand-info{display:flex;flex-direction:column}.brand-name{font-size:15px;font-weight:700;color:#e6edf3;line-height:1.4}.brand-subtitle{font-size:11px;color:#4a5578;line-height:1.4}.nav-menu{flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;border:none;background:transparent;color:#8b949e;font-size:13px;cursor:pointer;transition:all .2s ease;text-align:left;position:relative}.nav-item:hover{background:#1677ff14;color:#e6edf3}.nav-item.active{background:linear-gradient(135deg,#1677ff26,#1677ff0d);color:#1677ff;border-left:3px solid #1677ff}.nav-item .nav-icon{font-size:15px;min-width:20px;display:flex;align-items:center;justify-content:center}.nav-item .nav-label{flex:1}.nav-item .nav-badge{margin-left:auto}.nav-item .nav-badge .ant-badge-count{background:#f5222f!important;box-shadow:0 0 0 1px #0a0e1a!important}.nav-footer{padding:14px 16px;border-top:1px solid #141b2d;display:flex;align-items:center;justify-content:space-between}.connection-status{display:flex;align-items:center;gap:6px;font-size:11px}.connection-status .status-dot{width:7px;height:7px;border-radius:50%}.connection-status.online .status-dot{background:#52c41a;box-shadow:0 0 6px #52c41a80}.connection-status.offline .status-dot{background:#4a5578}.connection-status.online .status-text{color:#52c41a}.connection-status.offline .status-text{color:#4a5578}.version-text{font-size:10px;color:#2d3a4f;font-family:JetBrains Mono,monospace}.llm-center{flex:1;min-width:0;overflow:hidden;display:flex;flex-direction:column}.llm-right-panel{width:310px;min-width:310px;background:linear-gradient(180deg,#0d1321,#0a0e1a);border-left:1px solid #141b2d;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px;scrollbar-width:thin;scrollbar-color:#1e293b transparent}.llm-right-panel::-webkit-scrollbar{width:5px}.llm-right-panel::-webkit-scrollbar-track{background:transparent}.llm-right-panel::-webkit-scrollbar-thumb{background:#1e293b;border-radius:3px}.panel-section{padding:14px;background:#0d1117;border:1px solid #1a2639;border-radius:10px}.panel-section-title{font-size:12px;font-weight:600;color:#8b949e;margin:0 0 10px;display:flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.5px}.agent-status{display:flex;align-items:center;gap:10px}.status-indicator{width:10px;height:10px;border-radius:50%}.agent-status.online .status-indicator{background:#52c41a;box-shadow:0 0 12px #52c41a80;animation:statusPulse 2s infinite}.agent-status.offline .status-indicator{background:#4a5578}.agent-status .status-label{font-size:14px;font-weight:600;color:#e6edf3;flex:1}.queue-card{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#141b2d;border:1px solid #1e293b;border-radius:8px;cursor:pointer;transition:all .2s ease}.queue-card:hover{border-color:#1677ff;background:#1677ff0d}.queue-info{display:flex;align-items:baseline;gap:8px}.queue-count{font-size:22px;font-weight:700;color:#1677ff;font-family:JetBrains Mono,monospace}.queue-label{font-size:12px;color:#8b949e}.queue-arrow{color:#4a5578;font-size:12px;transition:all .2s ease}.queue-card:hover .queue-arrow{color:#1677ff;transform:translate(3px)}.queue-items{display:flex;flex-direction:column;gap:6px;margin-top:8px}.queue-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#0a0e1a;border-radius:6px;font-size:11px}.queue-item-node{width:22px;height:22px;min-width:22px;border-radius:50%;background:#1677ff26;color:#1677ff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600}.queue-item-issue{flex:1;color:#c9d1d9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.queue-item-severity{font-size:10px!important;line-height:16px!important;height:18px!important;padding:0 6px!important}.token-display{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}.token-value{font-size:24px;font-weight:700;color:#1677ff;font-family:JetBrains Mono,monospace}.token-label{font-size:12px;color:#8b949e}.token-progress{margin-bottom:6px}.token-limit{font-size:11px;color:#4a5578;font-family:JetBrains Mono,monospace}.nodes-grid{display:flex;flex-wrap:wrap;gap:10px}.node-bubble{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#141b2d;border:1px solid #1e293b;border-radius:20px;cursor:pointer;transition:all .2s ease}.node-bubble:hover{border-color:#1677ff;background:#1677ff14;transform:scale(1.05)}.node-bubble-id{font-size:12px;font-weight:600;color:#e6edf3}.node-bubble-dot{width:8px;height:8px;border-radius:50%}.healing-mini-status{display:flex;align-items:center;gap:8px;font-size:13px;color:#c9d1d9;margin-bottom:8px}.healing-mini-status.running{color:#52c41a}.healing-mini-status.stopped{color:#4a5578}.healing-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.healing-mini-status.running .healing-dot{animation:statusPulse 2s infinite}.healing-mini-stats{display:flex;gap:16px;font-size:11px;color:#4a5578}.history-page{padding:20px;overflow-y:auto;height:100%}.page-title{font-size:18px;font-weight:600;color:#e6edf3;margin:0 0 20px;display:flex;align-items:center;gap:10px}.history-list{display:flex;flex-direction:column;gap:10px}.history-item{padding:14px 16px;background:#0d1117;border:1px solid #1a2639;border-radius:10px;transition:all .2s ease}.history-item:hover{border-color:#1e3a5f}.history-item-header{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.history-node{font-size:12px;color:#1677ff;font-weight:500;padding:2px 8px;background:#1677ff1a;border-radius:4px}.history-time{font-size:11px;color:#4a5578;margin-left:auto;font-family:JetBrains Mono,monospace}.history-issue{margin:0;font-size:13px;color:#c9d1d9;line-height:1.6}.history-duration{font-size:11px;color:#4a5578;font-family:JetBrains Mono,monospace}.stats-page{padding:20px;overflow-y:auto;height:100%}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.stats-card{background:#0d1117!important;border:1px solid #1a2639!important;border-radius:10px!important}.stats-card .ant-card-body{padding:16px!important}.stats-card .ant-statistic-title{color:#4a5578!important;font-size:12px!important}.stats-card .ant-statistic-content{font-size:24px!important;font-weight:700!important}.stats-section{margin-top:20px}.stats-section-title{font-size:14px;font-weight:600;color:#e6edf3;margin:0 0 14px}.node-health-list{display:flex;flex-direction:column;gap:12px}.node-health-item{padding:14px 16px;background:#0d1117;border:1px solid #1a2639;border-radius:10px}.node-health-info{display:flex;align-items:center;gap:10px;margin-bottom:10px}.node-name{font-size:13px;font-weight:500;color:#e6edf3}.node-status-tag{font-size:10px!important;line-height:16px!important;height:18px!important}.node-metrics{display:flex;flex-direction:column;gap:8px}.metric{display:flex;align-items:center;gap:10px}.metric-label{font-size:11px;color:#4a5578;min-width:35px;font-family:JetBrains Mono,monospace}.metric-progress{flex:1}.llm-right-panel .ant-statistic-title{color:#4a5578!important;font-size:12px!important}.llm-right-panel .ant-progress-text{color:#8b949e!important;font-size:11px!important}.llm-right-panel .ant-badge-status-text{color:#8b949e!important;font-size:12px!important}@media (max-width: 1200px){.llm-right-panel{width:260px;min-width:260px}}@media (max-width: 1024px){.llm-agent-page{flex-direction:column;height:calc(100vh - 64px)}.llm-left-nav{width:100%;min-width:unset;flex-direction:row;padding:8px 12px;gap:8px;border-right:none;border-bottom:1px solid #141b2d}.nav-brand{padding:0;border-bottom:none;gap:8px}.brand-icon{width:32px;height:32px;font-size:16px}.brand-info{display:none}.nav-menu{flex-direction:row;padding:0;gap:4px;overflow-x:auto;flex-wrap:nowrap}.nav-item{padding:6px 12px;white-space:nowrap;font-size:12px}.nav-item .nav-label,.nav-footer,.llm-right-panel{display:none}}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.history-page,.stats-page{padding:12px}}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:#f0f2f5}.loading-spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid #1677ff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page-container{padding:24px;min-height:calc(100vh - 64px)}.page-header{margin-bottom:24px}.page-title{font-size:20px;font-weight:600;color:#000000d9;margin-bottom:8px}.page-subtitle{font-size:14px;color:#00000073}.stat-card{border-radius:8px;transition:all .3s}.stat-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-card .ant-statistic-title{font-size:14px;color:#00000073}.stat-card .ant-statistic-content{font-size:28px;font-weight:600}.stat-icon{font-size:32px;opacity:.7}.trend-up{color:#52c41a}.trend-down{color:#f5222d}.trend-neutral{color:#00000073}.chart-container{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 2px #00000008}.chart-title{font-size:16px;font-weight:500;color:#000000d9;margin-bottom:16px}.data-table .ant-table-thead>tr>th{background:#fafafa;font-weight:600}.data-table .ant-table-row:hover{background:#e6f7ff}.filter-bar{background:#fff;padding:16px 20px;border-radius:8px;margin-bottom:16px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.node-status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}.node-status-online{background:#52c41a;box-shadow:0 0 4px #52c41a66}.node-status-offline{background:#f5222d;box-shadow:0 0 4px #f5222d66}.node-status-unknown{background:#d9d9d9}.link-status-normal{color:#52c41a}.link-status-broken{color:#f5222d}.link-status-degraded{color:#faad14}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#001529,#002140,#1677ff)}.login-card{width:420px;border-radius:12px;box-shadow:0 8px 32px #0003}.login-header{text-align:center;margin-bottom:32px}.login-logo{font-size:48px;color:#1677ff;margin-bottom:16px}.login-title{font-size:24px;font-weight:600;color:#000000d9;margin-bottom:8px}.login-subtitle{font-size:14px;color:#00000073}.sidebar-menu{border-right:none}.sidebar-menu .ant-menu-item-selected{background:#1677ff!important}.custom-tabs .ant-tabs-nav{margin-bottom:0;background:#fff;padding:0 20px;border-radius:8px 8px 0 0}.action-buttons{display:flex;gap:8px}.detail-modal .ant-modal-body{max-height:70vh;overflow-y:auto}@media (max-width: 768px){.page-container{padding:12px}.filter-bar{flex-direction:column;align-items:stretch}.stat-card .ant-statistic-content{font-size:22px}.login-card{width:90%;max-width:420px}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}
