
/* MOB365 Premium Tables — FINAL 2026-09-09
   Scoped to Restaurant/Café floor views only. No POS/fiscal/offline logic is touched. */

:root{
  --tbl-navy:#0d3555;
  --tbl-teal:#0d8f86;
  --tbl-teal-dark:#08756f;
  --tbl-bg:#f4f8f9;
  --tbl-card:#ffffff;
  --tbl-line:#d7e4e7;
  --tbl-muted:#678087;
  --tbl-text:#102e38;
  --tbl-free:#28b77d;
  --tbl-busy:#f39a24;
  --tbl-reserved:#28a9bd;
  --tbl-danger:#d85b5b;
  --tbl-shadow:0 12px 32px rgba(19,57,67,.10);
}

/* Floor pages become a complete premium workspace. */
html body #restaurantWorkspace.mob365-tables-view,
html body #cafeWorkspace.mob365-tables-view{
  width:100%!important;
  height:calc(100dvh - 72px)!important;
  min-height:620px!important;
  margin:0!important;
  padding:12px!important;
  background:
    radial-gradient(circle at 15% 0%,rgba(21,157,147,.06),transparent 30%),
    linear-gradient(180deg,#f8fbfc 0%,#f1f6f7 100%)!important;
  overflow:hidden!important;
}

/* One clean full-screen panel; remove obsolete splitters on floor view. */
html body #restaurantWorkspace.mob365-tables-view>.m3-floor-panel,
html body #cafeWorkspace.mob365-tables-view>.cafe-tables-panel{
  position:relative!important;
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr) auto auto!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #d5e3e6!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:var(--tbl-shadow)!important;
  overflow:hidden!important;
}
html body #cafeWorkspace.mob365-tables-view>.cafe-panel-splitter{display:none!important}

