:root {
  font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
  line-height: 1.5;
  font-weight: 400;

  color-scheme: light dark;
  color: rgba(255, 255, 255, 0.87);
  background-color: #242424;

  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  font-weight: 500;
  color: #646cff;
  text-decoration: inherit;
}

a:hover {
  color: #535bf2;
}

html,
body {
  width: 100vw;
  height: 100vh;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

body {
  display: block;
}

h1 {
  font-size: 3.2em;
  line-height: 1.1;
}

button {
  border-radius: 8px;
  border: 1px solid transparent;
  padding: 0.6em 1.2em;
  font-size: 1em;
  font-weight: 500;
  font-family: inherit;
  background-color: #1a1a1a;
  cursor: pointer;
  transition: border-color 0.25s;
}

button:hover {
  border-color: #646cff;
}

button:focus,
button:focus-visible {
  outline: 4px auto -webkit-focus-ring-color;
}

.card {
  padding: 2em;
}

#app {
  position: relative;
  width: 100%;
  height: 100%;
}

@media (prefers-color-scheme: light) {
  :root {
    color: #213547;
    background-color: #ffffff;
  }

  a:hover {
    color: #747bff;
  }

  button {
    background-color: #f9f9f9;
  }
}
.l7-page[data-v-3470596c] {
  position: absolute;
  inset: 0;
}
.l7-map[data-v-3470596c] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
[data-v-3470596c] canvas {
  background: transparent !important;
}
.ctrls[data-v-3470596c] {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 12px;
  display: flex;
  gap: 12px;
  padding: 8px 12px;
  border-radius: 10px;
  background: rgba(16, 24, 40, 0.55);
  backdrop-filter: blur(8px);
  color: #e6f0ff;
}
.ctrls label[data-v-3470596c] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
}
.ctrls input[type="range"][data-v-3470596c] {
  width: 180px;
}
.marker-label[data-v-3470596c] {
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(16, 24, 40, 0.75);
  color: #e6f0ff;
  font-size: 12px;
  line-height: 1.4;
  white-space: nowrap;
}

.title_wrap[data-v-2d24209c] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url("/static/png/top-CebEZ1x6.png"),
    linear-gradient(
      180deg,
      rgba(9, 61, 120, 0.95) 0%,
      rgba(9, 38, 85, 0.95) 60%,
      rgba(9, 38, 85, 0.6) 100%
    );
  background-size: cover, cover;
  background-position: center center, center;
  border-bottom: 2px solid rgba(0, 153, 255, 0.35);
  box-shadow: inset 0 -2px 0 rgba(0, 153, 255, 0.35),
    0 4px 12px rgba(0, 0, 0, 0.45);
  z-index: 300;
}
.guang[data-v-2d24209c] {
  position: absolute;
  bottom: -26px;
  left: 0;
  right: 0;
  background-image: url("/static/png/guang-DR_uqUl8.png");
  background-repeat: no-repeat;
  background-position: 80px center;
  width: 100%;
  height: 56px;
}
.zuojuxing[data-v-2d24209c],
.youjuxing[data-v-2d24209c] {
  position: absolute;
  top: -2px;
  width: 140px;
  height: 6px;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIwAAAAGCAYAAAAR63aAAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkFDRTEzN0RDOTg3OTExRUM5RTgzQ0U4QUEzRjc2RTRFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkFDRTEzN0REOTg3OTExRUM5RTgzQ0U4QUEzRjc2RTRFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QUNFMTM3REE5ODc5MTFFQzlFODNDRThBQTNGNzZFNEUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QUNFMTM3REI5ODc5MTFFQzlFODNDRThBQTNGNzZFNEUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5uuACcAAAC/0lEQVR42oRXOZIUMRCsnCDwl/exJi4eeHyA/QLe/IiPrInXiY46stRBMMa2Wi3VkZV1LOw3P8LsjbTP4/lpPG0892++cC5gIC1/vgTjzPhufpZyN87M51X7iHMpJ+66nKv07Pus9bqP/ZyfLv9+LSvv8pc/8Z3GC/aYz5RX+uf7XD5YvtxkyVlT/b63ZFwcOrqPW/98Oi4XG45YroVv28+H+0n3IWyJGBX+cV/2Gn6KIxpeSydQsc74q1y8j5PPsfz2Yfz5Ofa/pgL3cRNkB5B2J0sa5Tfoq7A85KQBsp/XhFCxt5xGOUgBtBuBtGtaCUwy2AY8I+W2ucwgpHJ/S0NKg79bavAduE7FyFzwddi3/HDyN6zCjr2ABrARU/CzCjTDWlglVWpmf72wZWATLaKZpMFGV0lX16tQLEIZXxZHaH9mIrxW2F2BsTxD50mcLTj2mSRFQenBk7vLaZgK3bbWnrq/cT1k6Fl3POQEAzcG6Kfp9IMTTOIIr26dQrIGOwdR/kTwxckEXW0GVDqPYJevgSO19Iz9iEtPuIP5UcFTn59nJfXaAUsEisgwu9kVrx7zL4+KJbPs8ciKuwy2PKxqQvW2kYmse7TOaBiVPQpzb39CbNPKJ05XJvNm9yQYgzgs3USB0rIsEoOSIlG2UQRtZScZhRaQXhthGkK1s1Vlb4ElDa1g8agu6Gh6LDxK0IQsX6R7CUnZrN2JsS2ehHlGCYokgzKfdxCzImTbiPJXIKEX1MyUHkFJbFhrY//In2wV6zxkxpAk17ZCSl6CHVRY2q553+uLgIfCht4rwZOwlMQQ29hZc6/YB9/sTgpq69f5CKhUrIxv8s7ZNGmIe3vODPJWL8PQrznDfHdXX8efF57ZjEa/NjnUaMLGVMFJqqf0a5kOijm7ymW4qRlciFLKLCnt8BJCswirFq87TpokmlgK+98v7tcgS5kn2NJNQLwORh+MoZ+J+euch/QfArbKzWyLVRRqTsHZKdiHRY2RVjXF3fW9j9fnWP74K8AA3scr31D4jAoAAAAASUVORK5CYII=");
  background-size: cover;
}
.zuojuxing[data-v-2d24209c] {
  left: 11%;
}
.youjuxing[data-v-2d24209c] {
  right: 11%;
  transform: rotate(180deg);
}
.title[data-v-2d24209c] {
  position: relative;
  height: 160px;
  line-height: 160px;
  text-align: center;
}
.title-text[data-v-2d24209c] {
  font-size: 86px;
  font-weight: 800;
  letter-spacing: 6px;
  background: linear-gradient(
    92deg,
    #0072ff 0%,
    #00eaff 48.8525390625%,
    #01aaff 100%
  );
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 0 22px rgba(0, 255, 255, 0.8), 0 0 44px rgba(0, 180, 255, 0.5);
}

