/* PayMyDine Waiter Floor UX V155
 * Clean operational table cards and inline status actions.
 */

#pmd-waiter-dashboard-root:not(.pmd-w19-editing):not(.pmd-v21-editing)
.pmd-w5-floor-map-real:not(.pmd-v40-compact-authority)
.pmd-w5-table[data-table] {
  width: 104px !important;
  height: 86px !important;
  min-width: 104px !important;
  min-height: 86px !important;
  border-radius: 19px !important;
  padding: 12px !important;
  overflow: visible !important;
}

#pmd-waiter-dashboard-root.pmd-w89-compact
.pmd-w5-floor-map-real
.pmd-w5-table[data-table],
#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real.pmd-v40-compact-authority
.pmd-w5-table[data-table] {
  width: 88px !important;
  height: 74px !important;
  min-width: 88px !important;
  min-height: 74px !important;
  border-radius: 17px !important;
}

/* Uniform shape in both view and edit modes; saved coordinates stay untouched. */
#pmd-waiter-dashboard-root .pmd-w5-floor-map-real .pmd-w5-table[data-table] {
  border-radius: 19px !important;
  background-image: none !important;
  transition: transform .12s ease, box-shadow .12s ease !important;
}

#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real
.pmd-w5-table[data-table] > span {
  position: relative !important;
  z-index: 3 !important;
  display: block !important;
  margin: 0 !important;
  font-size: 31px !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
  letter-spacing: -.05em !important;
  color: inherit !important;
}

/* Capacity is available in the tooltip; it no longer collides with the number. */
#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real
.pmd-w5-table[data-table] > em {
  display: none !important;
}

#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real
.pmd-w5-table[data-table] > small {
  top: -10px !important;
  right: -10px !important;
  z-index: 12 !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  border: 3px solid #fff !important;
  background: #071225 !important;
  color: #fff !important;
  font-size: 13px !important;
  box-shadow: 0 8px 18px rgba(7,18,37,.24) !important;
}

/*
 * First-paint palette. These selectors use the legacy V5 classes immediately,
 * before the V154 API response adds the canonical operational-state attribute.
 * This prevents the old small/orange cards from flashing during reload.
 */
#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real
.pmd-w5-table[data-table] {
  background: #22c55e !important;
  border: 3px solid #087a3d !important;
  color: #062b18 !important;
  box-shadow: 0 9px 0 rgba(8,122,61,.16), 0 14px 25px rgba(34,197,94,.20) !important;
}

#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real
.pmd-w5-table[data-table].is-active,
#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real
.pmd-w5-table[data-table].has-orders,
#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real
.pmd-w5-table[data-table].busy,
#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real
.pmd-w5-table[data-table].is-payment,
#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real
.pmd-w5-table[data-table].is-urgent {
  background: #ef3340 !important;
  border-color: #a8121d !important;
  color: #fff !important;
  box-shadow: 0 9px 0 rgba(168,18,29,.16), 0 14px 25px rgba(239,51,64,.22) !important;
}

/* Canonical operational colors: the same strong green/orange/blue/red family as the KPI row. */
#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real
.pmd-w5-table[data-pmd-v154-table-state="available"] {
  background: #22c55e !important;
  border: 3px solid #087a3d !important;
  color: #062b18 !important;
  box-shadow: 0 9px 0 rgba(8,122,61,.16), 0 14px 25px rgba(34,197,94,.20) !important;
}

#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real
.pmd-w5-table[data-pmd-v154-table-state="occupied"] {
  background: #ef3340 !important;
  border: 3px solid #a8121d !important;
  color: #fff !important;
  box-shadow: 0 9px 0 rgba(168,18,29,.16), 0 14px 25px rgba(239,51,64,.22) !important;
}

#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real
.pmd-w5-table[data-pmd-v154-table-state="cleaning"] {
  background: #ff7a00 !important;
  border: 3px solid #bd4e00 !important;
  color: #251300 !important;
  box-shadow: 0 9px 0 rgba(189,78,0,.16), 0 14px 25px rgba(255,122,0,.22) !important;
}

#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real
.pmd-w5-table[data-pmd-v154-table-state="reserved"] {
  background: #26b7d9 !important;
  border: 3px solid #087da0 !important;
  color: #062331 !important;
  box-shadow: 0 9px 0 rgba(8,125,160,.16), 0 14px 25px rgba(38,183,217,.22) !important;
}

