#top{position:absolute;z-index:1100;left:8px;right:8px;top:8px;background:#fff;border:2px solid var(--ink);border-radius:16px;padding:6px 8px 6px;box-shadow:0 2px 10px rgba(0,0,0,.35)}
#top .lbl{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;display:block;margin:0 0 2px 2px}
#quick{width:100%;min-height:52px;font-size:17px;font-weight:700;border:2px solid var(--ink);border-radius:12px;padding:0 8px;background:#fff;color:var(--ink)}
#r2{display:flex;gap:6px;margin-top:6px}
#qwrap{position:relative;flex:1;min-width:0}
#q{width:100%;min-height:52px;font-size:17px;padding:0 10px;border:2px solid var(--ink);border-radius:12px}
#st{width:112px;flex:none;min-height:52px;font-size:15px;border:2px solid var(--ink);border-radius:12px;background:#fff;color:var(--ink);padding:0 4px}
#sugg{position:absolute;left:0;right:-122px;top:56px;background:#fff;border:2px solid var(--ink);border-radius:12px;max-height:50vh;overflow:auto;display:none;z-index:1300;box-shadow:0 4px 14px rgba(0,0,0,.35)}
#sugg.open{display:block}
#sugg .s{min-height:52px;padding:6px 12px;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--line);cursor:pointer;font-size:16px}
#sugg .s small{color:#46566a;font-size:12px}
#sugg .s:active,#sugg .s.on{background:#e8f1fb}
#cov{font-size:12.5px;line-height:1.35;margin:6px 2px 0;color:#2c3e50}
#cov b{color:var(--ink)}
.cv-ok{color:#166534}.cv-none{color:#92400e}.cv-nl{color:#8a1c1c}
#fab-top{top:176px}
#panel{top:auto}
#panel header{padding:6px 10px}
.tabs{display:flex;gap:6px}
.tab{min-height:48px;padding:0 14px;border-radius:12px;border:2px solid var(--ink);background:#fff;font-size:16px;font-weight:700}
.tab.on{background:var(--ink);color:#fff}
.nrow{display:flex;gap:10px;align-items:center;min-height:62px;padding:6px 4px;border-bottom:1px solid var(--line);cursor:pointer}
.nrow:active{background:#e8f1fb}
.nrow .nm{flex:1}.nrow .nm b{display:block;font-size:16px}.nrow .nm span{font-size:13px;color:#46566a}
.nrow .dist{font-weight:700;font-size:16px;flex:none;text-align:right}
.chips{display:flex;gap:6px;margin:8px 0;flex-wrap:wrap}
.chip{min-height:44px;padding:0 14px;border-radius:999px;border:2px solid var(--ink);background:#fff;font-size:15px}
.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}
.bub{display:flex;align-items:center;justify-content:center;border-radius:50%;border:3px solid #fff;color:#fff;font-weight:700;box-shadow:0 1px 6px rgba(0,0,0,.55);text-align:center;line-height:1}
.nmore{font-size:13px;margin:6px 0;color:#46566a}
table.cvt{border-collapse:collapse;font-size:12px;width:100%}
table.cvt th,table.cvt td{border:1px solid var(--line);padding:3px 4px;text-align:center;white-space:nowrap}
table.cvt td:first-child,table.cvt th:first-child{text-align:left;position:sticky;left:0;background:#fff}
.cvx{overflow:auto;max-height:55vh}
.cvg{background:#e7f6ec}.cvz{background:#fff3dc}.cvn{background:#fde8e8}
.emo.gh{border:2px dashed #78350f;background:#fef3c7}.emo.sa{border:2px solid #16a34a}.emo.re{border:2px solid #7c3aed;background:#f5f3ff}
@media (min-width:900px){
 #top{width:404px;right:auto;left:8px}
 #panel{left:8px;top:218px;bottom:8px;width:404px;border-radius:16px;border:2px solid var(--ink)}
 #fab-top{top:10px}
 #foot{left:424px}
 .leaflet-control-zoom{margin-left:0 !important}
 #sugg{right:-8px}
}
@media (max-width:899px){
 #panel{max-height:60vh}
}
.leaflet-top.leaflet-left{display:none}