/* 尺寸按照 @xht-web-bi/src/components/item-wrap/item-wrap.vue 的变量复刻 */
.lr_titles[data-v-ed83e4b0] {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 14px;
  background: linear-gradient(
    180deg,
    rgba(16, 24, 40, 0.6) 0%,
    rgba(16, 24, 40, 0.4) 100%
  );
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(0, 153, 255, 0.25);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25),
    inset 0 0 0 1px rgba(255, 255, 255, 0.05);
  overflow: hidden;
}
.item_title[data-v-ed83e4b0] {
  height: 64px;
  line-height: 64px;
  text-align: center;
  position: relative;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 2px;
  color: #e6f0ff;
  background: linear-gradient(
    180deg,
    rgba(9, 61, 120, 0.55) 0%,
    rgba(9, 38, 85, 0.3) 100%
  );
  border-bottom: 1px solid rgba(0, 153, 255, 0.35);
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.06);
}
.title-inner[data-v-ed83e4b0] {
  color: #ffffff;
  text-shadow: none;
}
.decor[data-v-ed83e4b0] {
  position: absolute;
  top: 50%;
  width: 74px;
  height: 20px;
  margin-top: -10px;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
.decor.left[data-v-ed83e4b0] {
  left: 12px;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAAOCAYAAAB+UA+TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADJmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RTVCODU4NzY5ODc4MTFFQzlDREVENjhDQTJDMTU3RjkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RTVCODU4Nzc5ODc4MTFFQzlDREVENjhDQTJDMTU3RjkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFNUI4NTg3NDk4NzgxMUVDOUNERUQ2OENBMkMxNTdGOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFNUI4NTg3NTk4NzgxMUVDOUNERUQ2OENBMkMxNTdGOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtheM6MAAAJJSURBVEhL3Ze7axVBGEc3xkeMgiYYxSBq1BRJSCkSEIxlULCx1sJKO/8FG7EWxc7Sxs4UaZJCC0mXqBBFBCFqFHyb+DZ6zpqBcXZ2Sev9wWHvZO7O7Jm595ubtqNX7hVkM3yFnzYy6YEl+Fy2qtkF3v+6bFWzG9bA07JVzR7ogpmyVc0+GIJbZauaPjgOl8tWJu19x852cN0KXr/BMsTZBPuhGz7CD4hj/wj0wjtIF2MjnADHeAvvIc56OAPD4PgvIU47XIIj4GI+hDhtcANOgnPdhkoUdRdd7Q2Qk1XsN2yBnKyvvWcn5GQd/wO46u5MKvsLXsEgDEAq69yP4DAcgpzsNLijo5CVVdSrD9okuwhNsoo0ydpWrk7W/hdQJ/sG/I7VyTreJNTKBlHT0rKxqGlZ2VTU/G+yzjUHIVlZhXIJx4z9ufd8X7nat+7vy3/yBVwc+12sNB5VFiH7PdrSfAIXz4rqsZPGxXQO44KmceF8jymPtpyEx4W75a65ekEqxF3cC/Y/gTBgyHY4CD7kLDyDODtgDFygu/AA4nj/aeiEOzAFcbz/ImyDCbgKcTzzb8IBGIdzsJyKrlbSrEZyHuIESc9OJe9DnCDpcyjpRzBOkFQmSPqsIUGyH4Jk+emMRVtW0gTRlpY0ilpdmySdvEnS/iZJq16TpH8/BXWS/gS8AHWSznsdlPS3cEXSeLxY/RzMMp5KGqvfWrDEp5ImVEeLTippnNT3PIdU0ji/VdZ/CNLCY5RaACv1tZV2msfgM5yHimRRFMUf5rMaGf6QPUsAAAAASUVORK5CYII=");
}
.decor.right[data-v-ed83e4b0] {
  right: 12px;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAAOCAYAAAB+UA+TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADJmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RTVCODU4NzY5ODc4MTFFQzlDREVENjhDQTJDMTU3RjkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RTVCODU4Nzc5ODc4MTFFQzlDREVENjhDQTJDMTU3RjkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFNUI4NTg3NDk4NzgxMUVDOUNERUQ2OENBMkMxNTdGOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFNUI4NTg3NTk4NzgxMUVDOUNERUQ2OENBMkMxNTdGOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtheM6MAAAJKSURBVEhL3ZZJj0xRGEC7NdoQQwwJQmjDghASEZEghgVJs7OwtSEkfoANe/u2JxF/QFjZ2GJDhCDmeWzShtamc17117m+90xLdZKTqvtuveG8qtx6nZv7Lnf8gtF4FE/hBTckOnEfOnfJDQ1swRd4pRrVWYHf8Go1qjMPx+ONalRnCk7GB9WozlicgP2jqmEdI/twNx5Bo0ocH8Be3ItdmNmKG3EbesKMketwDRqTMXIlLsGJbkgYuQhnYtO855yOhnY3hRp5DHfiTdyD3zGIyO3ot3UYv2KJkRvwPZ7Az1gSkW4/ix+xJCI9r78Yj1MSkXIX83xEeq1vcTCHRuQONHIXGhPkyEP4DEvKyOP4HEtyZN4/R+b9c+Tr1tsRcmR1E8rQto2UCG3rSDFUI/IW5kiJyJfYFOnqauQHbIpcjkYOYVPkXPybSCP+OVKMdHm/X41aB5zaevsTT4ZfXR39TOYNepFjcJIbEgPoeVydm1bIT+i819O0AnuDnBejMs7FvL/OGl09vft9PY+eYBP6zZ7D8q5dQy9mLa5H/3xfYfAU3+FSXIaP0figHz3eQuwZHpfz/hIcz8HZOIh+M4GhHn8aeqO9qd68wEj3GYfd6A1zPEKEyp9ir+N/G1uGStvG5lBpy9imUCljV+NJLCljXS3PoCcMytjFeBHLp6cydj56vC8YlLGz8BEaGORY35fzOXbodw/1chBP451qVMfHRB/Ib1ejOqvQC75XjeosQC8qVv3MDPRiH1ajOj7Huornv8PAFZj9OwZ+ANk+D9ohN6nXAAAAAElFTkSuQmCC");
}
.item_title_content[data-v-ed83e4b0] {
  height: calc(100% - 64px);
  padding: 12px 14px 14px 14px;
  box-sizing: border-box;
}
.item_title_content_def[data-v-ed83e4b0] {
  height: 100%;
  padding: 12px 14px 14px 14px;
  box-sizing: border-box;
}

.parking-kpi[data-v-0dbbd1c0] {
  padding: 10px 10px 4px;
}
.kpi-section[data-v-0dbbd1c0] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.section-title[data-v-0dbbd1c0] {
  color: #00eaff;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  border-bottom: 1px solid rgba(0, 153, 255, 0.3);
  padding-bottom: 8px;
}
.kpi-grid[data-v-0dbbd1c0] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 16px;
  row-gap: 10px;
}
.kpi-item[data-v-0dbbd1c0] {
  text-align: center;
  padding: 12px;
  border-radius: 8px;
  background: rgba(0, 153, 255, 0.1);
  border: 1px solid rgba(0, 153, 255, 0.3);
}
.kpi-value[data-v-0dbbd1c0] {
  font-size: 24px;
  font-weight: 700;
  color: #00eaff;
  margin-bottom: 4px;
}
.kpi-label[data-v-0dbbd1c0] {
  font-size: 12px;
  color: #a8c5ff;
}

