.gps-match,
.gps-match > *,
.gps-match #gpsTable,
.gps-match .gps-match-table-scroll {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}
.gps-match { width: 100%; }
.gps-match .gps-match-table-scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 700px) {
  .gps-match { gap: 10px; }
  .gps-match-header,
  .gps-match-filters,
  .gps-match-metrics,
  .gps-match-toolbar,
  .gps-match-note { padding: 10px; }
  .gps-match-header h2 { font-size: 1.15rem; }
  .gps-match-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gps-match-filters > :nth-child(n+3) { grid-column: 1 / -1; }
  .gps-match-filters input,
  .gps-match-filters select { min-width: 0; }
  .gps-match-metrics,
  .gps-match-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gps-match-metrics button,
  .gps-match-tiles button { min-width: 0; overflow-wrap: anywhere; }
  .gps-match-toolbar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gps-match-toolbar label { min-width: 0; }
  .gps-match-table-toolbar { min-width: 0; }
  .gps-match-table-scroll { max-height: none; overflow: visible; border: 0; background: transparent; }
  .gps-match-table { display: block; width: 100%; min-width: 0; border-collapse: separate; }
  .gps-match-table thead { display: none; }
  .gps-match-table tbody { display: block; }
  .gps-match-table tr:not(.gps-detail-row) {
    display: block;
    margin: 0 0 10px;
    padding: 5px 10px;
    border: 1px solid #d4e0ef;
    border-radius: 12px;
    background: #fff;
  }
  .gps-match-table tr[hidden] { display: none !important; }
  .gps-match-table td {
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
    width: 100%;
    padding: 8px 2px;
    overflow-wrap: anywhere;
  }
  .gps-match-table td::before {
    flex: 0 0 auto;
    color: #60748b;
    font-weight: 600;
  }
  .gps-match-table:not(.gps-match-day-table) tr:not(.gps-detail-row) td:nth-child(1)::before { content: 'ردیف'; }
  .gps-match-table:not(.gps-match-day-table) tr:not(.gps-detail-row) td:nth-child(2)::before { content: 'مشتری'; }
  .gps-match-table:not(.gps-match-day-table) tr:not(.gps-detail-row) td:nth-child(3)::before { content: 'فروشنده'; }
  .gps-match-table:not(.gps-match-day-table) tr:not(.gps-detail-row) td:nth-child(4)::before { content: 'مسیر'; }
  .gps-match-table:not(.gps-match-day-table) tr:not(.gps-detail-row) td:nth-child(5)::before { content: 'روز / وضعیت'; }
  .gps-match-table:not(.gps-match-day-table) tr:not(.gps-detail-row) td:nth-child(6)::before { content: 'ویزیت ویژن'; }
  .gps-match-table:not(.gps-match-day-table) tr:not(.gps-detail-row) td:nth-child(7)::before { content: 'عدم مراجعه / ساور'; }
  .gps-match-table:not(.gps-match-day-table) tr:not(.gps-detail-row) td:nth-child(8)::before { content: 'پوشش'; }
  .gps-match-table:not(.gps-match-day-table) tr:not(.gps-detail-row) td:nth-child(9)::before { content: 'جزئیات'; }
  .gps-match-table .gps-detail-row { display: block; margin: -8px 0 12px; }
  .gps-match-table .gps-detail-row td { display: block; padding: 0; }
  .gps-match-table .gps-detail-row td::before { content: none; }
  .gps-match-schedule-detail { min-width: 0; padding: 10px; }
  .gps-match-day-table tr:not(.gps-detail-row) td:nth-child(1)::before { content: 'تاریخ نوبت'; }
  .gps-match-day-table tr:not(.gps-detail-row) td:nth-child(2)::before { content: 'مراجعهٔ ویژن'; }
  .gps-match-day-table tr:not(.gps-detail-row) td:nth-child(3)::before { content: 'شرح ثبت‌شده'; }
  .gps-match-detail { grid-template-columns: minmax(0, 1fr); }
  .gps-coverage { min-width: 0; width: min(120px, 55%); }
}

@media (max-width: 360px) {
  .gps-match-metrics,
  .gps-match-tiles { grid-template-columns: minmax(0, 1fr); }
}
