/* Scoped progressive location controls; existing form fields retain their styling. */
.place-search{position:relative;min-width:0}
.place-search>input{width:100%}
.place-search-popup{position:absolute;inset:calc(100% - 0px) 0 auto;z-index:12;border:1px solid var(--line,#d8d0c0);border-radius:4px;background:#fff;box-shadow:0 10px 28px #10252d26;overflow:hidden;color:#10252d}
.place-search-popup[hidden],.place-map-canvas[hidden],.place-map-dialog [hidden]{display:none!important}
.place-search-results{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto;overscroll-behavior:contain}
.place-search-option{padding:12px 14px;min-height:44px;cursor:pointer;font-size:.875rem;line-height:1.5;overflow-wrap:anywhere;border-bottom:1px solid #eee}
.place-search-option:hover,.place-search-option[aria-selected=true]{background:#edf1fa;color:#182e6e}
.place-search-attribution{display:inline-block;font-family:Roboto,Manrope,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;letter-spacing:normal;white-space:nowrap;color:#5e5e5e}
.place-search-popup>.place-search-attribution{display:block;text-align:right;padding:7px 14px;background:#fff}
.place-search-button{display:inline-flex;align-items:center;min-height:40px;padding:6px 0;margin-top:3px;border:0;background:transparent;color:var(--blue,#233f8f);font-size:.8125rem;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.place-search-button:disabled{opacity:.5;cursor:default}
.place-search-manual{margin-left:16px;font-weight:400;color:var(--muted,#4f5c60)}
.place-search-manual[hidden]{display:none!important}
.place-search-status{font-size:.75rem;line-height:1.5;color:var(--muted,#4f5c60);overflow-wrap:anywhere}
.place-search-status:empty{display:none}
.place-search-status a{color:var(--blue,#233f8f);text-decoration:underline;text-underline-offset:3px}
.place-map-dialog{width:min(620px,calc(100% - 24px));max-height:calc(100svh - 32px);overflow:auto;box-sizing:border-box;border:1px solid var(--line,#d8d0c0);border-radius:6px;padding:26px;background:var(--ivory,#f5f1e9);color:var(--ink,#10252d)}
.place-map-dialog::backdrop{background:#10252d99}
.place-map-dialog h2{font-size:1.8rem;margin:0 0 10px}
.place-map-intro,.place-map-status,.place-map-note{font-size:.8125rem;line-height:1.6;margin:10px 0}
.place-map-canvas{height:280px;width:100%;border:1px solid var(--line,#d8d0c0);background:#e6e3db}
.place-map-dialog .place-map-field{display:flex;flex-direction:column;gap:6px;margin-top:14px;font-size:.8125rem;font-weight:600}
.place-map-dialog .place-map-field input{width:100%;min-width:0;min-height:44px;box-sizing:border-box;border:1px solid #b7b5af;border-radius:4px;background:#fff;padding:10px;color:#10252d;font:inherit;font-size:16px}
.place-map-coordinates{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.place-map-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:20px}
.place-map-actions button{min-height:44px}
.place-map-pin{position:absolute;width:20px;height:20px;border:3px solid #fff;border-radius:50% 50% 50% 0;background:#233f8f;box-shadow:0 1px 5px #0007;transform:translate(-50%,-100%) rotate(-45deg);pointer-events:none}
@media(max-width:480px){.place-map-dialog{padding:18px}.place-map-canvas{height:240px}.place-map-coordinates{gap:10px}.place-map-actions button{flex:1}.place-search-results{max-height:220px}}