#pmd-waiter-dashboard-root .pmd-w5-floor-map-real .pmd-w5-table.is-selected,
#pmd-waiter-dashboard-root .pmd-w5-floor-map-real .pmd-w5-table.pmd-w12-selected,
#pmd-waiter-dashboard-root .pmd-w5-floor-map-real .pmd-w5-table.pmd-w19-selected {
  outline: 4px solid #071225 !important;
  outline-offset: 3px !important;
}

/* Status color is the table status. Repeated text chips are removed. */
#pmd-waiter-dashboard-root .pmd-v154-table-chip {
  display: none !important;
  pointer-events: none !important;
}

#pmd-waiter-dashboard-root .pmd-v154-payment-chip[data-payment-state="none"],
#pmd-waiter-dashboard-root .pmd-v154-payment-chip[data-payment-state="unpaid"] {
  display: none !important;
}

/* Order status labels (NEW / READY / etc.) do not belong on the floor icon. */
#pmd-waiter-dashboard-root .pmd-v154-order-chip {
  display: none !important;
  visibility: hidden !important;
}

#pmd-waiter-dashboard-root .pmd-v154-payment-chip[data-payment-state="paid"],
#pmd-waiter-dashboard-root .pmd-v154-payment-chip[data-payment-state="partial"] {
  position: absolute !important;
  top: -7px !important;
  left: -8px !important;
  bottom: auto !important;
  z-index: 11 !important;
  display: inline-flex !important;
  width: auto !important;
  max-width: 72px !important;
  height: 22px !important;
  min-height: 22px !important;
  padding: 0 9px !important;
  border: 2px solid #fff !important;
  border-radius: 8px 8px 8px 2px !important;
  color: #fff !important;
  font-size: 9px !important;
  font-weight: 1000 !important;
  letter-spacing: .07em !important;
  box-shadow: 0 7px 16px rgba(15,23,42,.22) !important;
}

#pmd-waiter-dashboard-root .pmd-v154-payment-chip[data-payment-state="paid"] {
  background: #15803d !important;
}

#pmd-waiter-dashboard-root .pmd-v154-payment-chip[data-payment-state="partial"] {
  background: #b45309 !important;
}

/* Old large modal is retired. */
.pmd-v154-modal {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Inline quick operations share the existing filter row. */
#pmd-waiter-dashboard-root .pmd-w5-tabs {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

#pmd-waiter-dashboard-root .pmd-v155-table-actions {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-left: auto !important;
  padding-left: 10px !important;
  border-left: 1px solid #dbe4ee !important;
}

#pmd-waiter-dashboard-root .pmd-v155-selected-status {
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 12px !important;
  border: 1px solid #dbe4ee !important;
  border-radius: 13px !important;
  background: #fff !important;
  color: #0f172a !important;
  box-shadow: 0 6px 16px rgba(15,23,42,.07) !important;
}

#pmd-waiter-dashboard-root .pmd-v155-selected-status::before {
  content: "";
  width: 9px !important;
  height: 9px !important;
  border-radius: 999px !important;
  background: #22c55e !important;
}

#pmd-waiter-dashboard-root .pmd-v155-selected-status.is-occupied::before { background: #ef4444 !important; }
#pmd-waiter-dashboard-root .pmd-v155-selected-status.is-cleaning::before { background: #f97316 !important; }
#pmd-waiter-dashboard-root .pmd-v155-selected-status.is-reserved::before { background: #3b82f6 !important; }

#pmd-waiter-dashboard-root .pmd-v155-selected-status b {
  font-size: 13px !important;
  font-weight: 1000 !important;
}

#pmd-waiter-dashboard-root .pmd-v155-selected-status small {
  position: static !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #64748b !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  box-shadow: none !important;
}

#pmd-waiter-dashboard-root .pmd-v155-status-action {
  min-height: 42px !important;
  padding: 0 14px !important;
  border: 1px solid #cfdbe7 !important;
  border-radius: 13px !important;
  background: linear-gradient(180deg,#fff,#f8fafc) !important;
  color: #0f172a !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  cursor: pointer !important;
  box-shadow: 0 5px 14px rgba(15,23,42,.07) !important;
}

#pmd-waiter-dashboard-root .pmd-v155-status-action:hover {
  border-color: #0f766e !important;
  color: #0f766e !important;
  transform: translateY(-1px) !important;
}

