/* Mapa de revendas e autorizadas - cores verde (revenda) e vermelho (revenda + CATA). */
:root { --m-verde: #2a9d4b; --m-vermelho: #d62828; }
body { background: var(--bg); }
.m-top { background: var(--primary-dark, #111); }
.m-top-in { max-width: 1280px; margin: 0 auto; padding: 10px 16px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.m-top .logo { color: #fff; text-decoration: none; }
.m-top .logo img { height: 34px; width: auto; }
.m-top .btn-outline { color: #fff; border-color: rgba(255,255,255,.35); text-decoration: none; }
.m-main { max-width: 1280px; margin: 0 auto; padding: 16px; display: grid; grid-template-columns: 380px 1fr; gap: 16px; height: calc(100vh - 62px); }
.m-painel { background: var(--surface, #fff); border: 1px solid var(--line); border-radius: 12px; padding: 16px; display: flex; flex-direction: column; gap: 10px; min-height: 0; }
.m-painel h1 { font-size: 19px; margin: 0; }
.m-legenda { display: flex; flex-direction: column; gap: 4px; font-size: 13px; }
.m-legenda label { display: flex; align-items: center; gap: 6px; cursor: pointer; }
.m-bola { display: inline-block; width: 12px; height: 12px; border-radius: 50%; flex-shrink: 0; }
.m-verde { background: var(--m-verde); } .m-vermelho { background: var(--m-vermelho); }
.m-busca { display: flex; gap: 6px; }
.m-busca input { flex: 1; min-width: 0; }
.m-msg { font-size: 12.5px; color: var(--ink-soft); }
.m-lista { overflow-y: auto; flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 8px; padding-right: 2px; }
.m-item { border: 1px solid var(--line); border-left: 5px solid var(--m-verde); border-radius: 10px; padding: 10px 12px; cursor: pointer; background: #fff; font-size: 13px; }
.m-item.cata { border-left-color: var(--m-vermelho); }
.m-item:hover, .m-item.ativo { box-shadow: 0 0 0 2px var(--accent-soft, #fff6bf); }
.m-item h3 { font-size: 14px; margin: 0 0 2px; display: flex; justify-content: space-between; gap: 6px; }
.m-dist { font-size: 12px; font-weight: 700; color: var(--ink-soft); white-space: nowrap; }
.m-tipo { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.m-item .m-tipo { color: var(--m-verde); } .m-item.cata .m-tipo { color: var(--m-vermelho); }
.m-acoes { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; }
.m-acoes a { text-decoration: none; }
.m-aviso { margin-top: 8px; background: #fdecec; border: 1px solid #f3b5b5; color: #8a1c1c; border-radius: 8px; padding: 8px 10px; font-size: 12.5px; }
.m-aviso a { display: inline-block; margin-top: 6px; text-decoration: none; }
.m-mapa { border-radius: 12px; overflow: hidden; border: 1px solid var(--line); min-height: 0; }
#mapa { width: 100%; height: 100%; min-height: 360px; }
.leaflet-popup-content { font-family: inherit; font-size: 13px; }
body.m-embed .m-top { display: none; }
body.m-embed .m-main { height: 100vh; }
@media (max-width: 860px) {
  .m-main { grid-template-columns: 1fr; height: auto; }
  .m-mapa { order: -1; height: 46vh; }
  .m-lista { max-height: none; overflow: visible; }
}
