/* Shared module: maps — auto-split from the old single styles.css, 160 rule block(s). Do not duplicate class names across files. */

.map{height:470px;border-radius:12px;overflow:hidden;z-index:1}

.mini-map{height:280px}

.map-engine-v24{
  position:relative;
  min-height:280px;
  overflow:hidden;
  border:1px solid #c8d9e6;
  border-radius:14px;
  background:#d9e5ed;
  isolation:isolate;
}

.map-engine-v24 .map-v24-viewport{
  position:absolute;
  inset:0 0 30px 0;
  overflow:hidden;
  background:#d9e5ed;
  cursor:grab;
  touch-action:none;
  user-select:none;
}

.map-engine-v24 .map-v24-viewport:active{cursor:grabbing}

.map-engine-v24 .map-v24-tiles,
.map-engine-v24 .map-v24-markers{
  position:absolute;
  inset:0;
}

.map-engine-v24 .map-v24-tiles{z-index:1}

.map-engine-v24 .map-v24-markers{z-index:3;pointer-events:none}

.map-engine-v24 .map-v24-tile{
  position:absolute;
  width:256px;
  height:256px;
  object-fit:cover;
  background:#dce7ee;
  border:0;
  pointer-events:none;
}

.map-engine-v24 .map-v24-tile.map-v24-tile-failed{
  background:linear-gradient(135deg,#dce7ee,#eef4f7);
}

.map-engine-v24 .map-v24-toolbar{
  position:absolute;
  top:10px;
  right:10px;
  left:10px;
  z-index:20;
  display:flex;
  justify-content:space-between;
  gap:8px;
  pointer-events:none;
}

.map-engine-v24 .map-v24-group{
  display:flex;
  gap:5px;
  padding:4px;
  border:1px solid #c8d9e6;
  border-radius:10px;
  background:rgba(255,255,255,.95);
  box-shadow:0 5px 18px rgba(14,48,68,.18);
  pointer-events:auto;
}

.map-engine-v24 .map-v24-toolbar button,
.map-engine-v24 .map-v24-toolbar select{
  height:34px;
  min-width:34px;
  border:1px solid #c8d9e6;
  border-radius:8px;
  background:#fff;
  color:#15384c;
  font-weight:600;
  cursor:pointer;
}

.map-engine-v24 .map-v24-toolbar button{padding:0 9px;font-size:16px}

.map-engine-v24 .map-v24-toolbar select{min-width:112px;padding:0 8px;font-size:11px}

.map-engine-v24 .map-v24-status{
  position:absolute;
  right:0;left:0;bottom:0;
  z-index:12;
  height:30px;
  padding:0 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  background:rgba(9,48,69,.94);
  color:#e6f4fb;
  font-size:9px;
}

.map-engine-v24 .map-v24-marker{
  position:absolute;
  transform:translate(-50%,-100%);
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  pointer-events:auto;
  text-align:right;
}

.map-engine-v24 .map-v24-pin{
  position:relative;
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#178c5c;
  color:#fff;
  border:2px solid #fff;
  box-shadow:0 6px 16px rgba(0,0,0,.24);
  font-size:14px;
}

.map-engine-v24 .map-v24-marker.warn .map-v24-pin{background:#d28a14}

.map-engine-v24 .map-v24-marker.danger .map-v24-pin{background:#c53a42}

.map-engine-v24 .map-v24-pin:after{
  content:"";
  position:absolute;
  bottom:-5px;
  right:50%;
  width:9px;
  height:9px;
  background:inherit;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:translateX(50%) rotate(45deg);
}

.map-engine-v24 .map-v24-code{
  position:absolute;
  top:-10px;
  right:-13px;
  padding:2px 7px;
  border-radius:99px;
  background:#0b2840;
  color:#fff;
  font-size:9px;
  font-weight:600;
  white-space:nowrap;
  box-shadow:0 3px 10px rgba(0,0,0,.16);
}

.map-engine-v24 .map-v24-popup{
  display:block;
  min-width:120px;
  max-width:180px;
  margin-top:9px;
  padding:6px 8px;
  border:1px solid #d6e4ec;
  border-radius:9px;
  background:rgba(255,255,255,.95);
  color:#163449;
  box-shadow:0 8px 20px rgba(9,47,69,.16);
  line-height:1.35;
}

.map-engine-v24 .map-v24-popup b{display:block;font-size:10.5px}

.map-engine-v24 .map-v24-popup small{display:block;font-size:9px;color:#607988}

.map-engine-v24 .map-v24-empty{
  position:absolute;
  inset:0;
  z-index:4;
  display:grid;
  place-items:center;
  color:#5f7380;
  font-weight:600;
}

.map-engine-v24:fullscreen{
  width:100vw;
  height:100vh;
  border-radius:0;
}

.map-engine-v24:fullscreen .map-v24-viewport{bottom:34px}

.map-engine-v24:fullscreen .map-v24-status{height:34px}

body.theme-dark .map-engine-v24{border-color:#31586d;background:#173343}

body.theme-dark .map-engine-v24 .map-v24-group{
  background:rgba(8,39,57,.96);
  border-color:#31586d
}

body.theme-dark .map-engine-v24 .map-v24-toolbar button,
body.theme-dark .map-engine-v24 .map-v24-toolbar select{
  background:#0d3046;
  border-color:#31586d;
  color:#e8f5fb
}

body.theme-dark .map-engine-v24 .map-v24-popup{
  background:rgba(8,39,57,.96);
  border-color:#31586d;
  color:#fff
}

body.theme-dark .map-engine-v24 .map-v24-popup small{color:#a9c4d2}

@media (max-width:700px){
.map-engine-v24 .map-v24-popup{display:none}
}

@media (max-width:700px){
.map-engine-v24 .map-v24-toolbar select{min-width:90px}
}

@media (max-width:700px){
.map-engine-v24 .map-v24-status span:first-child{display:none}
}

.map-v24-pick-hint{position:absolute;z-index:8;left:50%;bottom:12px;transform:translateX(-50%);background:rgba(11,40,64,.92);color:#fff;border-radius:99px;padding:7px 12px;font-size:10px;font-weight:600;pointer-events:none;white-space:nowrap;box-shadow:0 5px 14px rgba(0,0,0,.18)}

@media (max-width:700px){
.map-v24-pick-hint{max-width:90%;white-space:normal;text-align:center}
}

.map-engine-v24 .map-v24-markers{
  pointer-events:none;
}

.map-engine-v24 .map-v24-marker{
  pointer-events:auto!important;
  touch-action:manipulation;
  position:absolute;
  z-index:2;
}

.map-engine-v24 .map-v24-marker:focus-visible{
  outline:3px solid #25b9eb;
  outline-offset:4px;
  border-radius:12px;
}

.map-engine-v24 .map-v24-marker:hover .map-v24-pin,
.map-engine-v24 .map-v24-marker:focus-visible .map-v24-pin{
  transform:scale(1.08);
}

.map-engine-v24 .map-v24-pin{transition:transform .12s ease}

.map-engine-v24:fullscreen{z-index:2147483647}

.map-engine-v24:fullscreen #modalRoot.fullscreen-map-modal-root{
  position:absolute;
  inset:0;
  z-index:2147483647;
  pointer-events:none;
}

.map-engine-v24:fullscreen #modalRoot.fullscreen-map-modal-root .modal-backdrop{
  position:absolute;
  inset:0;
  top:0!important;
  z-index:1;
  pointer-events:auto;
  padding:20px;
  background:rgba(2,22,35,.58);
  display:grid;
  place-items:center;
}

.map-engine-v24:fullscreen #modalRoot.fullscreen-map-modal-root .modal{
  max-height:calc(100% - 40px);
  width:min(860px,94%);
}

.map-engine-v24:fullscreen #modalRoot.fullscreen-map-modal-root .modal-body{
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:#4aa8cc rgba(8,40,59,.14);
}

.map-engine-v24:fullscreen #modalRoot.fullscreen-map-modal-root .modal-body::-webkit-scrollbar{
  width:7px;
  display:block;
}

.map-engine-v24:fullscreen #modalRoot.fullscreen-map-modal-root .modal-body::-webkit-scrollbar-thumb{
  background:#4aa8cc;
  border-radius:10px;
}

.map-engine-v24:fullscreen #modalRoot.fullscreen-map-modal-root .modal-body::-webkit-scrollbar-track{
  background:rgba(8,40,59,.10);
  border-radius:10px;
}