#pmd-waiter-dashboard-root .pmd-v155-status-action[data-confirm-ready="1"] {
  border-color: #dc2626 !important;
  background: #fff1f2 !important;
  color: #991b1b !important;
}

#pmd-waiter-dashboard-root .pmd-v155-status-action:disabled {
  opacity: .55 !important;
  cursor: wait !important;
}

#pmd-waiter-dashboard-root .pmd-v155-action-message {
  max-width: 220px !important;
  color: #64748b !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}

#pmd-waiter-dashboard-root .pmd-v155-action-message.is-success { color: #15803d !important; }
#pmd-waiter-dashboard-root .pmd-v155-action-message.is-error { color: #b91c1c !important; }

/* Payment Waiting is operationally urgent. */
#pmd-waiter-dashboard-root .pmd-w5-kpis > .pmd-w5-kpi:nth-child(4) {
  background: linear-gradient(135deg,#ef4444 0%,#dc2626 58%,#b91c1c 100%) !important;
  border-color: #991b1b !important;
  color: #fff !important;
  box-shadow: 0 18px 36px rgba(185,28,28,.22) !important;
}

#pmd-waiter-dashboard-root .pmd-w5-kpis > .pmd-w5-kpi:nth-child(4) h3,
#pmd-waiter-dashboard-root .pmd-w5-kpis > .pmd-w5-kpi:nth-child(4) strong,
#pmd-waiter-dashboard-root .pmd-w5-kpis > .pmd-w5-kpi:nth-child(4) p {
  color: #fff !important;
}

#pmd-waiter-dashboard-root .pmd-w5-kpis > .pmd-w5-kpi:nth-child(4) .pmd-w5-ico {
  background: rgba(255,255,255,.94) !important;
}

#pmd-waiter-dashboard-root .pmd-v61-map-info-btn {
  width: 40px !important;
  height: 40px !important;
  right: 18px !important;
  bottom: 18px !important;
  border: 2px solid #0f172a !important;
  font-family: Georgia, serif !important;
  font-size: 18px !important;
  font-style: italic !important;
}

#pmd-waiter-dashboard-root .pmd-v61-map-legend {
  right: 18px !important;
  bottom: 66px !important;
  width: 285px !important;
}

#pmd-waiter-dashboard-root .pmd-v155-legend-ribbon {
  margin-top: 10px !important;
  padding: 10px !important;
  border-radius: 12px !important;
  background: #f8fafc !important;
  color: #475569 !important;
  font-size: 10px !important;
  line-height: 1.4 !important;
  font-weight: 800 !important;
}

#pmd-waiter-dashboard-root .pmd-v155-legend-ribbon span {
  display: inline-flex !important;
  margin-right: 5px !important;
  padding: 2px 5px !important;
  border-radius: 5px !important;
  background: #15803d !important;
  color: #fff !important;
  font-size: 8px !important;
  font-weight: 1000 !important;
}

#pmd-waiter-dashboard-root .pmd-v155-legend-ribbon span:nth-child(2) {
  background: #b45309 !important;
}

@media (max-width: 900px) {
  #pmd-waiter-dashboard-root .pmd-v155-table-actions {
    width: 100% !important;
    margin-left: 0 !important;
    padding: 10px 0 0 !important;
    border-left: 0 !important;
    border-top: 1px solid #e2e8f0 !important;
  }
}

@media (max-width: 640px) {
  #pmd-waiter-dashboard-root:not(.pmd-w19-editing):not(.pmd-v21-editing)
  .pmd-w5-floor-map-real:not(.pmd-v40-compact-authority)
  .pmd-w5-table[data-table] {
    width: 92px !important;
    height: 76px !important;
    min-width: 92px !important;
    min-height: 76px !important;
  }

  #pmd-waiter-dashboard-root .pmd-v155-status-action {
    flex: 1 1 132px !important;
  }

  #pmd-waiter-dashboard-root .pmd-v155-selected-status {
    flex: 1 1 100% !important;
  }
}

/* -------------------------------------------------------------------------
 * PMD Waiter Floor final authority V156
 *
 * This block intentionally uses a doubled root ID. The waiter layout still
 * emits many legacy inline style blocks after the normal asset bundle; the
 * extra specificity makes this one small authority stable without modifying
 * saved floor coordinates or the old dashboard renderer.
 * ---------------------------------------------------------------------- */