.top-ranking[data-v-5a8161f4] {
  padding: 16px;
}
.ranking-header[data-v-5a8161f4] {
  margin-bottom: 16px;
}
.ranking-header h4[data-v-5a8161f4] {
  color: #e6f0ff;
  font-size: 16px;
  margin: 0;
}
.ranking-list[data-v-5a8161f4] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ranking-item[data-v-5a8161f4] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(0, 153, 255, 0.05);
  border: 1px solid rgba(0, 153, 255, 0.2);
  position: relative;
}
.ranking-item.top-three[data-v-5a8161f4] {
  background: rgba(0, 153, 255, 0.1);
  border-color: rgba(0, 153, 255, 0.3);
}
.rank-number[data-v-5a8161f4] {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(0, 153, 255, 0.3);
  color: #00eaff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}
.ranking-item.top-three .rank-number[data-v-5a8161f4] {
  background: linear-gradient(45deg, #ff6b6b, #ffd93d);
  color: #fff;
}
.rank-content[data-v-5a8161f4] {
  flex: 1;
  min-width: 0;
}
.rank-name[data-v-5a8161f4] {
  color: #e6f0ff;
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rank-value[data-v-5a8161f4] {
  color: #00eaff;
  font-size: 14px;
  font-weight: 700;
}
.rank-bar[data-v-5a8161f4] {
  width: 60px;
  height: 4px;
  background: rgba(0, 153, 255, 0.2);
  border-radius: 2px;
  overflow: hidden;
  flex-shrink: 0;
}
.rank-fill[data-v-5a8161f4] {
  height: 100%;
  background: linear-gradient(90deg, #00eaff, #0099ff);
  border-radius: 2px;
  transition: width 0.3s ease;
}

.echart[data-v-4a95e8df] {
  width: 100%;
  height: 260px;
}

.pie-chart[data-v-218ded1e] {
  padding: 16px;
}
.chart-header[data-v-218ded1e] {
  margin-bottom: 12px;
  text-align: center;
}
.chart-header h4[data-v-218ded1e] {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #ffffff;
}

.combined-ranking[data-v-63c03314] {
  padding: 16px;
  position: relative;
  pointer-events: auto;
}
.ranking-period-toggle[data-v-63c03314] {
  position: absolute;
  top: 8px;
  right: 8px;
  display: flex;
  gap: 6px;
  z-index: 100;
  pointer-events: auto;
}
.ranking-period-toggle button[data-v-63c03314] {
  padding: 4px 10px;
  border: 1px solid rgba(0, 153, 255, 0.35);
  background: rgba(0, 153, 255, 0.08);
  color: #a8c5ff;
  border-radius: 12px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  pointer-events: auto;
  position: relative;
  z-index: 11;
}
.ranking-period-toggle button.active[data-v-63c03314] {
  background: rgba(0, 153, 255, 0.35);
  color: #00eaff;
  border-color: rgba(0, 153, 255, 0.6);
}
.ranking-period-toggle button[data-v-63c03314]:hover {
  background: rgba(0, 153, 255, 0.25);
  transform: scale(1.05);
}
.ranking-period-toggle button[data-v-63c03314]:active {
  transform: scale(0.95);
  background: rgba(0, 153, 255, 0.4);
}
.ranking-split[data-v-63c03314] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  align-items: start;
}
.ranking-split.three-cols[data-v-63c03314] {
  grid-template-columns: 1fr 1fr 1fr;
}
.ranking-col-title[data-v-63c03314] {
  color: #a8c5ff;
  font-size: 12px;
  margin-bottom: 8px;
  text-align: center;
}
.ranking-tabs[data-v-63c03314] {
  display: flex;
  gap: 4px;
  margin-bottom: 16px;
  justify-content: center;
}
.ranking-tabs button[data-v-63c03314] {
  padding: 6px 12px;
  border: 1px solid rgba(0, 153, 255, 0.3);
  background: transparent;
  color: #a8c5ff;
  border-radius: 6px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.3s;
}
.ranking-tabs button.active[data-v-63c03314] {
  background: rgba(0, 153, 255, 0.3);
  color: #00eaff;
}
.ranking-content[data-v-63c03314] {
  min-height: 200px;
}
.ranking-list[data-v-63c03314] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ranking-item[data-v-63c03314] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 6px;
  background: rgba(0, 153, 255, 0.05);
  border: 1px solid rgba(0, 153, 255, 0.2);
  position: relative;
}
.ranking-item.top-three[data-v-63c03314] {
  background: rgba(0, 153, 255, 0.1);
  border-color: rgba(0, 153, 255, 0.3);
}
.rank-number[data-v-63c03314] {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(0, 153, 255, 0.3);
  color: #00eaff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
}
.ranking-item.top-three .rank-number[data-v-63c03314] {
  background: linear-gradient(45deg, #ff6b6b, #ffd93d);
  color: #fff;
}
.rank-content[data-v-63c03314] {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
}
.rank-name[data-v-63c03314] {
  color: #e6f0ff;
  font-size: 11px;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rank-value[data-v-63c03314] {
  color: #00eaff;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}
.rank-bar[data-v-63c03314] {
  width: 50px;
  height: 3px;
  background: rgba(0, 153, 255, 0.2);
  border-radius: 2px;
  overflow: hidden;
  flex-shrink: 0;
}
.rank-fill[data-v-63c03314] {
  height: 100%;
  background: linear-gradient(90deg, #00eaff, #0099ff);
  border-radius: 2px;
  transition: width 0.3s ease;
}

.list-card[data-v-6ce91e6e] {
  width: 260px;
  padding: 12px 14px;
  border-radius: 10px;
  background: rgba(16, 24, 40, 0.7);
  color: #e6f0ff;
  box-shadow: 0 6px 18px rgba(0,0,0,0.25);
}
.list-title[data-v-6ce91e6e] { font-size: 13px; color: #9fb3d1; margin-bottom: 8px;
}
.list[data-v-6ce91e6e] { list-style: none; margin: 0; padding: 0;
}
.list li[data-v-6ce91e6e] { display: flex; justify-content: space-between; padding: 6px 0; border-bottom: 1px dashed rgba(255,255,255,0.1);
}
.list li[data-v-6ce91e6e]:last-child { border-bottom: none;
}
.name[data-v-6ce91e6e] { color: #cfe0ff;
}
.value[data-v-6ce91e6e] { color: #8bd3ff;
}

.bar-chart[data-v-9fd181ea] {
  padding: 16px;
}
.chart-header[data-v-9fd181ea] {
  margin-bottom: 12px;
}
.chart-header h4[data-v-9fd181ea] {
  color: #ffffff;
  font-size: 16px;
  margin: 0;
}

.kpi-card[data-v-854c3f01] {
  min-width: 200px;
  padding: 12px 14px;
  border-radius: 12px;
  background: radial-gradient(
      120% 120% at 0% 0%,
      rgba(0, 153, 255, 0.12) 0%,
      rgba(16, 24, 40, 0.7) 60%
    ),
    rgba(16, 24, 40, 0.7);
  backdrop-filter: blur(6px);
  color: #e6f0ff;
  border: 1px solid rgba(0, 153, 255, 0.25);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28),
    inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}
.kpi-icon[data-v-854c3f01] {
  font-size: 18px;
  line-height: 1;
  margin-bottom: 6px;
  filter: drop-shadow(0 0 8px rgba(0, 234, 255, 0.35));
}
.kpi-title[data-v-854c3f01] {
  font-size: 12px;
  letter-spacing: 0.5px;
  color: #98b8e0;
}
.kpi-value[data-v-854c3f01] {
  margin-top: 4px;
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.kpi-value .num[data-v-854c3f01] {
  font-size: 30px;
  font-weight: 800;
  background: linear-gradient(92deg, #6ab9ff 0%, #00eaff 60%, #7acbff 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.kpi-value .unit[data-v-854c3f01] {
  font-size: 12px;
  color: #b6c6e2;
}
.trend-inline[data-v-854c3f01] {
  margin-left: 6px;
  font-size: 12px;
}
.kpi-trend[data-v-854c3f01] {
  margin-top: 6px;
  font-size: 12px;
}
.kpi-trend.up[data-v-854c3f01] {
  color: #27d17f;
}
.kpi-trend.down[data-v-854c3f01] {
  color: #ff7a7a;
}

.map-dashboard[data-v-762b15ff] {
  position: absolute;
  inset: 0;
}
.overlay[data-v-762b15ff] {
  pointer-events: none;
  position: absolute;
  inset: 0;
}
.content-area[data-v-762b15ff] {
  position: absolute;
  top: 160px; /* 与 TitleBar 高度一致，避免重叠 */
  left: 0;
  right: 0;
  bottom: 0;
}
.columns[data-v-762b15ff] {
  height: 100%;
  display: flex;
  gap: 20px;
  padding: 20px 20px 10px;
  box-sizing: border-box;
}
.col.left[data-v-762b15ff],
.col.right[data-v-762b15ff] {
  width: 25%;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.col.right[data-v-762b15ff] >  .lr_titles {
  height: 100%;
}
.right-ops-45[data-v-762b15ff] {
  flex: 0 0 45%;
  min-height: 0;
}
.right-analysis-55[data-v-762b15ff] {
  flex: 0 0 55%;
  min-height: 0;
}
.left-kpi-20[data-v-762b15ff] {
  flex: 0 0 25%;
  min-height: 0;
}
.left-combined-40[data-v-762b15ff] {
  flex: 0 0 36%;
  min-height: 0;
}
.left-toprev-40[data-v-762b15ff] {
  flex: 0 0 40%;
  min-height: 0;
}
.col.center[data-v-762b15ff] {
  width: 50%;
  position: relative;
}

/* 待缴费面板样式 */
.pending-payments-panel[data-v-762b15ff] {
  position: absolute;
  top: 20px;
  right: 20px;
  background: rgba(16, 24, 40, 0.85);
  backdrop-filter: blur(10px);
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 16px;
  min-width: 220px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
  z-index: 110; /* 高于业务概览 */
}

/* 业务概览悬浮面板样式 */
.business-overview-panel[data-v-762b15ff] {
  position: absolute;
  top: 20px; /* 移到原"今日待缴费"位置 */
  right: 20px;
  background: rgba(16, 24, 40, 0.85);
  backdrop-filter: blur(10px);
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 16px;
  min-width: 280px;
  max-width: 350px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
  z-index: 110;
}
.business-overview-panel h4[data-v-762b15ff] {
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 12px 0;
  text-align: center;
}

/* 左上角合作场库概要面板 */
.cooperation-summary-panel[data-v-762b15ff] {
  position: absolute;
  top: 20px; /* 与 pending-payments-panel 同一参照系：center 列容器 */
  left: 1300px; /* 右移以避免与左侧边缘贴合 */
  background: rgba(16, 24, 40, 0.85);
  backdrop-filter: blur(10px);
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 16px;
  min-width: 280px;
  max-width: 320px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
  z-index: 110; /* 与待缴费一致，确保不被遮挡 */
  pointer-events: auto;
}
.cooperation-summary-panel .cooperation-row[data-v-762b15ff] {
  display: flex;
  flex-direction: column; /* 两行展示 */
  gap: 12px;
}
.cooperation-summary-panel .cooperation-section[data-v-762b15ff] {
  flex: none; /* 不拉伸，保持卡片宽度不变 */
}
.cooperation-summary-panel h4[data-v-762b15ff] {
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 12px 0;
  text-align: center;
}

/* 融合的今日待缴费在合作面板内的样式微调 */
.cooperation-summary-panel .pending-merged[data-v-762b15ff] {
  margin-bottom: 8px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  padding: 10px;
  background: rgba(16, 24, 40, 0.35);
}
.cooperation-summary-panel .pending-merged .section-title[data-v-762b15ff] {
  margin-bottom: 8px;
}
.business-overview-content[data-v-762b15ff] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.business-category[data-v-762b15ff] {
  background: rgba(0, 153, 255, 0.05);
  border: 1px solid rgba(0, 153, 255, 0.2);
  border-radius: 8px;
  padding: 10px;
}
.category-title[data-v-762b15ff] {
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 8px;
  text-align: center;
}
.category-items[data-v-762b15ff] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.business-item[data-v-762b15ff] {
  text-align: center;
  padding: 8px;
  border-radius: 6px;
  background: rgba(0, 153, 255, 0.1);
  border: 1px solid rgba(0, 153, 255, 0.2);
}
.business-value[data-v-762b15ff] {
  font-size: 16px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 2px;
}
.business-label[data-v-762b15ff] {
  font-size: 10px;
  color: #ffffff;
  line-height: 1.2;
}
.pending-payments-panel h4[data-v-762b15ff] {
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 8px 0;
  text-align: center;
}
.urgent-count[data-v-762b15ff] {
  background: rgba(255, 77, 77, 0.2);
  color: #ffffff;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 11px;
  border: 1px solid rgba(255, 77, 77, 0.3);
  text-align: center;
  margin-bottom: 12px;
}
.payments-content[data-v-762b15ff] {
  text-align: center;
}
.total-amount[data-v-762b15ff] {
  margin-bottom: 12px;
}
.amount-value[data-v-762b15ff] {
  font-size: 20px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 4px;
}
.amount-label[data-v-762b15ff] {
  font-size: 10px;
  color: #ffffff;
}
.payments-breakdown[data-v-762b15ff] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.breakdown-item[data-v-762b15ff] {
  display: flex;
  justify-content: space-between;
  padding: 6px 8px;
  background: rgba(0, 153, 255, 0.1);
  border-radius: 4px;
  border: 1px solid rgba(0, 153, 255, 0.2);
}
.breakdown-item .label[data-v-762b15ff] {
  color: #ffffff;
  font-size: 10px;
}
.breakdown-item .value[data-v-762b15ff] {
  color: #ffffff;
  font-weight: 600;
  font-size: 10px;
}

/* 实时数据面板样式 */
.realtime-data-panel[data-v-762b15ff] {
  position: absolute;
  top: 20px;
  right: 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  z-index: 100;
}
.data-section[data-v-762b15ff] {
  background: rgba(16, 24, 40, 0.85);
  backdrop-filter: blur(10px);
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 16px;
  min-width: 200px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}
.data-section h4[data-v-762b15ff] {
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 12px 0;
  text-align: center;
}
.data-toggle[data-v-762b15ff] {
  display: flex;
  gap: 4px;
  margin-bottom: 12px;
  justify-content: center;
}
.data-toggle button[data-v-762b15ff] {
  padding: 4px 8px;
  border: 1px solid rgba(0, 153, 255, 0.3);
  background: transparent;
  color: #ffffff;
  border-radius: 4px;
  font-size: 11px;
  cursor: pointer;
  transition: all 0.3s;
}
.data-toggle button.active[data-v-762b15ff] {
  background: rgba(0, 153, 255, 0.3);
  color: #ffffff;
}
.data-content[data-v-762b15ff] {
  text-align: center;
}

/* 右侧车辆运营内KPI卡片横排布局 */
.kpi-cards[data-v-762b15ff] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
/* 车辆运营左右分栏 */
.vehicle-ops-grid[data-v-762b15ff] {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 10px;
  align-items: start;
}
.ops-left[data-v-762b15ff] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.chart-card[data-v-762b15ff] {
  pointer-events: auto;
  background: rgba(16, 24, 40, 0.45);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25);
  padding: 6px 6px 10px;
  box-sizing: border-box;
}
.pie-card[data-v-762b15ff] {
  transform: none;
}
.bar-card[data-v-762b15ff] {
  padding: 8px 8px 12px;
}
.energy-pie[data-v-762b15ff] .chart-header {
  margin-bottom: -20px;
}
/* 统一所有饼图的标题-图形间距，与 energy-pie 保持一致 */
[data-v-762b15ff] .pie-chart .chart-header {
  margin-bottom: -20px;
}
.ops-left[data-v-762b15ff] .pie-chart .echart {
  height: 280px;
}
.ops-right[data-v-762b15ff] .bar-chart .echart {
  height: 380px;
}
.data-value[data-v-762b15ff] {
  font-size: 20px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 4px;
}
.data-label[data-v-762b15ff] {
  font-size: 11px;
  color: #ffffff;
  margin-bottom: 6px;
}
.data-trend[data-v-762b15ff] {
  font-size: 11px;
  color: #ffffff;
  font-weight: 600;
}
.page-title[data-v-762b15ff] {
  position: absolute;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 2px;
  color: #ffffff;
  text-shadow: 0 4px 12px rgba(0, 0, 0, 0.45);
  line-height: 1;
  z-index: 200;
}
.panel[data-v-762b15ff] {
  pointer-events: auto;
  position: absolute;
  padding: 12px;
  border-radius: 12px;
  background: rgba(16, 24, 40, 0.45);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25);
}
.panel.tl[data-v-762b15ff] {
  top: 12px;
  left: 12px;
}
.panel.tr[data-v-762b15ff] {
  top: 12px;
  right: 12px;
}
.panel.bl[data-v-762b15ff] {
  bottom: 12px;
  left: 12px;
}
.panel.br[data-v-762b15ff] {
  bottom: 12px;
  right: 12px;
}
.row[data-v-762b15ff] {
  display: flex;
  gap: 12px;
}
/* 调整紧凑行内图表高度 */
.row.compact[data-v-762b15ff] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  column-gap: 10px;
  row-gap: 10px;
  align-items: stretch;
}
.row.compact[data-v-762b15ff] .pie-chart .echart {
  height: 260px;
}
.row.compact .chart-card[data-v-762b15ff] {
  width: 100%;
}
/* 车辆运营左列饼图：取消全局标题负间距，避免卡片视觉交叠 */
.vehicle-ops-grid .ops-left .row.compact[data-v-762b15ff] .pie-chart .chart-header {
  margin-bottom: 6px;
}
/* 时长分布区块：两张饼图各占25%宽度，整体撑满高度 */
.duration-section[data-v-762b15ff] .item_title_content {
  display: flex;
  flex-direction: column;
}
.pies-full[data-v-762b15ff] {
  align-items: stretch;
}
.pies-full .pie-wrap[data-v-762b15ff] {
  width: 25%;
  flex: 0 0 25%;
  display: flex;
  flex-direction: column;
  align-items: center; /* 在25%容器内水平居中 */
  justify-content: center; /* 在容器内垂直居中 */
}
.pies-full .pie-wrap[data-v-762b15ff] .pie-chart {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 0 auto; /* 居中占满容器 */
}
.pies-full .pie-wrap[data-v-762b15ff] .echart {
  height: 100%;
}
/* 参考详情页：放大车场运营区块内饼图绘图区高度 */
.duration-section[data-v-762b15ff] .pie-chart .echart {
  min-height: 300px;
}
/* 车辆占比分析区块内：标题紧贴位于饼图正上方 */
.duration-section[data-v-762b15ff] .pie-chart .chart-header {
  margin-bottom: 0px;
  text-align: center;
  display: flex;
  justify-content: center;
}

/* 左侧列车辆占比分析特殊样式调整 - 保持与右侧一致的效果 */
.col.left .duration-section .pies-full[data-v-762b15ff] {
  height: calc(100% - 40px); /* 减去标题高度 */
  padding: 8px 0;
  display: flex;
  align-items: stretch;
}
.col.left .duration-section .pies-full .pie-wrap[data-v-762b15ff] {
  width: 25%;
  flex: 0 0 25%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.col.left .duration-section .pies-full .pie-wrap[data-v-762b15ff] .pie-chart {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 0 auto;
}
.col.left .duration-section .pies-full .pie-wrap[data-v-762b15ff] .echart {
  height: 100%;
  min-height: 300px; /* 与右侧保持一致的最小高度 */
}

/* 调整左侧饼图的标题和图例样式，与右侧保持一致 */
.col.left .duration-section[data-v-762b15ff] .pie-chart .chart-header {
  margin-bottom: 0px;
  text-align: center;
  display: flex;
  justify-content: center;
  font-size: 14px;
  color: #ffffff;
  font-weight: 600;
}

/* 确保左侧饼图的图例和样式与右侧完全一致 */
.col.left .duration-section .pies-full .pie-wrap[data-v-762b15ff] .pie-chart .legend {
  font-size: 21px;
  color: #ffffff;
}
.col.left
  .duration-section
  .pies-full
  .pie-wrap[data-v-762b15ff]
  .pie-chart .legend-item {
  margin-right: 8px;
  margin-bottom: 8px;
}
.col.left
  .duration-section
  .pies-full
  .pie-wrap[data-v-762b15ff]
  .pie-chart .legend-item-marker {
  width: 10px;
  height: 10px;
}
.analysis-cards[data-v-762b15ff] {
  margin-top: 8px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
/* 合作场库数据样式 */
.cooperation-data[data-v-762b15ff] {
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.cooperation-row[data-v-762b15ff] {
  display: flex;
  gap: 12px;
}
.cooperation-section[data-v-762b15ff] {
  flex: 1;
  background: rgba(0, 153, 255, 0.05);
  border: 1px solid rgba(0, 153, 255, 0.2);
  border-radius: 8px;
  padding: 12px;
}
.charts-row[data-v-762b15ff] {
  display: flex;
  gap: 12px;
}
.chart-section[data-v-762b15ff] {
  flex: 1;
  background: rgba(0, 153, 255, 0.05);
  border: 1px solid rgba(0, 153, 255, 0.2);
  border-radius: 8px;
  padding: 12px;
}
.chart-container[data-v-762b15ff] {
  height: 200px;
  margin-top: 8px;
}
.section-title[data-v-762b15ff] {
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 12px;
  text-align: center;
  border-bottom: 1px solid rgba(0, 153, 255, 0.3);
  padding-bottom: 8px;
}
.data-grid[data-v-762b15ff] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.data-item[data-v-762b15ff] {
  text-align: center;
  padding: 10px;
  border-radius: 6px;
  background: rgba(0, 153, 255, 0.1);
  border: 1px solid rgba(0, 153, 255, 0.2);
}
.data-value[data-v-762b15ff] {
  font-size: 18px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 4px;
}
.data-label[data-v-762b15ff] {
  font-size: 10px;
  color: #ffffff;
  line-height: 1.2;
}

/* 用户增长区域样式 */
.user-growth-section[data-v-762b15ff] {
  background: rgba(0, 153, 255, 0.05);
  border: 1px solid rgba(0, 153, 255, 0.2);
  border-radius: 8px;
  padding: 12px;
  margin-top: 8px;
}
.user-growth-content[data-v-762b15ff] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.total-users[data-v-762b15ff] {
  text-align: center;
  padding: 10px;
  border-radius: 6px;
  background: rgba(0, 153, 255, 0.1);
  border: 1px solid rgba(0, 153, 255, 0.2);
}
.users-value[data-v-762b15ff] {
  font-size: 20px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 4px;
}
.users-label[data-v-762b15ff] {
  font-size: 12px;
  color: #ffffff;
}
.growth-breakdown[data-v-762b15ff] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.breakdown-item[data-v-762b15ff] {
  display: flex;
  justify-content: space-between;
  padding: 6px 8px;
  background: rgba(0, 153, 255, 0.1);
  border-radius: 4px;
  border: 1px solid rgba(0, 153, 255, 0.2);
}
.breakdown-item .label[data-v-762b15ff] {
  color: #ffffff;
  font-size: 10px;
}
.breakdown-item .value[data-v-762b15ff] {
  color: #ffffff;
  font-weight: 600;
  font-size: 10px;
}

/* 取消五环布局，使用分散式栅格（占位注释） */

/* 底部模式切换导航样式（位于中心地图底部） */
.bottom-nav[data-v-762b15ff] {
  position: absolute;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  display: flex;
  gap: 12px;
  background: rgba(16, 24, 40, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  padding: 8px;
  border-radius: 999px;
  z-index: 200;
  pointer-events: auto; /* 允许交互 */
}
.bottom-nav button[data-v-762b15ff] {
  padding: 8px 16px;
  font-size: 14px;
  color: #ffffff;
  background: transparent;
  border: 1px solid rgba(0, 153, 255, 0.35);
  border-radius: 999px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.bottom-nav button[data-v-762b15ff]:hover {
  color: #ffffff;
  border-color: rgba(0, 153, 255, 0.6);
}
.bottom-nav button.active[data-v-762b15ff] {
  color: #ffffff;
  background: rgba(0, 153, 255, 0.5);
  border-color: rgba(0, 153, 255, 0.5);
}

/* 综合总览核心指标样式（对标停车页面） */
.overview-kpi[data-v-762b15ff] {
  padding: 10px 10px 4px;
}
.overview-kpi .kpi-section[data-v-762b15ff] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.overview-kpi .section-title[data-v-762b15ff] {
  color: #00eaff;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  border-bottom: 1px solid rgba(0, 153, 255, 0.3);
  padding-bottom: 8px;
}
.overview-kpi .kpi-grid[data-v-762b15ff] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 16px;
  row-gap: 10px;
}
.overview-kpi .kpi-item[data-v-762b15ff] {
  text-align: center;
  padding: 12px;
  border-radius: 8px;
  background: rgba(0, 153, 255, 0.1);
  border: 1px solid rgba(0, 153, 255, 0.3);
}
.overview-kpi .kpi-value[data-v-762b15ff] {
  font-size: 24px;
  font-weight: 700;
  color: #00eaff;
  margin-bottom: 4px;
}
.overview-kpi .kpi-label[data-v-762b15ff] {
  font-size: 12px;
  color: #a8c5ff;
}

/* 充电和光伏核心指标样式（对标停车页面） */
.charging-kpi[data-v-762b15ff],
.solar-kpi[data-v-762b15ff] {
  padding: 10px 10px 4px;
}
.charging-kpi .kpi-section[data-v-762b15ff],
.solar-kpi .kpi-section[data-v-762b15ff] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.charging-kpi .section-title[data-v-762b15ff],
.solar-kpi .section-title[data-v-762b15ff] {
  color: #00eaff;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  border-bottom: 1px solid rgba(0, 153, 255, 0.3);
  padding-bottom: 8px;
}
.charging-kpi .kpi-grid[data-v-762b15ff],
.solar-kpi .kpi-grid[data-v-762b15ff] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 16px;
  row-gap: 10px;
}
.charging-kpi .kpi-item[data-v-762b15ff],
.solar-kpi .kpi-item[data-v-762b15ff] {
  text-align: center;
  padding: 12px;
  border-radius: 8px;
  background: rgba(0, 153, 255, 0.1);
  border: 1px solid rgba(0, 153, 255, 0.3);
}
.charging-kpi .kpi-value[data-v-762b15ff],
.solar-kpi .kpi-value[data-v-762b15ff] {
  font-size: 24px;
  font-weight: 700;
  color: #00eaff;
  margin-bottom: 4px;
}
.charging-kpi .kpi-label[data-v-762b15ff],
.solar-kpi .kpi-label[data-v-762b15ff] {
  font-size: 12px;
  color: #a8c5ff;
}

.user-growth[data-v-4d826f9b] {
  padding: 16px;
}
.growth-header[data-v-4d826f9b] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.growth-header h4[data-v-4d826f9b] {
  color: #e6f0ff;
  font-size: 16px;
  margin: 0;
}
.growth-trend[data-v-4d826f9b] {
  background: rgba(39, 209, 127, 0.2);
  color: #27d17f;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  border: 1px solid rgba(39, 209, 127, 0.3);
}
.growth-content[data-v-4d826f9b] {
  text-align: center;
}
.total-users[data-v-4d826f9b] {
  margin-bottom: 16px;
}
.users-value[data-v-4d826f9b] {
  font-size: 24px;
  font-weight: 700;
  color: #27d17f;
  margin-bottom: 4px;
}
.users-label[data-v-4d826f9b] {
  font-size: 12px;
  color: #a8c5ff;
}
.growth-breakdown[data-v-4d826f9b] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.breakdown-item[data-v-4d826f9b] {
  display: flex;
  justify-content: space-between;
  padding: 8px 12px;
  background: rgba(0, 153, 255, 0.1);
  border-radius: 6px;
  border: 1px solid rgba(0, 153, 255, 0.2);
}
.breakdown-item .label[data-v-4d826f9b] {
  color: #a8c5ff;
  font-size: 12px;
}
.breakdown-item .value[data-v-4d826f9b] {
  color: #00eaff;
  font-weight: 600;
  font-size: 12px;
}

.daily-revenue[data-v-3b937ba7] {
  padding: 16px;
}
.revenue-header[data-v-3b937ba7] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.revenue-header h4[data-v-3b937ba7] {
  color: #e6f0ff;
  font-size: 16px;
  margin: 0;
}
.revenue-trend[data-v-3b937ba7] {
  background: rgba(39, 209, 127, 0.2);
  color: #27d17f;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  border: 1px solid rgba(39, 209, 127, 0.3);
}
.revenue-content[data-v-3b937ba7] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.revenue-grid[data-v-3b937ba7],
.transaction-grid[data-v-3b937ba7] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.revenue-item[data-v-3b937ba7],
.transaction-item[data-v-3b937ba7] {
  text-align: center;
  padding: 12px;
  border-radius: 8px;
  background: rgba(0, 153, 255, 0.1);
  border: 1px solid rgba(0, 153, 255, 0.2);
}
.revenue-value[data-v-3b937ba7],
.transaction-value[data-v-3b937ba7] {
  font-size: 18px;
  font-weight: 700;
  color: #00eaff;
  margin-bottom: 4px;
}
.revenue-label[data-v-3b937ba7],
.transaction-label[data-v-3b937ba7] {
  font-size: 11px;
  color: #a8c5ff;
}

.business-overview[data-v-fa38fcdf] {
  padding: 16px;
}
.overview-header[data-v-fa38fcdf] {
  margin-bottom: 16px;
}
.overview-header h4[data-v-fa38fcdf] {
  color: #e6f0ff;
  font-size: 16px;
  margin: 0;
}
.overview-content[data-v-fa38fcdf] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.business-section[data-v-fa38fcdf] {
  border-radius: 8px;
  background: rgba(0, 153, 255, 0.05);
  border: 1px solid rgba(0, 153, 255, 0.2);
  padding: 12px;
}
.section-title[data-v-fa38fcdf] {
  color: #00eaff;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 12px;
  text-align: center;
}
.business-grid[data-v-fa38fcdf] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.business-item[data-v-fa38fcdf] {
  text-align: center;
  padding: 8px;
  border-radius: 6px;
  background: rgba(0, 153, 255, 0.1);
  border: 1px solid rgba(0, 153, 255, 0.2);
}
.business-value[data-v-fa38fcdf] {
  font-size: 16px;
  font-weight: 700;
  color: #00eaff;
  margin-bottom: 2px;
}
.business-label[data-v-fa38fcdf] {
  font-size: 10px;
  color: #a8c5ff;
  line-height: 1.2;
}

.parking-detail-page[data-v-747407db] {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #0f1419 0%, #1a1f2e 50%, #0f1419 100%);
  overflow: hidden;
}
.content-area[data-v-747407db] {
  position: absolute;
  top: 160px; /* 与 TitleBar 高度一致，避免重叠 */
  left: 0;
  right: 0;
  bottom: 0;
}
.columns[data-v-747407db] {
  height: 100%;
  display: flex;
  gap: 20px;
  padding: 20px 20px 10px;
  box-sizing: border-box;
}

/* 综合指标内的小标题与区块样式（参考综合总览风格做简化） */
.section-block[data-v-747407db] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}
.sub-title[data-v-747407db] {
  position: relative;
  padding-left: 10px;
  font-size: 14px;
  font-weight: 600;
  color: #a8c5ff;
}
.sub-title[data-v-747407db]::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 14px;
  border-radius: 2px;
  background: linear-gradient(180deg, #00eaff 0%, #0099ff 100%);
  box-shadow: 0 0 8px rgba(0, 234, 255, 0.5);
}

/* 复刻综合总览面板风格到详情页 */
.detail-panel[data-v-747407db] {
  position: relative;
  padding: 16px;
  background: radial-gradient(
      circle at 20% 15%,
      rgba(34, 115, 200, 0.18),
      transparent 40%
    ),
    radial-gradient(
      circle at 80% 85%,
      rgba(34, 115, 200, 0.14),
      transparent 45%
    ),
    linear-gradient(180deg, rgba(6, 51, 101, 0.95), rgba(6, 38, 80, 0.95));
  border: 1px solid rgba(0, 170, 255, 0.4);
  box-shadow: inset 0 0 0 1px rgba(0, 170, 255, 0.18),
    0 6px 18px rgba(0, 0, 0, 0.45);
  margin-bottom: 12px;
}
.detail-panel.glow[data-v-747407db] {
  background: radial-gradient(
      circle at 20% 15%,
      rgba(34, 115, 200, 0.2),
      transparent 40%
    ),
    radial-gradient(
      circle at 80% 85%,
      rgba(34, 115, 200, 0.16),
      transparent 45%
    ),
    linear-gradient(180deg, rgba(6, 51, 101, 0.98), rgba(6, 38, 80, 0.98));
}
.detail-panel[data-v-747407db]::before {
  content: "";
  position: absolute;
  inset: 6px;
  border: 1px solid rgba(117, 208, 255, 0.25);
  pointer-events: none;
}
.detail-panel-header[data-v-747407db] {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 12px;
  padding: 8px 18px 8px 14px;
  background: linear-gradient(
    135deg,
    rgba(100, 255, 218, 0.15),
    rgba(0, 188, 212, 0.08)
  );
  border: 1px solid rgba(100, 255, 218, 0.4);
  border-left: 3px solid rgba(100, 255, 218, 0.6);
  transform: skew(-8deg);
  position: relative;
  overflow: hidden;
}
.detail-panel-header[data-v-747407db] > * {
  transform: skew(8deg);
  position: relative;
  z-index: 1;
}
.detail-panel-header[data-v-747407db]::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(100, 255, 218, 0.2),
    transparent
  );
  animation: detail-shimmer-747407db 3s infinite;
  transform: skew(8deg);
}
@keyframes detail-shimmer-747407db {
0% {
    left: -100%;
}
100% {
    left: 100%;
}
}
.header-icon[data-v-747407db] {
  font-size: 20px;
  filter: drop-shadow(0 0 10px rgba(100, 255, 218, 0.7));
  background: linear-gradient(135deg, #64ffda, #00bcd4);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* KPI 卡片三列网格（复刻） */
.detail-kpi-grid[data-v-747407db] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.detail-kpi-card[data-v-747407db] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  background: linear-gradient(
    135deg,
    rgba(17, 41, 64, 0.8),
    rgba(10, 25, 47, 0.9)
  );
  border-radius: 12px;
  border: 1px solid rgba(100, 255, 218, 0.2);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(100, 255, 218, 0.1);
}
.kpi-icon[data-v-747407db] {
  font-size: 24px;
  filter: drop-shadow(0 0 8px rgba(100, 255, 218, 0.6));
}
.kpi-content[data-v-747407db] {
  flex: 1;
}
.kpi-title[data-v-747407db] {
  color: #a8d8ff;
  font-size: 12px;
  margin-bottom: 4px;
  opacity: 0.9;
}
.kpi-value[data-v-747407db] {
  color: #fff;
  font-size: 28px;
  font-weight: 800;
  text-shadow: 0 0 12px rgba(100, 255, 218, 0.6);
}
.kpi-unit[data-v-747407db] {
  color: #64ffda;
  font-size: 10px;
  opacity: 0.9;
  margin-left: 2px;
}

/* 今日营收复刻布局（左图右明细） */
.detail-revenue-body[data-v-747407db] {
  display: grid;
  grid-template-columns: 2fr 1.2fr;
  gap: 12px;
}
.rev-chart-holder[data-v-747407db] {
  height: 220px;
  background: rgba(17, 41, 64, 0.6);
  border-radius: 8px;
  border: 1px solid rgba(100, 255, 218, 0.2);
  padding: 8px;
}
.rev-today[data-v-747407db] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.rev-row[data-v-747407db] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  background: rgba(17, 41, 64, 0.6);
  border: 1px solid rgba(100, 255, 218, 0.2);
  border-radius: 8px;
}
.rev-label[data-v-747407db] {
  color: #a8d8ff;
  font-size: 12px;
}
.rev-value[data-v-747407db] {
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  text-shadow: 0 0 10px rgba(100, 255, 218, 0.6);
}

/* 今日营收明细（摘要）- 24小时折线图高度 */
.revenue-brief-chart[data-v-747407db] .echart {
  height: 100%;
}

/* 今日营收明细（摘要）- 左右50%布局 */
.revenue-brief-split[data-v-747407db] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  align-items: stretch;
  min-height: 300px;
}
.revenue-brief-left[data-v-747407db],
.revenue-brief-right[data-v-747407db] {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.revenue-brief-pie[data-v-747407db] .echart {
  height: 100%;
}
.revenue-brief-chart[data-v-747407db],
.revenue-brief-pie[data-v-747407db] {
  width: 100%;
  height: 100%;
}
.revenue-brief-chart[data-v-747407db] .echart {
  height: 100%;
}

/* 趋势分栏样式 */
.trend-split[data-v-747407db] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.trend-card[data-v-747407db] {
  background: rgba(17, 41, 64, 0.6);
  border: 1px solid rgba(100, 255, 218, 0.2);
  border-radius: 8px;
  padding: 10px;
}
.trend-title[data-v-747407db] {
  color: #bfe4ff;
  font-size: 14px;
  margin-bottom: 8px;
}

/* 本场构成占比 - 顶部两张饼图左右布局 */
.pie-two-col[data-v-747407db] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.pie-two-col[data-v-747407db] .echart {
  height: 220px;
}

/* 本场构成占比 - 左中右三等分布局 */
.pie-three-col[data-v-747407db] {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
}
.pie-three-col[data-v-747407db] .echart {
  height: 100%;
}
.pie-holder[data-v-747407db] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.pie-holder[data-v-747407db] >  .pie-chart {
  width: 100%;
  padding: 8px; /* 覆盖默认16px留白，挤出更多绘图空间 */
}
.pie-holder[data-v-747407db] >  .pie-chart .echart {
  width: 100%;
  height: 320px;
}
.col.left[data-v-747407db],
.col.right[data-v-747407db] {
  width: 25%;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.col.center[data-v-747407db] {
  width: 50%;
}
.dynamic-content-area[data-v-747407db] {
  width: 100%;
  height: 100%; /* 填满中间列的全部高度 */
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(16, 24, 40, 0.15);
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  position: relative;
  overflow: hidden;
}

/* 停车场动态图样式 */
.parking-video[data-v-747407db] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  transition: all 0.3s ease;
}
.parking-video[data-v-747407db]:hover {
  transform: scale(1.02);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
}

/* 视频备用内容样式 */
.video-fallback[data-v-747407db] {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: radial-gradient(
      circle at 20% 80%,
      rgba(120, 119, 198, 0.1) 0%,
      transparent 50%
    ),
    radial-gradient(
      circle at 80% 20%,
      rgba(255, 119, 198, 0.1) 0%,
      transparent 50%
    ),
    radial-gradient(
      circle at 40% 40%,
      rgba(120, 219, 255, 0.05) 0%,
      transparent 50%
    );
  border-radius: 16px;
}
.fallback-icon[data-v-747407db] {
  font-size: 48px;
  margin-bottom: 16px;
  opacity: 0.8;
}
.fallback-text[data-v-747407db] {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 8px;
  color: #e6f0ff;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.fallback-subtitle[data-v-747407db] {
  font-size: 14px;
  color: #a0aec0;
  opacity: 0.8;
}
.back-button[data-v-747407db] {
  position: fixed;
  top: 20px;
  left: 20px;
  z-index: 1000;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background: rgba(16, 24, 40, 0.75);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  color: #e6f0ff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
.back-button[data-v-747407db]:hover {
  background: rgba(16, 24, 40, 0.9);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}
.back-icon[data-v-747407db] {
  font-size: 18px;
  font-weight: bold;
}
.back-text[data-v-747407db] {
  font-size: 14px;
  font-weight: 500;
}

/* 响应式设计 */
@media (max-width: 768px) {
.columns[data-v-747407db] {
    flex-direction: column;
    gap: 12px;
}
.col.left[data-v-747407db],
  .col.right[data-v-747407db],
  .col.center[data-v-747407db] {
    width: 100%;
}
.col.left[data-v-747407db],
  .col.right[data-v-747407db] {
    flex-direction: row;
    overflow-x: auto;
}
.col.left[data-v-747407db] > *,
  .col.right[data-v-747407db] > * {
    min-width: 200px;
}
}

.screen-wrapper[data-v-f81a9d0d] {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 500ms;
  position: relative;
  overflow: hidden;
  z-index: 100;
  transform-origin: left top;
}
