.field-schedule-app {
  min-height: min(680px, calc(100vh - 230px));
  padding: 12px 14px 24px;
  background: #f6f8fb;
  color: #17324d;
}

body.field-schedule-active .person-filters,
body.field-schedule-active .period-picker,
body.field-schedule-active #scheduleRangeControl,
body.field-schedule-active #scheduleDensityControl,
body.field-schedule-active #shortcutHintBar {
  display: none !important;
}

.field-schedule-header,
.field-schedule-toolbar,
.field-schedule-filterbar {
  display: flex;
  align-items: center;
  gap: 10px;
}

.field-schedule-header {
  justify-content: space-between;
  margin-bottom: 10px;
}

.field-schedule-title h2 {
  margin: 0;
  font-size: 20px;
}

.field-schedule-title p {
  margin: 3px 0 0;
  color: #6b7c8f;
  font-size: 12px;
}

.field-schedule-toolbar,
.field-schedule-filterbar {
  flex-wrap: wrap;
  padding: 8px;
  border: 1px solid #dce4ed;
  background: #fff;
}

.field-schedule-toolbar {
  margin-bottom: 8px;
}

.field-schedule-filterbar {
  margin-bottom: 12px;
}

.field-schedule-segmented {
  display: inline-flex;
  border: 1px solid #cfd9e5;
  background: #f2f5f9;
  padding: 2px;
}

.field-schedule-segmented button {
  min-width: 48px;
  border: 0;
  background: transparent;
}

.field-schedule-segmented button.active {
  color: #0f5fe8;
  background: #fff;
  box-shadow: 0 1px 3px rgb(20 50 80 / 12%);
}

.field-schedule-nav {
  display: flex;
  align-items: center;
  gap: 6px;
}

.field-schedule-nav input,
.field-schedule-filterbar select {
  min-height: 34px;
  border: 1px solid #cfd9e5;
  background: #fff;
}

.field-schedule-filterbar label {
  display: grid;
  gap: 3px;
  color: #65768a;
  font-size: 11px;
}

.field-scope-buttons,
.field-type-buttons {
  display: inline-flex;
  align-self: end;
  gap: 4px;
  padding: 2px;
  border: 1px solid #cfd9e5;
  background: #f2f5f9;
}

.field-scope-buttons button,
.field-type-buttons button {
  min-height: 30px;
  border: 0;
  color: #52687d;
  background: transparent;
}

.field-scope-buttons button.active,
.field-type-buttons button.active {
  color: #0f5fe8;
  background: #fff;
  box-shadow: 0 1px 3px rgb(20 50 80 / 12%);
}

