#mapTransportPanel { position:absolute; z-index:560; left:12px; right:12px; bottom:44px; max-height:48%; overflow:auto; padding:12px; border:1px solid var(--line); border-radius:16px; background:var(--panel); color:var(--ink); box-shadow:0 8px 30px #17342d26; font-size:12px; }
#mapTransportPanel[hidden] { display:none; }
#mapTransportPanel header { display:flex; align-items:center; gap:12px; margin-bottom:10px; }
#mapTransportPanel h3 { margin:0; font-size:15px; }
#mapTransportPanel header small { display:block; color:var(--muted); }
#mapTransportPanel select { min-width:0; flex:1; min-height:40px; color:var(--ink); background:var(--panel); border:1px solid var(--line); border-radius:9px; padding:7px; font:inherit; }
#mapTransportPanel button { color:var(--ink); font:inherit; cursor:pointer; }
#mapTransportPanel .transport-close { flex:0 0 40px; height:40px; border:1px solid var(--line); border-radius:9px; background:var(--panel); font-size:22px; }
.transport-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
#mapTransportPanel .transport-card { text-align:left; min-width:0; min-height:96px; padding:10px 12px; border:1px solid var(--line); border-top:3px solid var(--transport-color); border-radius:11px; background:var(--panel); }
.transport-card :is(span,strong,small) { display:block; }
.transport-card strong { margin:6px 0; color:var(--transport-color); font-size:22px; font-variant-numeric:tabular-nums; }
.transport-card strong em { display:inline-block; font-size:13px; line-height:1.4; font-weight:600; font-style:normal; color:var(--ink); }
.transport-card small { color:var(--muted); overflow-wrap:anywhere; }
#mapTransportPanel .transport-card:disabled { cursor:default; }
#mapTransportPanel .transport-card:enabled:hover { background:color-mix(in srgb,var(--transport-color) 6%,var(--panel)); }
#mapTransportPanel :is(button,select):focus-visible { outline:3px solid var(--teal); outline-offset:2px; }
.transport-error { display:flex; align-items:center; gap:10px; margin-top:10px; }
.transport-error button { min-height:40px; border:1px solid var(--line); border-radius:9px; background:var(--panel); }
#mapTransportAttribution { display:none; position:absolute; bottom:28px; right:8px; z-index:5; padding:1px 4px; background:#ffffffe6; font-size:10px; }
#mapTransportAttribution a { color:#475569; text-decoration:none; }
body.map-transport-open #mapTransportAttribution { display:block; }
body.map-transport-open :is(#mapAnalysisOverlay,#mapProjectPassport,#mapTopsDock) { display:none!important; }
#mapModal[data-transport-open="true"] .map-dialog-body { grid-template-rows:minmax(0,1fr); overflow:hidden; }
#mapModal[data-transport-open="true"] :is(.map-canvas-embed,.yandex-map,.map-loading-state) { min-height:0; height:100%; }
#mapModal[data-transport-open="true"] .map-data-panel { min-height:0; overflow-y:auto; }
@media(max-width:980px){
  #mapModal[data-transport-open="true"] .map-dialog-body { grid-template-rows:minmax(280px,1fr) minmax(0,24%); }
  #mapModal[data-transport-open="true"] .map-data-panel { max-height:100%; }
  #mapTransportPanel { max-height:calc(100% - 100px); left:8px; right:8px; padding:10px; }
  #mapTransportPanel header { flex-wrap:wrap; gap:8px; }
  #mapTransportPanel header>div { flex:1; }
  #mapTransportPanel select { flex-basis:100%; order:3; font-size:16px; }
  .transport-cards { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  #mapTransportPanel .transport-card { min-height:112px; padding:8px 6px; }
  .transport-card span { min-height:30px; font-size:11px; line-height:15px; overflow-wrap:anywhere; }
  .transport-card strong { font-size:17px; margin:5px 0; }
  .transport-card strong em { display:block; font-size:11px; }
  .transport-card small { font-size:11px; line-height:14px; }
}
@media(max-width:720px){
  #mapModal[data-transport-open="true"] { width:100vw; overflow:hidden; }
  #mapModal[data-transport-open="true"] .map-dialog { width:100%; max-width:100%; }
}
