/* Visor independiente NEXO: mapa amplio, filtros flotantes y carga no bloqueante. */
.app-shell { padding-left: 0 !important; }
.navrail,
.topbar > .mobile-only { display: none !important; }
.workspace { margin-left: 0 !important; }
.user-chip { cursor: pointer; }

.workspace.map-view {
  position: relative;
  padding: 0 !important;
  overflow: hidden !important;
}

.workspace.map-view > .page-head,
.workspace.map-view > .kpis {
  display: none !important;
}

.workspace.map-view > .map-layout {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

.workspace.map-view > .filters {
  position: absolute !important;
  z-index: 720 !important;
  top: 14px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: min(1500px, calc(100% - 190px)) !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 10px !important;
  display: grid !important;
  grid-template-columns: minmax(230px, 1.55fr) repeat(4, minmax(125px, 1fr)) !important;
  gap: 8px !important;
  overflow: visible !important;
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid #d5e1ea !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 30px rgba(22, 52, 75, .18) !important;
  backdrop-filter: blur(8px);
}

.workspace.map-view > .filters .search {
  grid-column: auto !important;
  width: auto !important;
  min-width: 0 !important;
  order: initial !important;
}

.workspace.map-view > .filters .reset {
  justify-self: stretch !important;
  min-height: 42px;
}

#nexo-data-loader {
  inset: auto auto 22px 50% !important;
  transform: translateX(-50%) !important;
  width: auto !important;
  height: auto !important;
  padding: 9px 14px !important;
  display: block !important;
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid #d5e1ea !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 26px rgba(22, 52, 75, .18) !important;
  backdrop-filter: none !important;
  pointer-events: none !important;
}

#nexo-data-loader .nexo-loader-core {
  flex-direction: row !important;
  gap: 9px !important;
}

#nexo-data-loader .nexo-loader-core img {
  width: 30px !important;
  height: 30px !important;
  padding: 4px !important;
  border-radius: 8px !important;
  animation: none !important;
  box-shadow: none !important;
}

#nexo-data-loader .nexo-loader-core:after { display: none !important; }

@media (max-width: 1050px) {
  .workspace.map-view > .filters {
    width: calc(100% - 28px) !important;
    grid-template-columns: repeat(3, minmax(120px, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .workspace.map-view {
    height: calc(100dvh - 58px) !important;
    min-height: 520px !important;
  }

  .workspace.map-view > .filters {
    left: 12px !important;
    right: 12px !important;
    transform: none !important;
    width: auto !important;
    display: flex !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
  }

  .workspace.map-view > .filters > * { flex: 0 0 170px !important; }
  .workspace.map-view > .filters .search { flex-basis: 235px !important; }
}
