/* The header and actions remain visible around the map on small screens. */
dialog.locationPickerDialog{width:min(720px,calc(100vw - 24px));height:min(760px,90dvh);max-width:none;max-height:90dvh;padding:0;overflow:hidden;border:0;border-radius:18px;box-sizing:border-box;background:#fff;color:#14375c}
dialog.locationPickerDialog[open]{display:flex;flex-direction:column}
.locationPickerDialog [hidden]{display:none!important}
.locationPickerDialog::backdrop{background:#0c203ba8}
.locationPickerHeader,.locationPickerDialog>.dialogPinnedHeader{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#fff;border-bottom:1px solid #dce5ef;z-index:5}
.locationPickerHeader h2{font-size:19px;margin:0}
.locationPickerHeader .close{width:44px;height:44px;min-width:44px;padding:0;line-height:1;border:0;border-radius:10px;background:#eef4fa;color:#163d69;font-size:28px;flex:0 0 auto}
.locationPickerDialog>.dialogScrollBody{display:flex;flex:1;min-height:0;overflow:auto;padding:0}
.locationPickerBody{display:flex;flex-direction:column;flex:1;min-height:0;padding:12px;gap:8px;box-sizing:border-box}
.locationPickerToolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto}
.locationPickerInstruction{font-size:14px;line-height:1.55;margin:0}
.locationPickerToolbar button{white-space:nowrap;font-size:13px;min-height:44px;padding:8px 12px}
.locationPickerMap{position:relative;flex:1;min-height:180px;overflow:hidden;background:#e7edf2;border:1px solid #d5e0ed;border-radius:12px;direction:ltr;touch-action:none;cursor:grab;isolation:isolate}
.locationPickerMap:active{cursor:grabbing}
.locationPickerMap:focus-visible,.locationPickerDialog button:focus-visible,.locationPickerDialog a:focus-visible{outline:3px solid #075ee5;outline-offset:2px}
.locationPickerTiles,.locationPickerRoute{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.locationPickerTiles img{position:absolute;top:0;left:0;width:256px;height:256px;max-width:none;user-select:none}
.locationPickerPin{position:absolute;top:50%;left:50%;width:32px;height:43px;transform:translate(-50%,-100%);pointer-events:none;filter:drop-shadow(0 2px 2px #15375666);z-index:3}
.locationPickerPin svg{display:block;width:100%;height:100%}
.locationPickerPin path{fill:#c93434;stroke:#fff;stroke-width:2}
.locationPickerPin circle{fill:#fff}
.locationPickerRoute{z-index:2;overflow:visible}
.locationPickerRoute polyline{fill:none;stroke:#075ee5;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px #fff)}
.locationPickerEndpoint{position:absolute;padding:5px 8px;max-width:110px;white-space:nowrap;background:#fff;border:2px solid;border-radius:12px;box-shadow:0 2px 5px #122b4640;font-size:12px;font-weight:700;transform:translate(-50%,-100%);pointer-events:none;z-index:3;direction:rtl}
.locationPickerOrigin{border-color:#17824a;color:#116333}
.locationPickerDestination{border-color:#c93434;color:#9d2424}
.locationPickerZoom{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:5px;z-index:4}
.locationPickerZoom button{width:44px;height:44px;min-height:44px;padding:0;background:#fff;border:1px solid #b8cce0;border-radius:8px;box-shadow:0 1px 4px #15375633;color:#14375c;font-size:25px;line-height:1}
.locationPickerDialog button:disabled{opacity:.48;cursor:default}
.locationPickerAttribution{position:absolute;right:0;bottom:0;z-index:4;max-width:calc(100% - 12px);padding:3px 6px;background:#fffffff0;font-size:10px;line-height:1.5;text-align:right;direction:rtl;color:#254e77}
.locationPickerAttribution a{color:inherit}
.locationPickerStatus{margin:0;min-height:22px;font-size:13px;line-height:1.6;flex:0 0 auto}
.locationPickerTileError{padding:8px 10px;background:#fff4e3;border-radius:9px;color:#6b4619;font-size:13px;line-height:1.5;display:flex;align-items:center;gap:8px}
.locationPickerTileError button{font-size:12px;min-height:40px;padding:6px 10px;flex:0 0 auto}
.locationPickerFooter{display:flex;gap:8px;flex:0 0 auto;background:#fff;padding-top:3px}
.locationPickerFooter button{min-height:44px;padding:9px 14px}
.locationPickerFooter .primary{flex:1}
@media(max-width:480px){dialog.locationPickerDialog{width:calc(100vw - 16px);height:90dvh;border-radius:14px}.locationPickerHeader,.locationPickerDialog>.dialogPinnedHeader{padding:8px 10px}.locationPickerHeader h2{font-size:17px}.locationPickerBody{padding:9px;gap:7px}.locationPickerToolbar{align-items:flex-start;gap:7px}.locationPickerToolbar button{font-size:12px;padding:7px 8px}.locationPickerInstruction{font-size:13px}.locationPickerMap{min-height:160px}.locationPickerTileError{flex-wrap:wrap}}
@media(max-height:480px){dialog.locationPickerDialog{height:calc(100dvh - 12px);max-height:calc(100dvh - 12px)}.locationPickerBody{min-height:240px}.locationPickerMap{min-height:110px}.locationPickerHeader,.locationPickerDialog>.dialogPinnedHeader{padding:4px 10px}.locationPickerInstruction,.locationPickerStatus{font-size:12px}}