@media (max-width:700px){
.map-engine-v24:fullscreen #modalRoot.fullscreen-map-modal-root .modal-backdrop{padding:8px}
}

@media (max-width:700px){
.map-engine-v24:fullscreen #modalRoot.fullscreen-map-modal-root .modal{width:100%;max-height:calc(100% - 16px)}
}

.map-engine-v24 .map-v24-toolbar button{
  background:
    linear-gradient(180deg,#ffffff 0%,#e7f7ff 52%,#bfe7f8 100%)!important;
  border:1px solid #80c8e3!important;
  color:#073d5a!important;
  box-shadow:
    inset 0 1px 0 #fff,
    inset 0 -3px 5px rgba(15,105,145,.14),
    0 3px 0 rgba(33,105,135,.18),
    0 5px 10px rgba(4,40,60,.18)!important;
  text-shadow:0 1px 0 #fff;
  font-weight:600;
}

.map-engine-v24 .map-v24-toolbar button:hover{
  filter:saturate(1.45) brightness(1.06);
  transform:translateY(-1px);
}

.map-engine-v24 .map-v24-pin{
  background:linear-gradient(145deg,#5df1a8,#098d58)!important;
  border:2px solid #fff!important;
  color:#fff!important;
  filter:saturate(1.55) brightness(1.06);
  text-shadow:0 1px 2px rgba(0,0,0,.55)!important;
  box-shadow:
    inset 0 2px 2px rgba(255,255,255,.45),
    inset 0 -5px 7px rgba(0,0,0,.18),
    0 5px 0 rgba(0,66,43,.28),
    0 9px 16px rgba(0,0,0,.30)!important;
}

.map-engine-v24 .map-v24-marker.warn .map-v24-pin{
  background:linear-gradient(145deg,#ffe56a,#e18905)!important;
  box-shadow:inset 0 2px 2px rgba(255,255,255,.5),inset 0 -5px 7px rgba(122,72,0,.20),0 5px 0 rgba(121,70,0,.28),0 9px 16px rgba(0,0,0,.28)!important;
}

.map-engine-v24 .map-v24-marker.danger .map-v24-pin{
  background:linear-gradient(145deg,#ff7580,#c51e34)!important;
  box-shadow:inset 0 2px 2px rgba(255,255,255,.48),inset 0 -5px 7px rgba(111,0,12,.22),0 5px 0 rgba(103,0,13,.30),0 9px 16px rgba(0,0,0,.30),0 0 15px rgba(255,58,73,.24)!important;
}

.map-engine-v24 .map-v24-toolbar button{
  background:rgba(7,39,58,.82)!important;
  border:1px solid rgba(120,197,226,.55)!important;
  color:#fff!important;
  box-shadow:none!important;
  text-shadow:0 1px 2px rgba(0,0,0,.65)!important;
}

.map-engine-v24 .map-v24-toolbar button:hover{background:rgba(11,70,98,.92)!important;filter:brightness(1.12) saturate(1.3);box-shadow:none!important}

.map-engine-v24 .map-v24-pin{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:saturate(1.65) brightness(1.10) drop-shadow(0 5px 4px rgba(0,0,0,.42)) drop-shadow(0 0 5px rgba(45,221,154,.26))!important;
  color:#24d98a!important;
  text-shadow:0 1px 2px rgba(0,0,0,.72)!important;
}

.map-engine-v24 .map-v24-marker.warn .map-v24-pin{background:transparent!important;color:#f5b224!important;filter:saturate(1.75) brightness(1.14) drop-shadow(0 5px 4px rgba(0,0,0,.42)) drop-shadow(0 0 6px rgba(245,178,36,.30))!important}

.map-engine-v24 .map-v24-marker.danger .map-v24-pin{background:transparent!important;color:#ff4f61!important;filter:saturate(1.8) brightness(1.15) drop-shadow(0 5px 4px rgba(0,0,0,.44)) drop-shadow(0 0 7px rgba(255,79,97,.34))!important}

.map-engine-v24 .map-v24-pin::after{display:none!important;content:none!important}

.map-engine-v24 .map-v24-routes{position:absolute;inset:0;z-index:2;pointer-events:none}

body.theme-dark .map-v24-route-line{stroke:#34c7f1}

body.theme-dark .map-v24-route-label{background:#0b4c69}

.map-v24-draw-hint{position:absolute;top:58px;left:50%;transform:translateX(-50%);z-index:30;background:rgba(7,48,70,.92);color:#fff;border:1px solid rgba(90,203,240,.55);border-radius:999px;padding:7px 13px;font-size:10px;font-weight:600;pointer-events:none;box-shadow:0 5px 15px rgba(0,30,50,.28)}

.map-v24-route-point.end{fill:#e13d4b}

.map-v24-route-point:not(.start):not(.end){fill:#ffb31f}

.map-v24-route-point.start:hover,.map-v24-route-point.start:focus{filter:drop-shadow(0 0 7px rgba(21,169,106,.9)) drop-shadow(0 4px 4px rgba(0,0,0,.38))}

.map-v24-route-point.end:hover,.map-v24-route-point.end:focus{filter:drop-shadow(0 0 7px rgba(225,61,75,.9)) drop-shadow(0 4px 4px rgba(0,0,0,.38))}

.route-builder .map-v24-marker:hover .map-v24-pin{transform:scale(1.12)}

.map-engine-v24.route-edit-active .map-v24-viewport{cursor:default!important}

.map-engine-v24.route-edit-active .map-v24-route-point{
  cursor:grab!important;
  stroke:#fff!important;
  stroke-width:4!important;
  filter:drop-shadow(0 0 7px rgba(255,183,27,.65))
}

.map-engine-v24.route-edit-active .map-v24-route-point:active{cursor:grabbing!important}

.map-engine-v24.route-edit-active .map-v24-marker{
  outline:2px dashed rgba(48,205,245,.72);
  outline-offset:4px;
  border-radius:12px;
  cursor:grab!important
}

.map-engine-v24.route-edit-active .map-v24-marker:active{cursor:grabbing!important}

.map-engine-v24 .map-v24-routes{pointer-events:none!important}

.map-engine-v24 .map-v24-route-svg{pointer-events:none!important}

.map-engine-v24 .map-v24-route-point,
.map-engine-v24 .map-v24-route-point.editable,
.map-engine-v24 .map-v24-route-label{pointer-events:all!important}

.map-engine-v24.route-edit-active .map-v24-route-point{cursor:grab!important}

.map-engine-v24.route-edit-active .map-v24-route-point:active{cursor:grabbing!important}

.map-v24-route-line.selected{filter:drop-shadow(0 0 7px rgba(70,218,255,.9)) drop-shadow(0 3px 3px rgba(0,0,0,.35))!important;opacity:1!important}

.map-v24-route-label.selected{background:#0b8fbd!important;box-shadow:0 0 0 2px rgba(89,222,255,.45),0 5px 15px rgba(0,0,0,.28)!important}

.map-engine-v24.route-edit-active .map-v24-draft-route-label{
  animation:routeLabelEditPulse 1.4s ease-in-out infinite;
}

.map-engine-v24 .map-v24-route-hit-line{
  fill:none;
  stroke:rgba(0,0,0,.001);
  pointer-events:stroke!important;
  cursor:pointer;
}

.map-engine-v24 .map-v24-route-svg{pointer-events:none!important}

.map-engine-v24 .map-v24-route-hit-line{pointer-events:stroke!important}

.map-engine-v24 .map-v24-marker-manhole .map-v24-code,
.map-engine-v24 .map-v24-marker-manhole .map-v24-popup{display:none!important}

.map-engine-v24 .map-v24-marker-manhole{z-index:4!important}

.map-engine-v24 .map-v24-marker-manhole .map-v24-pin{transform:scale(.88)}

.map-engine-v24 .map-v24-marker-manhole:hover .map-v24-pin,
.map-engine-v24 .map-v24-marker-manhole:focus-visible .map-v24-pin{transform:scale(1.08)!important}

.map-v24-route-hover-card.hidden{display:none!important}

.map-engine-v24:not(.route-edit-active) .map-v24-route-label:not(.map-v24-draft-route-label){display:none!important}

.map-engine-v24.route-drawing-active .map-v24-viewport{cursor:crosshair!important}

.map-engine-v24:not(.route-drawing-active) .map-v24-viewport{cursor:grab}

.dashboard-main .map,
.dashboard-main .mini-map,
.dashboard-main .natural-map,
.dashboard-main .map-engine-v24,
.linked-manhole-grid .map,
.linked-manhole-grid .mini-map,
.linked-manhole-grid .natural-map,
.linked-manhole-grid .map-engine-v24,
.content-split .map,
.content-split .mini-map,
.content-split .natural-map,
.content-split .map-engine-v24,
.two-col .map,
.two-col .mini-map,
.two-col .natural-map,
.two-col .map-engine-v24,
.split-layout .map,
.split-layout .mini-map,
.split-layout .natural-map,
.split-layout .map-engine-v24,
.map-table-grid .map,
.map-table-grid .mini-map,
.map-table-grid .natural-map,
.map-table-grid .map-engine-v24,
.table-map-grid .map,
.table-map-grid .mini-map,
.table-map-grid .natural-map,
.table-map-grid .map-engine-v24,
.panel-grid .map,
.panel-grid .mini-map,
.panel-grid .natural-map,
.panel-grid .map-engine-v24{
  flex:1 1 auto!important;
  height:auto!important;
  min-height:420px;
}

.map-engine-v24 .map-v24-viewport,
.natural-map .map-v24-viewport{
  height:100%!important;
  min-height:inherit;
}

.panel-body > .map + p,
.panel-body > .mini-map + p,
.panel-body > .natural-map + p,
.panel-body > .map-engine-v24 + p{
  flex:0 0 auto;
}

@media (max-width:900px){
.dashboard-main .map,
  .dashboard-main .mini-map,
  .dashboard-main .natural-map,
  .dashboard-main .map-engine-v24,
  .linked-manhole-grid .map,
  .linked-manhole-grid .mini-map,
  .linked-manhole-grid .natural-map,
  .linked-manhole-grid .map-engine-v24,
  .content-split .map,
  .content-split .mini-map,
  .content-split .natural-map,
  .content-split .map-engine-v24,
  .two-col .map,
  .two-col .mini-map,
  .two-col .natural-map,
  .two-col .map-engine-v24,
  .split-layout .map,
  .split-layout .mini-map,
  .split-layout .natural-map,
  .split-layout .map-engine-v24,
  .map-table-grid .map,
  .map-table-grid .mini-map,
  .map-table-grid .natural-map,
  .map-table-grid .map-engine-v24,
  .table-map-grid .map,
  .table-map-grid .mini-map,
  .table-map-grid .natural-map,
  .table-map-grid .map-engine-v24,
  .panel-grid .map,
  .panel-grid .mini-map,
  .panel-grid .natural-map,
  .panel-grid .map-engine-v24{
    height:420px!important;
    min-height:420px!important;
    flex:none!important;
  }
}

.dashboard-main,
.linked-manhole-grid,
.content-split,
.two-col,
.split-layout,
.map-table-grid,
.table-map-grid,
.panel-grid,
.grid{
  column-gap:14px;
  row-gap:14px;
}

@media (max-width:900px){
.dashboard-main,
  .linked-manhole-grid,
  .content-split,
  .two-col,
  .split-layout,
  .map-table-grid,
  .table-map-grid,
  .panel-grid,
  .grid{
    row-gap:10px;
    column-gap:10px;
  }
}

.map-engine-v24.manhole-add-active .map-v24-viewport{cursor:crosshair!important}

.waterway-map-panel .map{flex:1;min-height:390px}

.map-v24-waterway-line.selected{filter:drop-shadow(0 0 5px rgba(40,205,239,.9))}

.map-v24-layer-select,
.map-layer-select,
.route-draw-map select{
  font-family:Tahoma, Arial, "Segoe UI", sans-serif!important;
}

.map-v24-dam-polygon.warn{fill:rgba(224,159,29,.18);stroke:#d99517}

.map-v24-dam-polygon.danger{fill:rgba(216,66,78,.17);stroke:#d8424e}

.map-v24-dam-polygon.selected{stroke-width:5}

.dam-mgmt-map-panel .map{height:430px}

.map-engine-v24.route-edit-active .map-v24-route-point.editable{cursor:grab!important;stroke:#fff!important;stroke-width:2.5!important;filter:drop-shadow(0 2px 4px rgba(0,0,0,.28))}

.map-engine-v24.route-edit-active .map-v24-route-point.editable:hover{fill:#ffb323!important}

.map-engine-v24.route-point-dragging .map-v24-route-point.editable{cursor:grabbing!important}

body[data-theme="light"] .map-v24-external-device-marker.device-dam-gate small,body.theme-light .map-v24-external-device-marker.device-dam-gate small{background:#fff!important;color:#17384e!important;border:1px solid #c9dce8!important}

.map-v24-pin .app-ui-icon,.map-v24-device-icon .app-ui-icon{width:18px;height:18px}

.map-engine-v24 .map-v24-popup,
.map-engine-v24 .map-v24-code{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(4px)!important;
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease!important;
}

.map-engine-v24 .map-v24-marker:hover .map-v24-popup,
.map-engine-v24 .map-v24-marker:focus-visible .map-v24-popup,
.map-engine-v24 .map-v24-marker:hover .map-v24-code,
.map-engine-v24 .map-v24-marker:focus-visible .map-v24-code{
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(0)!important;
  z-index:30!important;
}

.map-engine-v24.map-density-overview .map-v24-pin{width:24px!important;height:24px!important;font-size:11px!important;border-width:1.5px!important}

.map-engine-v24.map-density-medium .map-v24-pin{width:27px!important;height:27px!important;font-size:12px!important}

.map-engine-v24.map-density-overview .map-v24-code,
.map-engine-v24.map-density-overview .map-v24-popup,
.map-engine-v24.map-density-medium .map-v24-popup{display:none!important}

.map-v24-cluster.warn{background:linear-gradient(145deg,#efad28,#b87000);box-shadow:0 4px 16px rgba(90,52,0,.32),0 0 0 5px rgba(239,173,40,.14)}

.map-v24-cluster.danger{background:linear-gradient(145deg,#ef5966,#a91f2c);box-shadow:0 4px 16px rgba(91,8,17,.36),0 0 0 5px rgba(239,89,102,.15)}

.map-engine-v24 .map-v24-external-device-marker small{display:none!important}

.map-engine-v24.map-density-detail .map-v24-external-device-marker:hover small,
.map-engine-v24.map-density-detail .map-v24-external-device-marker:focus-visible small{display:block!important}

.map-engine-v24.map-density-overview .map-v24-external-device-marker:not(.device-dam-gate){display:none!important}

.map-engine-v24.map-density-medium .map-v24-external-device-marker:not(.device-dam-gate){transform:translate(-50%,-100%) scale(.82)!important}

.map-engine-v24.map-density-overview .map-v24-external-device-marker.device-dam-gate{transform:translate(-50%,-100%) scale(.72)!important}

.map-engine-v24.map-density-medium .map-v24-external-device-marker.device-dam-gate{transform:translate(-50%,-100%) scale(.86)!important}

.map-engine-v24 .map-v24-route-label:not(.map-v24-draft-route-label){display:none!important}

.map-v24-dam-polygon.warn{fill:rgba(228,169,38,.24)!important;stroke:#d79114!important}

.map-v24-dam-polygon.danger{fill:rgba(219,76,88,.23)!important;stroke:#d8424e!important}

.map-v24-dam-polygon.selected{stroke-width:5.2!important;filter:drop-shadow(0 0 0 rgba(0,0,0,0)) drop-shadow(0 0 10px rgba(10,147,200,.35))!important}

.map-v24-dam-badge.warn{border-color:#d8a43a}

.map-v24-dam-badge.danger{border-color:#df5661}

.map-v24-dam-badge.selected{box-shadow:0 0 0 3px rgba(28,177,223,.18),0 8px 16px rgba(0,30,50,.32)}

body[data-theme="light"] .map-v24-dam-badge,
body.theme-light .map-v24-dam-badge{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(244,250,254,.98));
  color:#123446;
  border-color:#169bcd;
}

body[data-theme="light"] .map-v24-dam-badge small,
body.theme-light .map-v24-dam-badge small{color:#4c6677}

.map-engine-v24.map-density-overview .map-v24-dam-badge{transform:translate(-50%,-50%) scale(.92)}

.map-engine-v24.map-density-detail .map-v24-dam-badge{display:none!important}

.map-engine-v24.map-density-overview .map-v24-external-device-marker.device-dam-gate,
.map-engine-v24.map-density-medium .map-v24-external-device-marker.device-dam-gate{display:none!important}

.map-engine-v24 .map-v24-marker-manhole{width:40px!important;height:40px!important;border:0!important;background:transparent!important;display:grid!important;place-items:center!important;overflow:visible!important;z-index:9!important}

.map-engine-v24 .route-editor-manhole .map-v24-manhole-node{width:34px;height:34px;border-width:5px;box-shadow:0 4px 0 rgba(4,24,38,.48),0 8px 18px rgba(4,24,38,.38),0 0 0 3px rgba(255,255,255,.9)}

.map-engine-v24 .route-editor-manhole[data-manhole-shape="rectangle"] .map-v24-manhole-node{width:40px;height:28px}

.map-engine-v24 .map-v24-marker-manhole{transform:translate(-50%,-50%)!important}

.map-engine-v24.map-dam-details-enabled.map-density-detail .map-v24-dam-badge{
  display:flex!important;
}

.map-engine-v24.map-dam-details-enabled .map-v24-dam-badge{
  min-width:150px;
  max-width:230px;
  cursor:pointer;
}

.map-engine-v24.map-dam-details-enabled .map-v24-dam-badge small{
  max-width:180px;
}

body[data-theme="light"] .map-v24-hover-action,
body.theme-light .map-v24-hover-action{color:#087ca4;border-top-color:rgba(15,116,150,.18)}

.map-engine-v24 .map-v24-draft-route-hit{
  fill:none;
  stroke:rgba(255,179,31,.001);
  pointer-events:stroke!important;
  cursor:crosshair!important;
}

.map-engine-v24.manhole-add-active .map-v24-draft-route-hit{
  stroke:rgba(255,179,31,.18);
}

.map-engine-v24.manhole-add-active .map-v24-draft-line{
  filter:drop-shadow(0 0 7px rgba(255,179,31,.9)) drop-shadow(0 2px 3px rgba(0,0,0,.25));
  animation:routeDash .75s linear infinite,routeAddPulse 1.2s ease-in-out infinite;
}

.map-engine-v24 .device-pendingManhole{pointer-events:none!important;z-index:25!important}

.map-engine-v24 .device-pendingManhole .map-v24-device-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;border:4px dashed #ffb31f;color:#0b2940;box-shadow:0 0 0 5px rgba(255,179,31,.15),0 8px 18px rgba(0,0,0,.28);animation:pendingManholePulse 1s ease-in-out infinite}

.map-engine-v24.manhole-add-active .map-v24-viewport{touch-action:none;user-select:none}

@media (prefers-reduced-motion:reduce){
.legend-arrow.moving,.legend-arrow.pulse,.legend-alert,.map-v24-blockage-segment{animation:none!important}
}

.map-pump-scada-icon.is-running,.map-v24-marker-pump.pump-state-running .map-pump-scada-icon{filter:saturate(1.15) brightness(1.05) drop-shadow(0 0 6px rgba(34,197,94,.54));animation:mapPumpRun 1.8s ease-in-out infinite}

.map-pump-scada-icon.is-fault,.map-v24-marker-pump.pump-state-fault .map-pump-scada-icon{filter:saturate(.8) brightness(.85) drop-shadow(0 0 7px rgba(239,68,68,.62));animation:mapPumpFault 1s ease-in-out infinite}

body[data-theme="dark"] .map-v24-marker-pump .map-v24-pin,body.theme-dark .map-v24-marker-pump .map-v24-pin{background:rgba(13,36,51,.94)}
