.module-box[data-v-3d47f14f]{margin-bottom:20px}.module-box__title[data-v-3d47f14f]{margin-bottom:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.module-box__label[data-v-3d47f14f]{font-size:14px;font-weight:400;line-height:1em;display:block}body[data-v-3d47f14f]{height:100%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif;color:#333;font-size:14px}label[data-v-3d47f14f]{font-weight:700}html[data-v-3d47f14f]{height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-font-smoothing:antialiased;font-size:16px}#app[data-v-3d47f14f]{height:100%;min-height:100%}body[data-v-3d47f14f],dl[data-v-3d47f14f],h1[data-v-3d47f14f],h2[data-v-3d47f14f],h3[data-v-3d47f14f],h4[data-v-3d47f14f],h5[data-v-3d47f14f],h6[data-v-3d47f14f],ol[data-v-3d47f14f],p[data-v-3d47f14f],ul[data-v-3d47f14f]{margin:0;font-weight:400;padding:0}ol[data-v-3d47f14f],ul[data-v-3d47f14f]{list-style:none}button[data-v-3d47f14f]{border:0;outline:none}fieldset[data-v-3d47f14f],input[data-v-3d47f14f]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;margin:0;min-width:0;font-size:1rem;font-family:inherit}[contenteditable][data-v-3d47f14f],input[type][data-v-3d47f14f]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}input[data-v-3d47f14f]::-ms-clear{display:none}input[data-v-3d47f14f]:focus{outline:0}input[type=number][data-v-3d47f14f]{-moz-appearance:textfield}input[type=number][data-v-3d47f14f]::-webkit-inner-spin-button,input[type=number][data-v-3d47f14f]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none}.clearfix[data-v-3d47f14f]:after{content:".";display:block;height:0;clear:both;visibility:hidden}[data-v-3d47f14f],[data-v-3d47f14f]:after,[data-v-3d47f14f]:before{-webkit-box-sizing:inherit;box-sizing:inherit}.no-padding[data-v-3d47f14f]{padding:0!important}a[data-v-3d47f14f]:active,a[data-v-3d47f14f]:focus{outline:none}a[data-v-3d47f14f],a[data-v-3d47f14f]:focus,a[data-v-3d47f14f]:hover{cursor:pointer;color:inherit;text-decoration:none}div[data-v-3d47f14f]:focus{outline:none}.w100[data-v-3d47f14f]{width:100%}.box-container[data-v-3d47f14f]{padding:15px}@media(-webkit-device-pixel-ratio:2){.border-1px[data-v-3d47f14f]:after{height:1px;content:"";width:100%;border-bottom:1px solid #e1e1e1;position:absolute;bottom:-1px;right:0;transform:scaleY(.5);-webkit-transform:scaleY(.5)}}@media(-webkit-min-device-pixel-ratio:2){.border-bottom[data-v-3d47f14f]:after{border-bottom-width:1px}.border-1px[data-v-3d47f14f]:after{content:" ";display:block;position:absolute;top:0;right:-100%;bottom:-100%;left:0;border:0 solid #e1e1e1;-webkit-transform-origin:0 0;transform-origin:0 0;pointer-events:none;-webkit-transform:scale(.5);transform:scale(.5);width:200%;-webkit-box-sizing:border-box;box-sizing:border-box}}.cockpit-page[data-v-3d47f14f]{--bg-main:#07090d;--bg-card:#11151b;--bg-card-strong:#0d1218;--text-main:#edf3ff;--text-sub:#7f8ca7;--line:hsla(0,0%,100%,0.06);min-height:calc(100vh - 84px);padding:12px;color:var(--text-main);background:radial-gradient(circle at 12% 8%,rgba(27,111,255,.15),transparent 30%),radial-gradient(circle at 88% 88%,rgba(18,196,137,.1),transparent 26%),var(--bg-main);font-family:HarmonyOS Sans SC,PingFang SC,Microsoft YaHei,sans-serif}.cockpit-header[data-v-3d47f14f]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:12px}.header-title h1[data-v-3d47f14f]{margin:0;font-size:38px;font-weight:700;letter-spacing:.4px}.header-title p[data-v-3d47f14f]{margin:4px 0 0;color:var(--text-sub);font-size:14px}.header-actions[data-v-3d47f14f]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.search-input[data-v-3d47f14f]{width:270px}.region-filter[data-v-3d47f14f]{width:300px}.metric-grid[data-v-3d47f14f]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.metric-card[data-v-3d47f14f]{border:1px solid var(--line);border-radius:12px;background:-webkit-gradient(linear,left top,left bottom,from(rgba(17,21,27,.98)),to(rgba(13,18,24,.98)));background:linear-gradient(180deg,rgba(17,21,27,.98),rgba(13,18,24,.98));padding:12px 14px}.metric-head[data-v-3d47f14f]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.metric-head[data-v-3d47f14f],.metric-icon[data-v-3d47f14f]{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.metric-icon[data-v-3d47f14f]{width:24px;height:24px;border-radius:6px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:rgba(45,134,255,.15);color:#55a3ff}.metric-rate[data-v-3d47f14f]{font-size:12px;padding:2px 7px;border-radius:999px;font-weight:600}.metric-rate.positive[data-v-3d47f14f]{color:#38dc8d;background:rgba(56,220,141,.15)}.metric-label[data-v-3d47f14f]{margin-top:10px;color:var(--text-sub);font-size:13px}.metric-value[data-v-3d47f14f]{margin-top:6px;font-size:34px;line-height:1.1;font-weight:700}.content-grid[data-v-3d47f14f]{display:grid;grid-template-columns:2fr 1fr;gap:12px}.left-column[data-v-3d47f14f],.right-column[data-v-3d47f14f]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px;min-width:0}.panel[data-v-3d47f14f]{border:1px solid var(--line);border-radius:12px;background:-webkit-gradient(linear,left top,left bottom,from(rgba(17,21,27,.98)),to(rgba(11,15,21,.98)));background:linear-gradient(180deg,rgba(17,21,27,.98),rgba(11,15,21,.98));overflow:hidden}.panel-header[data-v-3d47f14f]{padding:12px 14px 0}.panel-header h3[data-v-3d47f14f]{margin:0;font-size:24px;font-weight:600}.panel-header p[data-v-3d47f14f]{margin:4px 0 0;color:var(--text-sub);font-size:12px}.panel-header-inline[data-v-3d47f14f]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-bottom:6px}.panel-large[data-v-3d47f14f]{min-height:420px}.panel-chart-lg[data-v-3d47f14f]{height:380px}.fleet-map[data-v-3d47f14f]{width:100%;border-radius:8px;overflow:hidden}.map-error-tip[data-v-3d47f14f]{margin:8px 12px 0;padding:8px 10px;border-radius:6px;color:#ff9f9f;background:rgba(255,95,95,.16);font-size:12px}.panel-chart-sm[data-v-3d47f14f]{height:180px}.fleet-legend[data-v-3d47f14f]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:10px;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:0 12px 12px}.legend-item[data-v-3d47f14f]{color:var(--text-sub);font-size:12px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.legend-item i[data-v-3d47f14f]{width:8px;height:8px;border-radius:50%;margin-right:6px}.legend-item.online i[data-v-3d47f14f]{background:#2bd97f}.legend-item.warning i[data-v-3d47f14f]{background:#f5c542}.legend-item.fault i[data-v-3d47f14f]{background:#ff5f5f}.alerts-panel[data-v-3d47f14f]{min-height:370px}.alert-list[data-v-3d47f14f]{list-style:none;margin:0;padding:8px 12px 14px}.alert-item[data-v-3d47f14f]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;border:1px solid var(--line);border-radius:10px;margin-bottom:10px;padding:10px 12px;background:hsla(0,0%,100%,.02)}.alert-main[data-v-3d47f14f]{min-width:0}.alert-code[data-v-3d47f14f]{font-size:14px;font-weight:700;color:#e7eefc;margin-bottom:2px}.alert-message[data-v-3d47f14f]{color:var(--text-sub);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-time[data-v-3d47f14f]{color:#72819d;font-size:12px;margin-left:10px}.alert-item.danger .alert-code[data-v-3d47f14f]{color:#ff7272}.alert-item.warning .alert-code[data-v-3d47f14f]{color:#f5c542}.alert-item.info .alert-code[data-v-3d47f14f]{color:#60b2ff}.alert-empty[data-v-3d47f14f]{border:1px dashed var(--line);border-radius:10px;text-align:center;color:var(--text-sub);font-size:12px;padding:14px}.purpose-config-panel[data-v-3d47f14f],.table-panel[data-v-3d47f14f]{padding:0 12px 12px}.config-collapse[data-v-3d47f14f]{padding:8px 2px 0}.purpose-item-header[data-v-3d47f14f]{padding:0 0 8px}.purpose-item-title[data-v-3d47f14f]{color:#dce7ff;font-size:13px;font-weight:600}.purpose-search[data-v-3d47f14f]{width:240px}.purpose-icon-preview[data-v-3d47f14f]{width:44px;height:44px;border-radius:8px;-o-object-fit:cover;object-fit:cover;border:1px solid hsla(0,0%,100%,.14)}[data-v-3d47f14f] .config-collapse .el-collapse{border-top:1px solid hsla(0,0%,100%,.08);border-bottom:1px solid hsla(0,0%,100%,.08)}[data-v-3d47f14f] .config-collapse .el-collapse-item__header{color:#e7edf8;font-size:13px;font-weight:600}[data-v-3d47f14f] .config-collapse .el-collapse-item__header,[data-v-3d47f14f] .config-collapse .el-collapse-item__wrap{background:transparent;border-bottom-color:hsla(0,0%,100%,.08)}[data-v-3d47f14f] .config-collapse .el-collapse-item__content{color:#b7c6de;padding-bottom:12px}[data-v-3d47f14f] .el-table{background:transparent;color:#e7edf8}[data-v-3d47f14f] .el-table:before{background-color:hsla(0,0%,100%,.08)}[data-v-3d47f14f] .el-table td,[data-v-3d47f14f] .el-table th,[data-v-3d47f14f] .el-table tr{background:transparent!important;border-bottom-color:hsla(0,0%,100%,.08)}[data-v-3d47f14f] .el-table__body tr:hover>td{background-color:rgba(45,134,255,.08)!important}[data-v-3d47f14f] .el-input-group__append,[data-v-3d47f14f] .el-input-group__prepend,[data-v-3d47f14f] .el-input__inner{background:hsla(0,0%,100%,.03);border-color:hsla(0,0%,100%,.14);color:#dce7ff}[data-v-3d47f14f] .el-progress-bar__outer{background-color:hsla(0,0%,100%,.08)}[data-v-3d47f14f] .car-marker{position:relative;width:30px;height:30px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}[data-v-3d47f14f] .car-marker .car-icon{width:26px;height:16px;position:relative;z-index:2;-webkit-filter:drop-shadow(0 0 6px rgba(53,232,255,.72));filter:drop-shadow(0 0 6px rgba(53,232,255,.72))}[data-v-3d47f14f] .car-marker .car-pulse{position:absolute;width:28px;height:28px;border-radius:50%;border:1px solid rgba(53,232,255,.55);z-index:1;-webkit-animation:pulse-tech-data-v-3d47f14f 1.8s ease-out infinite;animation:pulse-tech-data-v-3d47f14f 1.8s ease-out infinite}[data-v-3d47f14f] .car-marker.warning .car-pulse{border-color:rgba(245,197,66,.62)}[data-v-3d47f14f] .car-marker.fault .car-pulse{border-color:rgba(255,95,95,.72)}[data-v-3d47f14f] .car-label{display:inline-block;padding:2px 6px;border-radius:10px;background:rgba(9,18,32,.75);border:1px solid rgba(60,180,255,.45);color:#d8f4ff;font-size:11px;line-height:1.2;-webkit-box-shadow:0 0 8px rgba(60,180,255,.2);box-shadow:0 0 8px rgba(60,180,255,.2)}[data-v-3d47f14f] .car-label.warning{border-color:rgba(245,197,66,.6)}[data-v-3d47f14f] .car-label.fault{border-color:rgba(255,95,95,.72)}[data-v-3d47f14f] .car-info-window{min-width:210px;line-height:1.6;font-size:12px;color:#21304d}[data-v-3d47f14f] .car-info-window .title{font-weight:700;margin-bottom:4px}@-webkit-keyframes pulse-tech-data-v-3d47f14f{0%{-webkit-transform:scale(.45);transform:scale(.45);opacity:.9}70%{-webkit-transform:scale(1.2);transform:scale(1.2);opacity:.05}to{-webkit-transform:scale(1.2);transform:scale(1.2);opacity:0}}@keyframes pulse-tech-data-v-3d47f14f{0%{-webkit-transform:scale(.45);transform:scale(.45);opacity:.9}70%{-webkit-transform:scale(1.2);transform:scale(1.2);opacity:.05}to{-webkit-transform:scale(1.2);transform:scale(1.2);opacity:0}}@media(max-width:1500px){.metric-grid[data-v-3d47f14f]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1200px){.content-grid[data-v-3d47f14f]{grid-template-columns:1fr}.header-title h1[data-v-3d47f14f]{font-size:30px}.header-actions[data-v-3d47f14f]{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}}