#stops .stop-row { display:block; margin:8px 0; }
.stop-fields { display:grid; grid-template-columns:24px minmax(0,1fr) 44px; gap:5px; align-items:center; }
.stop-number { font-size:13px; font-weight:800; text-align:center; }
#stops .stop-row input { width:100%; min-width:0; padding:0 10px; }
#stops .stop-row button { min-height:44px; }
#stops .stop-order { display:flex; justify-content:flex-end; gap:6px; margin-top:4px; }
#stops .stop-order button { font-size:13px; padding:4px 12px; background:var(--raised,#eef3f8); color:var(--ink,#172033); }
#stops button:disabled { opacity:.35; }
#stops .suggestion { width:100%; font-size:15px; text-align:left; padding:10px; color:var(--ink,#172033); background:var(--raised,#fff); }
#stops .suggestion small { display:block; }
#routePreviewLabel { position:absolute; z-index:36; top:calc(max(8px,env(safe-area-inset-top)) + 40px); left:12px; right:70px; max-width:380px; background:#123344; color:#fff; border:1px solid #67e8f9; border-radius:12px; padding:9px 12px; font-size:13px; box-shadow:0 2px 12px #0005; pointer-events:none; }
#routePreviewLabel strong,#routePreviewLabel span { display:block; }
#routePreviewLabel span { font-size:12px; margin-top:3px; }
@media (min-width:760px) { #routePreviewLabel { left:425px; top:calc(max(8px,env(safe-area-inset-top)) + 40px); } }

.app:has(#planView:not(.hidden)) .sheet { z-index:40; }
#cancelRoute { display:none; }
.route-calculating #planView > :not(.plan-head):not(#routeProgress):not(#routeError):not(#cancelRoute) { display:none; }
.route-calculating #cancelRoute { display:block; }
.route-calculating .sheet { top:auto; max-height:40%; height:auto; }
.route-calculating #routeProgress { margin:12px 0; }
