.dashboard-map-panel[data-v-330ff237]{background:#f5f7fa;border-radius:6px;overflow:hidden}.map-container[data-v-330ff237]{position:relative;height:calc(100vh - 180px);min-height:600px;background:#f5f7fa}.device-sidebar[data-v-330ff237]{position:absolute;top:16px;left:16px;width:260px;max-height:calc(100% - 32px);background:hsla(0,0%,100%,.95);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.06);border-radius:8px;-webkit-box-shadow:0 4px 16px rgba(0,0,0,.08);box-shadow:0 4px 16px rgba(0,0,0,.08);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;z-index:100;-webkit-transition:width .3s,-webkit-transform .3s;transition:width .3s,-webkit-transform .3s;transition:width .3s,transform .3s;transition:width .3s,transform .3s,-webkit-transform .3s}.sidebar-collapsed[data-v-330ff237]{width:40px}.sidebar-collapsed .device-list[data-v-330ff237],.sidebar-collapsed .sidebar-count[data-v-330ff237],.sidebar-collapsed .sidebar-empty[data-v-330ff237],.sidebar-collapsed .sidebar-filters[data-v-330ff237],.sidebar-collapsed .sidebar-loading[data-v-330ff237],.sidebar-collapsed .sidebar-title[data-v-330ff237]{display:none}.sidebar-header[data-v-330ff237]{padding:12px 14px;border-bottom:1px solid rgba(0,0,0,.06);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}.sidebar-title[data-v-330ff237]{font-size:13px;font-weight:600;color:#1d2129}.sidebar-count[data-v-330ff237]{font-size:11px;color:#1677ff;background:#e6f7ff;padding:2px 6px;border-radius:8px}.sidebar-toggle[data-v-330ff237]{font-size:14px;color:#4e5969;cursor:pointer;-webkit-transition:color .2s;transition:color .2s}.sidebar-toggle[data-v-330ff237]:hover{color:#1677ff}.sidebar-filters[data-v-330ff237]{padding:10px;border-bottom:1px solid rgba(0,0,0,.06)}.sidebar-loading[data-v-330ff237]{padding:12px;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;gap:6px;font-size:12px;color:#86909c}.device-list[data-v-330ff237]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto;padding:6px}.device-item[data-v-330ff237]{padding:8px 12px;margin:3px 0;background:#fff;border:1px solid #e5e6eb;border-radius:4px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.device-item[data-v-330ff237]:hover{background:#f0f9ff;border-color:#91caff}.device-item--active[data-v-330ff237]{background:#e6f7ff;border-color:#1677ff}.device-dot[data-v-330ff237]{width:6px;height:6px;border-radius:50%;-webkit-box-flex:0;-ms-flex:none;flex:none}.device-dot.is-online[data-v-330ff237]{background:#52c41a}.device-dot.is-offline[data-v-330ff237]{background:#d9d9d9}.device-name[data-v-330ff237]{-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:12px;color:#1d2129;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-empty[data-v-330ff237]{-webkit-box-flex:1;-ms-flex:1;flex:1;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;padding:20px}.map-stage[data-v-330ff237]{position:absolute;inset:0;background:#f5f7fa}.map-canvas[data-v-330ff237]{width:100%;height:100%}.map-loading[data-v-330ff237]{position:absolute;inset:0;background:rgba(250,251,252,.92);backdrop-filter:blur(4px);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;z-index:1000}.loading-card[data-v-330ff237]{padding:24px;background:#fff;border-radius:8px;-webkit-box-shadow:0 12px 30px rgba(15,23,42,.08);box-shadow:0 12px 30px rgba(15,23,42,.08);text-align:center}.loading-card .anticon[data-v-330ff237]{font-size:22px;color:#faad14}.loading-title[data-v-330ff237]{margin-top:12px;font-size:14px;font-weight:600;color:#17233d}.loading-desc[data-v-330ff237]{margin-top:6px;font-size:12px;color:#86909c}.map-stats[data-v-330ff237]{position:absolute;top:16px;right:16px;display:-webkit-box;display:-ms-flexbox;display:flex;gap:10px;z-index:100}.map-center-btn[data-v-330ff237]{position:absolute;top:16px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:100}.map-center-btn button[data-v-330ff237]{background:hsla(0,0%,100%,.95)!important;border:1px solid rgba(0,0,0,.06)!important}.map-center-btn button[data-v-330ff237],.stat-item[data-v-330ff237]{backdrop-filter:blur(10px);-webkit-box-shadow:0 2px 8px rgba(0,0,0,.08);box-shadow:0 2px 8px rgba(0,0,0,.08)}.stat-item[data-v-330ff237]{padding:8px 12px;background:hsla(0,0%,100%,.95);border:1px solid rgba(0,0,0,.06);border-radius:6px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2px}.stat-label[data-v-330ff237]{font-size:11px;color:#86909c}.stat-value[data-v-330ff237]{font-size:16px;font-weight:600;color:#1d2129;font-family:DIN Alternate,sans-serif}.stat-value--online[data-v-330ff237]{color:#52c41a}.stat-value--offline[data-v-330ff237]{color:#d9d9d9}.map-legend[data-v-330ff237]{position:absolute;bottom:16px;right:16px;padding:8px 10px;background:hsla(0,0%,100%,.95);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.06);border-radius:6px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.08);box-shadow:0 2px 8px rgba(0,0,0,.08);-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;z-index:100}.legend-item[data-v-330ff237],.map-legend[data-v-330ff237]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:6px}.legend-item[data-v-330ff237]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:12px;color:#4e5969}.legend-dot[data-v-330ff237]{width:8px;height:8px;border-radius:50%}.legend-dot--online[data-v-330ff237]{background:#52c41a}.legend-dot--offline[data-v-330ff237]{background:#d9d9d9}[data-v-330ff237] .dashboard-map-marker{position:relative;width:28px;height:28px;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-330ff237] .dashboard-map-marker__pulse{position:absolute;width:22px;height:22px;border-radius:50%;opacity:.18;-webkit-animation:marker-pulse-330ff237 1.8s ease-out infinite;animation:marker-pulse-330ff237 1.8s ease-out infinite}[data-v-330ff237] .dashboard-map-marker__core{position:relative;width:12px;height:12px;border-radius:50%;border:3px solid #fff;-webkit-box-shadow:0 4px 12px rgba(15,23,42,.15);box-shadow:0 4px 12px rgba(15,23,42,.15)}[data-v-330ff237] .dashboard-map-marker.is-online .dashboard-map-marker__core,[data-v-330ff237] .dashboard-map-marker.is-online .dashboard-map-marker__pulse{background:#52c41a}[data-v-330ff237] .dashboard-map-marker.is-offline .dashboard-map-marker__core,[data-v-330ff237] .dashboard-map-marker.is-offline .dashboard-map-marker__pulse{background:#d9d9d9}[data-v-330ff237] .dashboard-map-marker.is-active{-webkit-transform:scale(1.15);transform:scale(1.15)}@-webkit-keyframes marker-pulse-330ff237{0%{-webkit-transform:scale(.7);transform:scale(.7);opacity:.25}70%{-webkit-transform:scale(1.4);transform:scale(1.4);opacity:0}to{-webkit-transform:scale(1.4);transform:scale(1.4);opacity:0}}@keyframes marker-pulse-330ff237{0%{-webkit-transform:scale(.7);transform:scale(.7);opacity:.25}70%{-webkit-transform:scale(1.4);transform:scale(1.4);opacity:0}to{-webkit-transform:scale(1.4);transform:scale(1.4);opacity:0}}