/* Expanded geometry is identical in view and edit modes. The V153 save
 * shield temporarily adds the compact class; it must never shrink tables. */
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root:not(.pmd-w19-compact):not(.pmd-w89-compact)
.pmd-w5-floor-map-real:not(.pmd-v40-compact-authority)
.pmd-w5-table[data-table],
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real[data-pmd-v153-save-shield="1"]
.pmd-w5-table[data-table] {
  width: 104px !important;
  height: 86px !important;
  min-width: 104px !important;
  min-height: 86px !important;
  flex-basis: 104px !important;
  padding: 12px !important;
  border-radius: 19px !important;
  box-sizing: border-box !important;
}

/* Real compact mode remains compact. The save shield is explicitly excluded. */
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root.pmd-w19-compact
.pmd-w5-floor-map-real .pmd-w5-table[data-table],
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root.pmd-w89-compact
.pmd-w5-floor-map-real .pmd-w5-table[data-table],
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real.pmd-v40-compact-authority:not([data-pmd-v153-save-shield="1"])
.pmd-w5-table[data-table] {
  width: 88px !important;
  height: 74px !important;
  min-width: 88px !important;
  min-height: 74px !important;
  flex: 0 0 88px !important;
  padding: 10px !important;
  border-radius: 17px !important;
}

/* One clear table shape from the first paint onward. */
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table] {
  --pmd-v156-table-shadow: 0 8px 0 rgba(5,122,55,.16), 0 14px 24px rgba(22,198,91,.18);
  overflow: visible !important;
  background-color: #16c65b !important;
  background-image: none !important;
  border: 3px solid #057a37 !important;
  color: #052e16 !important;
  box-shadow: var(--pmd-v156-table-shadow) !important;
  filter: none !important;
  animation: none !important;
  opacity: 1 !important;
}

/* Remove old orange order-dot and legacy generated decorations. The numeric
 * open-order badge and PAID/PARTIAL ribbons are real child elements. */
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table]::before,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table]::after {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
}

body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table] > span {
  color: inherit !important;
  font-size: 31px !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
}

body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table] > em {
  display: none !important;
}

/* Legacy order-bearing classes receive the occupied palette immediately,
 * before the V154 state request has returned. */
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table].is-active,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table].has-orders,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table].busy,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table].is-payment,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table].is-urgent {
  --pmd-v156-table-shadow: 0 8px 0 rgba(184,15,36,.17), 0 14px 24px rgba(255,51,71,.20);
  background-color: #ff3347 !important;
  background-image: none !important;
  border-color: #b80f24 !important;
  color: #fff !important;
}

/* Canonical physical states. Support both V154's and V155's data attributes. */
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table][data-pmd-v154-table-state="available"],
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table][data-pmd-v155-table-state="available"] {
  --pmd-v156-table-shadow: 0 8px 0 rgba(5,122,55,.16), 0 14px 24px rgba(22,198,91,.18);
  background-color: #16c65b !important;
  background-image: none !important;
  border-color: #057a37 !important;
  color: #052e16 !important;
}

body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table][data-pmd-v154-table-state="occupied"],
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table][data-pmd-v155-table-state="occupied"] {
  --pmd-v156-table-shadow: 0 8px 0 rgba(184,15,36,.17), 0 14px 24px rgba(255,51,71,.20);
  background-color: #ff3347 !important;
  background-image: none !important;
  border-color: #b80f24 !important;
  color: #fff !important;
}

body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table][data-pmd-v154-table-state="cleaning"],
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table][data-pmd-v155-table-state="cleaning"] {
  --pmd-v156-table-shadow: 0 8px 0 rgba(185,78,0,.17), 0 14px 24px rgba(255,138,0,.20);
  background-color: #ff8a00 !important;
  background-image: none !important;
  border-color: #b94e00 !important;
  color: #251300 !important;
}

body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table][data-pmd-v154-table-state="reserved"],
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table][data-pmd-v155-table-state="reserved"] {
  --pmd-v156-table-shadow: 0 8px 0 rgba(8,126,164,.17), 0 14px 24px rgba(19,181,234,.20);
  background-color: #13b5ea !important;
  background-image: none !important;
  border-color: #087ea4 !important;
  color: #052b3a !important;
}

/* Selection remains functional for inline actions, but has zero visual effect. */
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table].is-selected,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table].selected,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table].pmd-w12-selected,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table].pmd-w19-selected,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table][aria-pressed="true"] {
  outline: 0 !important;
  outline-offset: 0 !important;
  box-shadow: var(--pmd-v156-table-shadow) !important;
  filter: none !important;
}

