
/* BIGMESA v3.0 - Orden final */
#tvActionHint,
#ofreceInicio,
#ofreceInicioBtns,
.center-mode-buttons,
.mode-switch,
.mode-switcher,
.floating-mode-switch,
.tv-ofrece-switch,
.ofrece-tv-switch,
.btn-ofrece,
.btn-inicio {
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Ocultar basura visual previa sin afectar bartender */
.bm-hidden-final,
.old-chat-buttons,
.legacy-chat-buttons,
.bm-v21-icons,
.bm-v20-buttons,
.chat-from-selector,
.from-table-selector,
.origen-mesa-selector,
.modal-chat-origen {
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Chat privado legible */
#bmPrivateChatPanel,
.bm-private-chat-panel {
  position:fixed !important;
  right:16px !important;
  bottom:16px !important;
  width:min(430px, calc(100vw - 18px)) !important;
  height:min(680px, calc(100vh - 18px)) !important;
  z-index:2147483000 !important;
  background:linear-gradient(180deg,#101827,#050713) !important;
  color:#fff !important;
  border:1px solid rgba(14,165,233,.65) !important;
  border-radius:24px !important;
  box-shadow:0 22px 80px rgba(0,0,0,.72),0 0 34px rgba(14,165,233,.25) !important;
  overflow:hidden !important;
  display:none !important;
  flex-direction:column !important;
}
#bmPrivateChatPanel.open,
.bm-private-chat-panel.open { display:flex !important; }
.bm-chat-head {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  padding:14px !important;
  background:rgba(79,70,229,.30) !important;
  border-bottom:1px solid rgba(255,255,255,.12) !important;
  color:#fff !important;
}
.bm-chat-head b { color:#fff !important; font-size:18px !important; }
.bm-chat-head small { display:block !important; color:#bae6fd !important; margin-top:3px !important; }
.bm-chat-head button {
  border:0 !important;
  width:38px !important;
  height:38px !important;
  border-radius:14px !important;
  background:#1f2937 !important;
  color:#fff !important;
  font-size:22px !important;
  font-weight:900 !important;
}
.bm-private-chat-list {
  flex:1 !important;
  overflow-y:auto !important;
  padding:16px !important;
  background:radial-gradient(circle at top,#172554 0,#070816 55%) !important;
}
.bm-pmsg {
  max-width:82% !important;
  margin:9px 0 !important;
  display:flex !important;
  flex-direction:column !important;
}
.bm-pmsg.mine { margin-left:auto !important; align-items:flex-end !important; }
.bm-pmsg.theirs { margin-right:auto !important; align-items:flex-start !important; }
.bm-pmsg > div {
  padding:11px 14px !important;
  border-radius:18px !important;
  font-size:16px !important;
  line-height:1.35 !important;
  color:#fff !important;
  text-shadow:none !important;
  word-break:break-word !important;
}
.bm-pmsg.mine > div {
  background:linear-gradient(135deg,#2563eb,#14b8a6) !important;
  border-bottom-right-radius:5px !important;
}
.bm-pmsg.theirs > div {
  background:linear-gradient(135deg,#374151,#111827) !important;
  border-bottom-left-radius:5px !important;
}
.bm-pmsg small { color:#aab3cc !important; font-size:10px !important; margin:3px 6px !important; }
.bm-emoji-row {
  display:flex !important;
  gap:6px !important;
  padding:8px 10px !important;
  overflow-x:auto !important;
  background:#0b1020 !important;
}
.bm-emoji-row button {
  min-width:36px !important;
  height:36px !important;
  border:0 !important;
  border-radius:12px !important;
  background:#1f2937 !important;
  font-size:20px !important;
}
.bm-private-chat-form {
  display:flex !important;
  gap:8px !important;
  padding:12px !important;
  background:#060814 !important;
  border-top:1px solid rgba(255,255,255,.10) !important;
}
.bm-private-chat-form input {
  flex:1 !important;
  border:1px solid rgba(255,255,255,.15) !important;
  background:#111827 !important;
  color:#fff !important;
  border-radius:16px !important;
  padding:12px !important;
  font-size:16px !important;
  outline:none !important;
}
.bm-private-chat-form button,
.bm-clean-btn {
  border:0 !important;
  border-radius:16px !important;
  padding:10px 14px !important;
  font-weight:900 !important;
  color:#fff !important;
  background:linear-gradient(135deg,#7c3aed,#06b6d4) !important;
  box-shadow:0 8px 22px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.22) !important;
}

.bm-interaction-card.gift .bm-accept {
  background:linear-gradient(135deg,#22c55e,#14b8a6) !important;
}
.bm-interaction-card .bm-reject {
  background:linear-gradient(135deg,#ef4444,#b91c1c) !important;
}

/* Marca de mesa actual */
.table-card.bm-my-current-table,
.table-card.my-tv-table,
.mesa.bm-my-current-table {
  outline:4px solid #22d3ee !important;
  box-shadow:0 0 28px rgba(34,211,238,.95), inset 0 0 20px rgba(34,211,238,.25) !important;
}
.bm-my-marker {
  position:absolute !important;
  left:50% !important;
  top:-36px !important;
  transform:translateX(-50%) !important;
  z-index:999 !important;
  background:linear-gradient(135deg,#22d3ee,#2563eb) !important;
  color:#fff !important;
  font-weight:900 !important;
  font-size:14px !important;
  padding:7px 12px !important;
  border-radius:999px !important;
  box-shadow:0 0 22px rgba(34,211,238,.75),0 8px 18px rgba(0,0,0,.35) !important;
  white-space:nowrap !important;
}

/* Ticket admin */
@media print {
  body.bm-ticket-printing > *:not(#bmPrintTicketArea) { display:none !important; }
  #bmPrintTicketArea { display:block !important; }
}
#bmPrintTicketArea { display:none; }
.bm-ticket {
  width:280px;
  color:#000;
  background:#fff;
  font-family:monospace;
  padding:12px;
}
.bm-ticket h1 { font-size:18px; text-align:center; margin:0 0 8px; }
.bm-ticket .line { border-top:1px dashed #000; margin:8px 0; }
.bm-ticket p { margin:4px 0; font-size:13px; }
.bm-ticket b { font-size:14px; }
