/* Route v2 S10 next-stops strip + S11 map strip. Tokens only (--rt-*, site colors). */
.rt-next { display: grid; gap: var(--rt-gap); margin: var(--rt-gap) 0; }
.rt-nx { display: grid; grid-template-columns: 1fr auto; gap: var(--rt-gap); align-items: center; padding: var(--rt-pad); border-radius: var(--rt-radius); background: var(--card, var(--panel)); animation: rt-in var(--rt-slide) var(--rt-ease); }
.rt-nx.is-gone { display: none; }
.rt-nx-ph { grid-column: 1 / -1; height: 132px; border-radius: var(--rt-radius-sm); overflow: hidden; }
.rt-nx-ph img { width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity var(--rt-fade); }
.rt-nx-ph img.in { opacity: 1; }
.rt-nx-txt { display: grid; grid-template-columns: auto 1fr; column-gap: var(--rt-gap); min-width: 0; }
.rt-nx-n { grid-row: span 2; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--rt-accent); color: var(--bg); }
.rt-nx-txt strong, .rt-nx-txt small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rt-nx-acts { display: flex; gap: var(--rt-gap); }
.rt-nx-acts .field-skip, .rt-nx-acts .field-drive { min-height: var(--rt-tap); }
.rt-nx-chips { display: flex; gap: var(--rt-gap); overflow-x: auto; scrollbar-width: none; }
.rt-nx-stop { min-width: var(--rt-tap); height: var(--rt-tap); border-radius: var(--r-pill); }
.rt-nx-stop.on { background: var(--rt-accent); color: var(--bg); }
.rt-nx-stop.is-gone { display: none; }
[data-rp="stops"] .field-job.is-gone { display: none; }
.rt-skel { background: linear-gradient(90deg, var(--line) 25%, var(--panel) 50%, var(--line) 75%); background-size: 200% 100%; animation: rt-shim 1.2s linear infinite; }
.rt-busy { opacity: .7; pointer-events: none; }
.rt-undo { position: fixed; left: 50%; bottom: calc(var(--rt-bottom-space) + 12px); transform: translateX(-50%); z-index: var(--rt-z-toast); display: flex; gap: 12px; align-items: center; padding: 10px 14px; border-radius: var(--rt-radius-sm); background: var(--panel); box-shadow: 0 6px 20px rgb(0 0 0 / .35); animation: rt-in var(--rt-slide) var(--rt-ease); width: max-content; max-width: calc(100vw - 24px); box-sizing: border-box; }
.rt-undo button { color: var(--rt-accent); font-weight: 600; background: none; border: 0; min-height: var(--rt-tap); }
.rt-map .map-hold { height: 140px; border-radius: var(--rt-radius); transition: height var(--rt-slide) var(--rt-ease); position: relative; }
.rt-map.is-full .map-hold { height: calc(100dvh - var(--rt-bottom-space) - 40px); }
.rt-map-full { position: absolute; top: 8px; right: 8px; z-index: 500; }
.rt-map-hint { position: absolute; bottom: 8px; left: 50%; transform: translateX(-50%); z-index: 500; font-size: var(--fs-sm); padding: 2px 8px; border-radius: var(--r-pill); background: var(--panel); opacity: .8; pointer-events: none; width: max-content; max-width: calc(100vw - 24px); box-sizing: border-box; }
.rt-map .map-hold.is-live .rt-map-hint, .rt-map.is-full .rt-map-hint { display: none; }
@keyframes rt-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes rt-shim { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .rt-nx, .rt-undo { animation: none; } .rt-skel { animation: none; } }