body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real:not(.pmd-v40-compact-authority)
.pmd-w5-table[data-table].is-selected,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real:not(.pmd-v40-compact-authority)
.pmd-w5-table[data-table].pmd-w12-selected,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real:not(.pmd-v40-compact-authority)
.pmd-w5-table[data-table].pmd-w19-selected,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real[data-pmd-v153-save-shield="1"]
.pmd-w5-table[data-table].is-selected,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real[data-pmd-v153-save-shield="1"]
.pmd-w5-table[data-table].pmd-w12-selected,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real[data-pmd-v153-save-shield="1"]
.pmd-w5-table[data-table].pmd-w19-selected {
  transform: translate(-50%, -50%) !important;
}

body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real.pmd-v40-compact-authority:not([data-pmd-v153-save-shield="1"])
.pmd-w5-table[data-table].is-selected,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real.pmd-v40-compact-authority:not([data-pmd-v153-save-shield="1"])
.pmd-w5-table[data-table].pmd-w12-selected,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real.pmd-v40-compact-authority:not([data-pmd-v153-save-shield="1"])
.pmd-w5-table[data-table].pmd-w19-selected {
  transform: none !important;
}

/* Do not animate while the pointer is moving. Animate only the collision
 * correction after drop. */
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table.pmd-v50-dragging-table {
  transition: none !important;
  z-index: 999999 !important;
}

body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table.pmd-v61-smart-snapping {
  transition: left .18s cubic-bezier(.2,.8,.2,1), top .18s cubic-bezier(.2,.8,.2,1) !important;
}

/* Payment Waiting: neutral black operational card, never red. */
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-kpis > .pmd-w5-kpi:nth-child(4),
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-kpis > .pmd-w5-kpi[data-pmd-v156-kpi="payment-waiting"] {
  background: linear-gradient(135deg,#020617 0%,#0f172a 58%,#111827 100%) !important;
  border-color: #000 !important;
  color: #fff !important;
  box-shadow: 0 18px 36px rgba(2,6,23,.24) !important;
}

body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-kpis > .pmd-w5-kpi:nth-child(4) h3,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-kpis > .pmd-w5-kpi:nth-child(4) strong,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-kpis > .pmd-w5-kpi:nth-child(4) p,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-kpis > .pmd-w5-kpi[data-pmd-v156-kpi="payment-waiting"] h3,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-kpis > .pmd-w5-kpi[data-pmd-v156-kpi="payment-waiting"] strong,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-kpis > .pmd-w5-kpi[data-pmd-v156-kpi="payment-waiting"] p {
  color: #fff !important;
}

body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-kpis > .pmd-w5-kpi:nth-child(4) .pmd-w5-ico,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-kpis > .pmd-w5-kpi[data-pmd-v156-kpi="payment-waiting"] .pmd-w5-ico {
  background: rgba(255,255,255,.96) !important;
}

@media (max-width: 640px) {
  body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root:not(.pmd-w19-compact):not(.pmd-w89-compact)
  .pmd-w5-floor-map-real:not(.pmd-v40-compact-authority)
  .pmd-w5-table[data-table],
  body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
  .pmd-w5-floor-map-real[data-pmd-v153-save-shield="1"]
  .pmd-w5-table[data-table] {
    width: 92px !important;
    height: 76px !important;
    min-width: 92px !important;
    min-height: 76px !important;
    flex-basis: 92px !important;
  }
}

/* -------------------------------------------------------------------------
 * PMD Waiter Dashboard authority V157
 * Visual corrections requested after V156.
 * ---------------------------------------------------------------------- */

/* Payment Waiting returns to the strong red card. Only the lettering is black. */
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-kpis > .pmd-w5-kpi:nth-child(4),
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-kpis > .pmd-w5-kpi[data-pmd-v156-kpi="payment-waiting"] {
  background: #ef3340 !important;
  background-image: none !important;
  border-color: #a8121d !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-kpis > .pmd-w5-kpi:nth-child(4) h3,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-kpis > .pmd-w5-kpi:nth-child(4) strong,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-kpis > .pmd-w5-kpi:nth-child(4) p,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-kpis > .pmd-w5-kpi[data-pmd-v156-kpi="payment-waiting"] h3,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-kpis > .pmd-w5-kpi[data-pmd-v156-kpi="payment-waiting"] strong,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-kpis > .pmd-w5-kpi[data-pmd-v156-kpi="payment-waiting"] p {
  color: #050505 !important;
  text-shadow: none !important;
}

/* Flat table cards: remove the colored drop-shadow under every floor table. */
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table],
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table].is-selected,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table].pmd-w12-selected,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table].pmd-w19-selected {
  --pmd-v156-table-shadow: none !important;
  box-shadow: none !important;
}

