/* "Keep this stop": a quiet card in the stop sheet's flow, under the header. Never floats over the map. */
.bus-sheet .bus-retention { position:relative; display:grid; gap:6px; margin:10px 0 0; padding:12px 44px 12px 12px; border:1px solid var(--nv-line); border-radius:var(--nv-r); background:var(--nv-accent-soft,#fdf3d3); font-size:.8125rem; line-height:1.4; animation:bus-retention-in .25s ease-out; }
.bus-sheet .bus-retention strong { font-size:.875rem; }
.bus-sheet .bus-retention p { margin:0; color:var(--nv-muted); }
.bus-retention-actions { display:flex; flex-wrap:wrap; gap:6px; }
.bus-sheet .bus-retention-actions button, .bus-sheet .bus-retention-actions a { min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding:0 12px; border:1px solid var(--nv-line); border-radius:var(--nv-r); background:#fff; color:var(--nv-ink); font:600 .8125rem/1.2 var(--nv-font); text-decoration:none; }
.bus-sheet .bus-retention .bus-retention-close { position:absolute; top:0; right:0; width:44px; min-height:44px; padding:0; border:0; background:none; color:var(--nv-muted); font-size:1.5rem; line-height:1; }
@keyframes bus-retention-in { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) { .bus-sheet .bus-retention { animation:none; } }
