.saved-route-view { width:100%; min-width:0; color:#243950; font-family:inherit; }
.saved-route-heading { margin:0; font-size:15px; line-height:1.5; font-weight:650; overflow-wrap:anywhere; }
.saved-route-subtitle { margin:3px 0 12px; font-size:12px; color:#718097; }
.saved-route-choices { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:12px; }
.saved-route-choice,.saved-route-retry { min-height:44px; border:1px solid #dbe4ef; border-radius:12px; padding:8px 11px; font:inherit; font-size:12px; color:#47617e; background:#fff; cursor:pointer; }
.saved-route-choice.is-active { border-color:#216cdd; background:#edf4ff; color:#1554b0; }
.saved-route-choice:focus-visible,.saved-route-retry:focus-visible,.saved-route-configure:focus-visible,.saved-route-details summary:focus-visible { outline:2px solid #216cdd; outline-offset:3px; }
.saved-route-title { margin:0 0 4px; font-size:14px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.saved-route-metadata { margin:0 0 6px; color:#466483; font-size:12px; line-height:1.6; }
.saved-route-note { margin:0 0 11px; color:#758399; font-size:12px; line-height:1.6; }
.saved-route-map { width:100%; height:288px; min-width:0; border:1px solid #e0e7ef; border-radius:13px; overflow:hidden; background:#f2f6fa; }
.saved-route-map-fallback { margin:0; height:100%; display:grid; place-items:center; padding:24px; box-sizing:border-box; text-align:center; color:#76879a; font-size:13px; line-height:1.7; }
.saved-route-map-status { margin:7px 0; font-size:11px; color:#7c8b9e; line-height:1.5; }
.saved-route-map-actions { display:flex; gap:10px; margin-top:10px; }
.saved-route-map-actions button { flex:1; min-height:44px; border:1px solid #d7e2f3; border-radius:10px; background:#edf3ff; color:#2554c7; font-size:13px; }
.route-map-my-location { padding:7px 10px; border:2px solid white; border-radius:18px; background:#2554c7; color:white; box-shadow:0 2px 8px #18395540; white-space:nowrap; font:13px/1.4 system-ui; }
.saved-route-retry { margin:0 0 8px; color:#185cb8; }
.saved-route-details { margin-top:10px; border-top:1px solid #e5ebf3; padding-top:7px; font-size:12px; color:#768499; }
.saved-route-details summary { min-height:36px; display:flex; align-items:center; cursor:pointer; color:#63758c; }
.saved-route-details summary::before { content:'＋'; margin-right:6px; }
.saved-route-details[open] summary::before { content:'−'; }
.saved-route-details p { margin:2px 0 8px; line-height:1.7; }
.saved-route-configure { display:inline-flex; align-items:center; min-height:44px; color:#2362b8; text-underline-offset:3px; }
.saved-route-view [hidden] { display:none !important; }
@media(max-width:420px) { .saved-route-map { height:280px; } .saved-route-heading { font-size:14px; } }
.saved-route-fullscreen { min-height:44px; border:1px solid #d7e2f3; border-radius:10px; background:#f6f8fb; color:#2554c7; font-size:13px; }
.saved-route-map-actions { margin-bottom:8px; }
.route-map-fullscreen .saved-route-fullscreen { display:none; }
dialog.route-map-fullscreen { position:fixed; inset:0; margin:0; padding:0; width:100vw; max-width:none; height:100dvh; max-height:none; border:0; border-radius:0; background:#fff; color:#243950; overflow:hidden; }
dialog.route-map-fullscreen[open] { display:flex; flex-direction:column; }
.route-map-fullscreen-header { display:flex; align-items:center; justify-content:space-between; flex-shrink:0; gap:12px; padding:calc(8px + env(safe-area-inset-top)) 16px 8px; border-bottom:1px solid #e0e7ef; }
.route-map-fullscreen-header button { min-height:44px; padding:0 14px; border-radius:10px; background:#edf3ff; color:#2554c7; font-size:14px; }
.route-map-fullscreen .saved-route-map-area { flex:1; min-height:0; display:flex; flex-direction:column; padding:12px 16px max(12px,env(safe-area-inset-bottom)); overflow:auto; }
.route-map-fullscreen .saved-route-map { flex:1; min-height:180px; height:auto; }
.route-map-fullscreen .route-map-canvas { min-height:180px!important; }
.route-map-fullscreen .saved-route-map-actions,.route-map-fullscreen .saved-route-map-status { flex-shrink:0; }
