body.rf .rf-floors {
  display: grid;
  gap: var(--zy-space-5);
}

body.rf .rf-floor h2 {
  margin: 0 0 var(--zy-space-2);
  font-size: var(--zy-text-sm);
  letter-spacing: var(--zy-tracking-wide);
  text-transform: uppercase;
  color: var(--zy-text-muted);
}

body.rf .rf-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
  gap: var(--zy-space-3);
}

body.rf .rf-table {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-height: 7.5rem;
  padding: var(--zy-space-3);
  border: 1px solid var(--zy-border);
  border-radius: var(--zy-radius-md);
  background: var(--zy-white);
  text-align: left;
  cursor: pointer;
}

body.rf .rf-table:hover {
  border-color: var(--zy-emerald);
}

body.rf .rf-table.is-occupied {
  background: #f4efe4;
}

body.rf .rf-table.is-reserved {
  background: #eef6f2;
}

body.rf .rf-table.is-qr-pending {
  background: #f8e7d4;
  border-color: #d97706;
}

body.rf .rf-table.is-oos,
body.rf .rf-table.is-inactive {
  opacity: 0.55;
}

body.rf .rf-code {
  font-weight: var(--zy-weight-semibold);
}

body.rf .rf-meta {
  font-size: var(--zy-text-xs);
  color: var(--zy-text-muted);
}
