/* Floor plan grid: 10 x 6 cells per zone, landscape first, scrolls sideways in portrait (brief §7). */
.tabs { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: .5rem; }
.tabs a { display: inline-flex; align-items: center; padding: 0 .75rem; min-height: var(--tap); border: 1px solid var(--color-line); border-radius: .5rem; text-decoration: none; color: inherit; }
.tabs a.is-active { background: var(--color-accent); color: var(--color-accent-text); }
.tabs a.is-inactive { color: var(--color-muted); border-style: dashed; }

.rotate-hint { display: none; color: var(--color-muted); }
@media (orientation: portrait) and (max-width: 600px) { .rotate-hint { display: block; } }

.floor-plan {
  display: grid;
  grid-template-columns: repeat(10, var(--tap));
  grid-auto-rows: var(--tap);
  gap: 4px;
  overflow-x: auto;
  padding-bottom: .5rem;
  touch-action: pan-x pan-y;
}
@media (min-width: 560px) { .floor-plan { grid-template-columns: repeat(10, minmax(var(--tap), 1fr)); grid-auto-rows: minmax(var(--tap), auto); } }

.cell { position: relative; border: 1px dashed var(--color-line); border-radius: .4rem; aspect-ratio: 1; }
.cell.is-drop-target { outline: 2px solid var(--color-accent); }
.cell__add { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: var(--color-muted); text-decoration: none; }

.table {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  width: 100%; height: 100%; border-radius: .4rem; background: var(--color-free); color: inherit;
  text-decoration: none; touch-action: none; user-select: none; -webkit-user-select: none;
}
.table--round { border-radius: 50%; }
.table--rect { border-radius: .2rem; }
.table--unreservable { background: var(--color-unreservable); color: var(--color-muted); }
.table.is-dragging { pointer-events: none; opacity: .8; z-index: 1; }
.table__label { font-weight: 600; }
.table__seats { font-size: .75rem; color: var(--color-muted); }
