/* ROBOS MDP | Sidebars para los cinco mapas. Diseño visual solamente.
  No modifica JS, IDs, consultas, formularios ni filtros. */
#app{isolation:isolate}
#sidebar{box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;max-height:100dvh;min-height:0;background:var(--bg-2);color:var(--ink);border-right:1px solid var(--line-2)}
#sidebar>*{box-sizing:border-box;min-width:0}
#sidebar>div:first-child{min-height:77px;gap:8px}
#sidebar>div:first-child>div:first-child{min-width:0;flex:1}
#sidebar>div:first-child>div:first-child>div:last-child{min-width:0}
#sidebar #sb-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.15!important}
#sidebar #sb-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#pro-map-home{background:var(--surface);border:1px solid var(--line-2);border-radius:10px;min-width:34px;width:34px;height:34px;display:flex;justify-content:center;align-items:center;cursor:pointer}
#sidebar .atabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:4px;min-width:0}
#sidebar .atab{min-width:0;min-height:58px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:10px;line-height:1.3;padding:7px 1px;white-space:normal;overflow:hidden;border-radius:9px}
#sidebar .atab i{width:17px!important;height:17px!important;flex-shrink:0}
#sidebar .atab:not([class*=" r"]):not([class*=" g"]):not([class*=" a"]):not([class*=" v"]):not([class*=" l"]){background:transparent}
#sidebar>.ns{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;padding:17px 16px 22px!important}
#sidebar>.ns>div[id^="ss-"]{min-width:0;max-width:100%;overflow-wrap:anywhere}
#sidebar .pro-map-sponsor-title{font-size:9px;font-weight:900;color:var(--ink-3);letter-spacing:.11em;margin:14px 0 8px;text-transform:uppercase}
#sidebar .pub-slot{box-sizing:border-box;max-width:100%;overflow:hidden;min-height:72px!important;padding:10px!important;margin:0 0 17px!important;background:var(--surface)!important;border:1px solid var(--line-2)!important;border-radius:12px!important}
#sidebar .pub-slot img{display:block;max-width:100%;width:100%;height:auto;max-height:150px;object-fit:contain}
#sidebar .adsbygoogle{max-width:100%;overflow:hidden}
#sidebar input[type="text"],#sidebar input:not([type]){box-sizing:border-box;width:100%;min-width:0}
#sidebar .pro-sidebar-links{flex:0 0 auto;display:block!important;max-height:none!important;overflow:visible!important;padding:0!important;margin:0!important;background:var(--bg-2)!important;border:0!important;border-top:1px solid var(--line-2)!important;border-radius:0!important;min-height:0;scrollbar-width:auto}
#sidebar .pro-sidebar-links>summary{list-style:none;display:flex;align-items:center;gap:11px;padding:13px 16px;min-height:59px;background:var(--bg-2);border:0;font-size:12px;font-weight:800;color:var(--ink);cursor:pointer;user-select:none}
#sidebar .pro-sidebar-links>summary::-webkit-details-marker{display:none}
#sidebar .pro-tools-ic{width:30px;height:30px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line-2);border-radius:8px;font-size:20px;flex-shrink:0}
#sidebar .pro-sidebar-links>summary>span:nth-child(2){flex:1;min-width:0;line-height:1.15}
#sidebar .pro-sidebar-links summary small{display:block;color:var(--ink-3);font-size:9px;font-weight:500;margin-top:5px;line-height:1.35}
#sidebar .pro-tools-chevron{font-size:22px;color:var(--ink-3);transition:transform .2s}
#sidebar .pro-sidebar-links[open] .pro-tools-chevron{transform:rotate(180deg)}
#sidebar .pro-sidebar-links-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 13px;max-height:min(38dvh,310px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
#sidebar .pro-sidebar-links-grid>button,#sidebar .pro-sidebar-links-grid>a{min-width:0;min-height:43px;display:flex!important;align-items:center;justify-content:center;gap:6px;margin:0!important;padding:9px 6px!important;background:var(--surface)!important;border:1px solid var(--line-2)!important;border-radius:10px!important;color:var(--ink)!important;text-align:center;text-decoration:none;font-size:10px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;box-shadow:none!important;line-height:1.25!important}
#sidebar .pro-sidebar-links-grid>button:hover,#sidebar .pro-sidebar-links-grid>a:hover{background:var(--surface-hi)!important;border-color:var(--red)!important}
#sidebar .pro-sidebar-links-grid>div{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px;margin:3px 0!important;padding:8px 4px;border-top:1px solid var(--line)}
#sidebar .pro-sidebar-links-grid>div>a{font-size:10px!important;white-space:nowrap}
#sidebar .pro-sidebar-links-grid>a[href*="rastreo"],#sidebar .pro-sidebar-links-grid>button:has([data-lucide="arrow-left"]),#sidebar .pro-sidebar-links-grid>.pro-sidebar-donate{grid-column:1/-1}
#sidebar .pro-sidebar-links-grid>.pro-sidebar-donate{border-color:rgba(70,186,144,.4)!important;background:rgba(35,123,95,.18)!important;color:#7de7bc!important}
#pro-sb-backdrop{display:none}
@media(min-width:768px){
 #sidebar{position:relative!important;flex:0 0 352px!important;width:352px!important;max-width:352px!important;height:100%!important;transform:none!important;box-shadow:6px 0 22px rgba(0,0,0,.15)!important}
 #sidebar #sb-x{display:none!important}
 #sidebar>.ns{padding:17px 16px 21px!important}
 #app .mapc{min-width:0;flex:1 1 0}
}
@media(min-width:1300px){#sidebar{flex-basis:370px!important;width:370px!important;max-width:370px!important}}
@media(max-width:767px){
 #sidebar{position:absolute!important;inset:0 auto auto 0!important;z-index:3200!important;width:min(390px,calc(100vw - 40px))!important;max-width:calc(100vw - 40px)!important;min-width:0;height:100dvh;max-height:100dvh!important;transform:translateX(-105%)!important;transition:transform .26s ease-out!important;box-shadow:12px 0 45px rgba(0,0,0,.4)!important;border-radius:0 13px 13px 0}
 #sidebar.open{transform:translateX(0)!important}
 #sidebar #pro-map-home{display:none!important}
 #sidebar>div:first-child{padding:12px 11px!important;min-height:66px!important}
 #sidebar #sb-logo{object-fit:cover}
 #sidebar #sb-title{font-size:15px!important}
 #sidebar>div:nth-child(2){padding:11px 12px 0!important}
 #sidebar>.ns{padding:13px 12px 18px!important}
 #sidebar .atab{min-height:56px;font-size:10px}
 #sidebar .atab i{height:16px!important;width:16px!important}
 #sidebar .pro-sidebar-links>summary{padding:10px 12px;min-height:54px}
 #sidebar .pro-sidebar-links-grid{max-height:min(37dvh,290px)}
 #pro-sb-backdrop{display:block;position:absolute;inset:0;z-index:3100;background:rgba(3,9,17,.63);border:0;border-radius:0;width:100%;height:100%;opacity:0;pointer-events:none;transition:opacity .22s ease-out;cursor:pointer}
 #sidebar.open+#pro-sb-backdrop{opacity:1;pointer-events:auto}
 #app .mapc{width:100%;min-width:0}
 #app .mapc>header{left:12px!important;right:12px!important;width:calc(100% - 24px)!important;transform:none!important;max-width:none!important;top:12px!important}
}
@media(max-width:365px){
 #sidebar>div:first-child>div:first-child{gap:7px!important}
 #sidebar>div:first-child>div:first-child>div:first-child{width:39px!important;height:39px!important;flex:0 0 39px!important}
 #sidebar #sb-title{font-size:13px!important}
 #sidebar #sb-sub{font-size:7.5px!important}
 #sidebar .theme-btn{display:none!important}
 #sidebar .atab{font-size:9px;padding:7px 0}
 #sidebar .pro-sidebar-links-grid{gap:6px}
}
@media(prefers-reduced-motion:reduce){#sidebar,#pro-sb-backdrop{transition:none!important}}


/* ROBOSMDP_SIDEBAR_GAP_V31 — interfaz compacta de los cinco mapas.
   Solo estilos de presentación. No altera Firebase, mapas, filtros ni chat. */
#sidebar>.ns{padding-top:12px!important}
#sidebar .pro-map-sponsor-title{margin:10px 0 7px;font-size:9px;letter-spacing:.1em}
#sidebar .pub-slot{margin:0 0 13px!important;min-height:0!important}
/* Placeholder de espacio comercial, sin tocar renderAd() ni sus enlaces. */
#sidebar .pub-slot:not(:has(>a>img)){
 display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto auto;
 align-items:center;column-gap:10px;row-gap:2px;padding:11px 12px!important;text-align:left!important;
}
#sidebar .pub-slot:not(:has(>a>img))>div:first-child{grid-column:1;grid-row:1/3;font-size:22px!important;margin:0!important;align-self:center}
#sidebar .pub-slot:not(:has(>a>img))>p:nth-child(2){grid-column:2;grid-row:1;margin:0!important;font-size:12px!important;color:var(--ink)!important}
#sidebar .pub-slot:not(:has(>a>img))>p:nth-child(3){grid-column:2;grid-row:2;margin:1px 0 0!important;font-size:9px!important;line-height:1.3!important;color:var(--ink-3)!important}
#sidebar .pub-slot:not(:has(>a>img))>a{grid-column:1/-1;grid-row:3;justify-self:stretch;display:block!important;text-align:center;margin-top:8px!important;padding:9px 10px!important;font-size:9px!important}
/* Un sponsor vendido conserva su banner real sin recortes. */
#sidebar .pub-slot:has(>a>img){padding:0!important;overflow:hidden}
#sidebar .pub-slot:has(>a>img)>a>img{width:100%;max-height:none;height:auto;object-fit:contain}
/* AdSense se conserva, pero aparece después de los resultados de cada categoría. */
#sidebar .pro-sidebar-adsense{min-height:0;max-width:100%;overflow:hidden;margin:16px 0 6px}
#sidebar .pro-sidebar-adsense>div{min-height:0!important;margin:0!important;overflow:hidden;width:100%;max-width:100%;border-radius:12px}
#sidebar .pro-sidebar-adsense:has(ins.adsbygoogle[data-ad-status="unfilled"]){display:none!important}
#sidebar .pro-sidebar-adsense:has(ins.adsbygoogle[data-ad-status="filled"]){margin-top:18px}
/* Los reportes comienzan directamente después del sponsor, sin separadores gigantes. */
#sidebar [id^="rl-"]{min-height:0!important}
#sidebar .ns>div[id^="ss-"]{margin:0!important;padding:0!important}
@media (max-width:767px){
 #sidebar>.ns{padding-top:10px!important}
 #sidebar .pro-map-sponsor-title{margin-top:9px}
 #sidebar .pub-slot:not(:has(>a>img)){padding:10px!important}
}
