.live-location-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(180px, 230px) auto auto;
  gap: 10px;
  align-items: end;
}

.team-summary { grid-template-columns: repeat(3, minmax(150px, 1fr)); }

.live-location-status-filter {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.live-location-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(110px, 0.6fr)) minmax(240px, 1.4fr);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  overflow: hidden;
  box-shadow: var(--shadow);
}

.live-location-summary > div,
.live-location-summary > p {
  min-width: 0;
  margin: 0;
  border-right: 1px solid var(--line);
  padding: 13px 15px;
}

.live-location-summary > div {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 2px 9px;
}

.live-location-summary > p {
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-right: 0;
  background: #f7faf9;
}

.live-location-summary strong { font-size: 22px; }
.live-location-summary small { color: var(--muted); font-size: 11px; }
.live-location-summary > div small { grid-column: 2; }

.live-location-dot,
.live-location-state i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #9aa6a3;
}

.live-location-dot.live,
.live-location-state.live i { background: #12805c; box-shadow: 0 0 0 4px rgba(18, 128, 92, 0.12); }
.live-location-dot.delayed,
.live-location-state.delayed i { background: #d18b15; }
.live-location-dot.offline,
.live-location-state.offline i { background: #c74545; }

.live-location-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(320px, 0.75fr);
  gap: 14px;
  min-height: 600px;
}

.live-location-map-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-width: 0;
  min-height: 600px;
  padding: 0;
  overflow: hidden;
}

.live-location-map-panel .section-title { padding: 14px 16px; }

.live-location-map {
  position: relative;
  min-height: 530px;
  background: #e8efed;
}

.live-location-map[data-map-error]::after {
  position: absolute;
  inset: 50% auto auto 50%;
  width: min(380px, calc(100% - 32px));
  transform: translate(-50%, -50%);
  border: 1px solid var(--line);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.96);
  padding: 14px;
  color: var(--muted);
  content: attr(data-map-error);
  text-align: center;
  box-shadow: var(--shadow);
}

.live-location-list-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-width: 0;
  min-height: 600px;
  padding: 0;
  overflow: hidden;
}

.live-location-list-panel .section-title { padding: 14px 16px; }

.live-location-list {
  min-height: 0;
  overflow: auto;
  border-top: 1px solid var(--line);
}

.live-location-row {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  width: 100%;
  min-height: 82px;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: #fff;
  padding: 11px 13px;
  color: var(--ink);
  text-align: left;
}

.live-location-row:hover:not(:disabled) { background: #f4f8f7; }
.live-location-row.selected {
  background: #edf6f3;
  box-shadow: inset 3px 0 0 #0f685e;
}
.live-location-row:disabled { cursor: default; opacity: 0.78; }

.live-location-avatar {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #e7f1ef;
  color: #0f685e;
  font-weight: 900;
}

.live-location-person,
.live-location-facts { display: grid; gap: 3px; min-width: 0; }
.live-location-person strong,
.live-location-person small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.live-location-person small,
.live-location-facts small { color: var(--muted); font-size: 10px; }
.live-location-facts { justify-items: end; }
.live-location-facts small { display: flex; gap: 4px; align-items: center; }
.live-location-facts svg { width: 13px; height: 13px; }

.live-location-state {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}

.live-location-marker {
  width: 22px;
  height: 22px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #9aa6a3;
  padding: 0;
  box-shadow: 0 3px 10px rgba(24, 46, 43, 0.3);
}

.live-location-marker.live { background: #12805c; }
.live-location-marker.delayed { background: #d18b15; }
.live-location-marker.offline { background: #c74545; }

.live-location-settings-grid {
  display: grid;
  grid-template-columns: minmax(300px, 0.7fr) minmax(0, 1.3fr);
  gap: 14px;
  align-items: start;
}

.live-location-schedule-panel .search-field { margin-bottom: 12px; }

@media (max-width: 1100px) {
  .live-location-toolbar { grid-template-columns: minmax(220px, 1fr) minmax(170px, 220px) auto; }
  .live-location-toolbar [data-go-view="live-location-settings"] { grid-column: 1 / -1; justify-self: start; }
  .live-location-summary { grid-template-columns: repeat(4, minmax(90px, 1fr)); }
  .live-location-summary > p { grid-column: 1 / -1; border-top: 1px solid var(--line); }
  .live-location-workspace { grid-template-columns: 1fr; }
  .live-location-list-panel { min-height: 320px; max-height: 480px; }
}

@media (max-width: 720px) {
  .live-location-toolbar { grid-template-columns: 1fr 1fr; }
  .live-location-toolbar .search-field { grid-column: 1 / -1; }
  .live-location-toolbar button { width: 100%; }
  .live-location-toolbar [data-go-view="live-location-settings"] { grid-column: auto; }
  .live-location-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .live-location-summary > div:nth-child(2) { border-right: 0; }
  .live-location-summary > div:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
  .live-location-map-panel,
  .live-location-workspace { min-height: 520px; }
  .live-location-map { min-height: 450px; }
  .live-location-settings-grid { grid-template-columns: 1fr; }
}

@media (max-width: 460px) {
  .live-location-toolbar { grid-template-columns: 1fr; }
  .live-location-toolbar [data-go-view="live-location-settings"] { grid-column: 1; }
  .live-location-row { grid-template-columns: 36px minmax(0, 1fr); }
  .live-location-facts { grid-column: 2; grid-auto-flow: column; justify-content: start; justify-items: start; }
  .live-location-map-panel,
  .live-location-workspace { min-height: 460px; }
  .live-location-map { min-height: 390px; }
}
