.room {
  width: 100%;
  height: auto;
  display: block;
  background: #0a0a0c;
}

/* clickable tables + thin neon outline */
.room-table { cursor: pointer; }
.room-table .ttop,
.room-table .rchair,
.room-table .rsofa {
  stroke: #ff6a00;
  stroke-width: 1.5;
  filter: drop-shadow(0 0 3px rgba(255, 106, 0, 0.8));
}
.room-table:hover .ttop,
.room-table:hover .rchair,
.room-table:hover .rsofa {
  stroke: #ffb060;
  filter: drop-shadow(0 0 6px rgba(255, 138, 42, 0.9));
}
.room-table.selected { filter: drop-shadow(0 0 10px rgba(255, 106, 0, 0.85)); }
.room-table.occupied { filter: drop-shadow(0 0 12px rgba(255, 106, 0, 0.6)); }
.room-table.pending .ttop,
.room-table.pending .rchair,
.room-table.pending .rsofa {
  stroke: #ffb060;
  stroke-dasharray: 5 4;
}
.room-table.pending { filter: drop-shadow(0 0 8px rgba(255, 176, 96, 0.45)); }

/* time-based shadows */
.shadow {
  filter: drop-shadow(var(--shx, 3px) var(--shy, -18px) var(--shb, 16px) rgba(0, 0, 0, var(--sha, 0.6)));
  transition: filter 0.7s ease;
}

/* flickering TV */
.tv-screen {
  animation: tv-flicker 0.5s infinite steps(2);
}
.tv-scan {
  animation: tv-scan 5s linear infinite;
}
@keyframes tv-flicker {
  0%, 100% { opacity: 1; }
  12% { opacity: 0.25; }
  30% { opacity: 0.9; }
  55% { opacity: 0.1; }
  78% { opacity: 0.7; }
}
@keyframes tv-scan {
  0% { transform: translateY(-60px); }
  100% { transform: translateY(60px); }
}

/* light rays + tint overlay */
.light-ray {
  opacity: var(--rayop, 0.35);
  transition: opacity 0.7s ease;
  pointer-events: none;
}

.tint-overlay {
  opacity: var(--bright, 1);
  transition: opacity 0.7s ease;
  pointer-events: none;
}

.room-label {
  fill: #ffe0b8;
  font-size: 12px;
  font-weight: 700;
  pointer-events: none;
}

.table-label {
  fill: #c8c8ce;
  font-size: 19px;
  font-weight: 700;
  pointer-events: none;
}

.neon {
  filter: drop-shadow(0 0 6px rgba(255, 106, 0, 0.9));
}

/* floating info tag above occupied tables */
.tinfo {
  pointer-events: none;
}
.tinfo-guest {
  fill: #ffffff;
  font-size: 12px;
  font-weight: 600;
  font-family: var(--font-body, "Rubik", sans-serif);
}
.tinfo-sub {
  fill: #ffb060;
  font-size: 10px;
  font-family: var(--font-body, "Rubik", sans-serif);
}
