.transport-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:16px;margin-block:20px}
.transport-map-panel,.transport-vehicles{min-width:0}
.transport-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:12px}
.transport-toolbar label{display:grid;gap:4px;margin-right:auto}
.transport-map{position:relative;height:clamp(290px,50vw,440px);overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#f2efe6}
.transport-map canvas,.transport-map #transport-pins{position:absolute;inset:0;width:100%;height:100%}
.transport-pin{position:absolute;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:2px;border:0;background:none;color:#142e2a;padding:0;font-weight:750;white-space:nowrap}
.transport-pin .transport-pin-vehicle{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:2px solid white;background:#14504b;color:#fff;box-shadow:0 2px 9px #182c4b50}
.transport-pin[data-kind="taxi"] .transport-pin-vehicle{background:#ffd339;color:#282109}
.transport-pin .transport-pin-name{border-radius:4px;background:#fff;padding:2px 6px;font-size:.72rem;box-shadow:0 1px 4px #182c4b22}
.transport-pin[aria-pressed="true"] .transport-pin-vehicle{outline:3px solid #172c39;outline-offset:2px}
.transport-me{position:absolute;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:3px;font-size:.7rem;font-weight:750;white-space:nowrap;pointer-events:none}
.transport-me::before{content:"";width:17px;height:17px;border:3px solid white;border-radius:50%;background:#1d70dc;box-shadow:0 0 0 5px #1d70dc35}
.transport-me[hidden]{display:none}
.transport-me span{background:#fff;border-radius:4px;padding:2px 5px}
.transport-distance{color:#173a61;font-weight:750;font-variant-numeric:tabular-nums}
.transport-plate{display:block;width:fit-content;margin:7px 0 4px;padding:4px 7px;border:1px solid #d2d9d3;border-radius:5px;background:#fafaf5;font-size:.82rem;letter-spacing:.03em}
.transport-origin-label{color:var(--muted);font-size:.85rem}
.transport-watermark{position:absolute;bottom:8px;left:8px;background:white;border-radius:5px;padding:2px 8px;font-size:.8rem;pointer-events:none}
.transport-vehicles li button{display:block;text-align:left;font-weight:750;background:transparent;color:inherit;border:0;padding:0;text-decoration:underline;text-underline-offset:3px}
.transport-vehicles h2{margin-top:0}
.transport-call{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.transport-call .button{margin-top:10px}
.transport-call input[type="checkbox"]{width:18px;height:18px;min-width:18px;vertical-align:middle}
.transport-stop-pin{position:absolute;z-index:1;transform:translate(-50%,26px);padding:3px 7px;border:2px solid #17685f;border-radius:5px;background:white;color:#174c45;font-size:.7rem;white-space:nowrap;box-shadow:0 1px 4px #182c4b30}
.transport-stop-pin::before{content:"";position:absolute;left:calc(50% - 3px);top:-29px;width:6px;height:27px;background:#17685f}
.transport-stop-pin[aria-pressed="true"]{outline:3px solid #e6aa22}
.transport-pin{z-index:2}
.transport-stops{list-style:none;padding:0;display:grid;gap:8px}
.transport-stops li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px}
.transport-stops strong{font-size:.9rem;color:#17685f;font-variant-numeric:tabular-nums}
@media(max-width:760px){.transport-layout{grid-template-columns:1fr}}
