.map-page[data-v-67bfdd44]{display:flex;gap:0;min-height:calc(100vh - 168px);border:1px solid #e5e6eb;border-radius:8px;overflow:hidden;background:#fff}.map-main[data-v-67bfdd44]{flex:1;min-width:0;position:relative;background:#eef1f6}.map-chart[data-v-67bfdd44]{width:100%;height:100%;min-height:calc(100vh - 168px);z-index:1}.map-hint[data-v-67bfdd44]{bottom:12px;max-width:calc(100% - 24px);padding:8px 12px;font-size:12px;line-height:1.5;color:#4e5969;border:1px solid #e5e6eb;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.06);pointer-events:none}.map-hint[data-v-67bfdd44],.map-mode-switch[data-v-67bfdd44]{position:absolute;left:12px;z-index:500;background:hsla(0,0%,100%,.94)}.map-mode-switch[data-v-67bfdd44]{top:12px;display:inline-flex;padding:3px;border:1px solid #d9dee8;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.08)}.map-mode-switch button[data-v-67bfdd44]{min-width:48px;height:28px;padding:0 10px;border:0;border-radius:4px;background:transparent;color:#4e5969;font-size:12px;line-height:28px;cursor:pointer}.map-mode-switch button.active[data-v-67bfdd44]{background:#1677ff;color:#fff;font-weight:600}.map-mode-switch button[data-v-67bfdd44]:not(.active):hover{background:#f2f3f5;color:#1d2129}.map-sidebar[data-v-67bfdd44]{width:320px;flex-shrink:0;display:flex;flex-direction:column;border-left:1px solid #e5e6eb;background:#fff}.sidebar-head[data-v-67bfdd44]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid #f2f3f5}.sidebar-title[data-v-67bfdd44]{font-size:15px;font-weight:600;color:#1d2129}.sidebar-stats[data-v-67bfdd44]{display:flex;gap:10px;font-size:12px}.sidebar-stats .st[data-v-67bfdd44]{display:inline-flex;align-items:center;gap:4px;color:#4e5969}.sidebar-stats .dot[data-v-67bfdd44]{width:8px;height:8px;border-radius:50%;display:inline-block}.st.online .dot[data-v-67bfdd44]{background:#52c41a}.st.alarm .dot[data-v-67bfdd44]{background:#ff4d4f}.st.offline .dot[data-v-67bfdd44]{background:#bfbfbf}.sidebar-search[data-v-67bfdd44]{display:flex;gap:8px;padding:10px 16px;align-items:center}.sidebar-search .el-input[data-v-67bfdd44]{flex:1}.device-scroll[data-v-67bfdd44]{flex:1;overflow-y:auto;padding:0 12px 12px}.device-card[data-v-67bfdd44]{border:1px solid #e5e6eb;border-radius:8px;padding:10px 12px;margin-bottom:10px;cursor:pointer;transition:box-shadow .15s,border-color .15s;background:#fff}.device-card[data-v-67bfdd44]:hover{box-shadow:0 2px 8px rgba(0,0,0,.06)}.device-card.active[data-v-67bfdd44]{border-color:#1677ff;box-shadow:0 0 0 1px rgba(22,119,255,.2)}.device-card.alarm[data-v-67bfdd44]{background:#fff7f7;border-color:#ffccc7}.card-top[data-v-67bfdd44]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.status-tag[data-v-67bfdd44]{font-size:12px;padding:2px 8px;border-radius:4px;font-weight:500}.status-tag.online[data-v-67bfdd44]{color:#389e0d;background:#f6ffed;border:1px solid #b7eb8f}.status-tag.offline[data-v-67bfdd44]{color:#86909c;background:#f7f8fa;border:1px solid #e5e6eb}.status-tag.alarm[data-v-67bfdd44]{color:#cf1322;background:#fff1f0;border:1px solid #ffa39e}.card-loc[data-v-67bfdd44]{color:#c9cdd4;font-size:16px}.card-loc.precise[data-v-67bfdd44]{color:#1677ff}.card-name[data-v-67bfdd44]{font-size:14px;font-weight:600;color:#1d2129;line-height:1.4}.card-code[data-v-67bfdd44]{font-size:12px;color:#86909c;margin-top:2px}.card-site[data-v-67bfdd44]{font-size:12px;color:#4e5969;margin-top:6px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-alarm-msg[data-v-67bfdd44]{margin-top:8px;font-size:12px;color:#f53f3f;line-height:1.4}.empty-tip[data-v-67bfdd44]{text-align:center;color:#86909c;padding:24px 0;font-size:13px}.sidebar-foot[data-v-67bfdd44]{padding:12px 16px;border-top:1px solid #f2f3f5;text-align:center;color:#1677ff;font-size:13px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sidebar-foot[data-v-67bfdd44]:hover{background:#f7f8fa}@media(max-width:1100px){.map-page[data-v-67bfdd44]{flex-direction:column}.map-sidebar[data-v-67bfdd44]{width:100%;max-height:360px}.map-chart[data-v-67bfdd44]{min-height:420px}.map-mode-switch[data-v-67bfdd44]{top:10px;left:10px}}.device-map-marker-wrap{background:transparent;border:none}.device-map-marker{display:block;width:14px;height:14px;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.35)}.device-map-marker.alarm{animation:map-pulse 1.2s ease-in-out infinite}@keyframes map-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}.leaflet-popup-content-wrapper{border-radius:8px}.leaflet-popup-close-button{top:8px!important;right:8px!important;width:20px!important;height:20px!important;line-height:18px!important;border-radius:50%;color:#86909c!important;font-size:18px!important}.leaflet-popup-close-button:hover{background:#f2f3f5;color:#1d2129!important}.map-popup{min-width:280px;max-width:340px;padding-right:18px}.map-popup-title{font-weight:600;font-size:14px;color:#1d2129}.map-popup-code{font-size:12px;color:#86909c;margin-top:2px}.map-popup-row{margin-top:6px;font-size:12px;color:#4e5969}.map-popup-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.map-popup-metric{min-width:0;padding:6px 8px;border:1px solid #edf0f5;border-radius:4px;background:#f7f8fa}.map-popup-metric span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:16px;color:#86909c}.map-popup-metric strong{display:block;overflow-wrap:anywhere;margin-top:2px;font-size:13px;line-height:18px;color:#1d2129;font-weight:600}.map-popup-metric small{margin-left:3px;font-size:10px;color:#86909c;font-weight:400}.map-popup-site{margin-top:6px;font-size:12px;color:#1d2129;line-height:1.45}.map-popup-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.map-popup-tab{border:1px solid #d9d9d9;background:#fff;color:#4e5969;border-radius:12px;padding:2px 10px;font-size:12px;line-height:20px;cursor:pointer}.map-popup-tab.active{border-color:#1677ff;background:#e6f4ff;color:#1677ff}.map-popup-sub-panel[hidden]{display:none}.map-popup-hint{margin-top:6px;font-size:11px;color:#fa8c16}.map-popup-alarm{margin-top:6px;font-size:12px;color:#f53f3f;line-height:1.4}