.mp-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px;align-items:start}.mp-controls{display:grid;gap:18px;min-width:0}.mp-search,.mp-selection{padding:20px}.mp-map-panel{padding:0;min-width:0;position:sticky;top:90px;overflow:hidden}.mp-map-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:16px 18px}.mp-map-toolbar label{min-width:130px;max-width:260px;flex:1}.mp-layers{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 12px}.mp-layers button{border:1px solid #d9e3ee;background:#f7f9fc;color:#334c69;padding:8px 12px;min-height:38px;border-radius:8px;font-size:.82rem;box-shadow:none}.mp-layers button[aria-pressed=true]{background:#126d68;color:white;border-color:#126d68}.mp-status{min-height:42px;padding:10px 18px;margin:0!important;border-top:1px solid #e2e9f1;background:#f5f8fb;font-size:.8rem;line-height:1.4;color:#39516b}#mp-map{height:clamp(380px,65vh,750px);width:100%;background:#edf2f4;isolation:isolate;z-index:0;font:inherit}#mp-map.mp-place-pin{cursor:crosshair}.mp-map-footer{padding:12px 18px;display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;font-size:.76rem;color:#526a84}.mp-map-footer .checkbox{font-size:inherit;margin:0}.mp-key{display:inline-block;width:10px;height:10px;border-radius:3px;background:#008b7e;margin-right:7px}.mp-help{font-size:.77rem;line-height:1.5;color:#627790;margin:6px 0 10px}.mp-radius-row{display:flex;gap:12px;align-items:end;margin-top:18px}.mp-radius-row label{flex:1;min-width:0}.mp-radius-row>button{flex:1}.mp-radius-presets{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.mp-radius-presets button{min-width:38px;min-height:36px;padding:6px 9px;font-size:.75rem}.mp-center{margin:16px 0}.mp-center>button{width:100%}.mp-area-search{border-top:1px solid #dce6ef;margin-top:18px;padding-top:14px}.mp-area-search summary,.mp-sources summary{cursor:pointer;font-size:.86rem;font-weight:650}.mp-area-search form{margin-top:12px}.mp-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mp-result{display:block;width:100%;background:#f4f8fb;color:#173451;border:1px solid #d9e4ef;text-align:left;padding:12px;margin-top:8px;font-size:.86rem;line-height:1.35;font-weight:600}.mp-result small{display:block;font-weight:400;color:#5d768d;margin-top:5px}.mp-error{color:#9d3c22;font-size:.84rem;line-height:1.5}.mp-selection-row{border-bottom:1px solid #e0e8f0;padding:13px 0;display:flex;gap:6px;flex-wrap:wrap}.mp-selection-row>div:first-child{flex:1;min-width:145px}.mp-selection-row strong{display:block;font-size:.86rem;line-height:1.45;overflow-wrap:anywhere}.mp-selection-row small{display:block;color:#63788e;font-size:.72rem;line-height:1.4}.mp-selection-row .mp-help{display:block;margin:0 0 5px}.mp-selection-row>div:last-child{display:flex;align-self:end}.mp-selection-row button{padding:7px;font-size:.74rem}.mp-empty{background:#f6f9fb;border:1px dashed #d3e0eb;border-radius:9px;padding:20px;font-size:.85rem;color:#657a90;line-height:1.6}.mp-sources{font-size:.77rem;line-height:1.6;color:#5e7389;padding:0 18px 16px}.mp-sources p{margin-top:10px}.mp-popup{font:14px/1.45 system-ui,sans-serif;min-width:205px}.mp-popup h3{font-size:1.08rem;margin:5px 0}.mp-popup p{margin:6px 0 12px}.mp-popup select{width:100%;margin-bottom:10px}.mp-popup button{padding:9px;min-height:40px;font-size:.83rem}.mp-popup .stack{gap:8px}.mp-pin{background:none;border:0}.mp-pin span{display:block;width:24px;height:24px;background:#cf6819;border:4px solid white;border-radius:50%;box-shadow:0 1px 7px #263f6977}.mp-saved{border:1px solid #dce6ef;border-radius:10px;padding:18px}.mp-saved h3{margin:0}.mp-saved p{overflow-wrap:anywhere}.mp-map-panel .leaflet-control-attribution{font:10px/1.5 system-ui,sans-serif;max-width:calc(100% - 10px);white-space:normal;padding:2px 6px;background:#ffffffe6}.mp-map-panel .leaflet-control-zoom a{min-width:36px;min-height:36px;line-height:36px}.mp-map-panel .leaflet-tooltip{font:12px/1.35 system-ui,sans-serif;white-space:normal;max-width:220px}.mp-map-panel .leaflet-popup-content{margin:16px}.mp-map-panel .leaflet-popup-close-button{color:#29455d;width:30px;height:30px;font-size:24px}.mp-selection>.stack{gap:9px}.mp-controls input,.mp-controls select{min-width:0}
@media(min-width:1550px){.mp-layout{grid-template-columns:370px minmax(0,1fr)}}
@media(max-width:1100px) and (min-width:701px){.mp-layout{grid-template-columns:300px minmax(0,1fr)}.mp-map-toolbar{align-items:stretch;flex-direction:column}.mp-map-toolbar label{max-width:none}.mp-layers button{flex:1}}
@media(max-width:700px){.mp-layout{display:flex;flex-direction:column;gap:16px}.mp-controls{display:contents}.mp-search{order:0;width:100%}.mp-map-panel{order:1;position:static;width:100%}.mp-selection{order:2;width:100%}#mp-map{height:440px}.mp-map-toolbar{padding:14px;flex-wrap:wrap}.mp-map-toolbar label{max-width:none;width:100%;flex-basis:100%}.mp-map-toolbar>.row{width:100%}.mp-map-toolbar button{flex:1}.mp-layers{padding:0 14px 12px}.mp-layers button{flex:1;padding:8px;min-height:42px}.mp-status{padding:10px 14px}.mp-map-footer{padding:12px 14px;line-height:1.45}.mp-sources{padding:0 14px 14px}.mp-radius-presets button{min-height:42px}.mp-selection-row button{min-height:42px}.mp-popup button{min-height:44px}}

/* ZIP labels stay above outlines and below pins/popups; map clicks pass through. */
.mp-zip-label{background:none;border:0;pointer-events:none!important}
.mp-zip-label-text{display:flex;box-sizing:border-box;align-items:center;justify-content:center;width:54px;height:24px;background:#ffffffed;border:2px solid;border-radius:5px;color:#14253d;font:700 12px/1 system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.25px;white-space:nowrap;box-shadow:0 1px 4px #102c5033;pointer-events:none}
.mp-zip-label-selected{border-style:dashed;background:#fff;box-shadow:0 0 0 1px #fff,0 1px 5px #102c5050}
#mp-zip-label-note{flex-basis:100%;font-size:.75rem}
/* Address pins remain visible while the user edits radius distance. */
.mp-address-pin{background:none;border:0}.mp-address-pin>span{position:absolute;display:block;box-sizing:border-box;left:2px;top:6px;width:28px;height:28px;border:3px solid white;border-radius:50% 50% 50% 0;background:#c64e12;box-shadow:0 2px 7px #152e5966;transform:rotate(-45deg)}.mp-address-pin>span:after{content:'';position:absolute;width:8px;height:8px;left:7px;top:7px;border-radius:50%;background:white}.mp-center>button+button{margin-top:8px}
