/* denaris-sidebar-icons.css — Map-sidebar iconography (2026-06-30)
 * ---------------------------------------------------------------------------
 * ADDITIVE + reversible: remove the one <link> in Working.html to fully revert.
 * Two icon families, both built ONLY from SVG primitives (rect/circle/line/path
 * /polygon) per the Denaris design rules — no stock icon sets.
 *
 *  (1) SECTION-TITLE icons — one per collapsible sb-title, in signature purple.
 *      Targets the post-collapse label span (denaris-sidebar-collapse.js moves
 *      data-i18n onto .dc-collap-label), so each section is keyed by its i18n id.
 *      Visible whether the section is expanded OR collapsed.
 *
 *  (2) DUE-DILIGENCE toggle icons — match the existing .ctl-ico siblings: the
 *      box + currentColor recolor come from the in-file .ctl-ico::before rule;
 *      here we only supply each button's mask-image. Inherits navy/white/hover
 *      exactly like Cargo Theft, Land Use, Permisos, etc.
 */

/* ───────────── (0) SIDEBAR WIDTH + TYPE SCALE ───────────── */
/* Narrower panel — left edge sits on the guide line; collapse-tab tracks the width; type shrinks to stay neat. */
.map-sidebar{width:240px}
.map-sidebar-toggle{right:252px}                          /* sidebar width (240) + 12px overhang */
.map-sidebar.collapsed~.map-sidebar-toggle{right:0}       /* preserve collapsed tab position */
#mapSidebar .sb-title{font-size:10.5px}                   /* section headers — compact for the tighter panel */
#mapSidebar .sb-section .map-btn{font-size:11px}          /* toggle labels shrink so they still fit */
#mapSidebar .sb-section .map-btn.ctl-ico::before{width:14px;height:14px}  /* icon scales down to match */

/* ───────────── (1) SECTION-TITLE ICONS (purple) ───────────── */
#mapSidebar .sb-title.dc-collap .dc-collap-label::before{
  content:'';display:inline-block;width:13px;height:13px;margin-right:8px;
  vertical-align:-2px;background-color:var(--purple);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;
}

/* Mercado — ascending market bars */
#mapSidebar .dc-collap-label[data-i18n="ms_mercado"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Crect x='3' y='13' width='4.5' height='8'/%3E%3Crect x='9.75' y='8' width='4.5' height='13'/%3E%3Crect x='16.5' y='3' width='4.5' height='18'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Crect x='3' y='13' width='4.5' height='8'/%3E%3Crect x='9.75' y='8' width='4.5' height='13'/%3E%3Crect x='16.5' y='3' width='4.5' height='18'/%3E%3C/svg%3E")}

/* Denaris Alpha — 4-point signal spark */
#mapSidebar .dc-collap-label[data-i18n="ms_denaris_alpha"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 1 L14.5 9.5 L23 12 L14.5 14.5 L12 23 L9.5 14.5 L1 12 L9.5 9.5 Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 1 L14.5 9.5 L23 12 L14.5 14.5 L12 23 L9.5 14.5 L1 12 L9.5 9.5 Z'/%3E%3C/svg%3E")}

/* Denaris Scores — bullseye / rating target */
#mapSidebar .dc-collap-label[data-i18n="ms_denaris_scores"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='2.5' fill='%23000' stroke='none'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='2.5' fill='%23000' stroke='none'/%3E%3C/svg%3E")}

/* Vista del Mapa — eye / view */
#mapSidebar .dc-collap-label[data-i18n="ms_view_mode"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M1.5 12 C5 6 9 4 12 4 C15 4 19 6 22.5 12 C19 18 15 20 12 20 C9 20 5 18 1.5 12 Z'/%3E%3Ccircle cx='12' cy='12' r='3' fill='%23000' stroke='none'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M1.5 12 C5 6 9 4 12 4 C15 4 19 6 22.5 12 C19 18 15 20 12 20 C9 20 5 18 1.5 12 Z'/%3E%3Ccircle cx='12' cy='12' r='3' fill='%23000' stroke='none'/%3E%3C/svg%3E")}

/* Capas de Referencia — stacked layers */
#mapSidebar .dc-collap-label[data-i18n="ms_capas_referencia"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2 L22 7.5 L12 13 L2 7.5 Z'/%3E%3Cpath d='M2 12 L12 17.5 L22 12' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M2 16.5 L12 22 L22 16.5' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2 L22 7.5 L12 13 L2 7.5 Z'/%3E%3Cpath d='M2 12 L12 17.5 L22 12' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M2 16.5 L12 22 L22 16.5' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E")}

