.pdlwsync-map-wrap{
  width:100%;
  box-sizing:border-box;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#fff;
  padding:12px;
  margin-bottom:14px;
}

.pdlwsync-map-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:10px;
}

.pdlwsync-muted{
  color:#666;
  font-size:12px;
  margin-left:6px;
}

.pdlwsync-map-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.pdlwsync-btn{
  border:1px solid #cfd8e3;
  border-radius:8px;
  background:#fff;
  padding:7px 10px;
  cursor:pointer;
}

.pdlwsync-btn[disabled]{
  opacity:.5;
  cursor:not-allowed;
}

.pdlwsync-map-body{
  display:grid;
  grid-template-columns:1fr 240px;
  gap:12px;
}

.pdlwsync-map{
  width:100%;
  height:var(--pdlwsync-h, 420px);
  min-height:320px;
  border-radius:12px;
  overflow:hidden;
}

.pdlwsync-side{
  border:1px solid #eef2f7;
  border-radius:12px;
  padding:10px;
  font-size:13px;
  background:#f8fafc;
}

.pdlwsync-side > div{
  margin-bottom:8px;
}

.pdlwsync-status{
  color:#444;
  font-size:12px;
}

@media (max-width: 900px){
  .pdlwsync-map-body{
    grid-template-columns:1fr;
  }
}


/* PDLW_SYNC_TOP_PANEL_V104 */
.pdlwsync-subtitle{
  font-weight:700;
  margin:10px 0 6px;
}

.pdlwsync-top{
  margin:0 0 10px 18px;
  padding:0;
  font-size:12px;
  line-height:1.45;
}

.pdlwsync-top li{
  margin-bottom:4px;
}


/* PDLW_SYNC_FILTER_CONTEXT_V107 */
.pdlwsync-main-filter{
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:7px;
  padding:7px 8px;
  font-size:12px;
  line-height:1.35;
  margin-bottom:8px;
  font-weight:600;
}

.pdlwsync-extra-filters{
  margin:0 0 10px 18px;
  padding:0;
  font-size:12px;
  line-height:1.4;
}

.pdlwsync-extra-filters li{
  margin-bottom:4px;
  white-space:normal;
  overflow-wrap:anywhere;
}

.pdlwsync-subtitle{
  font-weight:700;
  margin:10px 0 6px;
}

/* Ajuste de visibilidad del panel lateral */
.pdlwsync-map-wrap .pdlwsync-map-body{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 320px !important;
  gap: 12px !important;
  align-items: stretch !important;
}

.pdlwsync-map-wrap .pdlwsync-map{
  min-width: 0 !important;
  min-height: var(--pdlwsync-h, 520px) !important;
}

.pdlwsync-map-wrap .pdlwsync-side{
  width: 320px !important;
  max-width: 320px !important;
  min-width: 320px !important;
  max-height: var(--pdlwsync-h, 520px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
  padding: 12px !important;
}

.pdlwsync-top{
  margin: 4px 0 10px 18px !important;
  padding: 0 !important;
}

.pdlwsync-top li,
.pdlwsync-extra-filters li{
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  margin-bottom: 4px !important;
}

.pdlwsync-main-filter{
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 900px){
  .pdlwsync-map-wrap .pdlwsync-map-body{
    grid-template-columns: 1fr !important;
  }

  .pdlwsync-map-wrap .pdlwsync-side{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    max-height: none !important;
  }
}


/* PDLW_SYNC_OTROS_TIPOS_V109 */
.pdlwsync-otros-tipos{
  margin-top:6px;
  padding-top:6px;
  border-top:1px dashed #d1d5db;
  font-weight:600;
}


/* PDLW_SYNC_TOOLTIP_TIPOS_V110 */
.leaflet-tooltip.pdlwsync-tooltip{
  background:#fff;
  border:1px solid #cfd8e3;
  border-radius:6px;
  box-shadow:0 2px 10px rgba(0,0,0,.18);
  color:#111827;
  max-width:360px;
  white-space:normal;
  padding:8px 10px;
}

.pdlwsync-map-tooltip{
  font-size:12px;
  line-height:1.35;
  max-width:340px;
}

.pdlwsync-tooltip-title{
  font-weight:700;
  margin-top:6px;
  margin-bottom:3px;
}

.pdlwsync-tooltip-list{
  margin:3px 0 0 18px;
  padding:0;
}

.pdlwsync-tooltip-list li{
  margin-bottom:2px;
  white-space:normal;
  overflow-wrap:anywhere;
}

.pdlwsync-tooltip-muted{
  color:#6b7280;
  font-size:11px;
}


/* Tooltip mapa compacto Top 5 - v1.1.2 */
.leaflet-tooltip.pdlwsync-tooltip{
  max-width: 230px !important;
  padding: 4px 6px !important;
  font-size: 8px !important;
  line-height: 1.08 !important;
  white-space: normal !important;
}

.pdlwsync-map-tooltip{
  font-size: 8px !important;
  line-height: 1.08 !important;
  max-width: 220px !important;
}

.pdlwsync-map-tooltip strong{
  font-size: 9px !important;
  line-height: 1.1 !important;
}

.pdlwsync-tooltip-title{
  font-size: 8px !important;
  font-weight: 700 !important;
  margin-top: 3px !important;
  margin-bottom: 1px !important;
}

.pdlwsync-tooltip-list{
  margin: 1px 0 0 12px !important;
  padding: 0 !important;
  font-size: 8px !important;
  line-height: 1.05 !important;
}

.pdlwsync-tooltip-list li{
  margin-bottom: 1px !important;
  padding: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

.pdlwsync-tooltip-muted{
  font-size: 7.5px !important;
  color: #6b7280 !important;
}
/* Tooltip más ancho para tipos del mapa */
.leaflet-tooltip.pdlwsync-tooltip{
  min-width: 300px !important;
  max-width: 420px !important;
  padding: 7px 9px !important;
  font-size: 10px !important;
  line-height: 1.22 !important;
  white-space: normal !important;
}

.pdlwsync-map-tooltip{
  min-width: 290px !important;
  max-width: 400px !important;
  font-size: 10px !important;
  line-height: 1.22 !important;
  white-space: normal !important;
}

.pdlwsync-map-tooltip strong{
  font-size: 11px !important;
  line-height: 1.25 !important;
}

.pdlwsync-tooltip-title{
  font-size: 10px !important;
  font-weight: 700 !important;
  margin-top: 5px !important;
  margin-bottom: 3px !important;
}

.pdlwsync-tooltip-list{
  margin: 3px 0 0 18px !important;
  padding: 0 !important;
  font-size: 10px !important;
  line-height: 1.18 !important;
}

.pdlwsync-tooltip-list li{
  margin-bottom: 2px !important;
  padding: 0 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.pdlwsync-tooltip-muted{
  font-size: 9px !important;
  color: #6b7280 !important;
}


/* PDLW_SYNC_PANEL_BUTTONS_V114 */
.pdlwsync-panel-actions{
  position: sticky;
  top: 0;
  z-index: 20;
  background: #fff;
  padding: 0 0 8px 0;
  margin: 0 0 8px 0;
  border-bottom: 1px solid #e5e7eb;
  display: flex !important;
  gap: 6px !important;
  justify-content: flex-start !important;
  align-items: center !important;
}

.pdlwsync-panel-actions .pdlwsync-btn{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 64px !important;
  height: 28px !important;
  padding: 4px 9px !important;
  white-space: nowrap !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}