.field-view-preferences-modal { width: min(620px, calc(100vw - 28px)); }
.field-view-preferences-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
}
.field-view-preferences-form label { display: grid; gap: 5px; color: #5f7185; font-size: 12px; }
.field-view-preferences-form select { width: 100%; min-height: 38px; }
.field-view-preferences-form select:disabled {
  color: #8a98a8;
  border-color: #e1e6ec;
  background: #f1f3f6;
  cursor: not-allowed;
  opacity: 0.72;
}
.field-view-preferences-hint,
.field-view-preferences-form .settings-save-status { grid-column: 1 / -1; margin: 0; }
.field-view-preferences-form .field-device-preference { grid-column: 1 / -1; }
.field-device-preference small { color: #7a8998; line-height: 1.45; }
.field-view-preferences-hint { color: #718096; font-size: 12px; }

.field-schedule-add {
  margin-left: auto;
  color: #fff;
  border-color: #1769e0;
  background: #1769e0;
}

.field-schedule-summary {
  color: #5d7084;
  font-size: 12px;
}

.field-schedule-day-list {
  display: grid;
  gap: 10px;
}

.field-region-section {
  border-top: 3px solid #46b8a9;
  background: #fff;
  box-shadow: 0 1px 4px rgb(20 50 80 / 7%);
}

.field-region-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-bottom: 1px solid #e5ebf1;
}

.field-region-heading h3 {
  margin: 0;
  font-size: 15px;
}

.field-region-heading span {
  color: #728297;
  font-size: 12px;
}

.field-appointment {
  display: grid;
  grid-template-columns: 108px minmax(130px, 0.8fr) minmax(180px, 1.2fr) minmax(180px, 1fr) auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 10px 12px;
  border: 0;
  border-bottom: 1px solid #edf1f5;
  border-radius: 0;
  color: inherit;
  background: #fff;
  text-align: left;
}

.field-appointment:hover {
  background: #f7fbff;
}

.field-appointment-time {
  color: #0f5a9f;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}

.field-appointment-people,
.field-appointment-customer {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.field-appointment small {
  display: block;
  margin-top: 2px;
  color: #78889a;
}

.field-status {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 2px 8px;
  color: #36556e;
  background: #edf3f8;
  font-size: 11px;
  white-space: nowrap;
}

.field-status.completed { color: #08775f; background: #e6f7f1; }
.field-status.in_progress { color: #9a5a00; background: #fff4dc; }
.field-status.cancelled { color: #87919e; background: #f0f2f4; text-decoration: line-through; }

.field-appointment-badges {
  display: grid;
  justify-items: end;
  gap: 4px;
}

.field-support-badge {
  display: inline-flex;
  padding: 2px 6px;
  color: #9a5800;
  background: #fff1d8;
  font-size: 10px;
  white-space: nowrap;
}

.field-source-badge {
  display: inline-flex;
  padding: 2px 6px;
  border: 1px solid #9bd8cc;
  border-radius: 4px;
  color: #08735f;
  background: #e9f8f4;
  font-size: 10px;
  white-space: nowrap;
}

.mobile-service-sync-modal {
  width: min(920px, calc(100vw - 32px));
  max-height: min(820px, calc(100dvh - 32px));
}

.mobile-service-sync-body {
  display: grid;
  gap: 12px;
  min-height: 260px;
  padding: 16px;
  overflow: auto;
}

.mobile-sync-status-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.mobile-sync-status-grid article {
  display: grid;
  align-content: center;
  gap: 4px;
  min-height: 76px;
  padding: 10px 12px;
  border: 1px solid #dce5ed;
  border-top: 3px solid #6f8ba4;
  background: #f9fbfd;
}

.mobile-sync-status-grid span,
.mobile-sync-status-grid small,
.mobile-sync-map-head span,
.mobile-sync-map-row small {
  color: #74879a;
  font-size: 11px;
}

.mobile-sync-status-grid strong { color: #17324d; font-size: 15px; }
.mobile-sync-status-grid strong.ok { color: #08735f; }
.mobile-sync-status-grid strong.warn { color: #9a6500; }
.mobile-sync-status-grid strong.error { color: #b33b32; }

.mobile-sync-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 9px;
  border: 1px solid #dce5ed;
  background: #fff;
}

.mobile-sync-summary span {
  padding: 4px 8px;
  color: #536c82;
  background: #eef3f7;
  font-size: 12px;
}

.mobile-sync-map-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 4px;
}

.mobile-sync-map-list {
  display: grid;
  gap: 6px;
}

.mobile-sync-map-row {
  display: grid;
  grid-template-columns: minmax(220px, 0.9fr) minmax(260px, 1.1fr);
  align-items: center;
  gap: 12px;
  padding: 8px 10px;
  border: 1px solid #dce5ed;
  background: #fff;
}

.mobile-sync-map-row > span { display: grid; gap: 2px; min-width: 0; }
.mobile-sync-map-row strong,
.mobile-sync-map-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mobile-sync-map-row select { width: 100%; min-width: 0; min-height: 36px; }

.field-schedule-type {
  display: inline-flex;
  padding: 2px 6px;
  border: 1px solid #bfd4f7;
  border-radius: 4px;
  color: #1d5ea8;
  background: #eef6ff;
  white-space: nowrap;
}

.field-schedule-type.internal_field_support {
  border-color: #c9b9ed;
  color: #6946a5;
  background: #f5f0ff;
}

.field-schedule-type.internal {
  border-color: #a8d8ca;
  color: #18745f;
  background: #edf9f5;
}

.field-week-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(145px, 1fr));
  border: 1px solid #dce4ed;
  background: #dce4ed;
  gap: 1px;
  overflow-x: auto;
}

.field-week-day {
  min-height: 420px;
  padding: 8px;
  background: #fff;
}

.field-week-day.today { background: #f5f9ff; }
.field-week-day.weekend { background: #fbfcfd; }

.field-week-day > header {
  display: flex;
  justify-content: space-between;
  padding-bottom: 7px;
  margin-bottom: 7px;
  border-bottom: 1px solid #e5ebf1;
}

.field-week-item {
  width: 100%;
  margin-bottom: 6px;
  padding: 7px;
  border: 1px solid #dbe8f3;
  border-left: 3px solid #2e91c7;
  color: inherit;
  background: #f7fbfe;
  text-align: left;
}

.field-week-item strong,
.field-week-item span,
.field-week-item small {
  display: block;
}

.field-week-item small { color: #718196; }

.field-schedule-empty,
.field-schedule-loading {
  display: grid;
  place-items: center;
  min-height: 260px;
  border: 1px dashed #cbd6e2;
  color: #748599;
  background: #fff;
}

.field-schedule-modal {
  width: min(760px, calc(100vw - 28px));
  max-height: min(88dvh, 820px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
}

.field-schedule-form,
.field-schedule-detail {
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  overflow: hidden;
}

.field-schedule-form[hidden],
.field-schedule-detail[hidden] { display: none !important; }

.field-schedule-form-body {
  display: grid;
  gap: 12px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 14px 18px;
}

.field-schedule-form > footer,
.field-schedule-detail > footer {
  position: relative;
  z-index: 2;
  align-items: center;
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid #e3e9ef;
  background: #fff;
  box-shadow: 0 -5px 14px rgb(20 50 80 / 6%);
}

.field-footer-spacer { flex: 1; }

.field-navigation-control {
  position: relative;
  flex: 0 0 auto;
}

.field-navigation-control[hidden] { display: none !important; }

.field-navigation-buttons {
  display: inline-flex;
}

.field-navigation-buttons button {
  min-height: 36px;
  border: 1px solid #79aaf0;
  color: #155fc1;
  background: #eef6ff;
  font-weight: 700;
}

.field-navigation-main {
  min-width: 88px;
  padding: 6px 12px;
  border-radius: 6px 0 0 6px;
}

.field-navigation-toggle {
  width: 34px;
  padding: 4px;
  margin-left: -1px;
  border-radius: 0 6px 6px 0;
  font-size: 17px;
}

.field-navigation-menu {
  position: absolute;
  z-index: 12;
  left: 0;
  bottom: calc(100% + 8px);
  width: min(310px, calc(100vw - 32px));
  padding: 8px;
  border: 1px solid #d8e2ec;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 10px 28px rgb(20 50 80 / 18%);
}

.field-navigation-menu[hidden] { display: none !important; }

.field-navigation-menu > button:not(.field-navigation-reset) {
  display: grid;
  gap: 2px;
  width: 100%;
  padding: 9px 10px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  text-align: left;
}

.field-navigation-menu > button:not(.field-navigation-reset):hover { background: #eef6ff; }
.field-navigation-menu strong { color: #203a52; }
.field-navigation-menu small { color: #6a7c8e; }
.field-navigation-menu label {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 6px;
  padding: 9px 10px;
  border-top: 1px solid #e3e9ef;
  color: #40566c;
}
.field-navigation-menu input { width: 16px; height: 16px; }
.field-navigation-reset {
  width: 100%;
  border: 0;
  color: #155fc1;
  background: transparent;
}
.field-navigation-status {
  min-height: 16px;
  margin: 3px 10px 0;
  color: #16805d;
  font-size: 11px;
}

.field-schedule-detail-body {
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 16px 18px;
}

.field-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.field-detail-item {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid #e0e7ee;
  border-radius: 6px;
  background: #f8fafc;
}

.field-detail-item.wide { grid-column: 1 / -1; }
.field-detail-item span { color: #6a7c8e; font-size: 11px; }
.field-detail-item strong { color: #203a52; overflow-wrap: anywhere; white-space: pre-wrap; }

.field-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.field-form-grid .wide { grid-column: 1 / -1; }
.field-workforce-option {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 11px;
  border: 1px solid #d7e0ea;
  border-radius: 6px;
  background: #f8fafc;
}
.field-workforce-option[hidden] { display: none !important; }
.field-workforce-option span { display: inline-flex; align-items: center; gap: 7px; color: #24364b; }
.field-workforce-option small { color: #718096; }
.field-schedule-form label { display: grid; gap: 4px; color: #5f7185; font-size: 12px; }
.field-schedule-form input,
.field-schedule-form select,
.field-schedule-form textarea { width: 100%; }

.field-people-picker {
  display: grid;
  gap: 10px;
  max-height: 250px;
  overflow: auto;
  padding: 0 10px 10px;
  border: 1px solid #d9e2eb;
  border-radius: 6px;
  background: #f9fbfd;
}

.field-people-actions {
  position: sticky;
  z-index: 2;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 38px;
  padding: 6px 0;
  border-bottom: 1px solid #dce5ed;
  color: #526d85;
  background: #f9fbfd;
  font-size: 12px;
}

.field-people-actions > span:last-child { display: flex; gap: 5px; }
.field-people-actions button { min-height: 27px; padding: 3px 9px; }

.field-people-group {
  display: grid;
  gap: 6px;
}

.field-people-group > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2px;
  color: #35546f;
  font-size: 11px;
}

.field-people-group > header span { color: #8191a1; font-weight: 400; }

.field-people-group.support > header {
  margin-top: 3px;
  padding-top: 8px;
  border-top: 1px solid #dce5ed;
  color: #9a5800;
}

.field-people-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.field-people-picker .field-person-option {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 6px 8px;
  border: 1px solid #dce5ed;
  border-radius: 5px;
  color: #27445e;
  background: #fff;
  cursor: pointer;
}

.field-people-picker .field-person-option:hover {
  border-color: #9ec5f6;
  background: #f4f9ff;
}

.field-person-option:has(input:checked) {
  border-color: #67a6f3;
  background: #edf6ff;
  box-shadow: inset 3px 0 #2f7de1;
}

.field-person-option input { width: 16px; height: 16px; margin: 0; }
.field-person-copy { display: flex; min-width: 0; align-items: baseline; gap: 6px; }
.field-person-copy strong { overflow: hidden; color: #193d5b; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.field-person-copy small { flex: 0 0 auto; color: #8191a1; font-size: 10px; }
.field-person-tags { display: flex; justify-content: flex-end; gap: 4px; }
.field-person-tags em {
  padding: 2px 5px;
  border-radius: 9px;
  color: #526d85;
  background: #edf3f8;
  font-style: normal;
  font-size: 10px;
  white-space: nowrap;
}

.field-people-empty { margin: 2px 0 0; padding: 15px; color: #8191a1; text-align: center; }

.field-conflicts {
  padding: 10px 12px;
  border: 1px solid #efb0a7;
  color: #a23b31;
  background: #fff2f0;
}

.field-conflicts strong { display: block; margin-bottom: 5px; }
.field-conflicts ul { margin: 0; padding-left: 20px; }

.field-history {
  max-height: 170px;
  overflow: auto;
  border: 1px solid #e0e7ee;
  background: #fafbfd;
}

.field-history-entry { padding: 8px 10px; border-bottom: 1px solid #e7edf3; font-size: 12px; }
.field-history-entry:last-child { border-bottom: 0; }

.field-statistics {
  display: grid;
  gap: 12px;
}

.field-stat-cards {
  display: grid;
  grid-template-columns: repeat(5, minmax(140px, 1fr));
  gap: 8px;
}

.field-stat-cards article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 70px;
  padding: 12px 14px;
  border-top: 3px solid #4a8fe7;
  background: #fff;
  box-shadow: 0 1px 4px rgb(20 50 80 / 7%);
}

.field-stat-cards article.after-hours { border-top-color: #e4a23c; }
.field-stat-cards article.holiday { border-top-color: #31a482; }
.field-stat-cards article.internal-support { border-top-color: #8a67c7; }
.field-stat-cards span { color: #66798c; font-size: 12px; }
.field-stat-cards strong { color: #17324d; font-size: 22px; }

.field-stat-table-wrap {
  overflow: auto;
  border: 1px solid #dce4ed;
  background: #fff;
}

.field-stat-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
}

.field-stat-table th,
.field-stat-table td {
  padding: 9px 11px;
  border-bottom: 1px solid #e6ecf2;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.field-stat-table thead th { color: #61758a; background: #f3f6f9; font-size: 11px; }
.field-stat-table th:first-child,
.field-stat-table td:first-child { text-align: left; }
.field-stat-table th small { display: block; color: #8796a7; font-weight: 400; }
.field-stat-empty { padding: 30px !important; color: #738499; text-align: center !important; }

.field-stat-details {
  border: 1px solid #dce4ed;
  background: #fff;
}

.field-stat-details summary { padding: 10px 12px; cursor: pointer; font-weight: 600; }
.field-stat-details > div { border-top: 1px solid #e6ecf2; }
.field-stat-details p {
  display: grid;
  grid-template-columns: 150px 100px minmax(160px, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 8px 12px;
  border-bottom: 1px solid #edf1f5;
}
.field-stat-details time { color: #526d85; font-variant-numeric: tabular-nums; }
.field-stat-details em { padding: 2px 7px; color: #50687e; background: #edf3f8; font-style: normal; font-size: 11px; }
.field-stat-details em.after_hours { color: #9a5800; background: #fff1d8; }
.field-stat-details em.holiday { color: #08775f; background: #e5f6f0; }

@media (max-width: 760px) {
  .field-schedule-app {
    min-height: 0;
    padding: 8px 10px 18px;
  }
  .field-schedule-header {
    align-items: flex-start;
    gap: 8px;
  }
  .field-schedule-title p { display: none; }
  .field-schedule-summary {
    max-width: 52%;
    text-align: right;
  }
  .field-schedule-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 8px;
  }
  .field-schedule-segmented {
    width: 100%;
  }
  .field-schedule-segmented button {
    flex: 1;
    min-width: 0;
  }
  .field-schedule-nav {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 38px 48px;
    width: 100%;
  }
  .field-schedule-nav input {
    min-width: 0;
    width: 100%;
    text-align: center;
  }
  .field-schedule-nav button {
    min-width: 0;
    padding-inline: 6px;
  }
  .field-schedule-add {
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    margin-left: 0;
  }
  .field-schedule-toolbar > [data-field-preferences] {
    grid-column: 2;
    grid-row: 2;
  }
  .field-schedule-toolbar > [data-field-mobile-sync] {
    grid-column: 1 / -1;
    width: 100%;
  }
  .field-schedule-filterbar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 8px;
  }
  .field-type-buttons,
  .field-scope-buttons {
    grid-column: 1 / -1;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    width: 100%;
  }
  .field-type-buttons button,
  .field-scope-buttons button {
    min-width: 0;
    padding-inline: 6px;
    white-space: nowrap;
  }
  .field-schedule-filterbar label,
  .field-schedule-filterbar select {
    min-width: 0;
    width: 100%;
  }
  .field-appointment { grid-template-columns: 82px 1fr auto; gap: 7px; }
  .field-appointment-customer { grid-column: 2 / -1; }
  .field-appointment-location { display: none; }
  .field-week-grid {
    grid-template-columns: 1fr;
    gap: 8px;
    overflow: visible;
    border: 0;
    background: transparent;
  }
  .field-week-day {
    min-height: 0;
    padding: 10px 12px;
    border: 1px solid #dce4ed;
    border-left: 3px solid #b8c6d5;
    box-shadow: 0 1px 3px rgb(20 50 80 / 5%);
  }
  .field-week-day.today { border-left-color: #1769e0; }
  .field-week-day > header {
    margin-bottom: 6px;
    padding-bottom: 6px;
  }
  .field-week-item:last-child { margin-bottom: 0; }
  .field-form-grid { grid-template-columns: 1fr; }
  .field-form-grid .wide { grid-column: auto; }
  .modal-backdrop:has(.field-schedule-modal) {
    align-items: stretch;
    padding: 8px;
  }
  .field-schedule-modal {
    width: 100%;
    max-height: calc(100dvh - 16px);
  }
  .field-schedule-modal > header { padding: 13px 14px 10px; }
  .field-schedule-modal > header h2 { font-size: 19px; }
  .field-schedule-form-body,
  .field-schedule-detail-body { padding: 12px; }
  .field-detail-grid { grid-template-columns: 1fr; }
  .field-detail-item.wide { grid-column: auto; }
  .field-schedule-form > footer,
  .field-schedule-detail > footer {
    flex-wrap: wrap;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  }
  .field-navigation-control { order: -1; }
  .field-navigation-menu { position: fixed; left: 12px; right: 12px; bottom: calc(76px + env(safe-area-inset-bottom)); width: auto; }
  .field-schedule-form > footer .settings-save-status {
    order: -1;
    width: 100%;
  }
  .field-people-list { grid-template-columns: 1fr; }
  .field-person-tags em:first-child { display: none; }
  .field-view-preferences-form { grid-template-columns: 1fr; }
  .field-view-preferences-hint,
  .field-view-preferences-form .settings-save-status { grid-column: auto; }
  .field-stat-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .field-stat-details p { grid-template-columns: 1fr auto; }
  .field-stat-details p span { grid-column: 1 / -1; }
  .mobile-service-sync-modal { width: 100%; max-height: calc(100dvh - 16px); }
  .mobile-service-sync-body { padding: 12px; }
  .mobile-sync-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mobile-sync-map-row { grid-template-columns: 1fr; gap: 6px; }
  .mobile-service-sync-modal > footer { flex-wrap: wrap; }
  .mobile-service-sync-modal > footer .settings-save-status { order: -1; width: 100%; }
}