/* Due Diligence — magnifier / scrutiny */
#mapSidebar .dc-collap-label[data-i18n="ms_marco_regulatorio"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='10' cy='10' r='6.5'/%3E%3Cline x1='15' y1='15' x2='21' y2='21' stroke-width='2.5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='10' cy='10' r='6.5'/%3E%3Cline x1='15' y1='15' x2='21' y2='21' stroke-width='2.5'/%3E%3C/svg%3E")}

/* Contexto Social — two figures */
#mapSidebar .dc-collap-label[data-i18n="ms_contexto_social"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Ccircle cx='8' cy='8' r='3.2'/%3E%3Ccircle cx='16' cy='8' r='3.2'/%3E%3Cpath d='M2 20 C2 15.5 5 13 8 13 C11 13 14 15.5 14 20 Z'/%3E%3Cpath d='M10.5 20 C10.5 15.5 13 13 16 13 C19 13 22 15.5 22 20 Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Ccircle cx='8' cy='8' r='3.2'/%3E%3Ccircle cx='16' cy='8' r='3.2'/%3E%3Cpath d='M2 20 C2 15.5 5 13 8 13 C11 13 14 15.5 14 20 Z'/%3E%3Cpath d='M10.5 20 C10.5 15.5 13 13 16 13 C19 13 22 15.5 22 20 Z'/%3E%3C/svg%3E")}

/* Infraestructura — hex nut / mechanical */
#mapSidebar .dc-collap-label[data-i18n="ms_infra_title"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M12 2 L20 7 L20 17 L12 22 L4 17 L4 7 Z'/%3E%3Ccircle cx='12' cy='12' r='3.5' fill='%23000' stroke='none'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M12 2 L20 7 L20 17 L12 22 L4 17 L4 7 Z'/%3E%3Ccircle cx='12' cy='12' r='3.5' fill='%23000' stroke='none'/%3E%3C/svg%3E")}

/* SPGG Visor Urbano — map pin */
#mapSidebar .dc-collap-label[data-i18n="ms_spgg"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M12 2 C7.5 2 4 5.5 4 10 C4 16 12 22 12 22 C12 22 20 16 20 10 C20 5.5 16.5 2 12 2 Z'/%3E%3Ccircle cx='12' cy='10' r='2.5' fill='%23000' stroke='none'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M12 2 C7.5 2 4 5.5 4 10 C4 16 12 22 12 22 C12 22 20 16 20 10 C20 5.5 16.5 2 12 2 Z'/%3E%3Ccircle cx='12' cy='10' r='2.5' fill='%23000' stroke='none'/%3E%3C/svg%3E")}

/* ───────────── OVERLAP FIX — label truncates, never runs under the right status dot ───────────── */
/* Root cause: text-overflow:ellipsis (set on .sb-row .map-btn) is inert while the button is display:inline-flex.
   Make these toggles block-level so the label ellipsizes, left-align, and reserve the right column for the dot. */
.map-sidebar .sb-section:not(.ctl-skip) .sb-row>button.map-btn:not(.cat-filter-btn):not(.src-picker-btn){
  display:block;text-align:left;padding-left:13px;padding-right:24px;
}
.map-sidebar .sb-section:not(.ctl-skip) .sb-row>button.map-btn.ctl-ico:not(.cat-filter-btn):not(.src-picker-btn)::before{
  vertical-align:-3px;margin-right:7px;
}

/* ───────────── (4) CONTEXTO SOCIAL TOGGLE ICONS (currentColor, via .ctl-ico::before) ───────────── */

/* SCINCE Econ — pie / economic composition */
#mapSidebar #sedatuScinceEconToggle.ctl-ico::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 12 L12 3 A9 9 0 0 1 21 12 Z' fill='%23000' stroke='none'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 12 L12 3 A9 9 0 0 1 21 12 Z' fill='%23000' stroke='none'/%3E%3C/svg%3E")}