/* Expanded floor uses the remaining viewport height. Compact/small mode is untouched. */
@media (min-width: 900px) {
  body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root:not(.pmd-w19-compact):not(.pmd-w89-compact)
  .pmd-w5-floor-map-real:not(.pmd-v40-compact-authority) {
    height: clamp(445px, calc(100vh - 330px), 585px) !important;
    min-height: 445px !important;
  }
}

/* Active-order table number is a real square with a sharp operational palette. */
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root .pmd-v35-table-no {
  width: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  padding: 0 !important;
  border-radius: 10px !important;
  background: #22c55e !important;
  border: 3px solid #087a3d !important;
  color: #031b10 !important;
  box-shadow: none !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root .pmd-v35-table-no.is-empty {
  background: #ff3347 !important;
  border-color: #a8121d !important;
  color: #050505 !important;
}

/* Bottom row: Payment remains an action. Kitchen/order status is read-only. */
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-w5-card-actions {
  align-items: stretch !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-w5-card-actions [data-pay-one] {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  background: #ffffff !important;
  border: 2px solid #d9e2ec !important;
  color: #071225 !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-w5-card-actions [data-pay-one] small,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v157-order-status small {
  font-size: 10px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v157-order-status {
  min-height: 54px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  padding: 8px 10px !important;
  border: 2px solid #ff7a00 !important;
  border-radius: 14px !important;
  background: #ffedd5 !important;
  color: #7c2d12 !important;
  text-align: center !important;
  cursor: default !important;
  user-select: none !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v157-order-status strong {
  font-size: 14px !important;
  line-height: 1.15 !important;
  font-weight: 1000 !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v157-order-status[data-tone="received"] {
  background: #dbeafe !important;
  border-color: #2563eb !important;
  color: #172554 !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v157-order-status[data-tone="preparing"] {
  background: #ffedd5 !important;
  border-color: #f97316 !important;
  color: #7c2d12 !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v157-order-status[data-tone="ready"] {
  background: #dcfce7 !important;
  border-color: #16a34a !important;
  color: #052e16 !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v157-order-status[data-tone="delivered"] {
  background: #e2e8f0 !important;
  border-color: #334155 !important;
  color: #0f172a !important;
}

/* -------------------------------------------------------------------------
 * PMD Waiter Dashboard authority V158
 * Requests after V157: black floor numbers, taller floor, row-first cards,
 * clickable status progression, undo affordance, and edit-in-menu mode.
 * ---------------------------------------------------------------------- */

/* Floor numbers are always black on every table color. */
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table] > span,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table] span:not(.pmd-v154-payment-chip):not(.pmd-v154-order-chip):not(.pmd-v154-table-chip),
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table] b,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-table] strong {
  color: #050505 !important;
  -webkit-text-fill-color: #050505 !important;
  text-shadow: none !important;
}

/* Big floor mode: fill the first screen with KPI + floor. Compact/small mode stays untouched. */
@media (min-width: 900px) {
  body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root:not(.pmd-w19-compact):not(.pmd-w89-compact)
  .pmd-w5-floor-map-real:not(.pmd-v40-compact-authority) {
    height: clamp(610px, calc(100vh - 245px), 780px) !important;
    min-height: 610px !important;
  }

  body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root:not(.pmd-w19-compact):not(.pmd-w89-compact)
  section.pmd-w5-board {
    margin-top: 26px !important;
  }
}

/* Order cards are normal row-first grid: left to right, then next row. */
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root .pmd-w5-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  align-items: start !important;
  column-count: initial !important;
  columns: initial !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root .pmd-w5-grid > article.pmd-w5-card[data-order] {
  break-inside: avoid !important;
  page-break-inside: avoid !important;
  align-self: start !important;
}
@media (max-width: 1180px) {
  body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root .pmd-w5-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 740px) {
  body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root .pmd-w5-grid {
    grid-template-columns: 1fr !important;
  }
}

/* V158 board toolbar with global undo. */
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root .pmd-v158-toolbar {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 14px !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root .pmd-v158-undo {
  min-height: 42px !important;
  padding: 0 18px !important;
  border-radius: 14px !important;
  border: 2px solid #071225 !important;
  background: #ffffff !important;
  color: #071225 !important;
  font-weight: 1000 !important;
  cursor: pointer !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root .pmd-v158-undo:disabled {
  opacity: .38 !important;
  cursor: not-allowed !important;
}

/* V158 status is a real clickable next-step button. No Kitchen Status label. */
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v157-order-status,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v158-order-status {
  min-height: 54px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 12px !important;
  border-radius: 14px !important;
  text-align: center !important;
  user-select: none !important;
  font-weight: 1000 !important;
  cursor: pointer !important;
  border: 2px solid #f97316 !important;
  background: #ffedd5 !important;
  color: #7c2d12 !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v158-order-status small,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v157-order-status small {
  display: none !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v158-order-status strong,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v157-order-status strong {
  font-size: 15px !important;
  line-height: 1.1 !important;
  font-weight: 1000 !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v158-order-status[data-tone="received"] {
  background: #dbeafe !important;
  border-color: #2563eb !important;
  color: #172554 !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v158-order-status[data-tone="preparing"] {
  background: #ffedd5 !important;
  border-color: #f97316 !important;
  color: #7c2d12 !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v158-order-status[data-tone="ready"] {
  background: #dcfce7 !important;
  border-color: #16a34a !important;
  color: #052e16 !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v158-order-status[data-tone="delivered"] {
  background: #e2e8f0 !important;
  border-color: #334155 !important;
  color: #0f172a !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v158-order-status:disabled {
  opacity: .72 !important;
  cursor: wait !important;
}

/* Edit button remains visually sharp and opens table menu edit mode through V158 JS. */
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-w5-card-actions button[data-edit] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}


/* -------------------------------------------------------------------------
 * PMD Waiter Dashboard authority V159
 * Fix after V158: one status button per card and a reliably taller big floor.
 * ---------------------------------------------------------------------- */
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root.pmd-v159-authority
.pmd-w5-floor-map-real[data-pmd-v159-full-floor="1"] {
  height: clamp(700px, calc(100vh - 170px), 880px) !important;
  min-height: 700px !important;
  max-height: 880px !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root.pmd-v159-authority
section.pmd-w5-board {
  margin-top: 34px !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-pmd-v159-black-number="1"] > span,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-pmd-v159-black-number="1"] > b,
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
.pmd-w5-floor-map-real .pmd-w5-table[data-pmd-v159-black-number="1"] > strong {
  color: #050505 !important;
  -webkit-text-fill-color: #050505 !important;
  text-shadow: none !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v159-order-status {
  min-height: 56px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 12px !important;
  border-radius: 14px !important;
  text-align: center !important;
  user-select: none !important;
  font-weight: 1000 !important;
  cursor: pointer !important;
  border: 2px solid #2563eb !important;
  background: #dbeafe !important;
  color: #172554 !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v159-order-status strong {
  font-size: 15px !important;
  line-height: 1.1 !important;
  font-weight: 1000 !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v159-order-status small {
  display: none !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v159-order-status[data-tone="received"] {
  background: #dbeafe !important;
  border-color: #2563eb !important;
  color: #172554 !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v159-order-status[data-tone="preparing"] {
  background: #ffedd5 !important;
  border-color: #f97316 !important;
  color: #7c2d12 !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v159-order-status[data-tone="ready"] {
  background: #dcfce7 !important;
  border-color: #16a34a !important;
  color: #052e16 !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-v159-order-status[data-tone="delivered"] {
  background: #e2e8f0 !important;
  border-color: #334155 !important;
  color: #0f172a !important;
}
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-w5-card-actions > .pmd-v157-order-status:not(.pmd-v159-order-status),
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-w5-card-actions > .pmd-v158-order-status:not(.pmd-v159-order-status),
body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root
article.pmd-w5-card[data-order] .pmd-w5-card-actions > [data-status-one]:not(.pmd-v159-order-status) {
  display: none !important;
}
@media (max-width: 900px) {
  body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root.pmd-v159-authority
  .pmd-w5-floor-map-real[data-pmd-v159-full-floor="1"] {
    height: clamp(520px, 68vh, 680px) !important;
    min-height: 520px !important;
  }
}

body.page #pmd-waiter-dashboard-root#pmd-waiter-dashboard-root .pmd-v159-undo {
  min-height: 42px !important;
}






















