/* Telemetry occupies the existing opportunities area; no outer card/grid dimensions changed. */
.fleet-live-opportunities { position:relative; display:grid; min-width:0; min-height:0; overflow:hidden; }
.fleet-live-reserve { display:grid; visibility:hidden; pointer-events:none; min-width:0; min-height:0; }
.fleet-live-overlay { position:absolute; inset:0; display:grid; grid-template-rows:64px minmax(0,1fr); gap:6px; min-height:0; }
.fleet-live-band { display:grid; grid-template-columns:70px minmax(0,1fr); align-items:center; min-width:0; min-height:0; gap:8px; padding:4px 8px; border:1px solid #d5e4f8; border-radius:9px; background:#f3f9ff; color:#233d62; text-align:left; font-size:11px; line-height:1.25; box-shadow:none; }
.fleet-live-band .fleet-live-gauge { display:flex; flex-direction:column; align-items:center; justify-content:center; align-self:stretch; border-right:1px solid #d5e4f8; padding-right:8px; }
.fleet-live-gauge b { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:30px; line-height:1; font-variant-numeric:tabular-nums; letter-spacing:-1px; }
.fleet-live-gauge small { font-size:9px; line-height:1.3; }
.fleet-live-gauge.is-parked b { border:1px solid currentColor; border-radius:5px; padding:0 7px; font-size:27px; }
.fleet-live-readings { display:flex; flex-direction:column; min-width:0; gap:1px; }
.fleet-live-readings strong,.fleet-live-readings small { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.fleet-live-readings strong { font-size:11px; font-weight:600; }
.fleet-live-readings small { font-size:10px; }
.fleet-live-band:focus-visible { outline:2px solid #245b99; outline-offset:2px; }
.fleet-live-band[data-communication="delayed"],.fleet-live-band[data-communication="lost"] { background:#fff8e8; border-color:#efdcb8; }
.fleet-live-overlay .transport-fleet-empty-box { min-height:0; padding:.3rem .65rem; }
.fleet-live-overlay .transport-fleet-empty-box p { display:none; }
.fleet-live-overlay .transport-fleet-opportunity-list { overflow:hidden; min-height:0; align-content:start; }
.fleet-live-overlay .transport-fleet-opportunity-block { overflow:hidden; }
.fleet-live-overlay .transport-fleet-section-title { padding:.3rem .62rem; }
.fleet-live-filters { display:flex; gap:5px; flex-wrap:wrap; }
.fleet-live-filters select { font-size:11px; max-width:190px; }
.fleet-live-dialog { width:min(900px,95vw); max-height:90vh; overflow:auto; border:1px solid #d5e4f8; border-radius:14px; padding:16px; color:#233d62; background:white; }
.fleet-live-dialog::backdrop { background:#12244088; }
.fleet-live-dialog header { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.fleet-live-dialog h4 { font-weight:650; margin:12px 0 6px; }
.fleet-live-dialog p { margin:8px 0; font-size:13px; }
.fleet-live-map { height:280px; margin:10px 0; border-radius:8px; background:#eef5fc; }
.fleet-live-history { overflow:auto; max-height:260px; }
.fleet-live-history table { width:100%; font-size:12px; }
.fleet-live-history td,.fleet-live-history th { text-align:left; padding:5px; }
.fleet-live-settings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:10px 0; }
@media(max-width:860px) { .fleet-live-overlay { grid-template-rows:60px minmax(0,1fr); } .fleet-live-settings { grid-template-columns:1fr; } }

.fleet-live-position label { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fleet-live-position button { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }

.fleet-live-filter-trigger { width:30px; padding:3px!important; }
.fleet-live-filter-actions { display:flex; gap:8px; justify-content:flex-end; margin-top:16px; }

/* Observed stops, not registered parking facilities. Markers exist only inside the map. */
.fleet-stop-marker { display:flex; align-items:center; justify-content:center; box-sizing:border-box; border:2px solid white; border-radius:6px; background:#245b99; color:white; font:bold 20px/1 sans-serif; box-shadow:0 1px 5px #0006; }
.fleet-stop-marker.stopped { background:#885900; }
.fleet-stop-marker:focus { outline:3px solid #111; outline-offset:3px; }
.fleet-stop-legend b { display:inline-block; padding:2px 6px; border-radius:4px; background:#245b99; color:white; }
.fleet-stop-popup section { margin:6px 0; }

/* Compact telemetry occupies exactly the former action cell. */
.transport-fleet-info-row .fleet-live-compact { position:relative; overflow:hidden; }
.fleet-live-size { visibility:hidden; pointer-events:none; }
.fleet-live-compact-content { position:absolute; inset:0; width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; padding:.25rem .3rem; border:0; border-radius:8px; overflow:hidden; }
.fleet-live-compact .fleet-live-gauge { flex-direction:row; gap:4px; align-self:auto; border:0; padding:0; }
.fleet-live-compact .fleet-live-gauge b { font-size:25px; }
.fleet-live-compact .fleet-live-gauge.is-parked b { font-size:23px; padding:0 5px; }
.fleet-live-compact .fleet-live-arrival { font-size:9px; line-height:1.3; max-width:100%; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.transport-fleet-main-grid > .transport-fleet-opportunity-block .transport-fleet-opportunity-list { overflow:hidden; grid-template-rows:repeat(2,minmax(0,1fr)); min-height:0; }
.transport-fleet-step .fleet-step-place { font-weight:600; }
.transport-fleet-step .fleet-step-city { font-size:.61rem; }
/* Two ranked offers fit even when cargo and location labels are long. */
.transport-fleet-main-grid > .transport-fleet-opportunity-block .transport-fleet-match-tile { padding:.32rem .45rem; min-height:0; overflow:hidden; }
.transport-fleet-main-grid > .transport-fleet-opportunity-block .transport-fleet-match-tile strong { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.transport-fleet-main-grid > .transport-fleet-opportunity-block .transport-fleet-match-meta { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:0 .3rem; line-height:1.15; }
.transport-fleet-main-grid > .transport-fleet-opportunity-block .transport-fleet-match-meta span:last-child { grid-column:1/-1; }
.transport-fleet-main-grid > .transport-fleet-opportunity-block .transport-fleet-match-money { flex-wrap:nowrap; overflow:hidden; white-space:nowrap; line-height:1.15; }
.transport-fleet-main-grid > .transport-fleet-opportunity-block .transport-fleet-match-money span { overflow:hidden; text-overflow:ellipsis; }

/* No pulse or simulated movement: position changes only with fresh telemetry. */
.fleet-route-progress { position:absolute; left:4px; top:calc(var(--route-progress) + .44rem); transform:translate(-50%,-50%); width:6px; height:6px; border-radius:50%; background:#0f766e; box-shadow:0 0 0 2px #fff; z-index:1; }
.fleet-route-progress:focus-visible { outline:2px solid #0f766e; outline-offset:2px; }
@media(max-width:860px) { .fleet-route-progress { top:.44rem; left:calc(var(--route-progress) + var(--route-gap) + 4px); } }