/* SCINCE Pop — population grid */
#mapSidebar #sedatuScincePopToggle.ctl-ico::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Ccircle cx='5' cy='5' r='2'/%3E%3Ccircle cx='12' cy='5' r='2'/%3E%3Ccircle cx='19' cy='5' r='2'/%3E%3Ccircle cx='5' cy='12' r='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Ccircle cx='19' cy='12' r='2'/%3E%3Ccircle cx='5' cy='19' r='2'/%3E%3Ccircle cx='12' cy='19' r='2'/%3E%3Ccircle cx='19' cy='19' r='2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Ccircle cx='5' cy='5' r='2'/%3E%3Ccircle cx='12' cy='5' r='2'/%3E%3Ccircle cx='19' cy='5' r='2'/%3E%3Ccircle cx='5' cy='12' r='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Ccircle cx='19' cy='12' r='2'/%3E%3Ccircle cx='5' cy='19' r='2'/%3E%3Ccircle cx='12' cy='19' r='2'/%3E%3Ccircle cx='19' cy='19' r='2'/%3E%3C/svg%3E")}

/* Economic momentum (BIE) — rising trend */
#mapSidebar #bieMomToggle.ctl-ico::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpolyline points='3 18 9 12 13 15 21 6'/%3E%3Cpath d='M16 6 L21 6 L21 11'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpolyline points='3 18 9 12 13 15 21 6'/%3E%3Cpath d='M16 6 L21 6 L21 11'/%3E%3C/svg%3E")}

/* Socioeconomic indicators (national) — index gauge */
#mapSidebar #natIndToggle.ctl-ico::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M3 17 A9 9 0 0 1 21 17'/%3E%3Cline x1='12' y1='17' x2='17' y2='10'/%3E%3Ccircle cx='12' cy='17' r='1.6' fill='%23000' stroke='none'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M3 17 A9 9 0 0 1 21 17'/%3E%3Cline x1='12' y1='17' x2='17' y2='10'/%3E%3Ccircle cx='12' cy='17' r='1.6' fill='%23000' stroke='none'/%3E%3C/svg%3E")}

/* SEDATU PCU — nested urban-containment perimeters U1/U2/U3 */
#mapSidebar #pcuNatToggle.ctl-ico::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='2.5' y='2.5' width='19' height='19' rx='3'/%3E%3Crect x='7' y='7' width='10' height='10' rx='2' stroke-width='1.8'/%3E%3Crect x='10.5' y='10.5' width='3' height='3' fill='%23000' stroke='none'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='2.5' y='2.5' width='19' height='19' rx='3'/%3E%3Crect x='7' y='7' width='10' height='10' rx='2' stroke-width='1.8'/%3E%3Crect x='10.5' y='10.5' width='3' height='3' fill='%23000' stroke='none'/%3E%3C/svg%3E")}

/* ───────────── (2) DUE-DILIGENCE TOGGLE ICONS (currentColor, via .ctl-ico::before) ───────────── */

/* House-Price Appreciation (SHF) — house + appreciation arrow */
#mapSidebar #infra-shf-btn.ctl-ico::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M3 11 L12 4 L21 11'/%3E%3Crect x='6' y='11' width='12' height='10'/%3E%3Cpath d='M12 18.5 L12 13.5 M9.7 15.8 L12 13.5 L14.3 15.8' stroke-width='1.6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M3 11 L12 4 L21 11'/%3E%3Crect x='6' y='11' width='12' height='10'/%3E%3Cpath d='M12 18.5 L12 13.5 M9.7 15.8 L12 13.5 L14.3 15.8' stroke-width='1.6'/%3E%3C/svg%3E")}

/* Prime Corridors (Denaris Alpha) — converging corridor */
#mapSidebar #pcuZcuAlphaToggle.ctl-ico::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M7 21 L10.5 3'/%3E%3Cpath d='M17 21 L13.5 3'/%3E%3Cline x1='12' y1='7' x2='12' y2='9' stroke-width='1.4'/%3E%3Cline x1='12' y1='12' x2='12' y2='14' stroke-width='1.4'/%3E%3Cline x1='12' y1='17' x2='12' y2='19' stroke-width='1.4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M7 21 L10.5 3'/%3E%3Cpath d='M17 21 L13.5 3'/%3E%3Cline x1='12' y1='7' x2='12' y2='9' stroke-width='1.4'/%3E%3Cline x1='12' y1='12' x2='12' y2='14' stroke-width='1.4'/%3E%3Cline x1='12' y1='17' x2='12' y2='19' stroke-width='1.4'/%3E%3C/svg%3E")}

