/* 城市地图 */
.city-tabs { display: flex; gap: 0; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--rule); }
.city-tabs .tab { flex: none; }
.city-tabs .tab { padding: 6px 10px; font-size: 13px; }
.place-row { cursor: pointer; padding: 9px 12px; }
.place-row:hover, .place-row.is-hover { border-color: var(--transit); }
.place-row__head { display: flex; gap: 10px; align-items: flex-start; }
.place-row__names { flex: 1; min-width: 0; }
.place-row.is-removed { opacity: .65; }

/* 距离表（所有页面共用）：手机和平板竖屏上的卡片样式 */
.dt-head .field { min-width: 0; }
@media (max-width: 599px), (max-width: 1024px) and (orientation: portrait) {
  .dt-head .field, .dt-head .field select { width: 100%; }
  table.dt td.dt-col-advice--none { display: none; }
  table.dt td.dt-col-dest .dt-dest > div { min-width: 0; overflow-wrap: anywhere; }
  table.dt .dt-actions .btn--ghost { border-color: var(--rule-strong); background: var(--card); color: var(--ink); }
}
/* 平板竖屏：两列卡片，别把手机卡片拉成一整行 */
@media (min-width: 600px) and (max-width: 1024px) and (orientation: portrait) {
  table.dt tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  table.dt tr { border-right: 1px solid var(--rule); align-content: start; }
  table.dt tr:nth-child(2n) { border-right: 0; }
  .dt-head .field { width: auto; flex: 1 1 240px; }
}
/* 横屏手机：面板窄，起点下拉占满一行 */
@media (orientation: landscape) and (max-height: 500px) {
  .dt-head .field, .dt-head .field select { width: 100%; }
}
