.map-filters{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:minmax(220px,1fr) 2fr;gap:16px;margin-bottom:16px;padding:16px;display:grid}.map-frame{border:1px solid var(--line);background:#fff;border-radius:16px;margin-bottom:18px;padding:10px;position:relative}.map-canvas{width:100%;height:auto;max-height:70vh;display:block}.map-dot{fill:var(--blue);fill-opacity:.32;stroke:var(--blue);stroke-opacity:.75;stroke-width:1.5px;transition:fill-opacity .15s}.map-dot:hover,.map-dot.on{fill-opacity:.7;stroke-width:2.5px}.map-callout{border:1px solid var(--line);pointer-events:none;background:#fff;border-radius:12px;padding:10px 13px;position:absolute;bottom:14px;left:14px;box-shadow:0 8px 24px #38799520}.map-callout strong{font-size:13.5px;display:block}.map-callout span{color:var(--muted);margin-top:3px;font-size:13px;display:block}.map-table{border-collapse:collapse;border:1px solid var(--line);background:#fff;border-radius:14px;width:100%;font-size:13.5px;overflow:hidden}.map-table caption{text-align:left;color:var(--muted);padding:0 0 9px;font-size:13px}.map-table th,.map-table td{text-align:left;border-bottom:1px solid #edf2f7;padding:10px 14px}.map-table th{color:var(--muted);background:#fbfdff;font-size:12.5px;font-weight:700}.map-table td:last-child,.map-table th:last-child{text-align:right;font-variant-numeric:tabular-nums}.map-table tbody tr:hover{background:#f6fbff}.map-table a{color:var(--blue);font-weight:600}.map-missing{color:var(--muted);margin-top:14px;font-size:13px;line-height:1.8}@media (max-width:720px){.map-filters{grid-template-columns:1fr;padding:13px}.map-callout{box-shadow:none;margin-top:10px;position:static}}.map-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.map-stats .ui-stat-value{text-overflow:ellipsis;white-space:nowrap;font-size:24px;overflow:hidden}.map-layout{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);align-items:start;gap:18px;display:grid}.map-layout>:only-child{grid-column:1/-1}.map-frame{border-radius:var(--radius-lg);box-shadow:var(--shadow);background:linear-gradient(#f7faff,#fff);margin-bottom:0}.map-dot{fill:var(--blue);stroke:var(--blue)}.map-rank{border-radius:var(--radius-lg);border:1px solid var(--line);max-height:72vh;box-shadow:var(--shadow);background:#fff;overflow-y:auto}.map-rank .map-table{border:0;border-radius:0}.map-rank caption{color:var(--ink);padding:14px 14px 8px;font-size:13px;font-weight:700}.map-table th,.map-table td{font-size:13.5px}.map-table td:last-child{justify-content:flex-end;align-items:center;gap:10px;display:flex}.map-bar{background:#eef2f7;border-radius:999px;width:90px;height:8px;display:block;overflow:hidden}.map-bar>span{background:var(--blue);border-radius:999px;height:100%;display:block}@media (max-width:1100px){.map-layout{grid-template-columns:minmax(0,1fr)}.map-rank{max-height:none}}@media (max-width:760px){.map-stats{grid-template-columns:minmax(0,1fr)}.map-bar{width:50px}}.geo-wrap{flex-direction:column;gap:8px;min-width:0;display:flex}.geo-map{border:1px solid var(--line);z-index:0;background:#eef2f7;border-radius:18px;width:100%;height:560px;overflow:hidden}.geo-status{background:var(--blue-soft);color:#23406e;border-radius:12px;padding:8px 12px;font-size:13.5px;line-height:1.5}.geo-status.warn{background:var(--amber-soft);color:#7a4a06}.geo-legend{color:var(--muted);flex-wrap:wrap;gap:6px 16px;font-size:12.5px;display:flex}.geo-legend span{align-items:center;gap:6px;display:inline-flex}.geo-key{border-radius:50%;width:12px;height:12px;display:inline-block}.geo-key.cep{background:#3b82f6;border:1.5px solid #1d4ed8}.geo-key.town{border:2.5px dashed #c2410c}.geo-key.city{background:#f9731659;border:1.5px solid #c2410c}.geo-pop{flex-direction:column;gap:6px;min-width:180px;font-family:inherit;display:flex}.geo-pop b{font-size:13.5px}.geo-pop ul{flex-direction:column;gap:3px;margin:0;padding-left:16px;display:flex}.geo-pop a{color:var(--blue);font-weight:700}.geo-pop small{color:var(--muted);font-size:12px;line-height:1.4}@media (max-width:700px){.geo-map{border-radius:14px;height:62vh}}.map-radius .find-tag{align-items:center;gap:5px;display:inline-flex}.geo-map.picking.leaflet-container{cursor:crosshair}.geo-status-link{color:var(--blue);align-items:center;gap:4px;margin-left:6px;font-weight:800;text-decoration:underline;display:inline-flex}.map-hero{margin-bottom:18px}.map-source{flex-direction:column;gap:8px;display:flex}.map-list-pick{border:1px solid var(--line);max-width:420px;height:42px;font:inherit;background:#fff;border-radius:12px;padding:0 12px;font-size:14px}.map-city-go{font:inherit;color:var(--blue);text-align:left;cursor:pointer;background:0 0;padding:0;font-weight:700}.map-city-go:hover{text-decoration:underline}.map-city{box-shadow:var(--shadow);background:#fff;border:1px solid #ffd9bf;border-radius:20px;flex-direction:column;gap:10px;margin-top:14px;padding:16px;scroll-margin-top:90px;display:flex}.map-city header{justify-content:space-between;align-items:center;gap:10px;display:flex}.map-city h2{flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:18px;display:flex}.map-city h2 svg{color:#ea5a12}.map-city h2 small{color:var(--muted);font-size:13px;font-weight:600}.map-city-close{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);background:#fff;border-radius:10px;place-items:center;display:grid}.map-city-note{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:13.5px;display:flex}.map-city-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;max-height:520px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.map-city-list a{border:1px solid var(--line);color:var(--ink);background:#fbfdff;border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;text-decoration:none;display:flex}.map-city-list a:hover{background:#f5f9ff;border-color:#9cc2ff}.map-city-list b{overflow-wrap:anywhere;font-size:14px}.map-city-list small{color:var(--muted);overflow-wrap:anywhere;font-size:12.5px}.map-city-more{color:var(--blue);align-self:flex-start;align-items:center;gap:6px;font-size:13.5px;font-weight:700;display:inline-flex}.geo-pop-go{color:#fff;cursor:pointer;background:#0b5fe0;border:0;border-radius:8px;margin-top:6px;padding:6px 10px;font-size:12.5px;font-weight:700}.map-radius-hint{color:#5b21b6;margin-top:8px;font-size:13px;font-weight:600;line-height:1.4;display:block}