/* PCU consolidating (alpha) — perimeter + consolidating core */
#mapSidebar #pcuConsolToggle.ctl-ico::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Crect x='8.5' y='8.5' width='7' height='7' fill='%23000' stroke='none'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Crect x='8.5' y='8.5' width='7' height='7' fill='%23000' stroke='none'/%3E%3C/svg%3E")}

/* Underserved (rezago – CONAVI) — low-provision gauge */
#mapSidebar #muniUnderservedToggle.ctl-ico::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='3' y='8' width='18' height='8' rx='2'/%3E%3Crect x='5' y='10' width='4' height='4' fill='%23000' stroke='none'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='3' y='8' width='18' height='8' rx='2'/%3E%3Crect x='5' y='10' width='4' height='4' fill='%23000' stroke='none'/%3E%3C/svg%3E")}

/* Construction Activity (municipal) — tower crane */
#mapSidebar #infra-construction-btn.ctl-ico::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cline x1='5' y1='21' x2='5' y2='4'/%3E%3Cline x1='4' y1='4' x2='19' y2='4'/%3E%3Cline x1='5' y1='4' x2='12' y2='10' stroke-width='1.5'/%3E%3Cline x1='15' y1='4' x2='15' y2='8' stroke-width='1.5'/%3E%3Crect x='13.5' y='8' width='3' height='2.5' fill='%23000' stroke='none'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cline x1='5' y1='21' x2='5' y2='4'/%3E%3Cline x1='4' y1='4' x2='19' y2='4'/%3E%3Cline x1='5' y1='4' x2='12' y2='10' stroke-width='1.5'/%3E%3Cline x1='15' y1='4' x2='15' y2='8' stroke-width='1.5'/%3E%3Crect x='13.5' y='8' width='3' height='2.5' fill='%23000' stroke='none'/%3E%3C/svg%3E")}

/* Construction (block / manzana) — 2×2 city blocks */
#mapSidebar #infra-cmza-btn.ctl-ico::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Crect x='3' y='3' width='7.5' height='7.5'/%3E%3Crect x='13.5' y='3' width='7.5' height='7.5'/%3E%3Crect x='3' y='13.5' width='7.5' height='7.5'/%3E%3Crect x='13.5' y='13.5' width='7.5' height='7.5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Crect x='3' y='3' width='7.5' height='7.5'/%3E%3Crect x='13.5' y='3' width='7.5' height='7.5'/%3E%3Crect x='3' y='13.5' width='7.5' height='7.5'/%3E%3Crect x='13.5' y='13.5' width='7.5' height='7.5'/%3E%3C/svg%3E")}

/* Construction (parcel level) — single lot + marker */
#mapSidebar #infra-cpredio-btn.ctl-ico::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='4' y='4' width='16' height='16'/%3E%3Ccircle cx='12' cy='12' r='2.5' fill='%23000' stroke='none'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='4' y='4' width='16' height='16'/%3E%3Ccircle cx='12' cy='12' r='2.5' fill='%23000' stroke='none'/%3E%3C/svg%3E")}

/* RUV Appraisals — valuation document */
#mapSidebar #infra-ruvav-btn.ctl-ico::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='5' y='3' width='14' height='18'/%3E%3Cline x1='8.5' y1='9' x2='15.5' y2='9'/%3E%3Cline x1='8.5' y1='13' x2='15.5' y2='13'/%3E%3Cline x1='8.5' y1='17' x2='12.5' y2='17'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='5' y='3' width='14' height='18'/%3E%3Cline x1='8.5' y1='9' x2='15.5' y2='9'/%3E%3Cline x1='8.5' y1='13' x2='15.5' y2='13'/%3E%3Cline x1='8.5' y1='17' x2='12.5' y2='17'/%3E%3C/svg%3E")}

/* Building Heights — tower + height arrow (overrides any prior #infra-bldh-btn icon) */
#mapSidebar #infra-bldh-btn.ctl-ico::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='4' y='9' width='10' height='12'/%3E%3Cline x1='19' y1='21' x2='19' y2='4'/%3E%3Cpath d='M16 7 L19 4 L22 7'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='4' y='9' width='10' height='12'/%3E%3Cline x1='19' y1='21' x2='19' y2='4'/%3E%3Cpath d='M16 7 L19 4 L22 7'/%3E%3C/svg%3E")}
