/* Costa Nueva: fondo y controles del plano paisajístico. */
body { background:#d9d3c7; color:#28463e; }
#map.leaflet-container { background-color:#d9d3c7 !important; }
.leaflet-image-layer { image-rendering:auto; }
.plan-source { position:absolute; top:84px; left:70px; z-index:800; background:#fff; border:1px solid #dbe3dc; border-radius:12px; padding:13px 16px; max-width:270px; color:#28463e; font-size:11px; line-height:1.55; }
.plan-source strong,.plan-source span { display:block; }
.plan-source strong { font-size:14px; font-weight:600; margin-bottom:4px; }
.plan-source .plan-filename { overflow-wrap:anywhere; color:#516c61; }
.plan-source a { color:#176b66; text-decoration:underline; text-underline-offset:3px; }
.plan-source #plan-view-status { margin-top:6px; color:#516c61; max-width:240px; }
nav.topbar ul { background:#fff; border:1px solid #d3ded6; padding:4px; gap:3px; border-radius:12px; }
nav.topbar ul a,.topbar button { min-height:40px; box-sizing:border-box; display:flex; align-items:center; justify-content:center; padding:10px 15px; border:0; border-radius:8px; background:transparent; color:#31574b; font:500 13px/1.2 Roboto,Arial,sans-serif; text-decoration:none; cursor:pointer; }
nav.topbar ul li a { border:0; }
nav.topbar ul a:hover,.topbar button:hover { background:#edf3ee; }
nav.topbar ul a[aria-current="true"],.topbar button[aria-pressed="true"] { background:#235e51; color:#fff; }
.topbar button:focus-visible,nav.topbar a:focus-visible,.plan-source a:focus-visible { outline:2px solid #11877b; outline-offset:2px; }
.leaflet-bar { border:1px solid #d3ded6 !important; border-radius:8px; overflow:hidden; box-shadow:none; }
.leaflet-bar a { color:#31574b; }
.leaflet-bar a:hover { background:#edf3ee; color:#235e51; }
#proyecto_info { box-shadow:none; border:1px solid #dbe3dc; border-radius:14px; }
#logo_close { background:#235e51; border-radius:7px 0 0 7px; }
.leyenda { border:1px solid #d3ded6; box-shadow:none; border-radius:10px; padding:10px 15px; bottom:22px; }
.leyenda ul { font-size:12px; gap:10px 18px; color:#3c594d; }
.leyenda ul li { align-items:center; gap:7px; }
.leyenda ul span { width:11px; height:11px; border:1px solid #93a49a; border-radius:3px; }
.lote-label .plano-numero { color:#344c42; font-size:9px; font-variant-numeric:tabular-nums; }
.manzana-label { pointer-events:none; }
.manzana-label span { display:flex; align-items:center; justify-content:center; box-sizing:border-box; width:24px; height:24px; border:1px solid #507c6a; border-radius:7px; background:#fff; color:#285d4a; font-size:10px; font-weight:700; line-height:1; }
.common-area-label { pointer-events:none; }
.common-area-label__content { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; width:max-content; transform:translate(-50%,-50%); padding:5px 8px; border-radius:6px; background:#f6faedeb; font:12px/1.2 Roboto,Arial,sans-serif; text-align:center; color:#304c30; }
.common-area-label__content strong { font:600 1em/1.2 Roboto,Arial,sans-serif; }
.common-area-label__content span { font-size:.85em; white-space:nowrap; font-variant-numeric:tabular-nums; }
.common-area-label--education .common-area-label__content { color:#325867; background:#edf5f4eb; }
.common-area-label--parcel .common-area-label__content { color:#344c42; background:#f8faf7eb; }
.parcel-details { color:#28463e; font:13px/1.5 Roboto,Arial,sans-serif; font-variant-numeric:tabular-nums; }
.parcel-details strong { font-size:14px; }
.parcel-details p { margin:8px 0 0; }
.common-area-label--other .common-area-label__content { color:#635b34; background:#f8f4e8eb; }
.common-area-label__content--strip { white-space:nowrap; padding:1px 4px; }
path.common-zone:focus,path[data-lote]:focus { outline:none; }
path.common-zone:focus-visible,path[data-lote]:focus-visible { stroke:#087c6f; stroke-width:2px; }
body[data-plan-view="original"] .lote-label,body[data-plan-view="original"] .manzana-label,body[data-plan-view="original"] .common-area-label { display:none!important; }
body[data-map-mode="location"] .plan-source { display:none; }
@media(max-width:450px) {
  nav.topbar { top:14px; left:50px; right:12px; }
  nav.topbar ul { gap:1px; padding:3px; width:max-content; max-width:100%; }
  nav.topbar ul a,.topbar button { padding:8px 9px; font-size:11px; min-height:38px; }
  .plan-source { top:auto; bottom:87px; left:12px; right:12px; max-width:none; font-size:10px; padding:9px 12px; }
  .plan-source strong { font-size:12px; margin-bottom:2px; }
  .plan-source .plan-filename { display:none; }
  .plan-source a { display:inline; }
  .plan-source #plan-view-status { display:inline; margin-left:8px; }
  .manzana-label span { width:22px; height:22px; font-size:9px; }
  .leyenda { bottom:24px; max-width:calc(100% - 24px); padding:9px 11px; }
  .leyenda ul { font-size:11px; gap:8px 11px; }
}
