body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.screen-app{background:linear-gradient(180deg,#0a1a2e 0,#0f2540);background:linear-gradient(to bottom,var(--bg-primary) 0,var(--bg-secondary) 100%);height:100vh;overflow:hidden;position:relative;width:100%}.page-container{box-sizing:border-box;display:flex;flex-direction:column;gap:20px;gap:var(--spacing-xl);height:100vh;padding:20px;padding:var(--spacing-xl);width:100%}.page-title{color:#00d4ff;color:var(--primary-color);font-size:32px;font-size:var(--font-size-3xl);font-weight:700;text-align:center;text-shadow:0 0 10px #00d4ff80}.page-time,.page-title{margin-bottom:16px;margin-bottom:var(--spacing-lg)}.page-time{color:#a0a0a0;color:var(--text-secondary);font-size:20px;font-size:var(--font-size-xl);text-align:right}.grid-container{grid-gap:20px;grid-gap:var(--spacing-xl);display:grid;gap:20px;gap:var(--spacing-xl);height:calc(100% - 120px)}.grid-2-cols{grid-template-columns:1fr 2fr}.grid-3-cols{grid-template-columns:1fr 2fr 1fr}.grid-4-cols{grid-template-columns:repeat(4,1fr)}.card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f254099;background:var(--bg-card);border:1px solid #00d4ff4d;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius-lg);padding:20px;padding:var(--spacing-xl);transition:all .3s ease;transition:all var(--transition-normal)}.card:hover{border-color:#00d4ff;border-color:var(--primary-color);box-shadow:0 4px 20px #00d4ff1a;box-shadow:var(--box-shadow)}.card-title{align-items:center;color:#fff;color:var(--text-primary);display:flex;font-size:18px;font-size:var(--font-size-lg);font-weight:600;gap:8px;gap:var(--spacing-sm);margin-bottom:16px;margin-bottom:var(--spacing-lg)}.card-title:before{background:#00d4ff;background:var(--primary-color);border-radius:2px;content:"";height:20px;width:4px}.data-display{align-items:center;display:flex;gap:12px;gap:var(--spacing-md)}.data-display .data-value{color:#00d4ff;color:var(--primary-color);font-size:24px;font-size:var(--font-size-2xl);font-weight:700}.data-display .data-label,.data-display .data-unit{color:#a0a0a0;color:var(--text-secondary);font-size:14px;font-size:var(--font-size-sm)}.status-badge{align-items:center;border-radius:12px;border-radius:var(--border-radius-lg);display:inline-flex;font-size:14px;font-size:var(--font-size-sm);font-weight:500;padding:4px 12px;padding:var(--spacing-xs) var(--spacing-md)}.status-badge.online{background:#0f83;border:1px solid #00ff884d;color:#0f8;color:var(--success-color)}.status-badge.working{background:#00d4ff33;border:1px solid #00d4ff4d;color:#00d4ff;color:var(--primary-color)}.status-badge.idle{background:#fa03;border:1px solid #ffaa004d;color:#fa0;color:var(--warning-color)}.status-badge.offline{background:#f443;border:1px solid #ff44444d;color:#f44;color:var(--danger-color)}.progress-bar{background:#ffffff1a;border-radius:4px;height:8px;overflow:hidden;width:100%}.progress-bar .progress-fill{background:linear-gradient(90deg,#00d4ff,#0f8);background:linear-gradient(90deg,var(--primary-color),var(--success-color));border-radius:4px;height:100%;transition:width .3s ease;transition:width var(--transition-normal)}.flex{display:flex}.flex.center{align-items:center;justify-content:center}.flex.between{align-items:center;justify-content:space-between}.flex.around{align-items:center;justify-content:space-around}.flex.column{flex-direction:column}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}@media(max-width:1920px){.page-container{padding:16px;padding:var(--spacing-lg)}.grid-container,.page-container{gap:16px;gap:var(--spacing-lg)}}@media(max-width:1440px){.page-container{padding:12px;padding:var(--spacing-md)}.grid-container,.page-container{gap:12px;gap:var(--spacing-md)}}.factory-dashboard{background:linear-gradient(180deg,#0a1a2e 0,#0f2540);background:linear-gradient(to bottom,var(--bg-primary) 0,var(--bg-secondary) 100%);box-sizing:border-box;color:#fff;color:var(--text-primary);height:100vh;overflow:hidden;padding:20px;position:relative;width:100%}.factory-dashboard .dashboard-header{align-items:center;display:flex;height:60px;justify-content:space-between;margin-bottom:20px}.factory-dashboard .dashboard-header .title-container{align-items:center;display:flex;gap:20px}.factory-dashboard .dashboard-header .title-container .title-decoration{filter:drop-shadow(0 0 8px rgba(0,212,255,.8))}.factory-dashboard .dashboard-header .dashboard-title{color:#00d4ff;color:var(--primary-color);font-size:32px;font-weight:700;letter-spacing:2px;position:relative;text-shadow:0 0 10px #00d4ff80}.factory-dashboard .dashboard-header .dashboard-title:after{background:linear-gradient(90deg,#0000,#00d4ff,#0000);background:linear-gradient(90deg,#0000,var(--primary-color),#0000);bottom:-8px;content:"";height:2px;left:0;position:absolute;width:100%}.factory-dashboard .dashboard-header .dashboard-time{background:#00d4ff1a;border:1px solid #00d4ff4d;border-radius:20px;color:#a0a0a0;color:var(--text-secondary);font-size:20px;padding:5px 15px}.factory-dashboard .dashboard-header .global-time-selector{display:flex;gap:10px}.factory-dashboard .dashboard-header .global-time-selector span{border:1px solid #0000;border-radius:20px;color:#a0a0a0;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:8px 16px;transition:all .3s ease}.factory-dashboard .dashboard-header .global-time-selector span:hover{border-color:#00d4ff4d;color:#00d4ff;color:var(--primary-color)}.factory-dashboard .dashboard-header .global-time-selector span.active{background:#00d4ff33;border-color:#00d4ff4d;color:#00d4ff;color:var(--primary-color)}.factory-dashboard .alert-indicator-container{position:fixed;right:20px;top:20px;z-index:1000}.factory-dashboard .dashboard-content{display:flex;gap:20px;height:calc(100% - 80px);overflow:hidden}.factory-dashboard .dashboard-content .left-panel{display:flex;flex-direction:column;gap:15px;width:45%}.factory-dashboard .dashboard-content .left-panel .device-status-section{flex:4 1;min-height:0}.factory-dashboard .dashboard-content .left-panel .consumables-section{align-items:flex-end;display:flex;flex:.8 1;min-height:0}.factory-dashboard .dashboard-content .right-panel{display:flex;flex-direction:column;gap:15px;width:55%}.factory-dashboard .dashboard-content .right-panel .production-overview-section{flex:.8 1;min-height:0}.factory-dashboard .dashboard-content .right-panel .weld-analysis-section{flex:1.2 1;min-height:0}.factory-dashboard .dashboard-content .right-panel .production-trends-section{flex:1.5 1;min-height:0}.factory-dashboard .border-box{background-color:#0000!important;box-sizing:border-box;height:100%;padding:15px;width:100%}.factory-dashboard .border-box .section-header{align-items:center;display:flex;margin-bottom:15px}.factory-dashboard .border-box .section-header .section-decoration{height:30px;margin-right:10px;width:30px}.factory-dashboard .border-box .section-header .section-title{color:#00d4ff;color:var(--primary-color);font-size:18px;font-weight:600;letter-spacing:1px}.factory-dashboard .combined-device-status{display:flex;flex-direction:column;gap:15px;height:calc(100% - 50px)}@media(max-width:1600px){.factory-dashboard{padding:15px}.factory-dashboard .dashboard-header{margin-bottom:15px}.factory-dashboard .dashboard-header .dashboard-title{font-size:28px}.factory-dashboard .dashboard-header .dashboard-time{font-size:18px}.factory-dashboard .dashboard-content{gap:15px}}@media(max-width:1366px){.factory-dashboard{padding:10px}.factory-dashboard .dashboard-header{margin-bottom:10px}.factory-dashboard .dashboard-header .dashboard-title{font-size:24px}.factory-dashboard .dashboard-header .dashboard-time{font-size:16px}.factory-dashboard .dashboard-content{gap:10px}}.status-overview{align-items:center;display:flex;flex-wrap:nowrap;height:100%;justify-content:space-around;padding:30px 5px 5px}.status-overview .status-item{align-items:center;display:flex;flex-direction:column;justify-content:center;min-width:120px}.status-overview .status-item .status-label{align-items:center;color:#a0a0a0;color:var(--text-secondary);display:flex;font-size:14px;height:18px;justify-content:center;line-height:1.2;margin-bottom:6px;text-align:center}.status-overview .status-item .status-value{align-items:baseline;display:flex;gap:2px;justify-content:center}.status-overview .status-item .status-value .status-number{color:#00d4ff;color:var(--primary-color);font-size:24px;font-weight:600}.status-overview .status-item .status-value .status-unit{color:#a0a0a0;color:var(--text-secondary);font-size:16px}.status-overview .status-item .status-value .status-icon{font-size:24px;margin-left:8px}.production-overview{display:flex;flex-direction:column;height:100%;justify-content:center;padding:15px 8px}.production-overview .metrics-row{align-items:center;display:flex;height:100%;justify-content:space-around;padding:0}.production-overview .metrics-row .metric-item{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:6px;height:100%;justify-content:center}.production-overview .metrics-row .metric-item .metric-label{align-items:center;color:#a0a0a0;color:var(--text-secondary);display:flex;font-size:14px;height:18px;justify-content:center;line-height:1.2;text-align:center}.production-overview .metrics-row .metric-item .metric-value{align-items:center;color:#00d4ff;color:var(--primary-color);display:flex;font-size:24px;font-weight:600;justify-content:center}.device-status-list{height:100%;padding:10px 20px}.device-status-list .no-devices{align-items:center;display:flex;height:100%;justify-content:center}.device-status-list .no-devices .no-devices-text{color:#a0a0a0;color:var(--text-secondary);font-size:14px;opacity:.6}.device-status-list .device-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);height:100%;overflow:hidden}.device-status-list .device-grid .device-card{background:#0000;border:none;border-radius:12px;border-radius:var(--border-radius-lg);display:flex;flex-direction:column;justify-content:space-between;min-height:0;overflow:hidden;padding:8px;transition:all .3s ease}.device-status-list .device-grid .device-card:hover{background:#00d4ff0d}.device-status-list .device-grid .device-card.status-offline{opacity:.7}.device-status-list .device-grid .device-card .device-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.device-status-list .device-grid .device-card .device-header .device-name{color:#fff;color:var(--text-primary);font-size:16px;font-weight:600}.device-status-list .device-grid .device-card .device-header .device-status{border-radius:10px;font-size:12px;font-weight:500;padding:3px 8px}.device-status-list .device-grid .device-card .device-header .device-status.status-working{background:#0f83;color:#0f8;color:var(--success-color)}.device-status-list .device-grid .device-card .device-header .device-status.status-idle{background:#fa03;color:#fa0;color:var(--warning-color)}.device-status-list .device-grid .device-card .device-header .device-status.status-offline{background:#f443;color:#f44;color:var(--danger-color)}.device-status-list .device-grid .device-card .workpiece-info{font-size:12px;margin-bottom:8px}.device-status-list .device-grid .device-card .workpiece-info .label{color:#a0a0a0;color:var(--text-secondary);margin-right:5px}.device-status-list .device-grid .device-card .workpiece-info .value{color:#00d4ff;color:var(--primary-color);font-weight:500}.device-status-list .device-grid .device-card .progress-info{margin-bottom:8px}.device-status-list .device-grid .device-card .progress-info .progress-row{align-items:center;display:flex;font-size:12px;gap:8px}.device-status-list .device-grid .device-card .progress-info .progress-row .label{color:#a0a0a0;color:var(--text-secondary)}.device-status-list .device-grid .device-card .progress-info .progress-row .value{color:#0f8;color:var(--success-color);font-weight:500}.device-status-list .device-grid .device-card .progress-info .progress-row :global(.percent-pond){font-size:10px!important}.device-status-list .device-grid .device-card .daily-stats{margin-bottom:8px}.device-status-list .device-grid .device-card .daily-stats .stat-item{font-size:12px;margin-bottom:3px}.device-status-list .device-grid .device-card .daily-stats .stat-item .label{color:#a0a0a0;color:var(--text-secondary);margin-right:5px}.device-status-list .device-grid .device-card .daily-stats .stat-item .value{color:#fff;color:var(--text-primary)}.device-status-list .device-grid .device-card .detail-link{align-self:flex-start;color:#00d4ff;color:var(--primary-color);font-size:12px;text-decoration:none;transition:all .3s ease}.device-status-list .device-grid .device-card .detail-link:hover{color:#0f8;color:var(--success-color);text-decoration:underline}.production-trends{height:100%;padding:3px}.production-trends .charts-container{display:flex;flex-direction:column;height:100%}.production-trends .charts-container .dual-axis-chart{background:#0000;border:none;border-radius:0;height:100%;padding:3px}.consumables-overview{display:flex;flex-direction:column;height:100%;justify-content:center;padding:15px 8px}.consumables-overview .consumables-grid{align-items:center;display:flex;gap:0;height:100%;justify-content:space-around;padding:0}.consumables-overview .consumables-grid .consumable-card{align-items:center;background:#0000;border:none!important;box-shadow:none!important;display:flex;flex:1 1;flex-direction:column;justify-content:center;max-width:150px;min-height:100px;min-width:120px;outline:none!important;padding:15px}.consumables-overview .consumables-grid .consumable-card:after,.consumables-overview .consumables-grid .consumable-card:before{display:none!important}.consumables-overview .consumables-grid .consumable-card .consumable-icon{border:none!important;font-size:24px;margin-bottom:8px;outline:none!important}.consumables-overview .consumables-grid .consumable-card .card-title{color:#a0a0a0;color:var(--text-secondary);font-size:14px;margin-bottom:8px;text-align:center}.consumables-overview .consumables-grid .consumable-card .card-title:after,.consumables-overview .consumables-grid .consumable-card .card-title:before{content:none!important;display:none!important;height:0!important;width:0!important}.consumables-overview .consumables-grid .consumable-card .consumption-value{color:#00d4ff;color:var(--primary-color);font-size:16px;font-weight:600;text-align:center}.weld-analysis{height:100%;padding:5px}.weld-analysis .no-data{align-items:center;display:flex;height:100%;justify-content:center}.weld-analysis .no-data .no-data-text{color:#a0a0a0;color:var(--text-secondary);font-size:14px;opacity:.6}.weld-analysis .charts-container{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);height:100%}.weld-analysis .charts-container .chart-item{background:#0000;border:none;border-radius:0;display:flex;flex-direction:column;padding:3px}.weld-analysis .charts-container .chart-item .chart-title{color:#a0a0a0;color:var(--text-secondary);font-size:12px;margin-bottom:3px;text-align:center}.error-container{align-items:center;background:linear-gradient(180deg,#0a1a2e 0,#0f2540);background:linear-gradient(to bottom,var(--bg-primary) 0,var(--bg-secondary) 100%);display:flex;flex-direction:column;height:100vh;justify-content:center}.error-container .error{color:#f44;color:var(--danger-color);font-size:24px;margin-bottom:10px;text-align:center}.error-container .error-detail{color:#a0a0a0;color:var(--text-secondary);font-size:14px;opacity:.8}.loading-container{align-items:center;background:linear-gradient(180deg,#0a1a2e 0,#0f2540);background:linear-gradient(to bottom,var(--bg-primary) 0,var(--bg-secondary) 100%);display:flex;height:100vh;justify-content:center}.loading-container .loading{color:#00d4ff;color:var(--primary-color);font-size:18px}.robot-dashboard{background:linear-gradient(180deg,#0a1a2e 0,#0f2540);background:linear-gradient(to bottom,var(--bg-primary) 0,var(--bg-secondary) 100%);box-sizing:border-box;color:#fff;color:var(--text-primary);height:100vh;overflow:hidden;padding:20px;position:relative;width:100%}.robot-dashboard .dashboard-header{align-items:center;display:flex;height:60px;justify-content:space-between;margin-bottom:20px}.robot-dashboard .dashboard-header .title-container{align-items:center;display:flex;gap:20px}.robot-dashboard .dashboard-header .title-container .title-decoration{filter:drop-shadow(0 0 8px rgba(0,212,255,.8))}.robot-dashboard .dashboard-header .dashboard-title{color:#00d4ff;color:var(--primary-color);font-size:32px;font-weight:700;letter-spacing:2px;position:relative;text-shadow:0 0 10px #00d4ff80}.robot-dashboard .dashboard-header .dashboard-title:after{background:linear-gradient(90deg,#0000,#00d4ff,#0000);background:linear-gradient(90deg,#0000,var(--primary-color),#0000);bottom:-8px;content:"";height:2px;left:0;position:absolute;width:100%}.robot-dashboard .dashboard-header .dashboard-time{background:#00d4ff1a;border:1px solid #00d4ff4d;border-radius:20px;color:#a0a0a0;color:var(--text-secondary);font-size:20px;padding:5px 15px}.robot-dashboard .dashboard-content{display:flex;flex-direction:column;gap:20px;height:calc(100% - 80px)}.robot-dashboard .dashboard-content .top-row{height:15%}.robot-dashboard .dashboard-content .middle-row{height:25%}.robot-dashboard .dashboard-content .bottom-row{display:flex;gap:20px;height:25%}.robot-dashboard .dashboard-content .bottom-row .bottom-left,.robot-dashboard .dashboard-content .bottom-row .bottom-right{height:100%;width:50%}.robot-dashboard .dashboard-content .history-row{height:35%}.robot-dashboard .border-box{background-color:#0000!important;box-sizing:border-box;height:100%;padding:15px;width:100%}.robot-dashboard .border-box .section-header{align-items:center;display:flex;margin-bottom:15px}.robot-dashboard .border-box .section-header .section-decoration{height:30px;margin-right:10px;width:30px}.robot-dashboard .border-box .section-header .section-title{color:#00d4ff;color:var(--primary-color);font-size:18px;font-weight:600;letter-spacing:1px}.robot-dashboard .border-box .section-header .time-selector{display:flex;gap:10px;margin-left:auto}.robot-dashboard .border-box .section-header .time-selector span{border-radius:15px;color:#a0a0a0;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:5px 10px;transition:all .3s ease}.robot-dashboard .border-box .section-header .time-selector span:hover{color:#00d4ff;color:var(--primary-color)}.robot-dashboard .border-box .section-header .time-selector span.active{background:#00d4ff33;border:1px solid #00d4ff4d;color:#00d4ff;color:var(--primary-color)}@media(max-width:1600px){.robot-dashboard{padding:15px}.robot-dashboard .dashboard-header{margin-bottom:15px}.robot-dashboard .dashboard-header .dashboard-title{font-size:28px}.robot-dashboard .dashboard-header .dashboard-time{font-size:18px}.robot-dashboard .dashboard-content{gap:15px}}@media(max-width:1366px){.robot-dashboard{padding:10px}.robot-dashboard .dashboard-header{margin-bottom:10px}.robot-dashboard .dashboard-header .dashboard-title{font-size:24px}.robot-dashboard .dashboard-header .dashboard-time{font-size:16px}.robot-dashboard .dashboard-content{gap:10px}}.robot-dashboard-v2{animation:gradientShift 15s ease infinite;background:linear-gradient(135deg,#0a1a2e,#16213e 25%,#0f2540 50%,#1a1a2e 75%,#0a1a2e);background-size:400% 400%;box-sizing:border-box;color:#fff;color:var(--text-primary);height:100vh;overflow:hidden;padding:16px;position:relative;width:100%}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.robot-dashboard-v2 .dashboard-header{align-items:center;display:flex;height:50px;justify-content:space-between;margin-bottom:16px}.robot-dashboard-v2 .dashboard-header .title-left{position:relative}.robot-dashboard-v2 .dashboard-header .title-left .dashboard-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#00d4ff,#3df);background:linear-gradient(90deg,var(--primary-color),var(--primary-light));-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700;letter-spacing:1px}.robot-dashboard-v2 .dashboard-header .title-left .title-underline{background:linear-gradient(90deg,#00d4ff,#0000);background:linear-gradient(90deg,var(--primary-color),#0000);border-radius:2px;box-shadow:0 0 10px #00d4ff80;height:3px;margin-top:8px}.robot-dashboard-v2 .dashboard-header .title-right{align-items:center;display:flex;gap:16px}.robot-dashboard-v2 .dashboard-header .title-right .unified-time-selector{background:#0000004d;border:1px solid #00d4ff33;border-radius:20px;display:flex;gap:6px;padding:4px}.robot-dashboard-v2 .dashboard-header .title-right .unified-time-selector span{border-radius:16px;color:#a0a0a0;color:var(--text-secondary);cursor:pointer;font-size:13px;padding:6px 14px;transition:all .3s ease;white-space:nowrap}.robot-dashboard-v2 .dashboard-header .title-right .unified-time-selector span:hover{background:#00d4ff1a;color:#00d4ff;color:var(--primary-color)}.robot-dashboard-v2 .dashboard-header .title-right .unified-time-selector span.active{background:linear-gradient(135deg,#00d4ff4d,#00a8cc4d);border:1px solid #00d4ff66;box-shadow:0 2px 8px #00d4ff4d;color:#00d4ff;color:var(--primary-color);font-weight:600}.robot-dashboard-v2 .dashboard-header .title-right .dashboard-time{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00d4ff14;border:1px solid #00d4ff33;border-radius:20px;box-shadow:0 4px 15px #0000004d;color:#a0a0a0;color:var(--text-secondary);font-size:18px;padding:8px 20px}.robot-dashboard-v2 .dashboard-three-column{display:flex;gap:20px;height:calc(100vh - 140px);overflow:hidden}.robot-dashboard-v2 .dashboard-three-column .glass-card{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:#0f254059;border:1px solid #00d4ff26;border-radius:12px;box-shadow:0 8px 32px #0006,inset 0 1px 0 #ffffff0d;display:flex;flex-direction:column;overflow:hidden;padding:16px;position:relative;transition:all .3s ease}.robot-dashboard-v2 .dashboard-three-column .glass-card:before{background:linear-gradient(90deg,#0000,#00d4ff66,#0000);content:"";height:1px;left:0;position:absolute;right:0;top:0}.robot-dashboard-v2 .dashboard-three-column .glass-card:hover{border-color:#00d4ff4d;box-shadow:0 8px 32px #00000080,0 0 20px #00d4ff1a,inset 0 1px 0 #ffffff14;transform:translateY(-2px)}.robot-dashboard-v2 .dashboard-three-column .glass-card.core-card{background:#00d4ff14;border:2px solid #00d4ff4d;box-shadow:0 8px 32px #0006,0 0 30px #00d4ff26,inset 0 1px 0 #ffffff14}.robot-dashboard-v2 .dashboard-three-column .glass-card.core-card:before{background:linear-gradient(90deg,#0000,#00d4ff99,#0000)}.robot-dashboard-v2 .dashboard-three-column .card-header{align-items:center;border-bottom:1px solid #00d4ff1a;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:12px;padding-bottom:10px}.robot-dashboard-v2 .dashboard-three-column .card-header .card-title{align-items:center;color:#00d4ff;color:var(--primary-color);display:flex;font-size:16px;font-weight:600;gap:8px;letter-spacing:.5px}.robot-dashboard-v2 .dashboard-three-column .card-header .card-title.core-title{font-size:18px;font-weight:700}.robot-dashboard-v2 .dashboard-three-column .card-header .core-badge{background:linear-gradient(135deg,#00d4ff,#00a8cc);background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));border-radius:12px;box-shadow:0 2px 8px #00d4ff4d;color:#fff;font-size:12px;font-weight:600;padding:4px 12px}.robot-dashboard-v2 .dashboard-three-column .column-left{display:flex;flex:1 1;flex-direction:column;gap:16px;min-width:0}.robot-dashboard-v2 .dashboard-three-column .column-left .device-info-compact-card{flex:0 0 auto;height:140px}.robot-dashboard-v2 .dashboard-three-column .column-left .production-card{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.robot-dashboard-v2 .dashboard-three-column .column-center{display:flex;flex:0 0 560px;flex-direction:column;min-width:0}.robot-dashboard-v2 .dashboard-three-column .column-center .core-card{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.robot-dashboard-v2 .dashboard-three-column .column-right{display:flex;flex:0 0 380px;flex-direction:column;gap:16px;min-width:0}.robot-dashboard-v2 .dashboard-three-column .column-right .workpiece-card{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.robot-dashboard-v2 .dashboard-three-column .column-right .workpiece-card .workpiece-image-content{align-items:center;background:#0000004d;border-radius:8px;display:flex;flex:1 1;justify-content:center;overflow:hidden;padding:8px}.robot-dashboard-v2 .dashboard-three-column .column-right .workpiece-card .workpiece-image-content .current-workpiece-img{border:2px solid #00d4ff33;border-radius:8px;height:100%;object-fit:contain;width:100%}.robot-dashboard-v2 .dashboard-three-column .column-right .consumables-card{display:flex;flex:0 0 auto;flex-direction:column;height:280px;overflow:hidden}@media(max-width:1920px){.robot-dashboard-v2 .dashboard-cross-layout .cross-middle{grid-template-columns:1fr 520px 1fr}}@media(max-width:1600px){.robot-dashboard-v2{padding:12px}.robot-dashboard-v2 .dashboard-header{height:45px;margin-bottom:12px}.robot-dashboard-v2 .dashboard-header .title-left .dashboard-title{font-size:24px}.robot-dashboard-v2 .dashboard-header .title-right .dashboard-time{font-size:16px}.robot-dashboard-v2 .dashboard-cross-layout{gap:12px;grid-template-rows:120px 1fr 240px}.robot-dashboard-v2 .dashboard-cross-layout .cross-middle{grid-template-columns:1fr 480px 1fr}.robot-dashboard-v2 .dashboard-cross-layout .glass-card{border-radius:10px;padding:12px}.robot-dashboard-v2 .dashboard-cross-layout .card-header{margin-bottom:10px}.robot-dashboard-v2 .dashboard-cross-layout .card-header .card-title{font-size:16px}.robot-dashboard-v2 .dashboard-cross-layout .card-header .card-title.core-title{font-size:18px}.robot-dashboard-v2 .dashboard-cross-layout .card-header .time-selector span{font-size:12px;padding:5px 12px}}@media(max-width:1366px){.robot-dashboard-v2{padding:10px}.robot-dashboard-v2 .dashboard-header{height:40px;margin-bottom:10px}.robot-dashboard-v2 .dashboard-header .title-left .dashboard-title{font-size:20px}.robot-dashboard-v2 .dashboard-header .title-right .dashboard-time{font-size:14px;padding:6px 16px}.robot-dashboard-v2 .dashboard-cross-layout{gap:10px;grid-template-rows:100px 1fr 220px}.robot-dashboard-v2 .dashboard-cross-layout .cross-middle{grid-template-columns:1fr 420px 1fr}.robot-dashboard-v2 .dashboard-cross-layout .glass-card{border-radius:8px;padding:10px}.robot-dashboard-v2 .dashboard-cross-layout .card-header{margin-bottom:8px;padding-bottom:8px}.robot-dashboard-v2 .dashboard-cross-layout .card-header .card-title{font-size:15px}.robot-dashboard-v2 .dashboard-cross-layout .card-header .card-title.core-title{font-size:17px}.robot-dashboard-v2 .dashboard-cross-layout .card-header .time-selector span{font-size:11px;padding:4px 10px}}.robot-basic-info-compact .loading{align-items:center;color:#a0a0a0;color:var(--text-secondary);display:flex;justify-content:center;padding:12px}.robot-basic-info-compact .info-row{align-items:center;display:flex;gap:20px;padding:8px 0}.robot-basic-info-compact .info-row .info-item{align-items:center;display:flex;gap:12px}.robot-basic-info-compact .info-row .info-item .item-label{color:#a0a0a0;color:var(--text-secondary);font-size:13px;opacity:.8}.robot-basic-info-compact .info-row .info-item .item-value{color:#00d4ff;color:var(--primary-color);font-family:Arial,sans-serif;font-size:14px;font-weight:600}.robot-basic-info-compact .info-row .info-item.status-item{margin-left:auto}.robot-basic-info-compact .info-row .info-item .status-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:4px 12px}.robot-basic-info-compact .info-row .info-item .status-badge.status-working{background:#2ed57326;border:1px solid #2ed5734d;color:#2ed573}.robot-basic-info-compact .info-row .info-item .status-badge.status-idle{background:#ffb14226;border:1px solid #ffb1424d;color:#ffb142}.robot-basic-info-compact .info-row .info-item .status-badge.status-offline{background:#aaaaaa26;border:1px solid #aaaaaa4d;color:#aaa}.robot-basic-info-compact .info-row .info-item .status-badge.status-error{background:#ff475726;border:1px solid #ff47574d;color:#ff4757}.task-monitor{display:flex;flex-direction:column;height:100%}.task-monitor .loading,.task-monitor .no-task{align-items:center;color:#a0a0a0;color:var(--text-secondary);display:flex;height:100%;justify-content:center}.task-monitor .no-task{flex-direction:column;gap:12px}.task-monitor .no-task .no-task-icon{font-size:48px;opacity:.3}.task-monitor .no-task .no-task-text{font-size:16px;opacity:.6}.task-monitor .task-container{grid-gap:16px;display:grid;flex:1 1;gap:16px;grid-template-columns:1fr 1fr;min-height:0}.task-monitor .workpiece-progress{background:#0003;border-radius:8px;display:flex;flex-direction:column;gap:16px;padding:16px}.task-monitor .workpiece-progress .task-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:flex-start;padding-bottom:8px}.task-monitor .workpiece-progress .task-header .task-id{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#00d4ff,#09c);-webkit-background-clip:text;background-clip:text;color:#00d4ff;color:var(--primary-color);font-size:16px;font-weight:700}.task-monitor .workpiece-progress .task-time{color:#a0a0a0;color:var(--text-secondary);font-size:13px;font-weight:500;margin-top:4px;text-align:left}.task-monitor .workpiece-progress .progress-section{display:flex;flex-direction:column;gap:16px}.task-monitor .workpiece-progress .progress-section .progress-info{display:flex;gap:20px;justify-content:space-around}.task-monitor .workpiece-progress .progress-section .progress-info .progress-item{align-items:center;display:flex;flex-direction:column;gap:4px}.task-monitor .workpiece-progress .progress-section .progress-info .progress-item .progress-label{color:#a0a0a0;color:var(--text-secondary);font-size:12px;font-weight:500}.task-monitor .workpiece-progress .progress-section .progress-info .progress-item .progress-value{color:#00d4ff;color:var(--primary-color);font-size:18px;font-weight:700;text-shadow:0 0 8px #00d4ff4d}.task-monitor .workpiece-progress .progress-section .progress-bar-container{display:flex;flex-direction:column;gap:12px}.task-monitor .workpiece-progress .progress-section .progress-bar-container .progress-label{color:#a0a0a0;color:var(--text-secondary);font-size:13px;font-weight:600}.task-monitor .workpiece-progress .progress-section .progress-bar-container .progress-bar{background:#0006;border:1px solid #ffffff1a;border-radius:6px;box-shadow:inset 0 2px 4px #0000004d;height:12px;overflow:hidden;width:100%}.task-monitor .workpiece-progress .progress-section .progress-bar-container .progress-bar .progress-fill{background:linear-gradient(90deg,#00d4ff,#0f8 50%,#00d4ff);border-radius:6px;height:100%;overflow:hidden;position:relative;transition:width .6s cubic-bezier(.4,0,.2,1)}.task-monitor .workpiece-progress .progress-section .progress-bar-container .progress-bar .progress-fill:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}.task-monitor .workpiece-progress .progress-section .progress-bar-container .progress-text{color:#00d4ff;color:var(--primary-color);font-size:14px;font-weight:700;text-align:right;text-shadow:0 0 8px #00d4ff4d}@keyframes shimmer{0%{left:-100%}to{left:100%}}.task-monitor .workpiece-progress .seam-list-section{display:flex;flex:1 1;flex-direction:column;min-height:0}.task-monitor .workpiece-progress .seam-list-section .seam-list-header{color:#00d4ff;color:var(--primary-color);font-size:13px;font-weight:600;margin-bottom:8px}.task-monitor .workpiece-progress .seam-list-section .seam-list-container{flex:1 1;overflow-x:hidden;overflow-y:auto;padding-right:4px}.task-monitor .workpiece-progress .seam-list-section .seam-list-container .seam-list{display:flex;flex-direction:column;gap:6px;min-height:0}.task-monitor .workpiece-progress .seam-list-section .seam-list-container .seam-item{align-items:center;background:#0000004d;border-radius:6px;cursor:pointer;display:flex;flex-shrink:0;gap:8px;padding:8px;transition:all .2s ease}.task-monitor .workpiece-progress .seam-list-section .seam-list-container .seam-item:hover{background:#00d4ff1a;border:1px solid #00d4ff4d}.task-monitor .workpiece-progress .seam-list-section .seam-list-container .seam-item.selected{background:#00d4ff26;border:1px solid #00d4ff66}.task-monitor .workpiece-progress .seam-list-section .seam-list-container .seam-item.completed .seam-status{color:#0f8}.task-monitor .workpiece-progress .seam-list-section .seam-list-container .seam-item.working .seam-status{color:#ffa726}.task-monitor .workpiece-progress .seam-list-section .seam-list-container .seam-item.pending .seam-status{color:#a0a0a0;color:var(--text-secondary)}.task-monitor .workpiece-progress .seam-list-section .seam-list-container .seam-item.detected .seam-status{color:#00d4ff}.task-monitor .workpiece-progress .seam-list-section .seam-list-container .seam-item .seam-status{font-size:14px;font-weight:600;min-width:16px}.task-monitor .workpiece-progress .seam-list-section .seam-list-container .seam-item .seam-info{flex:1 1;min-width:0}.task-monitor .workpiece-progress .seam-list-section .seam-list-container .seam-item .seam-info .seam-name{color:#00d4ff;color:var(--primary-color);font-size:12px;font-weight:600;margin-bottom:2px}.task-monitor .workpiece-progress .seam-list-section .seam-list-container .seam-item .seam-info .seam-details{color:#a0a0a0;color:var(--text-secondary);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-monitor .seam-details-panel{background:#0003;border-radius:8px;display:flex;flex-direction:column;gap:12px;padding:12px}.task-monitor .seam-details-panel .seam-detail-content{display:flex;flex-direction:column;gap:16px}.task-monitor .seam-details-panel .seam-detail-content .seam-detail-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding-bottom:8px}.task-monitor .seam-details-panel .seam-detail-content .seam-detail-header .seam-detail-title{color:#00d4ff;color:var(--primary-color);font-size:14px;font-weight:600}.task-monitor .seam-details-panel .seam-detail-content .seam-detail-header .seam-detail-status{border-radius:4px;font-size:11px;font-weight:600;padding:4px 8px}.task-monitor .seam-details-panel .seam-detail-content .seam-detail-header .seam-detail-status.completed{background:#0f83;color:#0f8}.task-monitor .seam-details-panel .seam-detail-content .seam-detail-header .seam-detail-status.working{background:#ffa72633;color:#ffa726}.task-monitor .seam-details-panel .seam-detail-content .seam-detail-header .seam-detail-status.pending{background:#aaa3;color:#aaa}.task-monitor .seam-details-panel .seam-detail-content .seam-detail-header .seam-detail-status.detected{background:#00d4ff33;color:#00d4ff}.task-monitor .seam-details-panel .seam-detail-content .seam-detail-info{display:flex;flex-direction:column;gap:12px}.task-monitor .seam-details-panel .seam-detail-content .seam-detail-info .info-section .info-label{color:#00d4ff;color:var(--primary-color);font-size:12px;font-weight:600;margin-bottom:8px}.task-monitor .seam-details-panel .seam-detail-content .seam-detail-info .info-section .info-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.task-monitor .seam-details-panel .seam-detail-content .seam-detail-info .info-section .info-grid .info-item{display:flex;flex-direction:column;gap:2px}.task-monitor .seam-details-panel .seam-detail-content .seam-detail-info .info-section .info-grid .info-item .item-label{color:#a0a0a0;color:var(--text-secondary);font-size:10px}.task-monitor .seam-details-panel .seam-detail-content .seam-detail-info .info-section .info-grid .info-item .item-value{color:#00d4ff;color:var(--primary-color);font-size:12px;font-weight:600}.task-monitor .seam-details-panel .seam-detail-content .seam-detail-info .info-section .length-value{background:#00d4ff1a;border-radius:6px;color:#00d4ff;color:var(--primary-color);font-size:16px;font-weight:700;padding:8px;text-align:center}.task-monitor .seam-details-panel .seam-detail-content .seam-detail-info .info-section .params-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.task-monitor .seam-details-panel .seam-detail-content .seam-detail-info .info-section .params-grid .param-item{align-items:center;background:#0000004d;border-radius:4px;display:flex;justify-content:space-between;padding:6px 8px}.task-monitor .seam-details-panel .seam-detail-content .seam-detail-info .info-section .params-grid .param-item .param-label{color:#a0a0a0;color:var(--text-secondary);font-size:10px}.task-monitor .seam-details-panel .seam-detail-content .seam-detail-info .info-section .params-grid .param-item .param-value{color:#00d4ff;color:var(--primary-color);font-size:11px;font-weight:600}.task-monitor .seam-details-panel .no-seam-selected{align-items:center;color:#a0a0a0;color:var(--text-secondary);display:flex;flex-direction:column;gap:12px;height:100%;justify-content:center}.task-monitor .seam-details-panel .no-seam-selected .no-seam-icon{font-size:32px;opacity:.3}.task-monitor .seam-details-panel .no-seam-selected .no-seam-text{font-size:14px;opacity:.6}.seam-list-container::-webkit-scrollbar{width:4px}.seam-list-container::-webkit-scrollbar-track{background:#ffffff1a;border-radius:2px}.seam-list-container::-webkit-scrollbar-thumb{background:#00d4ff4d;border-radius:2px}.seam-list-container::-webkit-scrollbar-thumb:hover{background:#00d4ff80}.production-analysis{display:flex;flex:1 1;flex-direction:column;gap:12px;height:100%;min-height:0;overflow:hidden}.production-analysis .loading{align-items:center;color:#a0a0a0;color:var(--text-secondary);display:flex;height:100%;justify-content:center}.production-analysis .stats-grid{grid-gap:10px;display:grid;flex-shrink:0;gap:10px;grid-template-columns:repeat(3,1fr);height:70px}.production-analysis .stats-grid .stat-card{background:#00d4ff0d;border:1px solid #00d4ff26;border-radius:8px;padding:8px 12px;text-align:center;transition:all .3s ease}.production-analysis .stats-grid .stat-card .stat-label{color:#a0a0a0;color:var(--text-secondary);font-size:11px;margin-bottom:4px;opacity:.8}.production-analysis .stats-grid .stat-card .stat-value{color:#00d4ff;color:var(--primary-color);font-family:Arial,sans-serif;font-size:20px;font-weight:700}.production-analysis .stats-grid .stat-card .stat-value .unit{font-size:12px;margin-left:3px;opacity:.7}.production-analysis .charts-container{display:flex;flex:1 1;flex-direction:column;gap:12px;min-height:0;overflow:hidden}.production-analysis .charts-container .chart-row{grid-gap:12px;display:grid;flex-shrink:0;gap:12px;grid-template-columns:repeat(2,1fr);height:120px;min-height:120px}.production-analysis .charts-container .chart-box{background:#0003;border:1px solid #00d4ff1a;border-radius:8px;display:flex;flex-direction:column;padding:10px}.production-analysis .charts-container .chart-box.full-width{flex:1 1;min-height:180px}.production-analysis .charts-container .chart-box .chart-title{color:#00d4ff;color:var(--primary-color);flex-shrink:0;font-size:13px;font-weight:600;margin-bottom:8px}.production-analysis .charts-container .chart-box .chart{flex:1 1;height:100%;min-height:0;width:100%}:root{--primary-color:#00d4ff;--primary-dark:#00a8cc;--primary-light:#3df;--success-color:#0f8;--warning-color:#fa0;--danger-color:#f44;--info-color:#48f;--bg-primary:#0a1a2e;--bg-secondary:#0f2540;--bg-card:#0f254099;--bg-overlay:#000c;--text-primary:#fff;--text-secondary:#a0a0a0;--text-muted:#666;--border-color:#00d4ff4d;--border-color-light:#00d4ff1a;--box-shadow:0 4px 20px #00d4ff1a;--box-shadow-hover:0 8px 30px #00d4ff33;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:32px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:20px;--spacing-2xl:24px;--spacing-3xl:32px;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px;--transition-fast:0.2s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease}*{box-sizing:border-box;margin:0;padding:0}body,html{background:#0a1a2e;background:var(--bg-primary);color:#fff;color:var(--text-primary);font-family:Microsoft YaHei,PingFang SC,Helvetica Neue,Arial,sans-serif;height:100%;overflow:hidden}#root{height:100%;width:100%}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb{background:#00d4ff;background:var(--primary-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3df;background:var(--primary-light)}.consumables-statistics{align-items:center;display:flex;flex-direction:row;gap:16px;height:100%;justify-content:space-around;padding:8px}.consumables-statistics .loading{align-items:center;color:#a0a0a0;color:var(--text-secondary);display:flex;height:100%;justify-content:center}.consumables-statistics .consumable-row{align-items:center;background:#0000004d;border:1px solid #00d4ff1a;border-radius:8px;display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:0;padding:12px}.consumables-statistics .consumable-row .consumable-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:16px;height:32px;justify-content:center;position:relative;width:32px}.consumables-statistics .consumable-row .consumable-icon:before{animation:ripple 2s infinite;background:inherit;border-radius:50%;content:"";height:100%;opacity:.2;position:absolute;width:100%;z-index:0}@keyframes ripple{0%{opacity:.2;transform:scale(1)}to{opacity:0;transform:scale(1.3)}}.consumables-statistics .consumable-row .consumable-icon.wire-icon{background:linear-gradient(135deg,#00d4ff33,#00a8cc26);border:2px solid #00d4ff4d}.consumables-statistics .consumable-row .consumable-icon.gas-icon{background:linear-gradient(135deg,#0f83,#00c86426);border:2px solid #00ff884d}.consumables-statistics .consumable-row .consumable-icon.power-icon{background:linear-gradient(135deg,#fa03,#c88c0026);border:2px solid #ffaa004d}.consumables-statistics .consumable-row .consumable-info{align-items:center;display:flex;flex-direction:column;text-align:center}.consumables-statistics .consumable-row .consumable-info .consumable-name{color:#a0a0a0;color:var(--text-secondary);font-size:12px;margin-bottom:4px;opacity:.8}.consumables-statistics .consumable-row .consumable-info .consumable-value{color:#00d4ff;color:var(--primary-color);font-family:Arial,sans-serif;font-size:14px;font-weight:600}.widget-panel{bottom:20px;display:flex;flex-direction:column;gap:0;overflow:hidden;position:absolute;top:90px;width:380px;z-index:100}.widget-panel.left-panel{left:20px}.widget-panel.right-panel{right:20px}.panel-card{background:url(/static/media/panel_body_bg.bfc0bf3629a304515fb2.png) no-repeat;background-size:100% 100%;display:flex;flex:1 1;flex-direction:column;margin-bottom:15px;min-height:0;overflow:hidden;padding:0;position:relative;transition:all .3s ease}.panel-card:last-child{margin-bottom:0}.panel-card:hover{filter:brightness(1.1)}.panel-card:before{background:url(/static/media/panel_title_bg.cf2dd836d898d884d27a.png) no-repeat;background-size:100% 100%;content:"";height:65px;left:0;position:absolute;right:0;top:0;z-index:0}.panel-title{align-items:center;color:#fff;display:flex;font-size:15px;font-weight:600;height:65px;justify-content:center;line-height:1;margin:-8px 0 0;padding:0 70px;position:relative;text-shadow:0 2px 4px #0000004d;z-index:1}.panel-title .title-icon{font-size:18px;line-height:1;margin-right:8px}.panel-content{box-sizing:border-box;color:#b9cfff;flex:1 1;font-size:14px;min-height:0;overflow-y:auto;padding:10px 16px 16px}.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-thumb{background:#00a8ff80;border-radius:3px}.panel-content::-webkit-scrollbar-track{background:#0014284d}.panel-content.no-scroll{overflow:visible;padding:16px}.ranking-header{grid-gap:8px;border-bottom:1px solid #7fa3ff33;color:#7fa3ff;display:grid;font-size:13px;gap:8px;grid-template-columns:60px 120px 1fr;margin-bottom:8px;padding:8px 0}.ranking-header span{text-align:left}.ranking-item{grid-gap:8px;align-items:center;border-bottom:none;display:grid;gap:8px;grid-template-columns:60px 120px 1fr;margin-bottom:4px;padding:8px 0;position:relative;transition:all .3s ease}.ranking-item:hover{background:#00a8ff1a;border-radius:6px;padding-left:8px}.ranking-item .rank-number{border-radius:4px;display:inline-block;font-size:12px;font-weight:600;padding:4px 8px;text-align:center}.ranking-item .rank-number.rank-1{background:linear-gradient(135deg,gold,#ff8c00);color:#000}.ranking-item .rank-number.rank-2{background:linear-gradient(135deg,silver,grey);color:#000}.ranking-item .rank-number.rank-3{background:linear-gradient(135deg,#cd7f32,#8b4513);color:#fff}.ranking-item .rank-number.rank-4,.ranking-item .rank-number.rank-5{background:#7fa3ff33;color:#7fa3ff}.ranking-item .model-name{color:#fff;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-item .model-count{align-items:center;color:aqua;display:flex;font-size:13px;font-weight:600;gap:8px}.ranking-item .model-count .percentage{color:#7fa3ff;font-size:11px}.province-item{grid-gap:8px;align-items:center;border-bottom:1px solid #7fa3ff1a;display:grid;gap:8px;grid-template-columns:80px 60px 60px;margin-bottom:4px;padding:8px 0;transition:all .3s ease}.province-item:hover{background:#00a8ff1a;border-radius:6px;padding-left:8px}.province-item .province-name{color:#fff;font-size:12px}.province-item .province-count{color:aqua;font-size:13px;font-weight:600}.province-item .province-percentage{color:#7fa3ff;font-size:11px}.province-item .progress-bar{background:#7fa3ff1a;border-radius:2px;grid-column:1/-1;height:4px;margin-top:4px;overflow:hidden}.province-item .progress-bar .progress-fill{background:linear-gradient(90deg,#0ff,#08f);border-radius:2px;height:100%;transition:width 1s ease}.ranking-more{color:#7fa3ff;font-size:12px;font-style:italic;padding:8px 0;text-align:center}.robot-item{background:#00142880;border:1px solid #00a8ff33;border-radius:8px;margin-bottom:10px;padding:12px;transition:all .3s ease}.robot-item:hover{background:#001e3c99;border-color:#0ff6}.robot-item .robot-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.robot-item .robot-header .robot-model{color:#fff;font-weight:600}.robot-item .robot-header .robot-status{border-radius:4px;font-size:12px;padding:4px 12px}.robot-item .robot-header .robot-status.status-0{background:#f443;border:1px solid #ff44444d;color:#f44}.robot-item .robot-header .robot-status.status-1{background:#00ff7f33;border:1px solid #00ff7f4d;color:#00ff7f}.robot-item .robot-detail{color:#7fa3ff;display:flex;flex-direction:column;font-size:12px;gap:4px}.robot-item .robot-detail span{align-items:center;display:flex}.operation-item{background:#00142880;border:1px solid #00a8ff33;border-radius:8px;margin-bottom:10px;padding:12px;transition:all .3s ease}.operation-item:hover{background:#001e3c99;border-color:#0ff6}.operation-item .operation-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.operation-item .operation-header .robot-name{color:#fff;font-weight:600}.operation-item .operation-header .runtime{color:aqua;font-size:18px;font-weight:700}.operation-item .operation-detail{color:#7fa3ff;display:flex;flex-direction:column;font-size:12px;gap:4px}.service-chart{align-items:flex-end;box-sizing:border-box;display:flex;height:100%;justify-content:space-around;min-height:200px;overflow:visible;padding:8px 4px 60px}.service-chart .service-item{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:8px;height:100%;justify-content:flex-end;max-width:80px;min-height:200px;position:relative}.service-chart .service-item .service-bar{align-items:flex-start;border-radius:8px 8px 0 0;box-shadow:0 0 20px #0ff6;cursor:pointer;display:flex;justify-content:center;max-height:70%;min-height:30px;padding-top:6px;position:relative;transition:all .5s ease;width:50px}.service-chart .service-item .service-bar:hover{box-shadow:0 0 30px #0ff9;transform:scale(1.05)}.service-chart .service-item .service-bar[data-tooltip]:hover:after{animation:tooltipFadeIn .2s ease-out forwards;background:#001428f2;border:1px solid #00ffff4d;border-radius:6px;bottom:calc(100% + 10px);box-shadow:0 0 20px #00ffff80;color:aqua;content:attr(data-tooltip);font-size:13px;font-weight:600;left:50%;opacity:0;padding:6px 12px;pointer-events:none;position:absolute;text-shadow:0 0 8px #0ffc;transform:translateX(-50%);white-space:nowrap;z-index:1000}.service-chart .service-item .service-bar[data-tooltip]:hover:before{border:6px solid #0000;border-top-color:#001428f2;bottom:calc(100% + 4px);content:"";height:0;left:50%;pointer-events:none;position:absolute;transform:translateX(-50%);width:0;z-index:1001}.service-chart .service-item .service-bar .service-percentage{color:#fff;font-size:11px;font-weight:600;text-shadow:0 0 4px #000c;white-space:nowrap}.service-chart .service-item .service-info{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:4px;justify-content:center;min-height:50px;padding:8px 4px;width:100%}.service-chart .service-item .service-info .service-type{align-items:center;color:#fff;display:flex;font-size:12px;justify-content:center;line-height:1.4;max-height:50px;min-height:auto;overflow:hidden;text-align:center;word-break:break-word}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(-4px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.analysis-content{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.analysis-content .analysis-item{align-items:center;background:#00142880;border:1px solid #00a8ff33;border-radius:8px;display:flex;flex-direction:column;justify-content:center;padding:16px;transition:all .3s ease}.analysis-content .analysis-item:hover{background:#001e3c99;border-color:#0ff6;box-shadow:0 8px 16px #0ff3;transform:translateY(-4px)}.analysis-content .analysis-item .analysis-label{color:#7fa3ff;font-size:13px;margin-bottom:8px}.analysis-content .analysis-item .analysis-value{align-items:center;color:aqua;display:flex;font-size:28px;font-weight:700;gap:4px;line-height:1}.analysis-content .analysis-item .analysis-value .unit{color:#7fa3ff;font-size:14px;font-weight:400}.animated-number{align-items:baseline;display:inline-flex;position:relative}.animated-digit{display:inline-block;position:relative;vertical-align:initial}.animated-digit.digit-flame{filter:drop-shadow(0 0 6px rgba(0,200,255,.8))}.animated-digit.digit-flame:before{animation:flame-pulse 2s ease-in-out infinite;background:radial-gradient(ellipse at center,#00c8ff99 0,#0096ff66 25%,#0064ff33 45%,#0000 70%);border-radius:50%;height:120%;width:120%;z-index:-1}.animated-digit.digit-flame:after,.animated-digit.digit-flame:before{content:"";left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}.animated-digit.digit-flame:after{animation:flame-flicker 1.5s ease-in-out infinite;background:radial-gradient(ellipse at center,#0000 0,#0096ff4d 30%,#0064c826 50%,#0000 75%);height:150%;width:150%;z-index:-2}.animated-digit.digit-flame{animation:digit-glow 2s ease-in-out infinite;text-shadow:0 0 8px #00c8ffe6,0 0 12px #0096ffb3,0 0 16px #0064ff80}@keyframes flame-pulse{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.15)}}@keyframes flame-flicker{0%,to{opacity:.2;transform:translate(-50%,-50%) translateY(0) scale(1)}25%{opacity:.4;transform:translate(-50%,-50%) translateY(-3px) scale(1.05)}50%{opacity:.3;transform:translate(-50%,-50%) translateY(0) scale(1)}75%{opacity:.5;transform:translate(-50%,-50%) translateY(3px) scale(1.05)}}@keyframes digit-glow{0%,to{text-shadow:0 0 8px #00c8ffe6,0 0 12px #0096ffb3,0 0 16px #0064ff80}50%{text-shadow:0 0 12px #00dcff,0 0 16px #00b4ffe6,0 0 20px #0078ffb3}}.company-overview{background:#000814 url(/static/media/page_bg.b0f037de402f9288e0c1.png) 50%/cover no-repeat;height:100vh;overflow:hidden;position:relative;width:100vw}.company-overview.error,.company-overview.loading{align-items:center;color:aqua;display:flex;font-size:18px;justify-content:center}.company-overview .loading-spinner{align-items:center;display:flex;flex-direction:column;gap:20px}.company-overview .loading-spinner .spinner{animation:spin 1s linear infinite;border:4px solid #00ffff1a;border-radius:50%;border-top-color:aqua;height:60px;width:60px}@keyframes spin{to{transform:rotate(1turn)}}.company-overview .loading-spinner p{color:#7fa3ff;font-size:16px}.page-header{align-items:center;background:url(/static/media/title_bg.dd7f7b53f07bc09d8425.png) top/100% 100% no-repeat;display:flex;height:80px;justify-content:space-between;left:0;padding:0 40px;position:absolute;right:0;top:0;z-index:200}.page-header:after{animation:light-go 3s ease-in-out infinite forwards;background:url(/static/media/light_bg.417d2dcf6d13d5b6b5ef.png) no-repeat;background-size:contain;bottom:-55px;content:"";height:100px;left:500px;position:absolute;width:500px}.page-header .header-left{flex:1 1}.page-header .header-left .back-button{background:#00a8ff33;border:1px solid #00a8ff66;border-radius:6px;color:aqua;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .3s ease}.page-header .header-left .back-button:hover{background:#00a8ff66;border-color:aqua;transform:translateX(-4px)}.page-header .header-center{flex:2 1;text-align:center}.page-header .header-center .main-title{font-size:30px;font-weight:700;letter-spacing:4px;margin:0}.page-header .header-center .main-title,.page-header .header-center .subtitle{-webkit-text-fill-color:#0000;background:linear-gradient(0deg,#b9cfff,#fff 99%);background-clip:text;-webkit-background-clip:text}.page-header .header-center .subtitle{font-size:10px;letter-spacing:2px;margin:4px 0 0}.page-header .header-right{display:flex;flex:1 1;justify-content:flex-end}.page-header .header-right .current-time{background:#001428cc;border:1px solid #00a8ff4d;border-radius:6px;color:aqua;font-family:Courier New,monospace;font-size:14px;font-weight:600;letter-spacing:1px;padding:8px 16px}.key-metrics{display:flex;gap:60px;left:50%;position:absolute;top:80px;transform:translateX(-50%);z-index:150}.key-metrics .metric-card{align-items:center;background:#0000;border-radius:8px;display:flex;flex-direction:column;justify-content:center;padding:20px 32px;transition:all .3s ease}.key-metrics .metric-card:hover{transform:translateY(-4px)}.key-metrics .metric-card .metric-icon{display:none}.key-metrics .metric-card .metric-content{align-items:center;display:flex;flex-direction:column;gap:8px}.key-metrics .metric-card .metric-content .metric-label{color:#b9cfffe6;font-size:14px;font-weight:400;letter-spacing:2px}.key-metrics .metric-card .metric-content .metric-value{align-items:baseline;color:#00fffff2;display:flex;font-size:36px;font-weight:700;gap:6px;position:relative}.key-metrics .metric-card .metric-content .metric-value .unit{color:#7fa3ffcc;font-size:18px;font-weight:400}.map-container{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}@media(max-width:1600px){.widget-panel{width:340px}.widget-panel.left-panel{left:10px}.widget-panel.right-panel{right:10px}.key-metrics{gap:20px}.key-metrics .metric-card{padding:12px 16px}.key-metrics .metric-card .metric-icon{font-size:32px}.key-metrics .metric-card .metric-content .metric-value{font-size:24px}.key-metrics .metric-card .metric-content .metric-value .unit{font-size:14px}}@media(max-width:1366px){.page-header{height:60px;padding:0 20px}.page-header .header-center .main-title{font-size:24px}.page-header .header-center .subtitle{font-size:12px}.widget-panel{top:70px;width:300px}.key-metrics{gap:16px;top:70px}.key-metrics .metric-card{padding:10px 12px}.key-metrics .metric-card .metric-icon{font-size:28px}.key-metrics .metric-card .metric-content .metric-label{font-size:12px}.key-metrics .metric-card .metric-content .metric-value{font-size:20px}}@keyframes light-go{0%{left:500px;opacity:1}to{left:1100px;opacity:0}}.factory-install-root{background:#fff;height:100vh}.factory-install-wrapper{background:#fff;height:100%}.factory-install-guide{background:#f5f5f5;color:#333;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;height:100%}.factory-install-guide .sidebar{background:#fff;border-right:1px solid #e0e0e0;box-shadow:2px 0 8px #0000000d;display:flex;flex-direction:column;flex-shrink:0;height:100%;width:300px}.factory-install-guide .sidebar .sidebar-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e0e0e0;color:#fff;padding:30px 20px 20px}.factory-install-guide .sidebar .sidebar-header h2{font-size:20px;font-weight:600;margin:0 0 8px}.factory-install-guide .sidebar .sidebar-header .subtitle{font-size:13px;margin:0;opacity:.9}.factory-install-guide .sidebar .nav-menu{flex:1 1;overflow-y:auto;padding:12px 0 20px}.factory-install-guide .sidebar .nav-menu .nav-group{margin-bottom:4px}.factory-install-guide .sidebar .nav-menu .nav-group-title{align-items:center;background:#0000;border:0;cursor:pointer;display:flex;gap:10px;padding:10px 16px;text-align:left;width:100%}.factory-install-guide .sidebar .nav-menu .nav-group-title:hover{background:#f8f9fa}.factory-install-guide .sidebar .nav-menu .nav-group-index{align-items:center;background:#667eea;border-radius:6px;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:22px;justify-content:center;width:22px}.factory-install-guide .sidebar .nav-menu .nav-group-text{display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.factory-install-guide .sidebar .nav-menu .nav-group-text strong{color:#222;font-size:14px;font-weight:650}.factory-install-guide .sidebar .nav-menu .nav-group-text em{color:#888;font-size:11px;font-style:normal}.factory-install-guide .sidebar .nav-menu .nav-caret{color:#999;font-size:12px}.factory-install-guide .sidebar .nav-menu .nav-children{padding:0 8px 8px 20px}.factory-install-guide .sidebar .nav-menu .nav-item{align-items:center;background:#0000;border:0;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:7px 12px;text-align:left;transition:all .15s;width:100%}.factory-install-guide .sidebar .nav-menu .nav-item:hover{background:#f8f9fa}.factory-install-guide .sidebar .nav-menu .nav-item.active{background:#f0f4ff}.factory-install-guide .sidebar .nav-menu .nav-item.active .nav-dot{background:#667eea}.factory-install-guide .sidebar .nav-menu .nav-item.active .nav-text{color:#667eea;font-weight:600}.factory-install-guide .sidebar .nav-menu .nav-item .nav-dot{background:#ccc;border-radius:50%;flex-shrink:0;height:6px;width:6px}.factory-install-guide .sidebar .nav-menu .nav-item .nav-text{color:#444;font-size:13px}.factory-install-guide .content{background:#fff;flex:1 1;height:100%;overflow-y:auto}.factory-install-guide .content .content-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e0e0e0;color:#fff;padding:40px 60px}.factory-install-guide .content .content-header h1{font-size:32px;font-weight:600;margin:0 0 12px}.factory-install-guide .content .content-header .intro{font-size:16px;line-height:1.6;margin:0 0 16px;opacity:.95}.factory-install-guide .content .content-header .flow-strip{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:20px 0 0;padding:0}.factory-install-guide .content .content-header .flow-strip li{align-items:center;background:#ffffff29;border-radius:20px;display:flex;font-size:13px;gap:8px;padding:6px 12px 6px 6px}.factory-install-guide .content .content-header .flow-strip li span{align-items:center;background:#fff;border-radius:50%;color:#667eea;display:flex;font-size:12px;font-weight:700;height:22px;justify-content:center;width:22px}.factory-install-guide .content .content-header .version-notice{background:#ffffff26;border-left:3px solid #fff;border-radius:4px;font-size:14px;line-height:1.6;margin-top:16px;padding:12px 16px}.factory-install-guide .content .content-header .version-notice code{background:#fff3;border-radius:3px;font-family:Monaco,Menlo,Consolas,monospace;font-size:13px;padding:2px 6px}.factory-install-guide .content .section{border-bottom:1px solid #f0f0f0;padding:40px 60px;scroll-margin-top:20px}.factory-install-guide .content .section:last-of-type{border-bottom:none}.factory-install-guide .content .section .stage-kicker{color:#667eea;font-size:12px;font-weight:700;letter-spacing:.12em;margin:0 0 8px;text-transform:uppercase}.factory-install-guide .content .section .section-title{border-bottom:2px solid #667eea;color:#222;font-size:26px;font-weight:600;margin:0 0 16px;padding-bottom:12px}.factory-install-guide .content .section>.step-title{color:#444;font-size:18px;font-weight:600;margin:28px 0 12px}.factory-install-guide .content .section a{color:#667eea;font-weight:600;margin-left:6px}.factory-install-guide .content .section .section-desc{color:#555;font-size:15px;line-height:1.8;margin:0 0 24px}.factory-install-guide .content .section .section-desc strong{color:#667eea}.factory-install-guide .content .section .empty-state,.factory-install-guide .content .section .loading-state{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;color:#666;font-size:16px;padding:40px 20px;text-align:center}.factory-install-guide .content .section .version-list{display:flex;flex-direction:column;gap:16px}.factory-install-guide .content .section .version-list .version-card{background:#fafafa;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;padding:20px;position:relative;transition:all .3s}.factory-install-guide .content .section .version-list .version-card:hover{border-color:#667eea;box-shadow:0 2px 12px #667eea26}.factory-install-guide .content .section .version-list .version-card.selected{background:#f0f4ff;border-color:#667eea;box-shadow:0 4px 16px #667eea33}.factory-install-guide .content .section .version-list .version-card .version-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.factory-install-guide .content .section .version-list .version-card .version-header .version-tag{color:#667eea;font-size:18px;font-weight:600}.factory-install-guide .content .section .version-list .version-card .version-header .version-date{color:#888;font-size:14px}.factory-install-guide .content .section .version-list .version-card .version-desc{color:#666;font-size:14px;line-height:1.6;margin:0 0 12px}.factory-install-guide .content .section .version-list .version-card .version-meta{display:flex;flex-direction:column;gap:6px}.factory-install-guide .content .section .version-list .version-card .version-meta .meta-item{color:#777;font-size:13px}.factory-install-guide .content .section .version-list .version-card .version-meta .meta-item strong{color:#555}.factory-install-guide .content .section .version-list .version-card .selected-badge{background:#667eea;border-radius:12px;color:#fff;font-size:13px;font-weight:600;padding:4px 12px;position:absolute;right:20px;top:20px}.factory-install-guide .content .section .guide-shot{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin:16px 0 20px;padding:10px}.factory-install-guide .content .section .guide-shot img{border-radius:4px;display:block;height:auto;width:100%}.factory-install-guide .content .section .guide-shot figcaption{color:#888;font-size:13px;margin-top:8px;text-align:center}.factory-install-guide .content .section .step-group{margin-bottom:32px}.factory-install-guide .content .section .step-group:last-child{margin-bottom:0}.factory-install-guide .content .section .step-group .step-title{color:#444;font-size:18px;font-weight:600;margin:0 0 12px}.factory-install-guide .content .section .step-group p{color:#555;font-size:15px;line-height:1.7;margin:0 0 16px}.factory-install-guide .content .section .info-box{background:#e8f4f8;border-left:4px solid #2196f3;border-radius:4px;margin:16px 0;padding:16px 20px}.factory-install-guide .content .section .info-box h4{color:#0277bd;font-size:15px;margin:0 0 8px}.factory-install-guide .content .section .info-box p{color:#555;font-size:14px;line-height:1.6;margin:0}.factory-install-guide .content .section .info-box p code{background:#fff;border-radius:3px;color:#d63031;font-family:Monaco,Menlo,Consolas,monospace;font-size:13px;padding:2px 6px}.factory-install-guide .content .section .info-box ul{margin:8px 0 0;padding-left:20px}.factory-install-guide .content .section .info-box ul li{color:#555;font-size:14px;line-height:1.8;margin-bottom:4px}.factory-install-guide .content .section .info-box ul li code{background:#fff;border-radius:3px;color:#d63031;font-family:Monaco,Menlo,Consolas,monospace;font-size:13px;padding:2px 6px}.factory-install-guide .content .section .warning-box{background:#fff8e1;border-left:4px solid #ffa726;border-radius:4px;margin:16px 0;padding:16px 20px}.factory-install-guide .content .section .warning-box h4{color:#f57c00;font-size:15px;margin:0 0 8px}.factory-install-guide .content .section .warning-box ul{margin:8px 0 0;padding-left:20px}.factory-install-guide .content .section .warning-box ul li{color:#555;font-size:14px;line-height:1.8;margin-bottom:4px}.factory-install-guide .content .section .warning-box ul li code{background:#fff;border-radius:3px;color:#d63031;font-family:Monaco,Menlo,Consolas,monospace;font-size:13px;padding:2px 6px}.factory-install-guide .content .section .warning-box .command-box{margin:12px 0 4px}.factory-install-guide .content .section .command-box{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;margin:16px 0;overflow:hidden}.factory-install-guide .content .section .command-box .command-header{align-items:center;background:#e9ecef;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:10px 16px}.factory-install-guide .content .section .command-box .command-header span{color:#495057;font-size:13px;font-weight:600}.factory-install-guide .content .section .command-box .command-header .copy-btn{background:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:6px 16px;transition:all .2s}.factory-install-guide .content .section .command-box .command-header .copy-btn:hover{background:#5568d3;box-shadow:0 2px 8px #667eea4d;transform:translateY(-1px)}.factory-install-guide .content .section .command-box .command-header .copy-btn:active{transform:translateY(0)}.factory-install-guide .content .section .command-box .command-header .copy-btn.copied{background:#2e7d32}.factory-install-guide .content .section .command-box .command-code{background:#f8f9fa;color:#2d3748;font-family:Monaco,Menlo,Consolas,Courier New,monospace;font-size:14px;line-height:1.6;margin:0;overflow-x:auto;padding:16px;white-space:pre}.factory-install-guide .content .section .command-box .command-code::-webkit-scrollbar{height:8px}.factory-install-guide .content .section .command-box .command-code::-webkit-scrollbar-track{background:#e9ecef}.factory-install-guide .content .section .command-box .command-code::-webkit-scrollbar-thumb{background:#adb5bd;border-radius:4px}.factory-install-guide .content .section .command-box .command-code::-webkit-scrollbar-thumb:hover{background:#868e96}.factory-install-guide .content .section .download-section .download-action{margin-top:24px}.factory-install-guide .content .section .download-section .download-action .download-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;max-width:300px;padding:12px 32px;transition:all .3s;width:100%}.factory-install-guide .content .section .download-section .download-action .download-btn:hover:not(:disabled){box-shadow:0 4px 16px #667eea66;transform:translateY(-2px)}.factory-install-guide .content .section .download-section .download-action .download-btn:disabled{cursor:not-allowed;opacity:.7}.factory-install-guide .content .section .download-section .download-action .progress-bar{background:#e0e0e0;border-radius:4px;height:8px;margin-top:16px;max-width:300px;overflow:hidden;width:100%}.factory-install-guide .content .section .download-section .download-action .progress-bar .progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;height:100%;transition:width .3s ease}.factory-install-guide .content .section .download-section .download-action .download-success{background:#e8f5e9;border:1px solid #4caf50;border-radius:6px;color:#2e7d32;margin-top:16px;padding:16px}.factory-install-guide .content .section .download-section .download-action .download-success p{font-size:14px;margin:4px 0}.factory-install-guide .content .section .download-section .download-action .download-success p.file-path{color:#555;font-size:13px;margin-top:8px}.factory-install-guide .content .section .download-section .download-action .download-success p.file-path code{background:#fff;border-radius:3px;color:#d63031;font-family:Monaco,Menlo,Consolas,monospace;font-size:12px;padding:2px 6px}.factory-install-guide .content .section .download-section .download-action .download-error{background:#ffebee;border:1px solid #f44336;border-radius:6px;color:#c62828;margin-top:16px;padding:16px}.factory-install-guide .content .section .download-section .download-action .download-error p{font-size:14px;margin:0}.factory-install-guide .content .section .checklist{display:flex;flex-direction:column;gap:24px}.factory-install-guide .content .section .checklist .checklist-item{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.factory-install-guide .content .section .checklist .checklist-item h4{color:#667eea;font-size:16px;font-weight:600;margin:0 0 12px}.factory-install-guide .content .section .checklist .checklist-item .expected{background:#f0f4ff;border-left:3px solid #667eea;color:#555;font-size:14px;line-height:1.6;margin:12px 0 0;padding:12px}.factory-install-guide .content .section .checklist .checklist-item .expected strong{color:#667eea}.factory-install-guide .content .content-footer{background:#f8f9fa;border-top:1px solid #e0e0e0;padding:40px 60px;text-align:center}.factory-install-guide .content .content-footer p{color:#666;font-size:14px;margin:8px 0}.factory-install-guide .content .content-footer p.copyright{color:#999;font-size:13px}.factory-install-guide .content::-webkit-scrollbar{width:10px}.factory-install-guide .content::-webkit-scrollbar-track{background:#f0f0f0}.factory-install-guide .content::-webkit-scrollbar-thumb{background:silver;border-radius:5px}.factory-install-guide .content::-webkit-scrollbar-thumb:hover{background:#a0a0a0}@media(max-width:1200px){.factory-install-guide .sidebar{width:240px}.factory-install-guide .content .content-footer,.factory-install-guide .content .content-header,.factory-install-guide .content .section{padding-left:40px;padding-right:40px}}@media(max-width:768px){.factory-install-guide{flex-direction:column}.factory-install-guide .sidebar{border-bottom:1px solid #e0e0e0;border-right:none;max-height:200px;width:100%}.factory-install-guide .sidebar .nav-menu{display:flex;overflow-x:auto;padding:8px}.factory-install-guide .sidebar .nav-menu .nav-group{flex-shrink:0;min-width:160px}.factory-install-guide .sidebar .nav-menu .nav-item .nav-text{font-size:12px}.factory-install-guide .content .content-footer,.factory-install-guide .content .content-header,.factory-install-guide .content .section{padding-left:20px;padding-right:20px}.factory-install-guide .content .content-header{padding-bottom:24px;padding-top:24px}.factory-install-guide .content .content-header h1{font-size:24px}.factory-install-guide .content .content-header .intro{font-size:14px}.factory-install-guide .content .section{padding-bottom:24px;padding-top:24px}.factory-install-guide .content .section .section-title{font-size:20px}}.factory-install-root:has(.sop-hub-page){background:#05070d}.sop-back{color:#667eea;display:inline-block;font-size:13px;margin:0 16px 8px;padding:6px 0;text-decoration:none}.sop-back:hover{text-decoration:underline}.sop-hub-page{background:#0a0a0a;color:#ececec;display:flex;height:100%;isolation:isolate;min-height:100%;overflow:auto;position:relative}.sop-hub-photo{height:100%;object-fit:cover;object-position:right center;width:100%;z-index:0}.sop-hub-photo,.sop-hub-shade{inset:0;pointer-events:none;position:absolute}.sop-hub-shade{background:linear-gradient(90deg,#0a0a0af0,#0a0a0ac7 36%,#0a0a0a38 58%,#0a0a0a14);z-index:1}.sop-hub{box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;min-height:100%;min-width:320px;padding:64px 40px 72px 56px;position:relative;width:min(420px,46vw);z-index:2}.sop-hub-lockup{margin-bottom:40px}.sop-hub-lockup .sop-hub-logo{background:#fff;display:block;height:28px;margin-bottom:20px;padding:6px 10px;width:auto}.sop-hub-lockup h1{color:#fff;font-size:22px;font-weight:600;letter-spacing:.02em;line-height:1.3;margin:0}.sop-hub-lockup p{color:#ffffff8c;font-size:13px;line-height:1.6;margin:8px 0 0}.sop-entry-list{border-top:1px solid #ffffff29}.sop-entry,.sop-entry-list{display:flex;flex-direction:column}.sop-entry{border-bottom:1px solid #ffffff29;color:inherit;gap:4px;padding:20px 0;text-decoration:none}.sop-entry strong{color:#fff;font-size:16px;font-weight:600}.sop-entry em{color:#ffffff73;font-size:12px;font-style:normal}.sop-entry span{color:#ffffff94;font-size:13px;line-height:1.5}.sop-entry:hover strong{color:#fff;text-decoration:underline;text-underline-offset:4px}@media(max-width:768px){.sop-hub{background:linear-gradient(180deg,#0a0a0a8c,#0a0a0ae6 38%,#0a0a0a);min-width:0;padding:32px 24px 48px;width:100%}}.os-switch{display:flex;gap:10px;margin:12px 0 8px}.os-switch button{background:#fff;border:1px solid #d0d0d0;border-radius:8px;cursor:pointer;font-size:15px;min-width:140px;padding:10px 16px}.os-switch button.active{background:#eef1ff;border-color:#667eea;color:#4c5bd4;font-weight:600}.host-fields{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px}.host-fields label{color:#666;display:flex;flex-direction:column;font-size:13px;gap:6px}.host-fields input{border:1px solid #d0d0d0;border-radius:6px;font-size:14px;padding:8px 10px;width:220px}:root{--fc-bg-deep:#02070f;--fc-bg:#04101f;--fc-cyan:#22d3ee;--fc-cyan-dim:#22d3ee59;--fc-orange:#fb923c;--fc-violet:#8b5cf6;--fc-text:#dff3ff;--fc-text-dim:#9fc4e0b8;--fc-panel-bg:#07162894;--fc-panel-line:#22d3ee38}.mp-board{background:radial-gradient(120% 90% at 50% 110%,#fb923c0f 0,#0000 55%),radial-gradient(90% 70% at 50% -10%,#22d3ee1a 0,#0000 60%),radial-gradient(140% 120% at 50% 50%,#04101f 0,#02070f 100%);background:radial-gradient(120% 90% at 50% 110%,#fb923c0f 0,#0000 55%),radial-gradient(90% 70% at 50% -10%,#22d3ee1a 0,#0000 60%),radial-gradient(140% 120% at 50% 50%,var(--fc-bg) 0,var(--fc-bg-deep) 100%);color:#dff3ff;color:var(--fc-text);display:flex;flex-direction:column;font-family:PingFang SC,Microsoft YaHei,Helvetica Neue,sans-serif;height:100vh;overflow:hidden;position:relative;width:100%}.mpb-bg-grid{background-image:linear-gradient(rgba(34,211,238,.045) 1px,#0000 0),linear-gradient(90deg,rgba(34,211,238,.045) 1px,#0000 0);background-size:56px 56px;-webkit-mask-image:radial-gradient(75% 65% at 50% 45%,#000 30%,#0000 100%);mask-image:radial-gradient(75% 65% at 50% 45%,#000 30%,#0000 100%)}.mpb-bg-grid,.mpb-bg-vignette{inset:0;pointer-events:none;position:absolute}.mpb-bg-vignette{background:radial-gradient(120% 100% at 50% 50%,#0000 55%,#01040abf 100%)}.mpb-bg-horizon{background:radial-gradient(50% 50% at 50% 50%,#fb923c12 0,#0000 70%);bottom:26vh;filter:blur(10px);height:24vh;left:50%;pointer-events:none;position:absolute;transform:translateX(-50%);width:70vw}.mpb-header{align-items:center;display:flex;flex:0 0 clamp(52px,6.5vh,72px);justify-content:space-between;padding:0 clamp(16px,1.6vw,32px);position:relative;z-index:10}.mpb-header:after{background:linear-gradient(90deg,#0000,#22d3ee59 20%,#22d3ee59 80%,#0000);background:linear-gradient(90deg,#0000,var(--fc-cyan-dim) 20%,var(--fc-cyan-dim) 80%,#0000);bottom:0;content:"";height:1px;left:2vw;position:absolute;right:2vw}.mpb-header-left,.mpb-header-right{align-items:center;display:flex;flex:1 1}.mpb-header-right{gap:14px;justify-content:flex-end}.mpb-logo{filter:drop-shadow(0 0 8px rgba(34,211,238,.4));height:clamp(16px,2.2vh,24px);width:auto}.logo-holo{align-items:center;display:flex;padding-left:34px;position:relative}.logo-ring{animation:fc-spin 9s linear infinite;border:1px dashed #22d3ee99;border-radius:50%;height:26px;left:0;margin-top:-13px;position:absolute;top:50%;width:26px}.logo-ring.r2{animation-direction:reverse;animation-duration:5s;border-color:#22d3ee #22d3ee59 #22d3ee59;border-style:solid;border-top-color:var(--fc-cyan);height:18px;left:4px;margin-top:-9px;width:18px}@keyframes fc-spin{to{transform:rotate(1turn)}}.mpb-header-center{align-items:center;display:flex;flex:2 1;justify-content:center}.wing-badge{height:clamp(48px,7.5vh,80px);position:relative;width:clamp(560px,52vw,1080px)}.wing-svg{filter:drop-shadow(0 0 10px rgba(34,211,238,.25));height:100%;width:100%}.wing-svg,.wing-title{inset:0;position:absolute}.wing-title{align-items:center;display:flex;flex-direction:column;justify-content:center;pointer-events:none}.wing-title .factory-name{-webkit-text-fill-color:#0000;background:linear-gradient(180deg,#fff 20%,#9fd9ee 90%);-webkit-background-clip:text;background-clip:text;font-size:clamp(16px,1.35vw,25px);font-weight:600;letter-spacing:.35em;line-height:1.15;margin:0;text-indent:.35em;text-shadow:0 0 24px #22d3ee59;white-space:nowrap}.wing-title .beam-sub{color:#22d3ee73;font-size:8px;letter-spacing:.5em;margin-top:1px;text-indent:.5em;white-space:nowrap}.mpb-clock{align-items:flex-end;display:flex;flex-direction:column;line-height:1.25}.mpb-clock .clock-time{font-feature-settings:"tnum";color:#22d3ee;color:var(--fc-cyan);font-size:clamp(16px,1.35vw,24px);font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.12em;text-shadow:0 0 14px #22d3ee8c}.mpb-clock .clock-date{font-size:clamp(10px,.7vw,12px);letter-spacing:.1em}.mpb-clock .clock-date,.rebind-btn{color:#9fc4e0b8;color:var(--fc-text-dim)}.rebind-btn{background:#22d3ee0f;border:1px solid #22d3ee40;border-radius:2px;cursor:pointer;font-size:12px;letter-spacing:.15em;padding:5px 14px;transition:all .25s}.rebind-btn:hover{border-color:#22d3ee;border-color:var(--fc-cyan);box-shadow:0 0 12px #22d3ee59;color:#22d3ee;color:var(--fc-cyan)}.mpb-deck{grid-gap:clamp(10px,1vw,20px);display:grid;flex:1 1;gap:clamp(10px,1vw,20px);grid-template-columns:minmax(250px,21%) 1fr minmax(250px,21%);min-height:0;padding:clamp(10px,1.4vh,20px) 8px;position:relative;z-index:5}.mpb-rail{display:flex;flex-direction:column;gap:clamp(10px,1.4vh,18px);min-height:0}.mpb-rail-left .device-panel{flex:1.15 1}.mpb-rail-left .rhythm-panel{flex:.85 1}.mpb-rail-right .robot-panel{flex:1.25 1}.mpb-rail-right .seam-panel{flex:.75 1}.mpb-stage{margin-bottom:calc(clamp(220px,30vh,320px)*-1);min-height:0;position:relative;z-index:1}.mpb-trend-strip{flex:0 0 clamp(220px,30vh,320px);flex-direction:column;padding:0 8px clamp(10px,1.4vh,18px);z-index:5}.mpb-panel,.mpb-trend-strip{display:flex;position:relative}.mpb-panel{background:#0000;flex:1 1;flex-direction:column;min-height:0;padding:clamp(14px,2vh,24px) clamp(16px,1.2vw,26px)}.mpb-panel:before{background:linear-gradient(90deg,#22d3ee,#22d3ee26 45%,#0000);background:linear-gradient(90deg,var(--fc-cyan),#22d3ee26 45%,#0000);box-shadow:0 0 10px #22d3ee73;content:"";height:1px;left:0;position:absolute;right:0;top:0}.mpb-panel:after{border-left:2px solid #22d3ee;border-left:2px solid var(--fc-cyan);border-top:2px solid #22d3ee;border-top:2px solid var(--fc-cyan);content:"";filter:drop-shadow(0 0 4px rgba(34,211,238,.7));height:7px;left:-3px;position:absolute;top:-3px;width:7px}.mpb-rail-left .mpb-panel{background:linear-gradient(90deg,#0a1e346b,#0a1e3414 70%,#0000);padding-left:8px;transform:perspective(1600px) rotateY(4deg);transform-origin:left center}.mpb-rail-right .mpb-panel{background:linear-gradient(270deg,#0a1e346b,#0a1e3414 70%,#0000);padding-right:8px;transform:perspective(1600px) rotateY(-4deg);transform-origin:right center}.mpb-rail-right .mpb-panel:before{background:linear-gradient(270deg,#22d3ee,#22d3ee26 45%,#0000);background:linear-gradient(270deg,var(--fc-cyan),#22d3ee26 45%,#0000)}.mpb-rail-right .mpb-panel:after{border-left:none;border-right:2px solid #22d3ee;border-right:2px solid var(--fc-cyan);left:auto;right:-3px}.mpb-panel .panel-title{align-items:center;display:flex;height:auto;justify-content:space-between;margin-bottom:clamp(10px,1.6vh,18px);padding:0}.mpb-panel .panel-title .panel-title-text{align-items:center;color:#cfeaff;display:inline-flex;font-size:clamp(13px,.95vw,17px);font-weight:600;gap:8px;letter-spacing:.2em;position:relative;white-space:nowrap}.mpb-panel .panel-title .panel-title-text .pt-icon{stroke:#22d3ee;stroke:var(--fc-cyan);filter:drop-shadow(0 0 5px rgba(34,211,238,.7));flex-shrink:0;height:15px;width:15px}.mpb-rail-right .panel-title{flex-direction:row-reverse}.rhythm-body{align-items:flex-end;gap:2px;min-height:0;padding-bottom:14px}.rhythm-body,.rhythm-col{display:flex;flex:1 1;position:relative}.rhythm-col{flex-direction:column;height:100%;justify-content:flex-end}.rhythm-bar{background:#22d3ee14;min-height:1px;transition:height .6s ease;width:100%}.rhythm-bar.has-value{background:linear-gradient(180deg,#22d3ee,#22d3ee40);background:linear-gradient(180deg,var(--fc-cyan),#22d3ee40);box-shadow:0 0 6px #22d3ee59}.rhythm-bar.is-now{background:linear-gradient(180deg,#fb923c,#fb923c4d);background:linear-gradient(180deg,var(--fc-orange),#fb923c4d);box-shadow:0 0 8px #fb923c80}.rhythm-tick{font-feature-settings:"tnum";bottom:-14px;color:#9fc4e073;font-size:9px;font-variant-numeric:tabular-nums;left:50%;position:absolute;transform:translateX(-50%)}.seam-body{flex:1 1;min-height:0;position:relative}.seam-center{left:50%;pointer-events:none;position:absolute;text-align:center;top:44%;transform:translate(-50%,-50%)}.seam-center .seam-center-value{font-feature-settings:"tnum";color:#eaf7ff;display:block;font-size:clamp(16px,1.3vw,24px);font-variant-numeric:tabular-nums;font-weight:700;text-shadow:0 0 12px #22d3ee66}.seam-center .seam-center-unit{color:#9fc4e0b8;color:var(--fc-text-dim);font-size:10px;letter-spacing:.3em}.device-body{display:flex;flex:1 1;flex-direction:column;gap:clamp(14px,2.4vh,28px);justify-content:center;min-height:0}.device-summary{align-items:stretch;display:flex;justify-content:space-between}.device-metric{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:8px;justify-content:center}.device-metric+.device-metric{border-left:1px dashed #22d3ee24}.device-metric .metric-icon{stroke:#9fc4e0;filter:drop-shadow(0 0 6px rgba(34,211,238,.35));margin-bottom:2px;opacity:.85}.device-metric.online .metric-icon{stroke:#34f5c5;filter:drop-shadow(0 0 6px rgba(52,245,197,.45))}.device-metric.offline .metric-icon{stroke:#ff7a7a;filter:drop-shadow(0 0 6px rgba(255,122,122,.4))}.device-metric .metric-value{font-feature-settings:"tnum";color:#eaf7ff;font-size:clamp(30px,2.5vw,46px);font-variant-numeric:tabular-nums;font-weight:700;text-shadow:0 0 16px #22d3ee59}.device-metric.online .metric-value{color:#34f5c5;text-shadow:0 0 16px #34f5c573}.device-metric.offline .metric-value{color:#ff7a7a;text-shadow:0 0 16px #ff7a7a66}.device-metric .metric-label{color:#9fc4e0b8;color:var(--fc-text-dim);font-size:clamp(10px,.72vw,13px);letter-spacing:.2em}.device-list{flex:1 1;min-height:0;overflow-y:auto}.device-list::-webkit-scrollbar{width:3px}.device-list::-webkit-scrollbar-thumb{background:#22d3ee4d}.device-empty,.rank-empty{color:#9fc4e066;font-size:12px;letter-spacing:.2em;padding:32px 0;text-align:center}.workshop-group{margin-bottom:12px}.workshop-group .workshop-name{border-bottom:1px dashed #22d3ee2e;color:#22d3ee;color:var(--fc-cyan);font-size:clamp(11px,.75vw,13px);letter-spacing:.18em;margin-bottom:6px;opacity:.85;padding-bottom:4px}.device-item{align-items:center;display:flex;font-size:clamp(11px,.75vw,13px);gap:8px;padding:5px 2px}.device-item .device-dot{background:#22d3ee;background:var(--fc-cyan);box-shadow:0 0 6px #22d3ee;box-shadow:0 0 6px var(--fc-cyan);flex-shrink:0;height:5px;transform:rotate(45deg);width:5px}.device-item .device-name{color:#dff3ff;color:var(--fc-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-item .device-id{font-feature-settings:"tnum";color:#9fc4e073;font-size:.85em;font-variant-numeric:tabular-nums;margin-left:auto}.latest-message{align-items:center;background:#fb923c12;border-left:2px solid #fb923c;border-left:2px solid var(--fc-orange);display:flex;gap:8px;margin-top:10px;padding:8px 10px}.latest-message .message-tag{border:1px solid #fb923c66;color:#fb923c;color:var(--fc-orange);flex-shrink:0;font-size:10px;letter-spacing:.1em;padding:1px 6px}.latest-message .message-title{color:#9fc4e0b8;color:var(--fc-text-dim);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-list{display:flex;flex:1 1;flex-direction:column;gap:clamp(10px,1.8vh,18px);min-height:0;overflow-y:auto}.rank-list::-webkit-scrollbar{width:3px}.rank-list::-webkit-scrollbar-thumb{background:#22d3ee4d}.rank-item{grid-column-gap:10px;grid-row-gap:6px;align-items:center;column-gap:10px;display:grid;grid-template-columns:30px 1fr auto;grid-template-rows:auto auto;row-gap:6px}.rank-item .rank-no{font-feature-settings:"tnum";color:#9fc4e059;font-size:clamp(16px,1.3vw,24px);font-style:italic;font-variant-numeric:tabular-nums;font-weight:700;grid-row:span 2;text-align:center}.rank-item .rank-no.rank-no-1{color:#fb923c;color:var(--fc-orange);text-shadow:0 0 14px #fb923c99}.rank-item .rank-no.rank-no-2{color:#22d3ee;color:var(--fc-cyan);text-shadow:0 0 14px #22d3ee8c}.rank-item .rank-no.rank-no-3{color:#8b5cf6;color:var(--fc-violet);text-shadow:0 0 14px #8b5cf68c}.rank-item .rank-name{color:#dff3ff;color:var(--fc-text);font-size:clamp(11px,.78vw,14px);letter-spacing:.12em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-item .rank-value{font-feature-settings:"tnum";color:#eaf7ff;font-size:clamp(13px,1vw,18px);font-variant-numeric:tabular-nums;font-weight:600;text-shadow:0 0 10px #22d3ee59}.rank-item .rank-bar-track{background:#22d3ee14;grid-column:2/4;height:6px;overflow:hidden;position:relative}.rank-item .rank-bar-track .rank-bar{height:100%;position:relative;transition:width .9s cubic-bezier(.22,1,.36,1)}.rank-item .rank-bar-track .rank-bar:after{background:#fff;bottom:-2px;box-shadow:0 0 10px 2px #ffffffb3;content:"";position:absolute;right:0;top:-2px;width:3px}.fusion-stage,.fusion-stage .stage-canvas{inset:0;position:absolute}.fusion-stage .stage-canvas canvas{display:block}.fusion-stage .stage-caption{bottom:2%;color:#22d3ee66;font-size:clamp(10px,.7vw,12px);left:50%;letter-spacing:.55em;text-indent:.55em;transform:translateX(-50%)}.fusion-stage .stage-caption,.kpi-float{pointer-events:none;position:absolute;white-space:nowrap}.kpi-float{animation:fc-holo-in 1s cubic-bezier(.22,1,.36,1) both;left:0;top:0;will-change:transform;z-index:6}.kpi-f-left{text-align:right;translate:calc(-100% - 72px) -50%}.kpi-f-right{translate:72px -50%}.kpi-f-below{text-align:center;translate:-50% 52px;translate:-50% var(--below-d,52px)}.kpi-f-above{text-align:center;translate:-50% calc(-100% - 56px)}.kpi-f-value-row{align-items:baseline;display:flex;gap:6px}.kpi-f-above .kpi-f-value-row,.kpi-f-below .kpi-f-value-row{justify-content:center}.kpi-f-value{font-feature-settings:"tnum";color:#22d3ee;color:var(--fc-cyan);font-size:clamp(26px,2.4vw,44px);font-variant-numeric:tabular-nums;font-weight:700;line-height:1;text-shadow:0 0 18px #22d3eea6,0 0 46px #22d3ee4d}.kpi-f-unit{font-size:clamp(12px,.9vw,16px)}.kpi-f-caption,.kpi-f-unit{color:#9fc4e0b8;color:var(--fc-text-dim)}.kpi-f-caption{font-size:clamp(10px,.72vw,13px);letter-spacing:.32em;margin-top:6px}.accent-orange .kpi-f-value{color:#fb923c;color:var(--fc-orange);text-shadow:0 0 18px #fb923ca6,0 0 46px #fb923c4d}.accent-violet .kpi-f-value{color:#c4b5fd;text-shadow:0 0 18px #8b5cf6a6,0 0 46px #8b5cf64d}.kpi-f-yoy{font-feature-settings:"tnum";font-size:clamp(10px,.7vw,12px);font-variant-numeric:tabular-nums;letter-spacing:.08em;margin-top:5px}.kpi-f-yoy.up{color:#ff6b6b;text-shadow:0 0 10px #ff6b6b73}.kpi-f-yoy.down{color:#2ecc71;text-shadow:0 0 10px #2ecc7173}.kpi-f-yoy.flat{color:#9fc4e080}.panel-title-side{color:#9fc4e073;font-size:10px;letter-spacing:.15em;white-space:nowrap}.robot-list{display:flex;flex:1 1;flex-direction:column;gap:clamp(8px,1.5vh,15px);min-height:0;overflow-y:auto}.robot-list::-webkit-scrollbar{width:3px}.robot-list::-webkit-scrollbar-thumb{background:#22d3ee4d}.robot-panel .robot-item{background:none;border:none;border-radius:0;margin:0;padding:0}.robot-panel .robot-item .robot-head{align-items:center;display:flex;gap:8px;margin-bottom:5px}.robot-panel .robot-item .robot-status-dot{background:#7f8c9b;border-radius:50%;flex-shrink:0;height:6px;width:6px}.robot-panel .robot-item.is-online .robot-status-dot{animation:fc-pulse 2s ease-in-out infinite;background:#34f5c5;box-shadow:0 0 8px #34f5c5cc}.robot-panel .robot-item .robot-name{color:#dff3ff;color:var(--fc-text);font-size:clamp(11px,.78vw,14px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.robot-panel .robot-item .robot-status-text{color:#9fc4e080;font-size:10px;letter-spacing:.1em}.robot-panel .robot-item.is-online .robot-status-text{color:#34f5c5cc}.robot-panel .robot-item .robot-value{font-feature-settings:"tnum";color:#eaf7ff;font-size:clamp(13px,1vw,18px);font-variant-numeric:tabular-nums;font-weight:600;margin-left:auto;text-shadow:0 0 10px #22d3ee59}.robot-panel .robot-item .robot-rank{font-feature-settings:"tnum";align-items:center;background:#22d3ee24;-webkit-clip-path:polygon(22% 0,78% 0,100% 50%,78% 100%,22% 100%,0 50%);clip-path:polygon(22% 0,78% 0,100% 50%,78% 100%,22% 100%,0 50%);color:#22d3ee;color:var(--fc-cyan);display:inline-flex;flex-shrink:0;font-size:9px;font-variant-numeric:tabular-nums;font-weight:700;height:15px;justify-content:center;width:24px}.robot-panel .robot-item.is-offline .robot-rank{background:#7f8c9b24;color:#9fc4e08c}.robot-panel .robot-item .robot-bar-track{background:#061222a6;border:1px solid #22d3ee29;border-radius:6px;height:12px;overflow:hidden;padding:2px}.robot-panel .robot-item .robot-bar{background:repeating-linear-gradient(90deg,#0000 0 7px,#030c18d9 7px 9px),linear-gradient(90deg,#7f8c9b4d,#8d9aa9);border-radius:4px;height:100%;position:relative;transition:width .9s cubic-bezier(.22,1,.36,1)}.robot-panel .robot-item .robot-bar:after{background:#e2e8f0;border-radius:3px;bottom:0;box-shadow:0 0 8px 1px #e2e8f080;content:"";position:absolute;right:0;top:0;width:4px}.robot-panel .robot-item.is-online .robot-bar{background:repeating-linear-gradient(90deg,#0000 0 7px,#030c18d9 7px 9px),linear-gradient(90deg,#34f5c559,#34f5c5);box-shadow:0 0 12px #34f5c566}.robot-panel .robot-item.is-online .robot-bar:after{background:#d9fff4;box-shadow:0 0 10px 2px #34f5c5b3}@keyframes fc-holo-in{0%{opacity:0}25%{opacity:.9}40%{opacity:.3}60%{opacity:1}75%{opacity:.55}to{opacity:1}}.trend-panel{background:#0000;padding-left:8px;padding-right:8px}.trend-panel:before{box-shadow:none;opacity:.35}.trend-panel:after{display:none}.trend-panel .granularity-tabs{display:flex;gap:6px}.trend-panel .tab-btn{background:#0000;border:1px solid #22d3ee33;border-radius:2px;color:#9fc4e0b8;color:var(--fc-text-dim);cursor:pointer;font-size:12px;padding:3px 12px;transition:all .25s}.trend-panel .tab-btn.active{background:#22d3ee;background:var(--fc-cyan);border-color:#22d3ee;border-color:var(--fc-cyan);box-shadow:0 0 14px #22d3ee80;color:#031018;font-weight:600}.trend-panel .tab-btn:hover:not(.active){border-color:#22d3ee;border-color:var(--fc-cyan);color:#22d3ee;color:var(--fc-cyan)}.trend-panel .chart-body{flex:1 1;min-height:0;position:relative}.trend-panel .chart-loading-mask{background:#040e1a66;color:#9fc4e0b8;color:var(--fc-text-dim);display:flex;font-size:12px;inset:0;letter-spacing:.3em;position:absolute}.mp-board.qr-mode,.trend-panel .chart-loading-mask{align-items:center;justify-content:center}.qr-bind-panel{z-index:10}.qr-bind-panel,.qr-card{align-items:center;display:flex;flex-direction:column;position:relative}.qr-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#07162894;background:var(--fc-panel-bg);border:1px solid #22d3ee38;border:1px solid var(--fc-panel-line);box-shadow:0 0 60px #22d3ee1f;padding:40px 48px}.qr-corner{border-color:#22d3ee;border-color:var(--fc-cyan);border-style:solid;border-width:0;filter:drop-shadow(0 0 4px rgba(34,211,238,.7));height:18px;position:absolute;width:18px}.qr-corner.tl{border-left-width:2px;border-top-width:2px;left:-1px;top:-1px}.qr-corner.tr{border-right-width:2px;border-top-width:2px;right:-1px;top:-1px}.qr-corner.bl{border-bottom-width:2px;border-left-width:2px;bottom:-1px;left:-1px}.qr-corner.br{border-bottom-width:2px;border-right-width:2px;bottom:-1px;right:-1px}.qr-image-wrap{align-items:center;background:#ffffff0a;border:1px solid #22d3ee26;display:flex;height:220px;justify-content:center;margin-bottom:20px;width:220px}.qr-image{height:200px;width:200px}.qr-loading{color:#9fc4e0b8;color:var(--fc-text-dim);font-size:12px;letter-spacing:.3em}.qr-title{color:#eaf7ff;font-size:18px;font-weight:600;letter-spacing:.3em;margin-bottom:8px;text-indent:.3em}.qr-subtitle{color:#9fc4e0b8;color:var(--fc-text-dim);font-size:12px;letter-spacing:.15em;margin-bottom:16px}.qr-status{align-items:center;color:#22d3ee;color:var(--fc-cyan);display:flex;font-size:13px;gap:8px;letter-spacing:.1em}.qr-status-dot{animation:fc-pulse 1.6s ease-in-out infinite;background:#22d3ee;background:var(--fc-cyan);border-radius:50%;box-shadow:0 0 10px #22d3ee;box-shadow:0 0 10px var(--fc-cyan);height:8px;width:8px}.qr-error{color:#ff7a7a;font-size:12px;margin-top:10px}@keyframes fc-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}@media(max-width:1400px){.mpb-deck{grid-template-columns:minmax(210px,23%) 1fr minmax(210px,23%)}.kpi-f-value{font-size:clamp(22px,2vw,34px)}}.trend-empty{align-items:center;color:#9fc4e066;display:flex;font-size:12px;inset:0;justify-content:center;letter-spacing:.3em;pointer-events:none;position:absolute}.robot-panel .robot-item{position:relative}.robot-panel .robot-item:after{align-items:center;background:#061222e6;border:1px solid #22d3ee59;border-radius:4px;color:#dff6ff;content:attr(data-tip);display:flex;font-size:11px;inset:-2px;justify-content:center;letter-spacing:.06em;opacity:0;pointer-events:none;position:absolute;transition:opacity .18s ease;white-space:nowrap;z-index:20}.robot-panel .robot-item:hover:after{opacity:1}.kpi-f-skeleton{animation:kpi-shimmer 1.4s linear infinite;background:linear-gradient(90deg,#22d3ee0d 25%,#22d3ee33 50%,#22d3ee0d 75%);background-size:200% 100%;border-radius:6px;height:clamp(26px,2.4vw,44px);width:clamp(90px,7.5vw,140px)}@keyframes kpi-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.kpi-float{--lead:#8cd2f0cc;--lead-dot:#8cd2f0f2}.kpi-float.accent-cyan{--lead:#22d3eebf;--lead-dot:#22d3eef2}.kpi-float.accent-orange{--lead:#fb923ccc;--lead-dot:#fb923cf2}.kpi-float.accent-violet{--lead:#a78bfacc;--lead-dot:#a78bfaf2}.kpi-float:after,.kpi-float:before{content:"";pointer-events:none;position:absolute}.kpi-float:before{box-shadow:0 0 4px var(--lead)}.kpi-float:after{background:var(--lead-dot);border-radius:50%;box-shadow:0 0 8px var(--lead-dot);height:5px;width:5px}.kpi-f-left:before{background:linear-gradient(to right,var(--lead),#0000);height:1px;left:calc(100% + 10px);top:50%;width:54px}.kpi-f-left:after{left:calc(100% + 66px);top:50%;transform:translate(-50%,-50%)}.kpi-f-right:before{background:linear-gradient(to left,var(--lead),#0000);height:1px;right:calc(100% + 10px);top:50%;width:54px}.kpi-f-right:after{right:calc(100% + 66px);top:50%;transform:translate(50%,-50%)}.kpi-f-above:before{background:linear-gradient(to bottom,var(--lead),#0000);height:40px;left:50%;top:calc(100% + 8px);width:1px}.kpi-f-above:after{left:50%;top:calc(100% + 50px);transform:translate(-50%,-50%)}.kpi-f-below:before{background:linear-gradient(to top,var(--lead),#0000);bottom:calc(100% + 8px);height:38px;height:calc(var(--below-d, 52px) - 14px);left:50%;width:1px}.kpi-f-below:after{bottom:calc(100% + 46px);bottom:calc(100% + var(--below-d, 52px) - 6px);left:50%;transform:translate(-50%,50%)}.empty-illo{align-items:center;display:flex;flex-direction:column;gap:14px;inset:0;justify-content:center;pointer-events:none;position:absolute;z-index:3}.ei-text{color:#9fc4e073;font-size:11px;letter-spacing:.28em;text-indent:.28em}.ei-dot{animation:ei-breathe 1.8s ease-in-out infinite;background:#22d3ee;background:var(--fc-cyan);border-radius:50%;box-shadow:0 0 10px #22d3ee;box-shadow:0 0 10px var(--fc-cyan);height:7px;width:7px}.ei-ring{height:clamp(72px,6vw,104px);position:relative;width:clamp(72px,6vw,104px)}.ei-ring:after,.ei-ring:before{border:1px dashed #22d3ee47;border-radius:50%;content:"";position:absolute}.ei-ring:before{animation:ei-spin 16s linear infinite;inset:0}.ei-ring:after{animation:ei-spin 11s linear infinite reverse;border-color:#a78bfa4d;inset:20%}.ei-ring .ei-dot{left:50%;margin:-3.5px 0 0 -3.5px;position:absolute;top:50%}.rhythm-body.is-empty .rhythm-bar{background:#22d3ee0d;border-top:1px dashed #22d3ee38;min-height:4px}.rhythm-body.is-empty .rhythm-bar.is-now{background:#fb923c14;border-top-color:#fb923c80;box-shadow:none}@keyframes ei-spin{to{transform:rotate(1turn)}}@keyframes ei-breathe{0%,to{opacity:1}50%{opacity:.35}}.orbit-controls{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#050e1b8c;border:1px solid #22d3ee33;border-radius:6px;bottom:calc(clamp(220px,30vh,320px) + 16px);display:flex;gap:5px;padding:5px 7px;position:absolute;right:18px;z-index:9}.oc-btn{align-items:center;-webkit-appearance:none;appearance:none;background:#0000;border:1px solid #78b4dc40;border-radius:4px;color:#9fc4e0b8;color:var(--fc-text-dim);cursor:pointer;display:inline-flex;font-size:11px;height:22px;justify-content:center;min-width:24px;padding:0 6px;transition:all .15s ease}.oc-btn svg{stroke:currentColor;height:13px;width:13px}.oc-btn.active{background:#22d3ee;background:var(--fc-cyan);box-shadow:0 0 10px #22d3ee80;color:#04121f;font-weight:600}.oc-btn.active,.oc-btn:hover:not(.active){border-color:#22d3ee;border-color:var(--fc-cyan)}.oc-btn:hover:not(.active){color:#22d3ee;color:var(--fc-cyan)}.oc-divider{background:#22d3ee2e;height:14px;margin:0 2px;width:1px}
/*# sourceMappingURL=main.79ddf86e.css.map*/