/* Premium heading. */
.mob365-tables-view .premium-floor-head,
.mob365-tables-view .cafe-panel-header{
  min-height:72px!important;
  padding:12px 18px!important;
  border-bottom:1px solid #dce7e9!important;
  background:linear-gradient(135deg,#fff 0%,#f7fbfb 100%)!important;
}
.mob365-tables-view .premium-floor-title,
.mob365-tables-view .cafe-panel-header>div:first-child{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
}
.mob365-tables-view .m3-panel-head small,
.mob365-tables-view .cafe-eyebrow{
  color:#087d76!important;
  font-size:9px!important;
  font-weight:950!important;
  letter-spacing:.16em!important;
}
.mob365-tables-view .m3-panel-head h2,
.mob365-tables-view .cafe-panel-header h2{
  margin:2px 0 0!important;
  color:var(--tbl-text)!important;
  font-size:20px!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
}
.mob365-tables-view .premium-floor-help{
  display:block!important;
  margin-top:3px!important;
  color:#789097!important;
  font-size:10px!important;
  font-weight:650!important;
}

/* Edit/zoom tool group. */
.mob365-tables-view .restaurant-floor-actions,
.mob365-tables-view .cafe-table-tools{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:5px!important;
  min-width:0!important;
  height:42px!important;
  padding:4px!important;
  border:1px solid #d7e3e5!important;
  border-radius:13px!important;
  background:#f8fbfb!important;
  box-shadow:0 3px 10px rgba(30,73,81,.05)!important;
}
.mob365-tables-view .restaurant-floor-actions>.m3-btn,
.mob365-tables-view .cafe-edit-layout-btn{
  min-height:32px!important;
  height:32px!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#173840!important;
  font-size:10px!important;
  font-weight:900!important;
  box-shadow:0 1px 5px rgba(17,57,66,.08)!important;
}
.mob365-tables-view .restaurant-scale-control{
  display:flex!important;
  align-items:center!important;
  height:32px!important;
  overflow:hidden!important;
  border:1px solid #dce6e8!important;
  border-radius:9px!important;
  background:#fff!important;
}
.mob365-tables-view .restaurant-scale-btn,
.mob365-tables-view .cafe-size-btn{
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  min-width:34px!important;
  height:32px!important;
  border:0!important;
  background:#fff!important;
  color:#12353e!important;
  font-size:17px!important;
  font-weight:900!important;
}
.mob365-tables-view .restaurant-scale-value,
.mob365-tables-view .cafe-size-label{
  display:grid!important;
  place-items:center!important;
  min-width:48px!important;
  height:32px!important;
  color:#27474e!important;
  font-size:10px!important;
  font-weight:900!important;
}

/* Zones: compact premium segmented navigation. */
.mob365-tables-view .restaurant-zone-tabs,
.mob365-tables-view .cafe-zone-filter{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:52px!important;
  padding:8px 16px!important;
  border-bottom:1px solid #e0e9eb!important;
  background:#fbfdfd!important;
  overflow-x:auto!important;
  scrollbar-width:thin!important;
}
.mob365-tables-view .restaurant-zone-tabs button,
.mob365-tables-view .cafe-zone-filter button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-width:auto!important;
  height:34px!important;
  padding:0 14px!important;
  border:1px solid #d7e3e6!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#36565e!important;
  font-size:10px!important;
  font-weight:900!important;
  box-shadow:none!important;
}
.mob365-tables-view .restaurant-zone-tabs button.active,
.mob365-tables-view .cafe-zone-filter button.selected{
  border-color:#0d8f86!important;
  background:linear-gradient(135deg,#0d8f86,#08756f)!important;
  color:#fff!important;
  box-shadow:0 6px 14px rgba(13,143,134,.20)!important;
}
.mob365-tables-view .cafe-zone-filter button small{
  display:grid!important;
  place-items:center!important;
  min-width:20px!important;
  height:20px!important;
  padding:0 5px!important;
  border-radius:999px!important;
  background:#eef5f6!important;
  color:#4c6870!important;
  font-size:8px!important;
}
.mob365-tables-view .cafe-zone-filter button.selected small{
  background:#ffffff2b!important;color:#fff!important;
}

/* Floor canvas. Grid stays useful but looks architectural rather than developer-like. */
.mob365-tables-view .restaurant-floor-grid,
.mob365-tables-view .cafe-floor-map{
  position:relative!important;
  min-height:0!important;
  height:100%!important;
  padding:26px!important;
  overflow:auto!important;
  background-color:#f8fbfb!important;
  background-image:
    linear-gradient(rgba(93,132,140,.09) 1px,transparent 1px),
    linear-gradient(90deg,rgba(93,132,140,.09) 1px,transparent 1px),
    linear-gradient(rgba(93,132,140,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(93,132,140,.035) 1px,transparent 1px)!important;
  background-size:40px 40px,40px 40px,10px 10px,10px 10px!important;
  scrollbar-color:#a9bec3 transparent!important;
}

/* Premium tables — stronger state, less visual noise. */
.mob365-tables-view button.mob34-table-card{
  position:absolute!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  min-width:108px!important;
  min-height:108px!important;
  padding:16px 12px 13px!important;
  border:2px solid #cbdcdf!important;
  background:
    linear-gradient(160deg,rgba(255,255,255,.98),rgba(247,251,251,.98))!important;
  color:var(--tbl-text)!important;
  box-shadow:
    0 9px 20px rgba(24,61,69,.08),
    inset 0 0 0 1px rgba(255,255,255,.8)!important;
  transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease!important;
  isolation:isolate!important;
}
.mob365-tables-view button.mob34-table-card.round{border-radius:50%!important}
.mob365-tables-view button.mob34-table-card.rectangle{border-radius:19px!important}
.mob365-tables-view button.mob34-table-card:hover:not(:disabled){
  transform:translateY(-3px) scale(1.015)!important;
  box-shadow:0 16px 28px rgba(24,61,69,.14)!important;
  z-index:5!important;
}
.mob365-tables-view button.mob34-table-card.selected{
  outline:4px solid rgba(13,143,134,.13)!important;
  outline-offset:3px!important;
  box-shadow:0 16px 30px rgba(13,143,134,.18)!important;
  z-index:6!important;
}
.mob365-tables-view button.mob34-table-card.free{border-color:var(--tbl-free)!important}
.mob365-tables-view button.mob34-table-card.busy,
.mob365-tables-view button.mob34-table-card.occupied{border-color:var(--tbl-busy)!important;background:linear-gradient(160deg,#fffdf8,#fff8eb)!important}
.mob365-tables-view button.mob34-table-card.reserved{border-color:var(--tbl-reserved)!important;background:linear-gradient(160deg,#f9feff,#eefbfc)!important}

/* State badge floats cleanly at the top-right. */
.mob365-tables-view .mob34-table-state{
  position:absolute!important;
  top:8px!important;
  right:8px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  max-width:72px!important;
  height:20px!important;
  padding:0 7px!important;
  border:0!important;
  border-radius:999px!important;
  background:#eef5f2!important;
  color:#21845e!important;
  font-size:7px!important;
  font-weight:950!important;
  letter-spacing:.04em!important;
  white-space:nowrap!important;
}
.mob365-tables-view .busy .mob34-table-state,
.mob365-tables-view .occupied .mob34-table-state{background:#fff0d9!important;color:#ad6706!important}
.mob365-tables-view .reserved .mob34-table-state{background:#e4f7f9!important;color:#147c88!important}
.mob365-tables-view .mob34-table-state i{display:none!important}

.mob365-tables-view .mob34-table-name{
  max-width:90%!important;
  overflow:hidden!important;
  color:#0d2d37!important;
  font-size:18px!important;
  font-weight:950!important;
  line-height:1!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.mob365-tables-view .mob34-table-capacity{
  color:#71878d!important;
  font-size:8px!important;
  font-weight:750!important;
}
.mob365-tables-view .mob34-table-total{
  margin-top:1px!important;
  color:#07857c!important;
  font-size:15px!important;
  font-weight:950!important;
}
.mob365-tables-view .busy .mob34-table-total,
.mob365-tables-view .occupied .mob34-table-total{color:#c2760b!important}
.mob365-tables-view .mob34-table-note{
  max-width:86%!important;
  overflow:hidden!important;
  color:#71858b!important;
  font-size:7px!important;
  font-weight:700!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* Three-dot action is a real touch target, not tiny text. */
.mob365-tables-view .mob365-table-action-trigger{
  position:absolute!important;
  left:8px!important;
  bottom:8px!important;
  display:grid!important;
  place-items:center!important;
  width:28px!important;
  height:28px!important;
  padding:0!important;
  border:1px solid #cfe0e2!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#0c7d75!important;
  font-size:13px!important;
  font-weight:950!important;
  box-shadow:0 3px 9px rgba(22,67,75,.11)!important;
}
.mob365-tables-view .rc25-reserve-action{
  position:absolute!important;
  right:8px!important;
  bottom:8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:38px!important;
  height:25px!important;
  padding:0 7px!important;
  border:1px solid #cfe0e2!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#16786f!important;
  font-size:7px!important;
  font-weight:900!important;
}

/* Selected table command center — always visible, touch safe. */
.mob365-tables-view .restaurant-table-commandbar,
.mob365-tables-view .cafe-table-actions-bottom{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  min-height:66px!important;
  padding:9px 14px!important;
  border-top:1px solid #d9e6e8!important;
  background:linear-gradient(135deg,#fff,#f8fbfb)!important;
  box-shadow:0 -8px 20px rgba(20,58,66,.06)!important;
  z-index:15!important;
}
.mob365-tables-view .restaurant-table-command-context,
.mob365-tables-view .cafe-selected-table-compact{
  min-width:170px!important;
  padding:0 6px!important;
}
.mob365-tables-view .restaurant-table-command-context span,
.mob365-tables-view .cafe-selected-table-compact span{
  display:block!important;
  color:#799097!important;
  font-size:8px!important;
  font-weight:950!important;
  letter-spacing:.12em!important;
}
.mob365-tables-view .restaurant-table-command-context strong,
.mob365-tables-view .cafe-selected-table-compact strong{
  display:block!important;
  margin-top:2px!important;
  color:#11343d!important;
  font-size:14px!important;
  font-weight:950!important;
}
.mob365-tables-view .restaurant-table-command-actions,
.mob365-tables-view .cafe-table-action-buttons{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  flex-wrap:wrap!important;
}
.mob365-tables-view .restaurant-table-command-actions>.m3-btn,
.mob365-tables-view .cafe-table-action-buttons>.cafe-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  min-width:96px!important;
  min-height:38px!important;
  height:38px!important;
  padding:0 12px!important;
  border:1px solid #cfdee1!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#25464e!important;
  font-size:9px!important;
  font-weight:900!important;
  box-shadow:0 3px 9px rgba(24,61,69,.05)!important;
}
.mob365-tables-view .cafe-table-action-buttons>.cafe-btn.primary{
  border-color:#0d8f86!important;background:#0d8f86!important;color:#fff!important;
}
.mob365-tables-view .restaurant-table-command-actions>.danger-soft,
.mob365-tables-view .cafe-table-action-buttons>.danger{
  border-color:#f0cdcd!important;background:#fff7f7!important;color:#b94343!important;
}
.mob365-tables-view .premium-action-icon{font-size:13px!important;line-height:1!important}
.mob365-tables-view button:disabled{opacity:.42!important;cursor:not-allowed!important;box-shadow:none!important}

/* Legend becomes a compact status strip. */
.mob365-tables-view .m3-floor-legend-bottom,
.mob365-tables-view .cafe-floor-legend-bottom{
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  min-height:30px!important;
  padding:5px 16px!important;
  border-top:1px solid #e0e9eb!important;
  background:#fbfdfd!important;
  color:#58747b!important;
  font-size:8px!important;
  font-weight:850!important;
}
.mob365-tables-view .m3-floor-legend-bottom .free,
.mob365-tables-view .cafe-floor-legend-bottom .free{color:#20885f!important}
.mob365-tables-view .m3-floor-legend-bottom .busy,
.mob365-tables-view .cafe-floor-legend-bottom .busy{color:#b76f0b!important}
.mob365-tables-view .m3-floor-legend-bottom .reserved,
.mob365-tables-view .cafe-floor-legend-bottom .reserved{color:#167d8b!important}

/* Layout editing is visually explicit. */
.mob365-tables-view .is-layout-editing{
  box-shadow:inset 0 0 0 2px rgba(13,143,134,.15)!important;
}
.mob365-tables-view .is-layout-editing button.mob34-table-card{
  cursor:move!important;
}
.mob365-tables-view .m3-layout-edit,
.mob365-tables-view .mob365-cafe-edit-handle{
  position:absolute!important;
  left:50%!important;
  bottom:7px!important;
  transform:translateX(-50%)!important;
  display:grid!important;
  place-items:center!important;
  width:28px!important;
  height:28px!important;
  border-radius:50%!important;
  background:#0d8f86!important;
  color:#fff!important;
  box-shadow:0 5px 12px rgba(13,143,134,.25)!important;
}

/* Café table designer appears as a floating premium editor. */
.mob365-tables-view .mob365-cafe-table-designer{
  position:absolute!important;
  left:50%!important;
  bottom:82px!important;
  transform:translateX(-50%)!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  width:min(760px,calc(100% - 40px))!important;
  padding:11px 14px!important;
  border:1px solid #cfe0e3!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 18px 36px rgba(18,55,64,.16)!important;
  backdrop-filter:blur(12px)!important;
  z-index:30!important;
}
.mob365-tables-view .mob365-cafe-designer-help{display:none!important}

/* Restaurant reserved/kitchen indicators no longer collide with premium card. */
.mob365-tables-view .rc25-kitchen-dot{right:9px!important;bottom:40px!important}

/* Responsive: preserve operability instead of shrinking controls below touch size. */
@media (max-width:1100px){
  html body #restaurantWorkspace.mob365-tables-view,
  html body #cafeWorkspace.mob365-tables-view{padding:8px!important}
  .mob365-tables-view .premium-floor-help{display:none!important}
  .mob365-tables-view .restaurant-table-commandbar,
  .mob365-tables-view .cafe-table-actions-bottom{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:6px!important;
  }
  .mob365-tables-view .restaurant-table-command-actions,
  .mob365-tables-view .cafe-table-action-buttons{width:100%!important;justify-content:flex-start!important}
}
@media (max-width:760px){
  html body #restaurantWorkspace.mob365-tables-view,
  html body #cafeWorkspace.mob365-tables-view{
    height:calc(100dvh - 62px)!important;
    padding:5px!important;
  }
  .mob365-tables-view .premium-floor-head,
  .mob365-tables-view .cafe-panel-header{
    align-items:flex-start!important;
    min-height:auto!important;
    padding:10px!important;
  }
  .mob365-tables-view .restaurant-floor-actions,
  .mob365-tables-view .cafe-table-tools{max-width:100%!important;overflow-x:auto!important}
  .mob365-tables-view .restaurant-floor-grid,
  .mob365-tables-view .cafe-floor-map{padding:14px!important}
  .mob365-tables-view .restaurant-table-command-actions,
  .mob365-tables-view .cafe-table-action-buttons{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    padding-bottom:2px!important;
  }
  .mob365-tables-view .restaurant-table-command-actions>.m3-btn,
  .mob365-tables-view .cafe-table-action-buttons>.cafe-btn{flex:0 0 auto!important}
}


/* =========================================================
   MOB365 TABLES FINAL VISIBILITY / STATUS / BACKGROUND PATCH
   2026-09-09
   ========================================================= */

/* Floor background: no square engineering grid; use a very subtle premium dot texture. */
.mob365-tables-view .restaurant-floor-grid,
.mob365-tables-view .cafe-floor-map{
  background-color:#f6fafb!important;
  background-image:
    radial-gradient(circle, rgba(51,104,113,.14) 1px, transparent 1.15px),
    radial-gradient(circle at 18% 8%, rgba(13,143,134,.06), transparent 28%),
    radial-gradient(circle at 82% 88%, rgba(13,53,85,.05), transparent 30%)!important;
  background-size:24px 24px,100% 100%,100% 100%!important;
  background-position:0 0,0 0,0 0!important;
}

/* At 100% every table must show its full name/content. */
.mob365-tables-view button.mob34-table-card{
  min-width:118px!important;
  min-height:114px!important;
  padding:22px 11px 16px!important;
  overflow:visible!important;
}
.mob365-tables-view .mob34-table-name{
  display:block!important;
  width:auto!important;
  max-width:104px!important;
  margin:0 auto!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-align:center!important;
  font-size:15px!important;
  line-height:1.05!important;
  letter-spacing:-.025em!important;
}
.mob365-tables-view .mob34-table-capacity{
  max-width:100px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.mob365-tables-view .mob34-table-note{
  max-width:96px!important;
}

/* Three unmistakable visual states.
   FREE = green, ACTIVE = orange, RESERVED = blue/teal. */
.mob365-tables-view button.mob34-table-card.free{
  border-color:#27b779!important;
  background:linear-gradient(155deg,#ffffff 0%,#f1fcf7 100%)!important;
  box-shadow:0 10px 22px rgba(39,183,121,.10)!important;
}
.mob365-tables-view button.mob34-table-card.free .mob34-table-state{
  background:#dcf8ea!important;
  color:#13744d!important;
}
.mob365-tables-view button.mob34-table-card.free .mob34-table-total{
  color:#078c72!important;
}

.mob365-tables-view button.mob34-table-card.busy,
.mob365-tables-view button.mob34-table-card.occupied{
  border-color:#f29b26!important;
  background:linear-gradient(155deg,#ffffff 0%,#fff6e9 100%)!important;
  box-shadow:0 10px 22px rgba(242,155,38,.13)!important;
}
.mob365-tables-view button.mob34-table-card.busy .mob34-table-state,
.mob365-tables-view button.mob34-table-card.occupied .mob34-table-state{
  background:#fff0d3!important;
  color:#a85b00!important;
}
.mob365-tables-view button.mob34-table-card.busy .mob34-table-total,
.mob365-tables-view button.mob34-table-card.occupied .mob34-table-total{
  color:#c16b00!important;
}

.mob365-tables-view button.mob34-table-card.reserved{
  border-color:#1fa7bd!important;
  background:linear-gradient(155deg,#ffffff 0%,#eaf9fc 100%)!important;
  box-shadow:0 10px 22px rgba(31,167,189,.13)!important;
}
.mob365-tables-view button.mob34-table-card.reserved .mob34-table-state{
  background:#dff5f9!important;
  color:#0d7181!important;
}
.mob365-tables-view button.mob34-table-card.reserved .mob34-table-total{
  color:#117d8c!important;
}

/* Selected table gets a clear neutral focus ring without hiding its status color. */
.mob365-tables-view button.mob34-table-card.selected{
  outline:4px solid rgba(13,53,85,.14)!important;
  outline-offset:4px!important;
}

/* Café floor refresh matches the edit/zoom tool family. */
.mob365-tables-view .cafe-floor-refresh-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  min-width:82px!important;
  height:32px!important;
  padding:0 10px!important;
  border:0!important;
  border-radius:9px!important;
  background:#ffffff!important;
  color:#173840!important;
  font-size:9px!important;
  font-weight:900!important;
  box-shadow:0 1px 5px rgba(17,57,66,.08)!important;
}
.mob365-tables-view .cafe-floor-refresh-btn>span:first-child{
  color:#0d8f86!important;
  font-size:14px!important;
  line-height:1!important;
}

/* Keep action buttons readable and avoid clipping at normal desktop zoom. */
.mob365-tables-view .mob365-table-action-trigger{
  z-index:8!important;
}
.mob365-tables-view .rc25-reserve-action{
  z-index:8!important;
}

@media (max-width:1500px){
  .mob365-tables-view button.mob34-table-card{
    min-width:112px!important;
    min-height:110px!important;
    padding-left:9px!important;
    padding-right:9px!important;
  }
  .mob365-tables-view .mob34-table-name{
    max-width:98px!important;
    font-size:14px!important;
  }
}


/* MOB365 FINAL — 2026-09-09 — Café toolbar matches Restaurant + slightly larger tables */
.mob365-tables-view .cafe-table-tools{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:0!important;
  height:38px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #d7e3e5!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 3px 10px rgba(30,73,81,.07)!important;
}
.mob365-tables-view .cafe-edit-layout-btn,
.mob365-tables-view .cafe-floor-refresh-btn,
.mob365-tables-view .cafe-size-btn,
.mob365-tables-view .cafe-size-label{
  height:36px!important;
  min-height:36px!important;
  margin:0!important;
  border:0!important;
  border-right:1px solid #dfe8ea!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  color:#173840!important;
  font-size:10px!important;
  font-weight:900!important;
}
.mob365-tables-view .cafe-edit-layout-btn{
  min-width:112px!important;
  padding:0 14px!important;
}
.mob365-tables-view .cafe-floor-refresh-btn{
  min-width:76px!important;
  padding:0 12px!important;
  border-right:0!important;
}
.mob365-tables-view .cafe-size-btn{
  width:40px!important;
  min-width:40px!important;
  padding:0!important;
  font-size:17px!important;
}
.mob365-tables-view .cafe-size-label{
  display:grid!important;
  place-items:center!important;
  min-width:58px!important;
  padding:0 8px!important;
}


/* =========================================================
   MOB365 EDIT PLAN — NO COLLAPSE FIX
   2026-09-09
   Edit mode keeps the same floor/grid coordinates visible to
   the operator instead of switching all legacy X/Y=0 tables
   to absolute top-left positioning.
   ========================================================= */

.mob365-floor-only .restaurant-floor-grid.is-layout-editing,
.mob365-floor-only .cafe-floor-map.is-layout-editing{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(158px,176px))!important;
  grid-auto-rows:176px!important;
  justify-content:center!important;
  align-content:start!important;
  gap:30px 48px!important;
  padding:30px 42px!important;
}

/* Restaurant: preserve the visible table plan while editing.
   The pencil still opens the existing X/Y/size/shape dialog. */
.mob365-floor-only .restaurant-floor-grid.is-layout-editing>button.mob34-table-card{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  inset:auto!important;
  width:clamp(96px,var(--m3-table-w,136px),210px)!important;
  height:clamp(96px,var(--m3-table-h,136px),210px)!important;
  min-width:96px!important;
  min-height:96px!important;
  max-width:210px!important;
  max-height:210px!important;
  margin:auto!important;
  transform:none!important;
  z-index:2!important;
}

/* Café: preserve each card's grid slot AND existing saved drag offset.
   Dragging in edit mode therefore starts from the current visible plan,
   rather than stacking every table at the origin. */
.mob365-floor-only .cafe-floor-map.is-layout-editing>button.mob34-table-card{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  inset:auto!important;
  width:var(--cafe-table-size,136px)!important;
  height:var(--cafe-table-size,136px)!important;
  min-width:96px!important;
  min-height:96px!important;
  max-width:190px!important;
  max-height:190px!important;
  margin:auto!important;
  transform:translate(var(--cafe-dx,0px),var(--cafe-dy,0px)) scale(var(--cafe-local-scale,1))!important;
  z-index:2!important;
  touch-action:none!important;
}

/* Editing state should be obvious, but never distort positions. */
.mob365-floor-only .is-layout-editing>button.mob34-table-card{
  cursor:grab!important;
  box-shadow:0 10px 26px rgba(13,143,134,.13)!important;
}
.mob365-floor-only .is-layout-editing>button.mob34-table-card:active{
  cursor:grabbing!important;
}
.mob365-floor-only .is-layout-editing .m3-layout-edit,
.mob365-floor-only .is-layout-editing .mob365-cafe-edit-handle{
  z-index:20!important;
}

/* Keep the premium dotted floor in edit mode too. */
.mob365-floor-only .restaurant-floor-grid.is-layout-editing,
.mob365-floor-only .cafe-floor-map.is-layout-editing{
  background-color:#f6fafb!important;
  background-image:
    radial-gradient(circle,rgba(51,104,113,.14) 1px,transparent 1.15px),
    radial-gradient(circle at 18% 8%,rgba(13,143,134,.06),transparent 28%),
    radial-gradient(circle at 82% 88%,rgba(13,53,85,.05),transparent 30%)!important;
  background-size:24px 24px,100% 100%,100% 100%!important;
}
