.destinationRoute{position:absolute;top:12px;left:12px;z-index:100;box-sizing:border-box;width:max-content;max-width:min(360px,calc(100% - 24px));padding:10px 12px;border:1px solid #dbe1e8;border-radius:14px;background:#fff;box-shadow:0 3px 12px #26365020;color:#536276;font-size:12px;line-height:1.5;text-align:left}
.destinationRoute button,.destinationRoute a{border:1px solid #dbe1e8;border-radius:9px;background:white;color:#2865b9;padding:8px;font:inherit;min-height:40px;cursor:pointer;text-decoration:none}
.destinationRoute button:disabled{opacity:.6;cursor:wait}
.destinationRoute p{margin:8px 0}.routeActions{display:flex;flex-wrap:wrap;gap:6px}.destinationRoute ol{padding-left:22px;max-height:110px;overflow:auto;margin:8px 0}.destinationRoute :focus-visible{outline:2px solid #2878e8;outline-offset:2px}

.destinationRoute summary{cursor:pointer;margin-top:6px}.destinationRoute details[open] ol{max-height:110px;overflow:auto}

/* Routing owns the map surface; collapsed chat and nearby trays must not stack at the bottom. */
body.routeNavigating #chatDock,body.routeNavigating #nearbyResults,body.routeNavigating #nearbyReopen,body.routeNavigating #areaLegend,body.routeNavigating #mobileListBtn,body.routeNavigating #areaPanel{display:none!important}
body.routeNavigating .destinationRoute{max-height:calc(100% - 24px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:900px){
 body.routeNavigating #chatLauncher{display:block;position:fixed;z-index:99;right:8px;top:45%;bottom:auto;min-width:40px;min-height:44px;padding:10px 8px;border:1px solid #ded8f3;border-radius:12px;background:#6157d9;color:#fff;font:600 12px/1.5 system-ui;writing-mode:vertical-rl}
 body.routeNavigating .destinationRoute{left:8px;top:8px;max-width:calc(100% - 64px);max-height:calc(100% - 16px);padding:8px 10px}
}

/* Compact, editable endpoints. Results update without rebuilding focused inputs. */
body.cleanMap .destinationRoute{width:360px;max-width:calc(100% - 24px)}
.routeEditorHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:16px;color:#202124}
.destinationRoute .routeEditorHeader button{border:0;padding:0;min-height:32px;width:32px;font-size:23px;color:#5f6368}
.routeField{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:6px;margin:6px 0}
.routeField label{font-size:12px;color:#5f6368}
.destinationRoute .routeField input{box-sizing:border-box;width:100%;min-width:0;height:42px;padding:8px 10px;border:1px solid #dadce0;border-radius:8px;background:#fff;color:#202124;font:400 16px/1.4 system-ui}
.routeEditorControls{display:flex;gap:5px;margin-top:9px;align-items:center}
.destinationRoute .routeEditorControls button,.destinationRoute .routeEditorControls select{box-sizing:border-box;min-height:40px;padding:6px 8px;font:500 13px/1.3 system-ui;white-space:nowrap}
.routeEditorControls select{min-width:0;max-width:82px;border:1px solid #dadce0;border-radius:8px;background:#fff;color:#202124}
.destinationRoute .routeSubmit{flex:1;background:#1a73e8;color:white;border-color:#1a73e8}
.routeSuggestions{grid-column:1/-1;max-height:180px;overflow-y:auto;border:1px solid #dadce0;border-radius:8px;padding:3px;background:#fff}
.routeSuggestions[hidden]{display:none}
.destinationRoute .routeSuggestions button{display:block;width:100%;text-align:left;border:0;padding:8px;color:#202124;border-radius:5px}
.routeSuggestions button[aria-selected=true],.routeSuggestions button:hover{background:#e8f0fe}
.routeSuggestions strong,.routeSuggestions small{display:block;white-space:normal;overflow-wrap:anywhere}
.routeSuggestions small{font-size:11px;color:#69737b;padding:3px 0}
.routeResult:empty{display:none}
@media(max-width:900px){body.cleanMap .destinationRoute{width:calc(100% - 16px);max-width:calc(100% - 16px)}.destinationRoute .routeField input{height:40px}.routeSuggestions{max-height:150px}}

/* Closing directions leaves only a small reopen button, never a summary window. */
.destinationRoute [hidden]{display:none!important}
.destinationRoute .routeTrip{margin:0 0 4px;font-size:13px;font-weight:600;color:#334155;overflow-wrap:anywhere}
.destinationRoute .routeStatus{margin:6px 0 10px;color:#123b70;font-size:14px;font-weight:600;line-height:1.35}
.destinationRoute .routeActions button,.destinationRoute .routeActions a{min-height:44px;font-size:13px;font-weight:600;padding:9px 12px}
.destinationRoute .routeReopen{background:#1a63cf;color:#fff;border-color:#1a63cf}
.destinationRoute .routeEnd{margin-left:auto;color:#92402e;background:#fff8f6;border-color:#f0d6ce}
.destinationRoute .routeEditorHeader{position:sticky;top:-10px;padding:6px 0;background:#fff;z-index:2}
.destinationRoute .routeEditorHeader button{min-width:44px;min-height:44px}
body.cleanMap .destinationRoute.routeCompact{top:auto;bottom:54px;left:12px;width:auto;max-width:calc(100% - 80px);padding:0;border:0;border-radius:24px;background:transparent;box-shadow:none;overflow:visible}
.destinationRoute.routeCompact .routeReopen{min-height:44px;padding:10px 16px;border:2px solid #fff;border-radius:24px;box-shadow:0 2px 10px #17345a33;white-space:nowrap;font-size:13px}
.destinationRoute.routeCompact .routeActions{gap:6px}
.destinationRoute details summary{min-height:44px;display:flex;align-items:center;font-size:14px;font-weight:600;color:#234d7e}
.destinationRoute details li{padding:6px 2px;font-size:14px;color:#26374d}
@media(max-width:900px){
 body.cleanMap .destinationRoute.routeCompact{left:8px;bottom:max(54px,env(safe-area-inset-bottom));width:auto;padding:0}
 .destinationRoute.routeReady .routeStatus{font-size:21px}
 .destinationRoute .routeActions button{flex:1;padding:8px 7px;white-space:nowrap}
 .destinationRoute .routeEditorHeader{top:-8px}
}

.destinationRoute.routeReady .routeStatus{font-size:21px;font-weight:750}

/* A collapsed route control is click-through except for its actual reopen button. */
body.cleanMap .destinationRoute:not(.routeCompact){overflow-y:auto;overscroll-behavior:contain}
body.cleanMap .destinationRoute.routeCompact{pointer-events:none}
body.cleanMap .destinationRoute.routeCompact .routeReopen{pointer-events:auto}
