.gala-table {
  position: absolute;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: grab;
  user-select: none;
  font-weight: 600;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
  box-shadow: 0 8px 20px rgba(16, 24, 40, 0.18);
  border: 3px solid rgba(255,255,255,0.55);
  transition: box-shadow .15s ease, transform .12s ease;
  z-index: 5;
}
.gala-table:active { cursor: grabbing; }
.gala-table.state-empty { background: radial-gradient(circle at 30% 25%, #f97066, #d92d20); }
.gala-table.state-partial { background: radial-gradient(circle at 30% 25%, #fdb022, #dc6803); }
.gala-table.state-full { background: radial-gradient(circle at 30% 25%, #32d583, #039855); }
.gala-table.is-highlighted {
  box-shadow: 0 0 0 7px rgba(245, 215, 138, .95), 0 0 28px rgba(70,95,255,.7);
  transform: scale(1.08);
  z-index: 20;
}
.gala-table.is-selected { box-shadow: 0 0 0 4px #465fff, 0 10px 24px rgba(16,24,40,.25); z-index: 15; }
.room-grid {
  background-image:
    linear-gradient(to right, rgba(44,44,44,.14) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(44,44,44,.14) 1px, transparent 1px);
  background-size: 20px 20px;
  pointer-events: none;
}
.roomplan-page {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 72px);
}
.roomplan-stage {
  flex: 1;
  min-height: 520px;
  max-height: calc(100vh - 210px);
}
.unpositioned-chip {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  border-radius: 9999px;
  border: 1px solid #e4e7ec;
  background: #fff;
  padding: .35rem .75rem;
  font-size: .75rem;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
}
.unpositioned-chip:hover {
  border-color: #465fff;
  color: #3641f5;
}
.dark .unpositioned-chip {
  border-color: #344054;
  background: transparent;
  color: #e4e7ec;
}
.room-info-panel {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 25;
  width: 280px;
  padding: 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 12px 32px rgba(16,24,40,.22);
}
.dark .room-info-panel {
  background: rgba(16,24,40,.94);
  color: #e4e7ec;
}
.hostess-search { min-height: 56px; }
@media print {
  .no-print { display: none !important; }
}
.dataTables_wrapper { margin-top: .5rem; }
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
  border: 1px solid #e4e7ec;
  border-radius: 8px;
  padding: 6px 10px;
}
.menu-item svg { flex-shrink: 0; }
#guest-modal.flex, #place-modal.flex, #society-modal.flex, #table-modal.flex, #user-modal.flex, #table-detail-modal.flex {
  display: flex;
}
