/* Restaurant coverage: operational grid layout only. */
.restaurant-service-label,
.restaurant-service-count,
.restaurant-service-toggle { display: inline-flex; align-items: center; gap: 7px; min-width: 0; }
.restaurant-service-label { color: var(--rst-ui-muted); font-size: 10px; font-weight: var(--rst-fw-bold); }
.restaurant-service-label svg { width: 14px; height: 14px; }
.restaurant-service-count { padding: 3px 6px; border: 1px solid var(--rst-ui-divider); border-radius: var(--rst-ui-radius-pill); font-size: 10px; font-weight: var(--rst-fw-bold); }
.restaurant-service-count svg { width: 12px; height: 12px; }

.restaurant-zone-shift-fieldset,
.restaurant-coverage-fieldset { padding: 10px; background: transparent; }
.restaurant-zone-service-list,
.restaurant-coverage-table { display: grid; gap: 7px; }
.restaurant-zone-time-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
.restaurant-service-row,
.restaurant-coverage-row {
  min-height: 38px;
  padding: 6px 8px;
  display: grid;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--rst-ui-divider-soft);
  border-radius: var(--rst-ui-radius-md);
  background: transparent;
}
.restaurant-service-row { grid-template-columns: minmax(96px,.36fr) minmax(0,1fr); }
.restaurant-service-time { width: 100%; min-width: 0; min-height: 32px; }

.restaurant-coverage-head,
.restaurant-coverage-row { grid-template-columns: minmax(0,1fr) 92px 92px; gap: 8px; }
.restaurant-coverage-head {
  min-height: 22px;
  padding: 0 8px 4px;
  display: grid;
  align-items: center;
  color: var(--rst-ui-muted);
  font-size: 9px;
  font-weight: var(--rst-fw-bold);
  text-transform: uppercase;
  letter-spacing: .055em;
}
.restaurant-coverage-head .restaurant-service-label { justify-content: center; }
.restaurant-coverage-position { min-width: 0; display: grid; gap: 1px; }
.restaurant-coverage-position :is(strong,span) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.restaurant-coverage-position strong { color: var(--rst-ui-text); font-size: 11px; font-weight: var(--rst-fw-bold); }
.restaurant-coverage-position span { color: var(--rst-ui-muted); font-size: 9px; font-weight: var(--rst-fw-medium); }
.restaurant-coverage-count { min-height: 30px; padding: 2px; display: grid; grid-template-columns: 18px minmax(0,1fr) 18px; gap: 2px; align-items: center; }
.restaurant-coverage-count input { width: 100%; height: 100%; text-align: center; appearance: textfield; }
.restaurant-coverage-step { width: 18px; height: 22px; display: grid; place-items: center; border: 0; border-radius: var(--rst-ui-radius-xs); background: transparent; color: var(--rst-state-neutral-text); cursor: pointer; font-size: 12px; font-weight: var(--rst-fw-display); }
.restaurant-coverage-step:is(:hover,:focus-visible) { background: var(--rst-ui-section-row-hover); color: var(--rst-ui-text); outline: none; }
.restaurant-coverage-count input::-webkit-outer-spin-button,
.restaurant-coverage-count input::-webkit-inner-spin-button { appearance: none; margin: 0; }

.restaurant-service-label.is-lunch,
.restaurant-service-count.is-lunch { color: var(--rst-service-lunch-accent); }
.restaurant-service-count.is-lunch { border-color: var(--rst-service-lunch-border); background: var(--rst-service-lunch-bg); }
.restaurant-service-label.is-evening,
.restaurant-service-count.is-evening { color: var(--rst-service-evening-accent); }
.restaurant-service-count.is-evening { border-color: var(--rst-service-evening-border); background: var(--rst-service-evening-bg); }
