/* PayMyDine Owner Dashboard Clean v22: role-split restaurant ops UI */
html.pmd-owner-dashboard-clean-v1-html,
body.pmd-owner-dashboard-clean-v1-active { background:#f8fafc !important; }
body.pmd-owner-dashboard-clean-v1-active .page-wrapper,
body.pmd-owner-dashboard-clean-v1-active .content,
body.pmd-owner-dashboard-clean-v1-active .page-content,
body.pmd-owner-dashboard-clean-v1-active main { background:#f8fafc !important; }

#pmd-owner-dashboard-clean-v1-root {
  width:100%;
  min-height:calc(100vh - 86px);
  padding:28px 30px 44px;
  box-sizing:border-box;
  color:#111827;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.pmd-owner-clean-loading,
.pmd-v15-error {
  min-height:430px;
  border-radius:28px;
  background:#fff;
  color:#111827;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:36px;
  border:1px solid #e5e7eb;
  box-shadow:0 24px 70px rgba(15,23,42,.08);
}
.pmd-v15-error { flex-direction:column; text-align:center; }
.pmd-v15-error button,
.pmd-v15-card-actions button,
.pmd-v15-card-actions a,
.pmd-v15-top-controls a {
  border:0;
  border-radius:14px;
  padding:10px 14px;
  color:#111827 !important;
  background:#fff;
  border:1px solid #e5e7eb;
  text-decoration:none !important;
  font-weight:800;
  cursor:pointer;
  transition:.2s ease;
}
.pmd-v15-card-actions button:hover,
.pmd-v15-card-actions a:hover,
.pmd-v15-top-controls a:hover { transform:translateY(-1px); box-shadow:0 12px 26px rgba(15,23,42,.08); }
.pmd-owner-clean-spinner { width:30px; height:30px; border-radius:50%; border:3px solid #e5e7eb; border-top-color:#22c55e; animation:pmdV15Spin .9s linear infinite; }
@keyframes pmdV15Spin { to { transform:rotate(360deg); } }

.pmd-v15-shell { max-width:1740px; margin:0 auto; }
.pmd-v15-topbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:24px;
}
.pmd-v15-topbar h1 {
  margin:0 0 6px;
  color:#111827;
  font-size:clamp(24px,2.4vw,36px);
  font-weight:950;
  letter-spacing:-.04em;
}
.pmd-v15-topbar p { margin:0; color:#64748b; font-size:15px; }
.pmd-v15-topbar p b { color:#0f172a; }
.pmd-v15-top-controls { display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.pmd-v15-top-controls span {
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 16px;
  border-radius:16px;
  background:#fff;
  border:1px solid #e5e7eb;
  box-shadow:0 10px 30px rgba(15,23,42,.04);
  font-weight:800;
  color:#334155;
}
.pmd-v15-top-controls span:nth-child(2) { color:#7c3aed; background:#faf5ff; border-color:#eee4ff; }

.pmd-v15-kpi-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  margin-bottom:22px;
}
.pmd-v15-kpi {
  min-height:142px;
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  align-items:center;
  gap:18px;
  border-radius:20px;
  background:#fff;
  border:1px solid #e5e7eb;
  padding:22px;
  box-shadow:0 18px 45px rgba(15,23,42,.055);
  overflow:hidden;
  position:relative;
}
.pmd-v15-kpi::after {
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:4px;
  background:linear-gradient(90deg, rgba(34,197,94,.8), rgba(124,58,237,.5));
  opacity:.42;
}
.pmd-v15-kpi-icon {
  width:64px; height:64px; border-radius:50%; display:grid; place-items:center;
  font-size:28px; background:#ecfdf5; color:#16a34a;
}
.pmd-v15-kpi--orange .pmd-v15-kpi-icon { background:#fff7ed; color:#f97316; }
.pmd-v15-kpi--blue .pmd-v15-kpi-icon { background:#eff6ff; color:#2563eb; }
.pmd-v15-kpi--purple .pmd-v15-kpi-icon { background:#faf5ff; color:#7c3aed; }
.pmd-v15-kpi-copy span { display:block; color:#0f172a; font-size:15px; font-weight:900; }
.pmd-v15-kpi-copy strong { display:block; color:#0f172a; font-size:clamp(30px,3vw,42px); font-weight:950; line-height:1; letter-spacing:-.055em; margin:8px 0; }
.pmd-v15-kpi-copy small { display:block; color:#64748b; font-weight:700; line-height:1.35; }

.pmd-v15-main-layout {
  display:grid;
  grid-template-columns:minmax(560px,1.2fr) minmax(420px,1fr);
  gap:20px;
  align-items:stretch;
  margin-bottom:20px;
}

.pmd-v15-main-layout .pmd-v15-card--timeline { grid-column:1 / -1; }
.pmd-v15-analytics-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin-bottom:20px;
}
.pmd-v15-bottom-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin-bottom:20px;
}
.pmd-v15-bottom-grid--wide { grid-template-columns:1fr 1fr; }

.pmd-v15-card {
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:20px;
  box-shadow:0 18px 45px rgba(15,23,42,.055);
  overflow:hidden;
  min-width:0;
}
.pmd-v15-card-head {
  min-height:68px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:20px 22px 10px;
}
.pmd-v15-card-head h2 { margin:0 0 5px; font-size:24px; line-height:1.1; font-weight:950; letter-spacing:-.035em; color:#111827; }
.pmd-v15-card-head p { margin:0; color:#64748b; font-weight:650; }
.pmd-v15-card-head a { color:#475569; text-decoration:none; font-weight:900; white-space:nowrap; }
.pmd-v15-card-body { padding:12px 22px 22px; }
.pmd-v15-card-actions { display:flex; gap:8px; }
.pmd-v15-card--floor .pmd-v15-card-body { padding-top:8px; }

.pmd-v15-floor-tools { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:14px; }
.pmd-v15-floor-tabs { display:flex; flex-wrap:wrap; gap:8px; }
.pmd-v15-floor-tabs button {
  border:0; border-radius:999px; background:#f1f5f9; color:#334155; font-weight:900; padding:10px 14px; cursor:pointer;
}
.pmd-v15-floor-tabs button.is-active { background:#111827; color:#fff; }
.pmd-v15-floor-tabs b { margin-left:8px; background:#facc15; color:#111827; border-radius:999px; padding:2px 7px; }
.pmd-v15-floor-legend { display:grid; grid-template-columns:repeat(2,auto); gap:8px 14px; font-size:12px; font-weight:850; color:#64748b; }
.pmd-v15-floor-legend span { display:flex; align-items:center; gap:7px; }
.pmd-v15-floor-legend i { width:11px; height:11px; border-radius:50%; display:inline-block; background:#94a3b8; }
.pmd-v15-dot-active i { background:#f59e0b !important; }
.pmd-v15-dot-reserved i { background:#3b82f6 !important; }
.pmd-v15-dot-unpaid i { background:#ef4444 !important; }
.pmd-v15-dot-attention i { background:#f97316 !important; }
.pmd-v15-dot-ready i { background:#8b5cf6 !important; }
.pmd-v15-dot-free i { background:#22c55e !important; }
.pmd-v15-floor-wrap { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:14px; }
.pmd-v15-floor-canvas {
  position:relative;
  height:430px;
  border-radius:18px;
  border:1px solid #cfd8dc;
  overflow:hidden;
  background:#f8f2e8;
}
.pmd-v15-floor-bg {
  position:absolute; inset:0;
  background:
    linear-gradient(rgba(15,23,42,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,23,42,.06) 1px, transparent 1px),
    radial-gradient(circle at 8% 14%, rgba(250,204,21,.16), transparent 22%),
    #f8f2e8;
  background-size:42px 42px,42px 42px,100% 100%,100% 100%;
}
.pmd-v15-floor-node {
  position:absolute;
  border:2px solid #dbe3e6;
  border-radius:15px;
  background:#fff;
  color:#111827;
  box-shadow:0 10px 20px rgba(15,23,42,.10);
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  min-width:98px;
  min-height:64px;
  padding:8px;
  transition:.18s ease;
}
.pmd-v15-floor-node:hover { transform:translateY(-2px); box-shadow:0 18px 32px rgba(15,23,42,.14); }
.pmd-v15-floor-node strong { font-size:24px; font-weight:950; line-height:1; }
.pmd-v15-floor-node small { font-size:11px; font-weight:950; text-transform:uppercase; letter-spacing:.07em; }
.pmd-v15-floor-node em { font-style:normal; font-size:11px; font-weight:900; }
.pmd-v15-floor-node--free { border-color:#86efac; background:#dcfce7; }
.pmd-v15-floor-node--active { border-color:#fdba74; background:#ffedd5; }
.pmd-v15-floor-node--reserved { border-color:#93c5fd; background:#dbeafe; }
.pmd-v15-floor-node--unpaid { border-color:#f87171; background:#fee2e2; }
.pmd-v15-floor-node--attention { border-color:#fb923c; background:#fff7ed; }
.pmd-v15-floor-node--ready { border-color:#a78bfa; background:#ede9fe; }
.pmd-v15-floor-node.is-selected { outline:4px solid rgba(17,24,39,.16); }
.pmd-v15-floor-side {
  min-height:430px;
  border-radius:18px;
  background:#faf7f0;
  border:1px solid #e8dfcf;
  padding:14px;
}
.pmd-v15-floor-empty { height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:12px; color:#64748b; }
.pmd-v15-floor-empty strong { color:#111827; font-size:24px; }
.pmd-v15-table-card header { border-radius:16px; background:#123823; color:#fff; padding:20px; margin-bottom:12px; }
.pmd-v15-table-card header strong { display:block; font-size:24px; line-height:1; }
.pmd-v15-table-card header small { color:rgba(255,255,255,.65); font-weight:800; }
.pmd-v15-side-row { display:flex; justify-content:space-between; gap:10px; align-items:center; background:#fff; border:1px solid #e5e7eb; border-radius:13px; padding:10px 12px; margin-bottom:8px; font-weight:850; }
.pmd-v15-side-row span { color:#64748b; font-size:12px; }
.pmd-v15-table-card footer { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px; }
.pmd-v15-table-card footer a { text-align:center; background:#facc15; color:#111827 !important; border-radius:999px; padding:10px; font-weight:950; text-decoration:none !important; }
.pmd-v15-table-card footer a:last-child { background:#123823; color:#fff !important; }

.pmd-v15-alerts { display:flex; flex-direction:column; gap:10px; }
.pmd-v15-alert { display:grid; grid-template-columns:38px 1fr auto; align-items:center; gap:12px; padding:13px; border-radius:16px; color:#111827 !important; background:#f8fafc; text-decoration:none !important; border:1px solid #e5e7eb; }
.pmd-v15-alert i { width:34px; height:34px; border-radius:12px; display:grid; place-items:center; background:#fff7ed; color:#f97316; font-style:normal; }
.pmd-v15-alert strong { display:block; font-weight:950; }
.pmd-v15-alert small { display:block; color:#64748b; margin-top:3px; }
.pmd-v15-alert b { color:#ef4444; font-size:13px; }
.pmd-v15-empty { border:1px dashed #d7dce2; background:#f8fafc; border-radius:16px; padding:18px; color:#64748b; font-weight:800; }

.pmd-v15-timeline { position:relative; display:flex; flex-direction:column; gap:8px; }
.pmd-v15-timeline-row { display:grid; grid-template-columns:72px 18px 1fr; gap:10px; align-items:start; color:#111827 !important; text-decoration:none !important; }
.pmd-v15-timeline-row span { color:#64748b; font-size:12px; font-weight:800; padding-top:3px; }
.pmd-v15-timeline-row i { width:12px; height:12px; border-radius:50%; background:#22c55e; margin-top:5px; box-shadow:0 0 0 4px #e9fbe9; }
.pmd-v15-timeline-row--reserve i { background:#3b82f6; box-shadow:0 0 0 4px #eaf2ff; }
.pmd-v15-timeline-row strong { display:block; font-weight:950; }
.pmd-v15-timeline-row small { color:#64748b; }

.pmd-v15-chart-head { display:flex; align-items:flex-end; justify-content:space-between; gap:10px; }
.pmd-v15-chart-head strong { font-size:30px; font-weight:950; letter-spacing:-.04em; }
.pmd-v15-chart-head small, .pmd-v15-chart-note { color:#64748b; font-weight:750; }
.pmd-v15-spark { display:block; width:100%; height:118px; margin:8px 0; background:linear-gradient(180deg,#fff,#fafafa); border-radius:16px; }
.pmd-v15-chart-note b { color:#111827; }
.pmd-v15-payment-grid { display:grid; grid-template-columns:130px 1fr; align-items:center; gap:18px; }
.pmd-v15-donut { width:118px; height:118px; border-radius:50%; display:grid; place-items:center; background:conic-gradient(#22c55e calc(var(--p) * 1%), #7c3aed 0 65%, #f97316 0 82%, #e5e7eb 0); position:relative; }
.pmd-v15-donut::after { content:""; width:74px; height:74px; border-radius:50%; background:#fff; position:absolute; }
.pmd-v15-donut > div { position:relative; z-index:2; text-align:center; }
.pmd-v15-donut strong { display:block; font-weight:950; font-size:15px; }
.pmd-v15-donut small { color:#64748b; font-weight:800; }
.pmd-v15-payment-lines { display:flex; flex-direction:column; gap:10px; }
.pmd-v15-payment-lines div { display:grid; grid-template-columns:12px 1fr auto; align-items:center; gap:8px; font-weight:850; }
.pmd-v15-payment-lines small { color:#64748b; font-weight:700; line-height:1.35; }
.pmd-v15-payment-lines i { width:10px; height:10px; border-radius:50%; display:block; }
.pmd-v15-pay-open { background:#7c3aed; }
.pmd-v15-pay-paid { background:#22c55e; }
.pmd-v15-small-finance { border-radius:18px; padding:18px; border:1px solid #dcfce7; background:#f0fdf4; margin-bottom:12px; }
.pmd-v15-small-finance--risk { background:#fff7ed; border-color:#fed7aa; }
.pmd-v15-small-finance strong { display:block; font-size:28px; font-weight:950; }
.pmd-v15-small-finance span { display:block; font-weight:950; margin-top:4px; }
.pmd-v15-small-finance small { color:#64748b; font-weight:800; }

.pmd-v15-list, .pmd-v15-bars { display:flex; flex-direction:column; gap:10px; }
.pmd-v15-list-row { display:flex; justify-content:space-between; gap:14px; align-items:center; padding:12px 14px; border-radius:16px; background:#f8fafc; border:1px solid #e5e7eb; color:#111827 !important; text-decoration:none !important; }
.pmd-v15-list-row strong { display:block; font-weight:950; }
.pmd-v15-list-row small { display:block; color:#64748b; margin-top:3px; }
.pmd-v15-list-row span { font-weight:950; white-space:nowrap; }
.pmd-v15-bar-row { display:flex; flex-direction:column; gap:7px; }
.pmd-v15-bar-label { display:flex; justify-content:space-between; gap:12px; font-weight:900; }
.pmd-v15-bar-label span { display:flex; gap:9px; align-items:center; }
.pmd-v15-bar-label span b { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; color:#fff; background:#f59e0b; font-size:12px; }
.pmd-v15-bar-track { height:9px; border-radius:999px; background:#ebe4d6; overflow:hidden; }
.pmd-v15-bar-track i { display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,#123823,#facc15); }
.pmd-v15-staff-total { display:flex; align-items:center; justify-content:space-between; border-radius:18px; background:#123823; color:#fff; padding:18px; margin-bottom:16px; }
.pmd-v15-staff-total strong { font-size:36px; line-height:1; }
.pmd-v15-staff-total span { color:rgba(255,255,255,.75); font-weight:850; }
.pmd-v15-kitchen-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.pmd-v15-mini-stat { border-radius:16px; background:#f8fafc; border:1px solid #e5e7eb; padding:14px; }
.pmd-v15-mini-stat span { display:block; color:#64748b; font-weight:850; font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.pmd-v15-mini-stat strong { display:block; font-size:24px; font-weight:950; margin:5px 0 2px; }
.pmd-v15-mini-stat small { color:#64748b; font-weight:700; }
.pmd-v15-rush { display:flex; justify-content:space-between; align-items:center; margin-top:14px; padding:13px; border-radius:15px; background:#fff7ed; color:#9a3412; font-weight:950; }
.pmd-v15-actions { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.pmd-v15-actions a { min-height:78px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:8px; border-radius:18px; background:#f8fafc; border:1px solid #e5e7eb; color:#111827 !important; text-decoration:none !important; font-weight:950; }
.pmd-v15-actions a span { font-size:24px; }
.pmd-v15-proof { margin-top:18px; background:#fff; border:1px solid #e5e7eb; border-radius:20px; box-shadow:0 18px 45px rgba(15,23,42,.055); overflow:hidden; }
.pmd-v15-proof summary { cursor:pointer; padding:16px 22px; font-weight:950; color:#334155; background:#f8fafc; }
.pmd-v15-proof-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; padding:0 22px 18px; }
.pmd-v15-proof h3 { padding:0 22px; margin:8px 0 10px; font-size:16px; font-weight:950; }
.pmd-v15-proof ul { margin:0 22px 18px; padding-left:18px; color:#475569; font-weight:800; }
.pmd-v15-source-chips { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; padding:0 22px 22px; }
.pmd-v15-source-chips span { display:flex; flex-direction:column; gap:2px; padding:12px; border-radius:14px; background:#f8fafc; border:1px solid #e5e7eb; color:#64748b; font-weight:800; }
.pmd-v15-source-chips b { color:#111827; }

@media (max-width: 1500px) {
  .pmd-v15-main-layout { grid-template-columns:1fr 1fr; }
  .pmd-v15-card--timeline { grid-column:1 / -1; }
  .pmd-v15-analytics-grid { grid-template-columns:repeat(2,1fr); }
  .pmd-v15-bottom-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 1150px) {
  #pmd-owner-dashboard-clean-v1-root { padding:20px 14px 36px; }
  .pmd-v15-topbar { flex-direction:column; align-items:flex-start; }
  .pmd-v15-kpi-grid, .pmd-v15-main-layout, .pmd-v15-analytics-grid, .pmd-v15-bottom-grid, .pmd-v15-bottom-grid--wide { grid-template-columns:1fr; }
  .pmd-v15-floor-wrap { grid-template-columns:1fr; }
  .pmd-v15-floor-side { min-height:auto; }
  .pmd-v15-proof-grid, .pmd-v15-source-chips { grid-template-columns:1fr; }
}

/* v15 polish: keep developer proof visually secondary and operation cards clearer */
.pmd-v15-card--floor { min-height:620px; }
.pmd-v15-card--alerts .pmd-v15-card-body { min-height:250px; }
.pmd-v15-card--timeline .pmd-v15-card-body { max-height:340px; overflow:auto; }
.pmd-v15-chart-note b { color:#0f172a; }
.pmd-v15-table-card footer a:first-child { background:#facc15; color:#111827 !important; }
.pmd-v15-table-card footer a:last-child { background:#123823; color:#fff !important; }
.pmd-v15-proof[open] { border-color:#cbd5e1; }
@media (max-width:1500px) { .pmd-v15-main-layout { grid-template-columns:1fr; } .pmd-v15-card--floor { min-height:auto; } }

/* v15 complete owner-ops polish: bigger floor, owner-friendly labels, less debug noise */
.pmd-v15-main-layout {
  grid-template-columns:minmax(720px,1.45fr) minmax(420px,1fr);
  align-items:stretch;
}
.pmd-v15-main-layout .pmd-v15-card--floor {
  grid-row:span 2;
  min-height:760px;
}
.pmd-v15-main-layout .pmd-v15-card--timeline {
  grid-column:auto !important;
}
.pmd-v15-card--floor .pmd-v15-card-body { padding:10px 26px 26px; }
.pmd-v15-floor-tools {
  align-items:flex-start;
  gap:18px;
  margin-bottom:18px;
}
.pmd-v15-floor-legend {
  grid-template-columns:repeat(3,auto);
  gap:10px 18px;
  padding:10px 12px;
  border-radius:16px;
  background:#f8fafc;
  border:1px solid #e5e7eb;
}
.pmd-v15-floor-wrap {
  grid-template-columns:minmax(0,1fr) 330px;
  gap:18px;
}
.pmd-v15-floor-canvas {
  height:570px;
  border-radius:22px;
  background:#faf2e5;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55), 0 18px 45px rgba(15,23,42,.07);
}
.pmd-v15-floor-side {
  min-height:570px;
  padding:18px;
}
.pmd-v15-floor-node {
  min-width:132px;
  min-height:82px;
  padding:10px 12px;
  gap:5px;
  border-radius:18px;
  align-items:flex-start;
  text-align:left;
  overflow:hidden;
}
.pmd-v15-floor-node .pmd-v15-node-title {
  display:block;
  width:100%;
  font-size:16px;
  line-height:1.08;
  font-weight:950;
  color:#0f172a;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pmd-v15-floor-node .pmd-v15-node-pill {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  border-radius:999px;
  padding:4px 8px;
  font-size:10px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  background:rgba(255,255,255,.75);
  color:#334155;
}
.pmd-v15-floor-node .pmd-v15-node-meta {
  display:block;
  color:#64748b;
  font-size:11px;
  font-weight:850;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pmd-v15-floor-node em {
  position:absolute;
  right:8px;
  bottom:8px;
  padding:4px 7px;
  border-radius:999px;
  background:#111827;
  color:#fff;
  font-size:11px;
  font-weight:950;
}
.pmd-v15-floor-node--free { border-color:#4ade80; background:#ecfdf5; }
.pmd-v15-floor-node--unpaid { border-color:#ef4444; background:#fff1f2; }
.pmd-v15-floor-node--unpaid .pmd-v15-node-pill { background:#dc2626; color:#fff; }
.pmd-v15-floor-node--active { border-color:#f59e0b; background:#fff7ed; }
.pmd-v15-floor-node--reserved { border-color:#3b82f6; background:#eff6ff; }
.pmd-v15-floor-node--attention { border-color:#f97316; background:#fff7ed; }
.pmd-v15-floor-node--ready { border-color:#8b5cf6; background:#f5f3ff; }
.pmd-v15-table-card header { padding:24px; border-radius:20px; }
.pmd-v15-table-card header strong { font-size:30px; }
.pmd-v15-side-row { padding:12px 14px; border-radius:15px; }
.pmd-v15-card--alerts .pmd-v15-card-body,
.pmd-v15-card--timeline .pmd-v15-card-body { min-height:270px; max-height:350px; overflow:auto; }
.pmd-v15-alert b { font-size:15px; }
.pmd-v15-proof { opacity:.86; }
.pmd-v15-proof:not([open]) { box-shadow:none; }
.pmd-v15-proof summary { color:#475569; }
@media (max-width:1500px) {
  .pmd-v15-main-layout { grid-template-columns:1fr; }
  .pmd-v15-main-layout .pmd-v15-card--floor { grid-row:auto; min-height:auto; }
  .pmd-v15-main-layout .pmd-v15-card--timeline { grid-column:auto !important; }
  .pmd-v15-floor-wrap { grid-template-columns:1fr; }
  .pmd-v15-floor-side { min-height:auto; }
}
@media (max-width:850px) {
  .pmd-v15-floor-legend { grid-template-columns:repeat(2,auto); }
  .pmd-v15-floor-canvas { height:500px; }
  .pmd-v15-floor-node { min-width:112px; min-height:74px; }
}

/* v19 pixel reference layout: keep only the screenshot-style owner dashboard widgets */
.pmd-v19-shell{max-width:1760px;margin:0 auto;}
.pmd-v19-topbar{margin-bottom:18px;}
.pmd-v19-topbar h1{font-size:clamp(30px,3vw,46px);}
.pmd-v19-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:18px;}
.pmd-v19-kpi-grid .pmd-v15-kpi{min-height:126px;padding:18px 20px;border-radius:18px;}
.pmd-v19-reference-grid{display:grid;grid-template-columns:minmax(620px,1.28fr) minmax(360px,.86fr) minmax(320px,.72fr);gap:18px;align-items:stretch;margin-bottom:18px;}
.pmd-v19-area-floor{min-height:470px;}
.pmd-v19-area-floor .pmd-v15-card-body{padding:8px 18px 18px;}
.pmd-v19-area-alerts .pmd-v15-card-body,.pmd-v19-area-timeline .pmd-v15-card-body{min-height:360px;max-height:360px;overflow:auto;}
.pmd-v19-analytics-grid{display:grid;grid-template-columns:minmax(320px,1.1fr) minmax(310px,1fr) minmax(260px,.7fr) minmax(260px,.7fr) minmax(320px,.9fr);gap:18px;margin-bottom:18px;align-items:stretch;}
.pmd-v19-bottom-grid{display:grid;grid-template-columns:minmax(380px,1.05fr) minmax(330px,.9fr) minmax(330px,.9fr) minmax(280px,.7fr);gap:18px;margin-bottom:26px;align-items:stretch;}
.pmd-v19-area-floor .pmd-v15-floor-tools{margin-bottom:12px;align-items:center;}
.pmd-v19-area-floor .pmd-v15-floor-legend{grid-template-columns:repeat(2,auto);font-size:12px;gap:8px 14px;}
.pmd-v15-floor-wrap--reference{display:block;}
.pmd-v15-floor-wrap--reference .pmd-v15-floor-canvas{height:350px;}
.pmd-v15-floor-wrap--reference .pmd-v15-floor-node{min-width:74px;min-height:58px;border-radius:13px;align-items:center;justify-content:center;text-align:center;padding:6px;gap:2px;}
.pmd-v15-floor-wrap--reference .pmd-v15-node-number{font-size:24px;line-height:1;font-weight:950;color:#0f172a;}
.pmd-v15-floor-wrap--reference .pmd-v15-node-pill{font-size:9px;letter-spacing:.09em;padding:2px 6px;}
.pmd-v15-floor-wrap--reference .pmd-v15-floor-node em{position:static;margin-top:1px;font-size:10px;padding:2px 6px;}
.pmd-v15-lost-grid{display:grid;grid-template-columns:1fr;gap:12px;}
.pmd-v15-lost-grid>div{padding:15px;border-radius:16px;background:#fff7ed;border:1px solid #fed7aa;}
.pmd-v15-lost-grid strong{display:block;font-size:30px;font-weight:950;letter-spacing:-.04em;}
.pmd-v15-lost-grid small{color:#64748b;font-weight:800;}
.pmd-v15-lost-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.pmd-v15-lost-grid li{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;font-weight:850;color:#475569;}
.pmd-v15-lost-grid li i{width:7px;height:7px;border-radius:50%;background:#ef4444;}
.pmd-v15-lost-grid li b{color:#111827;}
.pmd-v19-bottom-grid .pmd-v15-card--items .pmd-v15-bar-row:nth-child(n+4){display:none;}
.pmd-v15-actions--reference{grid-template-columns:repeat(2,1fr);}
.pmd-v15-actions--reference a{min-height:88px;}
/* Hide developer proof completely from the main dashboard in v19. Audit endpoint still exists. */
.pmd-v15-proof{display:none!important;}
@media (max-width:1650px){
  .pmd-v19-reference-grid{grid-template-columns:1.1fr .9fr;}
  .pmd-v19-area-timeline{grid-column:1 / -1;}
  .pmd-v19-analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pmd-v19-bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:1150px){
  .pmd-v19-kpi-grid,.pmd-v19-reference-grid,.pmd-v19-analytics-grid,.pmd-v19-bottom-grid{grid-template-columns:1fr;}
  .pmd-v15-floor-wrap--reference .pmd-v15-floor-canvas{height:430px;}
}

/* v19 final reference ops polish: reduce leftover developer feel, fix timeline overlap, stronger kitchen/server cards */
.pmd-v16-kpi-grid .pmd-v15-kpi-copy small { max-width:220px; }
.pmd-v16-area-floor .pmd-v15-floor-canvas { height:390px; }
.pmd-v15-floor-wrap--reference .pmd-v15-floor-node {
  min-width:88px !important;
  min-height:64px !important;
  padding:7px 8px !important;
}
.pmd-v15-floor-wrap--reference .pmd-v15-node-number { font-size:26px !important; }
.pmd-v15-floor-wrap--reference .pmd-v15-node-pill { line-height:1; }
.pmd-v15-floor-wrap--reference .pmd-v15-floor-node em { position:absolute !important; right:6px !important; top:5px !important; bottom:auto !important; }
.pmd-v15-timeline { gap:12px !important; padding-left:0 !important; }
.pmd-v15-timeline-row {
  grid-template-columns:96px 18px minmax(0,1fr) !important;
  gap:14px !important;
  min-height:48px;
  align-items:start !important;
}
.pmd-v15-timeline-row > i {
  width:12px !important;
  height:12px !important;
  min-width:12px !important;
  max-width:12px !important;
  min-height:12px !important;
  max-height:12px !important;
  display:block !important;
  border-radius:50% !important;
  margin-top:7px !important;
  padding:0 !important;
  overflow:visible !important;
  box-shadow:0 0 0 4px #e9fbe9 !important;
}
.pmd-v15-timeline-row span { white-space:normal !important; line-height:1.25 !important; }
.pmd-v15-timeline-row strong { line-height:1.2 !important; }
.pmd-v15-timeline-row small { line-height:1.25 !important; display:block; }
.pmd-v19-kitchen-metrics { grid-template-columns:repeat(3,1fr); margin-bottom:10px; }
.pmd-v19-kitchen-mini { grid-template-columns:repeat(3,1fr); opacity:.88; }
.pmd-v19-kitchen-mini .pmd-v15-mini-stat { padding:11px; }
.pmd-v19-server-list .pmd-v15-bar-label em { font-style:normal; font-weight:950; color:#0f172a; }
.pmd-v19-server-list small { color:#64748b; font-weight:750; margin-top:-2px; }
.pmd-v15-card--servers .pmd-v15-card-body,
.pmd-v15-card--kitchen .pmd-v15-card-body { min-height:260px; }
.pmd-v15-card--lost .pmd-v15-card-body { min-height:250px; }
.pmd-v15-card--actions .pmd-v15-card-body { min-height:250px; display:flex; flex-direction:column; }
.pmd-v15-card--actions .pmd-v15-actions { flex:1; }
@media (max-width:1150px){
  .pmd-v16-area-floor .pmd-v15-floor-canvas { height:450px; }
  .pmd-v15-timeline-row { grid-template-columns:86px 18px minmax(0,1fr) !important; }
}


/* v19 pixel-reference pass: tighter proportions, compact desktop grid, reference-like cards/colors */
body.pmd-owner-dashboard-clean-v1-active { background:#f8fafc !important; }
#pmd-owner-dashboard-clean-v1-root{
  padding:18px 24px 34px !important;
  background:#f8fafc !important;
}
.pmd-v19-shell{max-width:1800px !important;margin:0 auto !important;}
.pmd-v19-topbar{
  align-items:flex-start !important;
  margin-bottom:16px !important;
  min-height:auto !important;
}
.pmd-v19-topbar h1{
  font-size:clamp(26px,2.2vw,38px) !important;
  line-height:1.02 !important;
  letter-spacing:-.045em !important;
  margin-bottom:6px !important;
}
.pmd-v19-topbar p{font-size:14px !important;color:#64748b !important;}
.pmd-v15-top-controls{gap:10px !important;margin-top:6px !important;}
.pmd-v15-top-controls span{
  min-height:42px !important;
  padding:10px 15px !important;
  border-radius:15px !important;
  box-shadow:0 10px 24px rgba(15,23,42,.045) !important;
}
.pmd-v19-kpi-grid{
  gap:16px !important;
  margin-bottom:16px !important;
}
.pmd-v19-kpi-grid .pmd-v15-kpi{
  min-height:112px !important;
  grid-template-columns:62px minmax(0,1fr) !important;
  gap:14px !important;
  padding:18px 20px !important;
  border-radius:16px !important;
  border-color:#e6eaf0 !important;
  box-shadow:0 14px 36px rgba(15,23,42,.052) !important;
}
.pmd-v19-kpi-grid .pmd-v15-kpi-icon{width:52px !important;height:52px !important;font-size:24px !important;}
.pmd-v19-kpi-grid .pmd-v15-kpi-copy span{font-size:13px !important;line-height:1.15 !important;}
.pmd-v19-kpi-grid .pmd-v15-kpi-copy strong{font-size:clamp(28px,2.5vw,38px) !important;margin:6px 0 !important;}
.pmd-v19-kpi-grid .pmd-v15-kpi-copy small{font-size:12px !important;line-height:1.25 !important;}
.pmd-v15-card{
  border-radius:16px !important;
  border-color:#e5e9ef !important;
  box-shadow:0 14px 38px rgba(15,23,42,.052) !important;
}
.pmd-v15-card-head{
  min-height:54px !important;
  padding:17px 20px 8px !important;
}
.pmd-v15-card-head h2{font-size:20px !important;line-height:1.05 !important;letter-spacing:-.032em !important;}
.pmd-v15-card-head p{font-size:13px !important;line-height:1.35 !important;}
.pmd-v15-card-body{padding:10px 20px 18px !important;}
.pmd-v15-card-actions button,.pmd-v15-card-actions a{
  min-height:38px !important;
  padding:8px 13px !important;
  border-radius:12px !important;
  font-size:13px !important;
}

/* Desktop must stay like the reference screenshot instead of collapsing too early. */
@media (min-width:1200px){
  .pmd-v19-reference-grid{
    display:grid !important;
    grid-template-columns:minmax(520px,1.18fr) minmax(330px,.86fr) minmax(300px,.78fr) !important;
    gap:16px !important;
    align-items:stretch !important;
    margin-bottom:16px !important;
  }
  .pmd-v19-reference-grid .pmd-v17-area-timeline{grid-column:auto !important;}
  .pmd-v19-analytics-grid{
    display:grid !important;
    grid-template-columns:minmax(250px,1.05fr) minmax(245px,1fr) minmax(210px,.78fr) minmax(210px,.78fr) minmax(240px,.92fr) !important;
    gap:16px !important;
    align-items:stretch !important;
    margin-bottom:16px !important;
  }
  .pmd-v19-bottom-grid{
    display:grid !important;
    grid-template-columns:minmax(300px,1fr) minmax(290px,.95fr) minmax(285px,.9fr) minmax(240px,.75fr) !important;
    gap:16px !important;
    align-items:stretch !important;
    margin-bottom:24px !important;
  }
}
.pmd-v17-area-floor{min-height:390px !important;}
.pmd-v17-area-alerts .pmd-v15-card-body,
.pmd-v17-area-timeline .pmd-v15-card-body{
  min-height:300px !important;
  max-height:300px !important;
  overflow:auto !important;
}
.pmd-v17-area-floor .pmd-v15-card-body{padding:8px 20px 18px !important;}
.pmd-v17-area-floor .pmd-v15-floor-tools{
  margin-bottom:12px !important;
  align-items:center !important;
}
.pmd-v17-area-floor .pmd-v15-floor-tabs button{
  padding:9px 14px !important;
  border-radius:999px !important;
  background:#111827 !important;
  color:#fff !important;
}
.pmd-v17-area-floor .pmd-v15-floor-tabs b{background:#facc15 !important;color:#0f172a !important;}
.pmd-v17-area-floor .pmd-v15-floor-legend{
  grid-template-columns:repeat(2,auto) !important;
  gap:7px 14px !important;
  padding:10px 12px !important;
  border-radius:14px !important;
  font-size:12px !important;
}
.pmd-v15-floor-wrap--reference .pmd-v15-floor-canvas{
  height:315px !important;
  border-radius:15px !important;
  border-color:#d8dee7 !important;
  background:#f6efe3 !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5) !important;
}
.pmd-v15-floor-bg{
  background:
    linear-gradient(rgba(15,23,42,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,23,42,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148,163,184,.18) 0 2px, transparent 2px 100%),
    radial-gradient(circle at 90% 14%, rgba(34,197,94,.13), transparent 7%),
    radial-gradient(circle at 7% 88%, rgba(34,197,94,.10), transparent 9%),
    #f7efe4 !important;
  background-size:38px 38px,38px 38px,100% 100%,100% 100%,100% 100%,100% 100% !important;
}
.pmd-v15-floor-wrap--reference .pmd-v15-floor-node{
  min-width:78px !important;
  min-height:58px !important;
  border-radius:12px !important;
  padding:6px 7px !important;
  box-shadow:0 10px 19px rgba(15,23,42,.09) !important;
}
.pmd-v15-floor-wrap--reference .pmd-v15-node-number{font-size:25px !important;}
.pmd-v15-floor-wrap--reference .pmd-v15-node-pill{
  font-size:9px !important;
  padding:2px 6px !important;
  letter-spacing:.08em !important;
}
.pmd-v15-floor-wrap--reference .pmd-v15-floor-node em{
  right:5px !important;
  top:5px !important;
  font-size:10px !important;
  padding:2px 6px !important;
}
.pmd-v15-alerts{gap:10px !important;}
.pmd-v15-alert{
  min-height:54px !important;
  grid-template-columns:40px 1fr auto !important;
  padding:12px 14px !important;
  border-radius:14px !important;
  background:#f8fafc !important;
}
.pmd-v15-alert i{width:36px !important;height:36px !important;border-radius:12px !important;}
.pmd-v15-alert strong{font-size:14px !important;}
.pmd-v15-alert small{font-size:12px !important;}
.pmd-v15-timeline-row{
  grid-template-columns:72px 14px minmax(0,1fr) !important;
  gap:10px !important;
  min-height:42px !important;
}
.pmd-v15-timeline-row span{font-size:11px !important;line-height:1.18 !important;padding-top:0 !important;}
.pmd-v15-timeline-row > i{
  width:10px !important;height:10px !important;min-width:10px !important;min-height:10px !important;
  margin-top:4px !important;box-shadow:0 0 0 4px #e9fbe9 !important;
}
.pmd-v15-timeline-row strong{font-size:13px !important;}
.pmd-v15-timeline-row small{font-size:11px !important;}
.pmd-v15-chart-head strong{font-size:25px !important;}
.pmd-v15-spark{height:92px !important;margin:6px 0 8px !important;}
.pmd-v15-chart-note{font-size:12px !important;}
.pmd-v15-payment-grid{grid-template-columns:110px 1fr !important;gap:14px !important;}
.pmd-v15-donut{width:104px !important;height:104px !important;}
.pmd-v15-donut::after{width:66px !important;height:66px !important;}
.pmd-v15-payment-lines div{font-size:13px !important;}
.pmd-v15-payment-lines small{font-size:12px !important;}
.pmd-v15-small-finance{padding:14px !important;border-radius:14px !important;}
.pmd-v15-small-finance strong{font-size:24px !important;}
.pmd-v15-small-finance span{font-size:13px !important;}
.pmd-v15-small-finance small{font-size:12px !important;}
.pmd-v15-lost-grid>div{padding:13px !important;border-radius:14px !important;}
.pmd-v15-lost-grid strong{font-size:26px !important;}
.pmd-v15-lost-grid li{font-size:13px !important;}
.pmd-v15-empty{padding:16px !important;border-radius:14px !important;font-size:13px !important;}
.pmd-v15-staff-total{padding:15px !important;border-radius:15px !important;margin-bottom:12px !important;}
.pmd-v15-staff-total strong{font-size:30px !important;}
.pmd-v15-bar-row{gap:6px !important;}
.pmd-v15-bar-label{font-size:13px !important;}
.pmd-v15-bar-label span b{width:20px !important;height:20px !important;font-size:11px !important;}
.pmd-v15-bar-track{height:7px !important;}
.pmd-v15-mini-stat{padding:12px !important;border-radius:14px !important;}
.pmd-v15-mini-stat span{font-size:11px !important;}
.pmd-v15-mini-stat strong{font-size:22px !important;}
.pmd-v15-mini-stat small{font-size:11px !important;}
.pmd-v17-kitchen-metrics,.pmd-v17-kitchen-mini{gap:9px !important;}
.pmd-v15-rush{padding:11px 13px !important;border-radius:13px !important;font-size:13px !important;}
.pmd-v15-actions--reference{gap:10px !important;}
.pmd-v15-actions--reference a{min-height:72px !important;border-radius:15px !important;}
.pmd-v15-actions--reference a span{font-size:22px !important;}
.pmd-v15-actions--reference a b{font-size:13px !important;}
.pmd-v15-card--servers .pmd-v15-card-body,
.pmd-v15-card--kitchen .pmd-v15-card-body,
.pmd-v15-card--lost .pmd-v15-card-body,
.pmd-v15-card--actions .pmd-v15-card-body{
  min-height:220px !important;
}
.pmd-v17-bottom-grid .pmd-v15-card--items .pmd-v15-bar-row:nth-child(n+4){display:none !important;}
@media (max-width:1199px){
  .pmd-v19-reference-grid,.pmd-v19-analytics-grid,.pmd-v19-bottom-grid{grid-template-columns:1fr !important;}
  .pmd-v15-floor-wrap--reference .pmd-v15-floor-canvas{height:420px !important;}
}

/* v19 final reference-fit pass: same boss screenshot layout, no broken/narrow cards */
#pmd-owner-dashboard-clean-v1-root{
  padding:18px 26px 36px !important;
  overflow-x:hidden !important;
}
.pmd-v19-shell,
.pmd-v18-shell{
  max-width:1680px !important;
  margin:0 auto !important;
}
.pmd-v19-topbar,
.pmd-v18-topbar{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:18px !important;
  margin-bottom:16px !important;
}
.pmd-v19-topbar h1,
.pmd-v18-topbar h1{
  font-size:clamp(28px,2.45vw,42px) !important;
  line-height:1.02 !important;
  margin:0 0 6px !important;
}
.pmd-v19-topbar p,
.pmd-v18-topbar p{font-size:14px !important;}
.pmd-v19-kpi-grid,
.pmd-v18-kpi-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  margin-bottom:18px !important;
}
.pmd-v19-kpi-grid .pmd-v15-kpi,
.pmd-v18-kpi-grid .pmd-v15-kpi{
  min-height:118px !important;
  grid-template-columns:58px minmax(0,1fr) !important;
  padding:18px 20px !important;
  gap:14px !important;
}
.pmd-v19-kpi-grid .pmd-v15-kpi-icon,
.pmd-v18-kpi-grid .pmd-v15-kpi-icon{width:52px !important;height:52px !important;font-size:22px !important;}
.pmd-v19-kpi-grid .pmd-v15-kpi-copy strong,
.pmd-v18-kpi-grid .pmd-v15-kpi-copy strong{font-size:clamp(30px,2.7vw,40px) !important;}

/* Force the first operational row to stay three columns on desktop.
   v18 had an old media rule that pushed Recent Activity to a full row. */
@media (min-width:1280px){
  .pmd-v19-reference-grid,
  .pmd-v18-reference-grid{
    display:grid !important;
    grid-template-columns:minmax(570px,1.3fr) minmax(360px,.88fr) minmax(330px,.78fr) !important;
    gap:18px !important;
    align-items:stretch !important;
    margin-bottom:18px !important;
  }
  .pmd-v19-area-floor,
  .pmd-v18-area-floor,
  .pmd-v19-area-alerts,
  .pmd-v18-area-alerts,
  .pmd-v19-area-timeline,
  .pmd-v18-area-timeline{
    grid-column:auto !important;
    grid-row:auto !important;
    min-width:0 !important;
  }
}
.pmd-v19-area-floor .pmd-v15-card-body,
.pmd-v18-area-floor .pmd-v15-card-body{padding:10px 20px 18px !important;}
.pmd-v19-area-alerts .pmd-v15-card-body,
.pmd-v18-area-alerts .pmd-v15-card-body,
.pmd-v19-area-timeline .pmd-v15-card-body,
.pmd-v18-area-timeline .pmd-v15-card-body{
  min-height:326px !important;
  max-height:326px !important;
  overflow:auto !important;
}
.pmd-v19-area-floor .pmd-v15-floor-tools,
.pmd-v18-area-floor .pmd-v15-floor-tools{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:14px !important;
  margin-bottom:12px !important;
}
.pmd-v19-area-floor .pmd-v15-floor-legend,
.pmd-v18-area-floor .pmd-v15-floor-legend{
  display:grid !important;
  grid-template-columns:repeat(2,auto) !important;
  gap:8px 14px !important;
  width:auto !important;
  max-width:330px !important;
  padding:10px 12px !important;
  font-size:12px !important;
}
.pmd-v15-floor-wrap--reference .pmd-v15-floor-canvas{
  height:342px !important;
  border-radius:15px !important;
}
.pmd-v15-floor-wrap--reference .pmd-v15-floor-node{
  min-width:88px !important;
  min-height:60px !important;
  border-radius:13px !important;
  padding:6px 8px !important;
}
.pmd-v15-floor-wrap--reference .pmd-v15-node-number{font-size:25px !important;}
.pmd-v15-floor-wrap--reference .pmd-v15-floor-node em{
  position:absolute !important;
  top:5px !important;
  right:6px !important;
  bottom:auto !important;
  max-width:58px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* Reference-like analytics row: 5 cards, but with safe readable widths. */
@media (min-width:1380px){
  .pmd-v19-analytics-grid,
  .pmd-v18-analytics-grid{
    display:grid !important;
    grid-template-columns:minmax(290px,1.08fr) minmax(320px,1.16fr) minmax(240px,.82fr) minmax(240px,.82fr) minmax(260px,.9fr) !important;
    gap:18px !important;
    align-items:stretch !important;
    margin-bottom:18px !important;
  }
  .pmd-v19-bottom-grid,
  .pmd-v18-bottom-grid{
    display:grid !important;
    grid-template-columns:minmax(360px,1.12fr) minmax(330px,.98fr) minmax(330px,.98fr) minmax(280px,.82fr) !important;
    gap:18px !important;
    align-items:stretch !important;
    margin-bottom:26px !important;
  }
}
@media (min-width:1280px) and (max-width:1379px){
  .pmd-v19-analytics-grid,
  .pmd-v18-analytics-grid{
    display:grid !important;
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    gap:18px !important;
    margin-bottom:18px !important;
  }
  .pmd-v19-analytics-grid .pmd-v15-card--chart,
  .pmd-v18-analytics-grid .pmd-v15-card--chart,
  .pmd-v19-analytics-grid .pmd-v15-card--payment,
  .pmd-v18-analytics-grid .pmd-v15-card--payment{grid-column:span 3 !important;}
  .pmd-v19-analytics-grid .pmd-v15-card--small,
  .pmd-v18-analytics-grid .pmd-v15-card--small,
  .pmd-v19-analytics-grid .pmd-v15-card--lost,
  .pmd-v18-analytics-grid .pmd-v15-card--lost,
  .pmd-v19-analytics-grid .pmd-v15-card--reservations,
  .pmd-v18-analytics-grid .pmd-v15-card--reservations{grid-column:span 2 !important;}
  .pmd-v19-bottom-grid,
  .pmd-v18-bottom-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px !important;
  }
}

/* Prevent text clipping inside dense cards. */
.pmd-v15-card-body,
.pmd-v15-card-head,
.pmd-v15-card-head *{min-width:0 !important;}
.pmd-v15-card-head h2{font-size:21px !important;line-height:1.05 !important;}
.pmd-v15-card-head p{font-size:13px !important;line-height:1.32 !important;}
.pmd-v15-payment-grid{
  grid-template-columns:112px minmax(0,1fr) !important;
  gap:14px !important;
}
.pmd-v15-payment-lines{min-width:0 !important;}
.pmd-v15-payment-lines div{
  grid-template-columns:10px minmax(0,1fr) auto !important;
  gap:8px !important;
  font-size:13px !important;
}
.pmd-v15-payment-lines div span{
  min-width:0 !important;
  white-space:normal !important;
}
.pmd-v15-payment-lines small{
  font-size:11px !important;
  line-height:1.35 !important;
  max-width:100% !important;
}
.pmd-v15-donut{width:104px !important;height:104px !important;}
.pmd-v15-donut::after{width:66px !important;height:66px !important;}
.pmd-v15-chart-head{gap:8px !important;}
.pmd-v15-chart-head strong{font-size:26px !important;}
.pmd-v15-chart-head small{font-size:11px !important;line-height:1.25 !important;}
.pmd-v15-spark{height:90px !important;}
.pmd-v15-chart-note{font-size:11px !important;line-height:1.35 !important;}
.pmd-v15-small-finance{padding:14px !important;}
.pmd-v15-small-finance strong{font-size:25px !important;}
.pmd-v15-lost-grid strong{font-size:26px !important;}
.pmd-v15-lost-grid li{font-size:13px !important;}
.pmd-v15-list-row,
.pmd-v15-alert{overflow:hidden !important;}
.pmd-v15-alert small,
.pmd-v15-list-row small{line-height:1.25 !important;}

/* Kitchen reference card: enough width, no word-by-word broken labels. */
.pmd-v18-kitchen-metrics,
.pmd-v19-kitchen-metrics{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
}
.pmd-v18-kitchen-mini,
.pmd-v19-kitchen-mini{display:none !important;}
.pmd-v15-mini-stat{padding:13px !important;}
.pmd-v15-mini-stat span{
  font-size:11px !important;
  line-height:1.15 !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
.pmd-v15-mini-stat small{
  font-size:11px !important;
  line-height:1.3 !important;
  word-break:normal !important;
}
.pmd-v15-rush{margin-top:14px !important;}

/* Quick actions like reference: 2x2 compact, no vertical skinny boxes. */
.pmd-v15-actions--reference{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
}
.pmd-v15-actions--reference a{
  min-height:76px !important;
  padding:12px !important;
  border-radius:14px !important;
}
.pmd-v15-actions--reference a b{
  white-space:normal !important;
  text-align:center !important;
  line-height:1.15 !important;
}

@media (max-width:1279px){
  .pmd-v19-reference-grid,
  .pmd-v18-reference-grid,
  .pmd-v19-analytics-grid,
  .pmd-v18-analytics-grid,
  .pmd-v19-bottom-grid,
  .pmd-v18-bottom-grid,
  .pmd-v19-kpi-grid,
  .pmd-v18-kpi-grid{
    grid-template-columns:1fr !important;
  }
  .pmd-v15-floor-wrap--reference .pmd-v15-floor-canvas{height:420px !important;}
}


/* v22 role-split dashboards: top-header role buttons + role-specific page filtering */
#pmd-v21-native-role-tabs{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  padding:0 16px !important;
}
.pmd-v21-role-tabs{
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px;
  border:1px solid #e5e7eb;
  background:#ffffff;
  border-radius:18px;
  box-shadow:0 10px 30px rgba(15,23,42,.05);
  max-width:100%;
  overflow:auto;
  scrollbar-width:none;
}
.pmd-v21-role-tabs::-webkit-scrollbar{display:none;}
.pmd-v21-role-tabs button{
  border:0;
  border-radius:13px;
  padding:9px 13px;
  background:transparent;
  color:#475569;
  font-weight:900;
  font-size:13px;
  line-height:1;
  cursor:pointer;
  white-space:nowrap;
  transition:.18s ease;
}
.pmd-v21-role-tabs button:hover{background:#f8fafc;color:#0f172a;}
.pmd-v21-role-tabs button.is-active{background:#0b332d;color:#fff;box-shadow:0 8px 18px rgba(6,47,42,.18);}
.pmd-v21-role-tabs--inline{margin-top:14px;display:inline-flex;max-width:100%;}
.pmd-v21-topbar p{color:#64748b;font-weight:650;}
.pmd-v21-topbar p b{color:#0f172a;}
.pmd-v21-two-grid,
.pmd-v21-three-grid{
  display:grid;
  gap:18px;
  margin-bottom:18px;
  align-items:stretch;
}
.pmd-v21-two-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.pmd-v21-three-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.pmd-v21-role-main .pmd-v15-card-body{min-height:300px;}
.pmd-v21-shell--kds .pmd-v21-role-main,
.pmd-v21-shell--cashier .pmd-v21-role-main{grid-template-columns:repeat(3,minmax(300px,1fr));}
.pmd-v21-shell--reception .pmd-v21-role-main,
.pmd-v21-shell--waiter .pmd-v21-role-main{grid-template-columns:minmax(560px,1.25fr) minmax(360px,.85fr);}
.pmd-v21-shell--waiter{max-width:1500px !important;padding-top:10px;}
.pmd-v21-shell--waiter .pmd-v19-area-floor .pmd-v15-floor-canvas{height:520px !important;}
.pmd-v21-shell--waiter .pmd-v15-top-controls{display:none !important;}
.pmd-v21-shell--waiter .pmd-v15-kpi-grid{margin-top:12px;}
.pmd-v21-shell--waiter .pmd-v15-card--floor .pmd-v15-card-body{min-height:560px;}
.pmd-v21-shell--manager .pmd-v15-card--floor .pmd-v15-floor-canvas,
.pmd-v21-shell--reception .pmd-v15-card--floor .pmd-v15-floor-canvas{height:430px !important;}
.pmd-v21-shell--cashier .pmd-v15-card--recent-orders .pmd-v15-card-body,
.pmd-v21-shell--waiter .pmd-v15-card--recent-orders .pmd-v15-card-body{max-height:330px;overflow:auto;}
.pmd-v21-shell--kds .pmd-v15-card--alerts .pmd-v15-card-body{max-height:none !important;}
.pmd-v21-shell--reception .pmd-v15-card--reservations .pmd-v15-card-body{min-height:260px;}
.pmd-v21-shell--cashier .pmd-v15-card--payment .pmd-v15-card-body,
.pmd-v21-shell--owner .pmd-v15-card--payment .pmd-v15-card-body{overflow:hidden;}
.pmd-v21-shell--cashier .pmd-v15-payment-lines small,
.pmd-v21-shell--owner .pmd-v15-payment-lines small{display:block;margin-top:8px;}

/* Waiter role must be clean: no admin sidebar and no native top header. */
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .navbar-brand,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .page-title,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .navbar.navbar-right,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode #navSidebar,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .sidebar,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .main-sidebar,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode aside,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode [class*="sidebar"]{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .page-wrapper,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .content-wrapper,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .content,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .page-content,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode main{
  margin-left:0 !important;
  padding-left:0 !important;
  width:100% !important;
  max-width:none !important;
}
html.pmd-v21-waiter-clean-mode #pmd-owner-dashboard-clean-v1-root{
  min-height:100vh !important;
  padding:18px 24px 36px !important;
}

@media (min-width:1280px){
  .pmd-v21-shell--manager .pmd-v21-three-grid,
  .pmd-v21-shell--kds .pmd-v21-three-grid,
  .pmd-v21-shell--cashier .pmd-v21-three-grid,
  .pmd-v21-shell--waiter .pmd-v21-three-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .pmd-v21-shell--reception .pmd-v21-two-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:1450px){
  #pmd-v21-native-role-tabs{order:3;flex-basis:100%;justify-content:flex-start;padding:8px 0 0 !important;}
}
@media (max-width:1279px){
  .pmd-v21-two-grid,
  .pmd-v21-three-grid,
  .pmd-v21-shell--kds .pmd-v21-role-main,
  .pmd-v21-shell--cashier .pmd-v21-role-main,
  .pmd-v21-shell--reception .pmd-v21-role-main,
  .pmd-v21-shell--waiter .pmd-v21-role-main{grid-template-columns:1fr !important;}
  .pmd-v21-role-tabs button{padding:8px 11px;font-size:12px;}
}

/* v22 waiter cleanup: only KPI cards, full-width floor, and actionable table-order cards. */
.pmd-v21-shell--waiter{
  width:100% !important;
  max-width:1680px !important;
  margin:0 auto !important;
  padding:18px 26px 42px !important;
}
.pmd-v21-shell--waiter .pmd-v15-topbar{
  margin-bottom:14px !important;
}
.pmd-v21-shell--waiter .pmd-v15-kpi-grid{
  grid-template-columns:repeat(4,minmax(220px,1fr)) !important;
  margin-bottom:18px !important;
}
.pmd-v21-waiter-floor-row,
.pmd-v21-waiter-orders-row{
  display:block !important;
  width:100% !important;
  margin:0 0 18px !important;
}
.pmd-v21-shell--waiter .pmd-v21-waiter-floor-card{
  width:100% !important;
}
.pmd-v21-shell--waiter .pmd-v21-waiter-floor-card .pmd-v15-card-body{
  min-height:650px !important;
}
.pmd-v21-shell--waiter .pmd-v21-waiter-floor-card .pmd-v15-floor-canvas{
  height:620px !important;
}
.pmd-v21-shell--waiter .pmd-v15-floor-tools{
  grid-template-columns:minmax(160px,auto) 1fr !important;
  align-items:center !important;
}
.pmd-v21-shell--waiter .pmd-v15-floor-legend{
  justify-content:flex-end !important;
}
.pmd-v21-waiter-order-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(360px,1fr));
  gap:14px;
}
.pmd-v21-waiter-order-card{
  border:1px solid #e2e8f0;
  background:linear-gradient(180deg,#fff,#f8fafc);
  border-radius:18px;
  padding:16px;
  box-shadow:0 12px 30px rgba(15,23,42,.06);
  display:flex;
  flex-direction:column;
  gap:13px;
}
.pmd-v21-waiter-order-card header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.pmd-v21-waiter-order-card header span{
  display:inline-flex;
  color:#64748b;
  font-size:13px;
  font-weight:900;
  margin-bottom:4px;
}
.pmd-v21-waiter-order-card header strong{
  display:block;
  color:#0f172a;
  font-size:20px;
  font-weight:950;
  line-height:1.05;
}
.pmd-v21-waiter-order-card header b{
  color:#0f172a;
  font-size:20px;
  font-weight:950;
  white-space:nowrap;
}
.pmd-v21-waiter-order-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.pmd-v21-waiter-order-meta span{
  display:flex;
  flex-direction:column;
  gap:3px;
  border:1px solid #e5e7eb;
  background:#fff;
  border-radius:13px;
  padding:10px 11px;
  min-width:0;
}
.pmd-v21-waiter-order-meta i{
  color:#64748b;
  font-style:normal;
  font-size:11px;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.pmd-v21-waiter-order-meta b{
  color:#0f172a;
  font-size:13px;
  font-weight:900;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.pmd-v21-waiter-order-card footer{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.pmd-v21-waiter-order-card footer a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  border-radius:12px;
  border:1px solid #dbe2ea;
  background:#fff;
  color:#0f172a;
  font-size:13px;
  font-weight:950;
  text-decoration:none !important;
}
.pmd-v21-waiter-order-card footer a:first-child{
  background:#0b332d;
  color:#fff;
  border-color:#0b332d;
}
.pmd-v21-waiter-order-card.is-legacy{
  border-color:#fed7aa;
  background:linear-gradient(180deg,#fff,#fff7ed);
}

/* More aggressive waiter clean mode for native admin chrome. */
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode > header,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .header,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .main-header,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .navbar,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .navbar-brand,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .page-title,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .navbar-right,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode #menu-mainmenu,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .navbar-nav,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode #navSidebar,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .sidebar,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .side-nav,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .main-sidebar,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode aside{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  width:0 !important;
  height:0 !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .wrapper,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .page-wrapper,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .main-wrapper,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .content-wrapper,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .container-fluid,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .content,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .page-content,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode main{
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  max-width:none !important;
}
html.pmd-v21-waiter-clean-mode #pmd-owner-dashboard-clean-v1-root{
  min-height:100vh !important;
  width:100% !important;
  max-width:none !important;
  padding:0 !important;
  margin:0 !important;
  background:#f3f6fa !important;
}

@media (max-width:1120px){
  .pmd-v21-shell--waiter .pmd-v15-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .pmd-v21-waiter-order-grid{grid-template-columns:1fr !important;}
  .pmd-v21-waiter-order-meta{grid-template-columns:1fr !important;}
}
@media (max-width:720px){
  .pmd-v21-shell--waiter{padding:14px !important;}
  .pmd-v21-shell--waiter .pmd-v15-kpi-grid{grid-template-columns:1fr !important;}
  .pmd-v21-shell--waiter .pmd-v21-waiter-floor-card .pmd-v15-floor-canvas{height:500px !important;}
  .pmd-v21-waiter-order-card footer{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* v22 waiter spacing fix: move clean waiter dashboard higher and further left, remove hidden admin/container gutters. */
html.pmd-v21-waiter-clean-mode,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode{
  background:#f3f6fa !important;
  overflow-x:hidden !important;
}
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .main-content,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .main-container,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .admin-content,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .content-container,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .layout-content,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode #content,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode #main,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .container,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .container-sm,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .container-md,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .container-lg,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .container-xl,
html.pmd-v21-waiter-clean-mode body.pmd-v21-waiter-clean-mode .container-xxl{
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  max-width:none !important;
}
html.pmd-v21-waiter-clean-mode #pmd-owner-dashboard-clean-v1-root{
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:0 !important;
  margin-top:-44px !important;
  padding:0 18px 36px 18px !important;
  box-sizing:border-box !important;
}
html.pmd-v21-waiter-clean-mode .pmd-v21-shell--waiter{
  width:calc(100vw - 36px) !important;
  max-width:none !important;
  margin:0 !important;
  padding:6px 0 42px 0 !important;
  box-sizing:border-box !important;
}
html.pmd-v21-waiter-clean-mode .pmd-v21-shell--waiter .pmd-v15-topbar{
  margin-top:0 !important;
  margin-bottom:12px !important;
}
html.pmd-v21-waiter-clean-mode .pmd-v21-shell--waiter .pmd-v21-role-tabs--inline{
  margin-top:12px !important;
}
html.pmd-v21-waiter-clean-mode .pmd-v21-shell--waiter .pmd-v15-kpi-grid{
  margin-top:10px !important;
  margin-bottom:16px !important;
}
html.pmd-v21-waiter-clean-mode .pmd-v21-waiter-floor-row{
  margin-bottom:16px !important;
}
html.pmd-v21-waiter-clean-mode .pmd-v21-shell--waiter .pmd-v21-waiter-floor-card .pmd-v15-card-body{
  min-height:620px !important;
}
html.pmd-v21-waiter-clean-mode .pmd-v21-shell--waiter .pmd-v21-waiter-floor-card .pmd-v15-floor-canvas{
  height:585px !important;
}
html.pmd-v21-waiter-clean-mode .pmd-v21-shell--waiter .pmd-v15-card-head{
  padding-top:16px !important;
}
@media (max-width:1120px){
  html.pmd-v21-waiter-clean-mode #pmd-owner-dashboard-clean-v1-root{
    margin-top:-24px !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }
  html.pmd-v21-waiter-clean-mode .pmd-v21-shell--waiter{
    width:calc(100vw - 28px) !important;
  }
}
@media (max-width:720px){
  html.pmd-v21-waiter-clean-mode #pmd-owner-dashboard-clean-v1-root{
    margin-top:0 !important;
    padding:10px 10px 28px !important;
  }
  html.pmd-v21-waiter-clean-mode .pmd-v21-shell--waiter{
    width:calc(100vw - 20px) !important;
  }
}

/* v23 waiter interactive floor/action workspace: correct left alignment + in-dashboard clickable cards. */
html.pmd-v21-waiter-clean-mode #pmd-owner-dashboard-clean-v1-root{
  position:relative !important;
  left:clamp(-132px,-7.2vw,-86px) !important;
  width:calc(100vw + clamp(86px,7.2vw,132px) - 18px) !important;
  max-width:none !important;
  margin:0 !important;
  padding:8px 16px 40px 14px !important;
  box-sizing:border-box !important;
}
html.pmd-v21-waiter-clean-mode .pmd-v21-shell--waiter{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 0 44px 0 !important;
}
html.pmd-v21-waiter-clean-mode .pmd-v21-shell--waiter .pmd-v15-topbar{
  margin-top:0 !important;
  margin-bottom:12px !important;
}
html.pmd-v21-waiter-clean-mode .pmd-v21-shell--waiter .pmd-v15-kpi-grid{
  grid-template-columns:repeat(4,minmax(240px,1fr)) !important;
  gap:16px !important;
  margin:0 0 18px !important;
}
html.pmd-v21-waiter-clean-mode .pmd-v21-waiter-floor-row,
html.pmd-v21-waiter-clean-mode .pmd-v21-waiter-workspace-row,
html.pmd-v21-waiter-clean-mode .pmd-v21-waiter-orders-row{
  width:100% !important;
  margin:0 0 18px !important;
}
html.pmd-v21-waiter-clean-mode .pmd-v21-shell--waiter .pmd-v21-waiter-floor-card .pmd-v15-card-body{
  min-height:620px !important;
}
html.pmd-v21-waiter-clean-mode .pmd-v21-shell--waiter .pmd-v21-waiter-floor-card .pmd-v15-floor-canvas{
  height:585px !important;
}
html.pmd-v21-waiter-clean-mode .pmd-v21-shell--waiter .pmd-v15-card-actions a,
html.pmd-v21-waiter-clean-mode .pmd-v21-shell--waiter .pmd-v15-card-actions button{
  min-width:108px;
  justify-content:center;
}
.pmd-v15-floor-node.is-selected{
  outline:4px solid rgba(15,23,42,.16) !important;
  box-shadow:0 16px 34px rgba(15,23,42,.20) !important;
}
.pmd-v23-action-notice{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 14px;
  padding:14px 16px;
  border:1px solid #fed7aa;
  background:#fff7ed;
  border-radius:18px;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
}
.pmd-v23-action-notice strong{display:block;color:#0f172a;font-size:15px;font-weight:950;}
.pmd-v23-action-notice small{display:block;color:#64748b;font-weight:800;margin-top:2px;}
.pmd-v23-action-notice button,
.pmd-v23-action-btn{
  appearance:none;
  border:1px solid #dbe2ea;
  background:#fff;
  color:#0f172a;
  border-radius:13px;
  min-height:38px;
  padding:9px 12px;
  font-weight:950;
  font-size:13px;
  line-height:1;
  cursor:pointer;
  transition:.16s ease;
}
.pmd-v23-action-btn:hover,
.pmd-v23-action-notice button:hover{transform:translateY(-1px);box-shadow:0 10px 18px rgba(15,23,42,.08);}
.pmd-v23-action-btn.is-primary{background:#0b332d;border-color:#0b332d;color:#fff;}
.pmd-v23-action-btn.is-small{min-height:32px;padding:7px 10px;border-radius:11px;font-size:12px;}
.pmd-v23-waiter-workspace-card .pmd-v15-card-body{padding:16px 18px 18px !important;}
.pmd-v23-waiter-workspace{display:flex;flex-direction:column;gap:16px;}
.pmd-v23-workspace-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px;
  border-radius:20px;
  border:1px solid #e2e8f0;
  background:linear-gradient(135deg,#fff,#f8fafc);
}
.pmd-v23-workspace-head span{display:block;color:#64748b;font-weight:850;font-size:12px;margin-bottom:3px;}
.pmd-v23-workspace-head strong{display:block;color:#0f172a;font-size:28px;line-height:1;font-weight:950;}
.pmd-v23-workspace-head small{display:block;color:#64748b;font-weight:850;margin-top:7px;}
.pmd-v23-workspace-head>b{font-size:22px;font-weight:950;color:#0f172a;white-space:nowrap;}
.pmd-v23-workspace-head--free{background:linear-gradient(135deg,#fff,#ecfdf5);border-color:#bbf7d0;}
.pmd-v23-workspace-head--unpaid{background:linear-gradient(135deg,#fff,#fff1f2);border-color:#fecaca;}
.pmd-v23-workspace-head--active{background:linear-gradient(135deg,#fff,#fffbeb);border-color:#fde68a;}
.pmd-v23-workspace-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:16px;align-items:start;}
.pmd-v23-workspace-split h3{margin:0 0 4px;color:#0f172a;font-size:18px;font-weight:950;}
.pmd-v23-workspace-split p{margin:0 0 12px;color:#64748b;font-weight:750;}
.pmd-v23-menu-cats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.pmd-v23-menu-cats span{border:1px solid #e2e8f0;background:#f8fafc;border-radius:999px;padding:6px 10px;color:#475569;font-size:12px;font-weight:900;}
.pmd-v23-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:430px;overflow:auto;padding-right:4px;}
.pmd-v23-menu-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e5e7eb;background:#fff;border-radius:14px;padding:10px 10px;min-width:0;}
.pmd-v23-menu-item strong{display:block;color:#0f172a;font-size:13px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px;}
.pmd-v23-menu-item small{display:block;color:#64748b;font-weight:900;margin-top:2px;}
.pmd-v23-draft-box{border:1px solid #fed7aa;background:#fff7ed;border-radius:18px;padding:14px;box-shadow:0 10px 24px rgba(15,23,42,.04);}
.pmd-v23-draft-box header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;}
.pmd-v23-draft-box header strong{display:block;color:#0f172a;font-weight:950;font-size:16px;}
.pmd-v23-draft-box header small{display:block;color:#64748b;font-weight:800;margin-top:2px;}
.pmd-v23-draft-box header>b{font-size:20px;font-weight:950;color:#0f172a;white-space:nowrap;}
.pmd-v23-draft-box ul{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px;max-height:230px;overflow:auto;}
.pmd-v23-draft-box li{display:grid;grid-template-columns:1fr auto 28px;gap:8px;align-items:center;border:1px solid #ffedd5;background:#fff;border-radius:12px;padding:8px 10px;color:#0f172a;font-weight:900;}
.pmd-v23-draft-box li.is-empty{display:block;color:#64748b;font-weight:800;}
.pmd-v23-draft-box li button{border:0;background:#fee2e2;color:#991b1b;border-radius:8px;width:26px;height:26px;font-weight:950;cursor:pointer;}
.pmd-v23-draft-box footer{display:flex;gap:8px;flex-wrap:wrap;}
.pmd-v23-service-order-list{display:grid;grid-template-columns:1fr;gap:12px;}
.pmd-v23-service-order-card,
.pmd-v21-waiter-order-card{border:1px solid #e2e8f0;background:linear-gradient(180deg,#fff,#f8fafc);border-radius:18px;padding:14px;box-shadow:0 12px 26px rgba(15,23,42,.05);}
.pmd-v23-service-order-card header,
.pmd-v21-waiter-order-card header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px;}
.pmd-v23-service-order-card header span{display:block;color:#64748b;font-size:12px;font-weight:900;margin-bottom:3px;}
.pmd-v23-service-order-card header strong{display:block;color:#0f172a;font-size:20px;font-weight:950;line-height:1.05;}
.pmd-v23-service-order-card header b{font-size:18px;font-weight:950;color:#0f172a;white-space:nowrap;}
.pmd-v23-service-order-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px;}
.pmd-v23-service-order-meta span{border:1px solid #e5e7eb;background:#fff;border-radius:12px;padding:9px;min-width:0;}
.pmd-v23-service-order-meta i{display:block;font-style:normal;color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:950;margin-bottom:2px;}
.pmd-v23-service-order-meta b{display:block;color:#0f172a;font-size:12px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pmd-v23-service-order-card footer,
.pmd-v21-waiter-order-card footer{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.pmd-v21-waiter-order-card footer .pmd-v23-action-btn{width:100%;}
@media (max-width:1200px){
  html.pmd-v21-waiter-clean-mode #pmd-owner-dashboard-clean-v1-root{left:0 !important;width:100% !important;padding:12px !important;}
  html.pmd-v21-waiter-clean-mode .pmd-v21-shell--waiter .pmd-v15-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .pmd-v23-workspace-split{grid-template-columns:1fr;}
  .pmd-v23-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
  html.pmd-v21-waiter-clean-mode .pmd-v21-shell--waiter .pmd-v15-kpi-grid{grid-template-columns:1fr !important;}
  .pmd-v23-menu-grid{grid-template-columns:1fr;}
  .pmd-v23-service-order-meta{grid-template-columns:1fr;}
  .pmd-v23-service-order-card footer,.pmd-v21-waiter-order-card footer{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* PMD_WAITER_LAYOUT_HARDFIX_V24_CSS */
html.pmd-waiter-layout-hardfix-v24,
body.pmd-waiter-layout-hardfix-v24 {
  overflow-x: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.pmd-waiter-layout-hardfix-v24 .page-wrapper,
body.pmd-waiter-layout-hardfix-v24 .page-content,
body.pmd-waiter-layout-hardfix-v24 #pmd-owner-dashboard-clean-v1-root {
  position: relative !important;
  left: 0 !important;
  right: auto !important;
  top: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

body.pmd-waiter-layout-hardfix-v24 #pmd-owner-dashboard-clean-v1-root {
  padding: 10px 16px 32px 16px !important;
}

body.pmd-waiter-layout-hardfix-v24 .pmd-v21-shell--waiter,
body.pmd-waiter-layout-hardfix-v24 .pmd-v15-shell,
body.pmd-waiter-layout-hardfix-v24 .pmd-v19-shell,
body.pmd-waiter-layout-hardfix-v24 .pmd-v21-shell {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
  transform: none !important;
}

body.pmd-waiter-layout-hardfix-v24 .pmd-v15-kpi-grid,
body.pmd-waiter-layout-hardfix-v24 .pmd-v19-kpi-grid,
body.pmd-waiter-layout-hardfix-v24 .pmd-v21-kpi-grid {
  width: 100% !important;
  max-width: 100% !important;
  grid-template-columns: repeat(4, minmax(220px, 1fr)) !important;
  gap: 16px !important;
}

body.pmd-waiter-layout-hardfix-v24 .pmd-v21-waiter-floor-row,
body.pmd-waiter-layout-hardfix-v24 .pmd-v21-waiter-workspace-row,
body.pmd-waiter-layout-hardfix-v24 .pmd-v21-waiter-orders-row,
body.pmd-waiter-layout-hardfix-v24 .pmd-v15-card,
body.pmd-waiter-layout-hardfix-v24 .pmd-v15-card--floor {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

/* PMD_WAITER_SCROLLFIX_V25_CSS */
html.pmd-waiter-scrollfix-v25,
body.pmd-waiter-scrollfix-v25 {
  height: auto !important;
  min-height: 100vh !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

body.pmd-waiter-scrollfix-v25 .page-wrapper,
body.pmd-waiter-scrollfix-v25 .page-content,
body.pmd-waiter-scrollfix-v25 #pmd-owner-dashboard-clean-v1-root,
body.pmd-waiter-scrollfix-v25 .pmd-v21-shell--waiter {
  height: auto !important;
  min-height: 100vh !important;
  max-height: none !important;
  overflow-y: visible !important;
  overflow-x: hidden !important;
}

body.pmd-waiter-scrollfix-v25 .pmd-v21-waiter-floor-row,
body.pmd-waiter-scrollfix-v25 .pmd-v21-waiter-workspace-row,
body.pmd-waiter-scrollfix-v25 .pmd-v21-waiter-orders-row,
body.pmd-waiter-scrollfix-v25 .pmd-v15-card,
body.pmd-waiter-scrollfix-v25 .pmd-v15-card--floor,
body.pmd-waiter-scrollfix-v25 .pmd-v15-card-body,
body.pmd-waiter-scrollfix-v25 .pmd-v23-waiter-workspace,
body.pmd-waiter-scrollfix-v25 .pmd-v23-workspace-split {
  height: auto !important;
  max-height: none !important;
  overflow-y: visible !important;
  overflow-x: hidden !important;
}

/* PMD_WAITER_POLISH_V26_CSS */

/* 1) Role buttons inside top header, centered */
body.pmd-waiter-polish-v26 .pmd-v26-waiter-topbar {
  display: grid !important;
  grid-template-columns: minmax(260px, 1fr) auto minmax(260px, 1fr) !important;
  align-items: center !important;
  gap: 18px !important;
  margin-bottom: 16px !important;
}

body.pmd-waiter-polish-v26 .pmd-v26-waiter-topbar > :first-child {
  grid-column: 1 !important;
  justify-self: start !important;
}

body.pmd-waiter-polish-v26 .pmd-v26-role-tabs-in-topbar {
  grid-column: 2 !important;
  justify-self: center !important;
  align-self: center !important;
  margin: 0 !important;
  width: auto !important;
  max-width: min(720px, 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 6px !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08) !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

body.pmd-waiter-polish-v26 .pmd-v26-role-tabs-in-topbar button,
body.pmd-waiter-polish-v26 .pmd-v26-role-tabs-in-topbar a {
  min-width: 82px !important;
  height: 42px !important;
  padding: 0 14px !important;
  border-radius: 13px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

/* 2) Better-looking floor plan and table cards */
body.pmd-waiter-polish-v26 .pmd-v21-waiter-floor-card,
body.pmd-waiter-polish-v26 .pmd-v15-card--floor {
  border-radius: 18px !important;
  box-shadow: 0 14px 38px rgba(15, 23, 42, 0.08) !important;
}

body.pmd-waiter-polish-v26 .pmd-v15-card--floor [class*="floor-map"],
body.pmd-waiter-polish-v26 .pmd-v15-card--floor [class*="floor-grid"],
body.pmd-waiter-polish-v26 .pmd-v15-card--floor [class*="table-grid"],
body.pmd-waiter-polish-v26 .pmd-v21-waiter-floor-card [class*="floor-map"],
body.pmd-waiter-polish-v26 .pmd-v21-waiter-floor-card [class*="floor-grid"],
body.pmd-waiter-polish-v26 .pmd-v21-waiter-floor-card [class*="table-grid"] {
  border-radius: 18px !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  background:
    radial-gradient(circle at 8% 92%, rgba(34, 197, 94, 0.10), transparent 13%),
    radial-gradient(circle at 92% 15%, rgba(34, 197, 94, 0.08), transparent 12%),
    linear-gradient(rgba(15, 23, 42, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 23, 42, 0.035) 1px, transparent 1px),
    #fbf2e7 !important;
  background-size: auto, auto, 38px 38px, 38px 38px, auto !important;
}

body.pmd-waiter-polish-v26 .pmd-v26-floor-table-card {
  border-radius: 17px !important;
  min-width: 92px !important;
  min-height: 58px !important;
  padding: 8px 11px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.14) !important;
  cursor: pointer !important;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease !important;
}

body.pmd-waiter-polish-v26 .pmd-v26-floor-table-card:hover {
  transform: translateY(-2px) scale(1.02) !important;
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.18) !important;
}

body.pmd-waiter-polish-v26 .pmd-v26-floor-table-free {
  background: linear-gradient(145deg, #ecfdf5, #ffffff) !important;
  border: 2px solid #22c55e !important;
  color: #0f172a !important;
}

body.pmd-waiter-polish-v26 .pmd-v26-floor-table-busy {
  background: linear-gradient(145deg, #fff1f2, #ffffff) !important;
  border: 2px solid #ef4444 !important;
  color: #0f172a !important;
}

/* 3) Reduce ugly empty gap in workspace */
body.pmd-waiter-polish-v26 .pmd-v26-workspace-compact .pmd-v23-workspace-split {
  align-items: start !important;
  grid-template-columns: minmax(480px, .92fr) minmax(560px, 1.08fr) !important;
  gap: 18px !important;
}

body.pmd-waiter-polish-v26 .pmd-v26-workspace-compact .pmd-v23-workspace-split > * {
  align-self: start !important;
  min-height: 0 !important;
  height: auto !important;
}

body.pmd-waiter-polish-v26 .pmd-v26-workspace-compact .pmd-v15-card-body {
  padding-bottom: 18px !important;
}

body.pmd-waiter-polish-v26 .pmd-v26-workspace-compact .pmd-v23-workspace-head {
  min-height: 88px !important;
  padding: 18px 20px !important;
}

body.pmd-waiter-polish-v26 .pmd-v26-current-order-area {
  margin-bottom: 10px !important;
}

body.pmd-waiter-polish-v26 .pmd-v26-add-items-area {
  align-self: start !important;
}

/* 4) My Table Orders: at least 4 compact cards per row */
body.pmd-waiter-polish-v26 .pmd-v26-my-table-orders .pmd-v15-card-body,
body.pmd-waiter-polish-v26 .pmd-v26-my-table-orders-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(230px, 1fr)) !important;
  gap: 14px !important;
  align-items: start !important;
}

body.pmd-waiter-polish-v26 .pmd-v26-order-card-compact {
  width: 100% !important;
  min-width: 0 !important;
  padding: 14px !important;
  border-radius: 16px !important;
  box-sizing: border-box !important;
}

body.pmd-waiter-polish-v26 .pmd-v26-order-card-compact h3,
body.pmd-waiter-polish-v26 .pmd-v26-order-card-compact strong {
  font-size: 22px !important;
  line-height: 1.1 !important;
}

body.pmd-waiter-polish-v26 .pmd-v26-order-card-compact [class*="meta"],
body.pmd-waiter-polish-v26 .pmd-v26-order-card-compact [class*="info"],
body.pmd-waiter-polish-v26 .pmd-v26-order-card-compact [class*="fields"] {
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}

body.pmd-waiter-polish-v26 .pmd-v26-order-card-compact [class*="actions"],
body.pmd-waiter-polish-v26 .pmd-v26-order-card-compact .pmd-v23-order-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

body.pmd-waiter-polish-v26 .pmd-v26-order-card-compact button,
body.pmd-waiter-polish-v26 .pmd-v26-order-card-compact a {
  min-height: 42px !important;
  border-radius: 12px !important;
  font-size: 13px !important;
}

/* Responsive safety */
@media (max-width: 1250px) {
  body.pmd-waiter-polish-v26 .pmd-v26-workspace-compact .pmd-v23-workspace-split {
    grid-template-columns: 1fr !important;
  }

  body.pmd-waiter-polish-v26 .pmd-v26-my-table-orders .pmd-v15-card-body,
  body.pmd-waiter-polish-v26 .pmd-v26-my-table-orders-grid {
    grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body.pmd-waiter-polish-v26 .pmd-v26-waiter-topbar {
    grid-template-columns: 1fr !important;
  }

  body.pmd-waiter-polish-v26 .pmd-v26-role-tabs-in-topbar {
    grid-column: 1 !important;
    justify-self: start !important;
    max-width: 100% !important;
    overflow-x: auto !important;
  }

  body.pmd-waiter-polish-v26 .pmd-v26-my-table-orders .pmd-v15-card-body,
  body.pmd-waiter-polish-v26 .pmd-v26-my-table-orders-grid {
    grid-template-columns: 1fr !important;
  }
}

/* PMD_WAITER_CLEAN_V27_CSS */

body.pmd-waiter-clean-v27 .pmd-v27-hide-waiter-title {
  display: none !important;
}

/* remove big waiter header space, keep tiny role switcher floating right */
body.pmd-waiter-clean-v27 .pmd-v27-waiter-shell {
  position: relative !important;
  padding-top: 0 !important;
}

body.pmd-waiter-clean-v27 .pmd-v27-waiter-floating-topbar {
  position: relative !important;
  min-height: 44px !important;
  height: 44px !important;
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
  display: block !important;
}

body.pmd-waiter-clean-v27 .pmd-v27-mini-role-tabs {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  z-index: 30 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 5px !important;
  width: auto !important;
  max-width: none !important;
  padding: 5px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(15, 23, 42, 0.09) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.10) !important;
  backdrop-filter: blur(10px) !important;
}

body.pmd-waiter-clean-v27 .pmd-v27-mini-role-button {
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 38px !important;
  text-align: center !important;
}

/* better floor plan */
body.pmd-waiter-clean-v27 .pmd-v21-waiter-floor-card,
body.pmd-waiter-clean-v27 .pmd-v15-card--floor {
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.08) !important;
}

body.pmd-waiter-clean-v27 .pmd-v15-card--floor [class*="floor-map"],
body.pmd-waiter-clean-v27 .pmd-v15-card--floor [class*="floor-grid"],
body.pmd-waiter-clean-v27 .pmd-v15-card--floor [class*="table-grid"],
body.pmd-waiter-clean-v27 .pmd-v21-waiter-floor-card [class*="floor-map"],
body.pmd-waiter-clean-v27 .pmd-v21-waiter-floor-card [class*="floor-grid"],
body.pmd-waiter-clean-v27 .pmd-v21-waiter-floor-card [class*="table-grid"] {
  border-radius: 18px !important;
  border: 1px solid rgba(15, 23, 42, 0.13) !important;
  background:
    radial-gradient(circle at 6% 90%, rgba(34,197,94,.11), transparent 13%),
    radial-gradient(circle at 92% 16%, rgba(34,197,94,.08), transparent 12%),
    linear-gradient(rgba(15,23,42,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,23,42,.04) 1px, transparent 1px),
    linear-gradient(135deg, #fff7ed 0%, #fbf1e6 100%) !important;
  background-size: auto, auto, 40px 40px, 40px 40px, auto !important;
}

body.pmd-waiter-clean-v27 .pmd-v27-floor-table-card {
  position: relative !important;
  min-width: 94px !important;
  min-height: 58px !important;
  border-radius: 18px !important;
  padding: 8px 11px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  cursor: pointer !important;
  isolation: isolate !important;
  font-weight: 950 !important;
  letter-spacing: -0.03em !important;
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.16) !important;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease !important;
}

body.pmd-waiter-clean-v27 .pmd-v27-floor-table-card::before,
body.pmd-waiter-clean-v27 .pmd-v27-floor-table-card::after {
  content: "" !important;
  position: absolute !important;
  left: 14px !important;
  right: 14px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: rgba(15, 23, 42, 0.10) !important;
  z-index: -1 !important;
}

body.pmd-waiter-clean-v27 .pmd-v27-floor-table-card::before {
  top: -7px !important;
}

body.pmd-waiter-clean-v27 .pmd-v27-floor-table-card::after {
  bottom: -7px !important;
}

body.pmd-waiter-clean-v27 .pmd-v27-floor-table-card:hover {
  transform: translateY(-2px) scale(1.025) !important;
  box-shadow: 0 20px 36px rgba(15, 23, 42, 0.20) !important;
  filter: saturate(1.05) !important;
}

body.pmd-waiter-clean-v27 .pmd-v27-floor-table-free {
  background: linear-gradient(145deg, #ecfdf5, #ffffff) !important;
  border: 2px solid #22c55e !important;
}

body.pmd-waiter-clean-v27 .pmd-v27-floor-table-busy {
  background: linear-gradient(145deg, #fff1f2, #ffffff) !important;
  border: 2px solid #ef4444 !important;
}

/* workspace hidden first; opens only after table click */
body.pmd-waiter-clean-v27 .pmd-v27-workspace-hidden {
  max-height: 0 !important;
  opacity: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-width: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  transform: translateY(-8px) !important;
  transition: max-height .32s ease, opacity .22s ease, transform .22s ease, margin .22s ease !important;
}

body.pmd-waiter-clean-v27 .pmd-v27-workspace-visible {
  max-height: 1800px !important;
  opacity: 1 !important;
  overflow: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
  transition: max-height .38s ease, opacity .24s ease, transform .24s ease !important;
}

/* clean workspace layout, less empty gap */
body.pmd-waiter-clean-v27 .pmd-v27-workspace-clean {
  border-radius: 18px !important;
}

body.pmd-waiter-clean-v27 .pmd-v27-workspace-clean .pmd-v15-card-body {
  padding-bottom: 18px !important;
}

body.pmd-waiter-clean-v27 .pmd-v27-workspace-split-clean,
body.pmd-waiter-clean-v27 .pmd-v23-workspace-split {
  display: grid !important;
  grid-template-columns: minmax(430px, .85fr) minmax(620px, 1.15fr) !important;
  gap: 18px !important;
  align-items: start !important;
}

body.pmd-waiter-clean-v27 .pmd-v23-workspace-split > * {
  min-height: 0 !important;
  height: auto !important;
  align-self: start !important;
}

/* My Table Orders: smaller cards, 4 per row when enough orders exist */
body.pmd-waiter-clean-v27 .pmd-v27-my-orders-section {
  border-radius: 18px !important;
}

body.pmd-waiter-clean-v27 .pmd-v27-my-orders-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(220px, 1fr)) !important;
  gap: 14px !important;
  align-items: start !important;
}

body.pmd-waiter-clean-v27 .pmd-v27-my-orders-grid > * {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  box-sizing: border-box !important;
}

body.pmd-waiter-clean-v27 .pmd-v27-order-card-small {
  padding: 13px !important;
  border-radius: 16px !important;
  min-width: 0 !important;
  width: 100% !important;
}

body.pmd-waiter-clean-v27 .pmd-v27-order-card-small h3,
body.pmd-waiter-clean-v27 .pmd-v27-order-card-small strong {
  font-size: 19px !important;
  line-height: 1.1 !important;
}

body.pmd-waiter-clean-v27 .pmd-v27-order-card-small [class*="meta"],
body.pmd-waiter-clean-v27 .pmd-v27-order-card-small [class*="fields"],
body.pmd-waiter-clean-v27 .pmd-v27-order-card-small [class*="info"] {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 7px !important;
}

body.pmd-waiter-clean-v27 .pmd-v27-order-card-small [class*="actions"],
body.pmd-waiter-clean-v27 .pmd-v27-order-card-small .pmd-v23-order-actions {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 7px !important;
}

body.pmd-waiter-clean-v27 .pmd-v27-order-card-small button,
body.pmd-waiter-clean-v27 .pmd-v27-order-card-small a {
  min-width: 0 !important;
  min-height: 38px !important;
  height: 38px !important;
  padding: 0 8px !important;
  border-radius: 11px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  white-space: normal !important;
}

@media (max-width: 1250px) {
  body.pmd-waiter-clean-v27 .pmd-v23-workspace-split {
    grid-template-columns: 1fr !important;
  }

  body.pmd-waiter-clean-v27 .pmd-v27-my-orders-grid {
    grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body.pmd-waiter-clean-v27 .pmd-v27-mini-role-tabs {
    position: relative !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
  }

  body.pmd-waiter-clean-v27 .pmd-v27-waiter-floating-topbar {
    height: 48px !important;
  }

  body.pmd-waiter-clean-v27 .pmd-v27-my-orders-grid {
    grid-template-columns: 1fr !important;
  }
}

/* PMD_WAITER_RESCUE_V28_CSS */

/* hide broken waiter heading */
body.pmd-waiter-rescue-v28 .pmd-v28-hide-waiter-heading {
  display: none !important;
}

/* kill v27 top-header role layout; make it floating vertical on right */
body.pmd-waiter-rescue-v28 .pmd-v27-waiter-floating-topbar,
body.pmd-waiter-rescue-v28 .pmd-v15-topbar,
body.pmd-waiter-rescue-v28 .pmd-v19-topbar,
body.pmd-waiter-rescue-v28 .pmd-v21-topbar {
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

body.pmd-waiter-rescue-v28 .pmd-v28-role-rail,
body.pmd-waiter-rescue-v28 .pmd-v27-mini-role-tabs {
  position: fixed !important;
  top: 118px !important;
  right: 18px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 9999 !important;
  width: 46px !important;
  max-width: 46px !important;
  min-width: 46px !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 7px !important;
  padding: 7px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(15,23,42,.10) !important;
  box-shadow: 0 18px 45px rgba(15,23,42,.14) !important;
  backdrop-filter: blur(12px) !important;
}

body.pmd-waiter-rescue-v28 .pmd-v28-role-rail-btn,
body.pmd-waiter-rescue-v28 .pmd-v27-mini-role-button {
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  color: #334155 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.pmd-waiter-rescue-v28 .pmd-v28-role-rail-btn-active,
body.pmd-waiter-rescue-v28 .pmd-v28-role-rail-btn[aria-label="Waiter"],
body.pmd-waiter-rescue-v28 .pmd-v27-mini-role-button[aria-label="Waiter"] {
  color: #fff !important;
  background: #063f34 !important;
  box-shadow: 0 10px 22px rgba(6,63,52,.25) !important;
}

/* restore normal page width/scroll */
html.pmd-waiter-rescue-v28,
body.pmd-waiter-rescue-v28 {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

body.pmd-waiter-rescue-v28 .page-wrapper,
body.pmd-waiter-rescue-v28 .page-content,
body.pmd-waiter-rescue-v28 #pmd-owner-dashboard-clean-v1-root {
  width: 100vw !important;
  max-width: 100vw !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: 0 !important;
  right: auto !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
  box-sizing: border-box !important;
}

/* main shell */
body.pmd-waiter-rescue-v28 .pmd-v21-shell--waiter,
body.pmd-waiter-rescue-v28 .pmd-v15-shell,
body.pmd-waiter-rescue-v28 .pmd-v19-shell {
  width: 100% !important;
  max-width: calc(100vw - 34px) !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* undo v27 floor damage */
body.pmd-waiter-rescue-v28 .pmd-v28-floor-card,
body.pmd-waiter-rescue-v28 .pmd-v21-waiter-floor-card,
body.pmd-waiter-rescue-v28 .pmd-v15-card--floor {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.pmd-waiter-rescue-v28 .pmd-v28-floor-card .pmd-v15-card-body,
body.pmd-waiter-rescue-v28 .pmd-v21-waiter-floor-card .pmd-v15-card-body,
body.pmd-waiter-rescue-v28 .pmd-v15-card--floor .pmd-v15-card-body {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 20px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* badge and legend should not squeeze the map */
body.pmd-waiter-rescue-v28 .pmd-v28-floor-badge {
  position: relative !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 130px !important;
  max-width: 180px !important;
  height: 44px !important;
  margin: 0 0 18px 0 !important;
  white-space: nowrap !important;
  border-radius: 999px !important;
}

body.pmd-waiter-rescue-v28 .pmd-v28-floor-legend {
  position: absolute !important;
  z-index: 5 !important;
  top: 18px !important;
  right: 20px !important;
  width: auto !important;
  min-width: 250px !important;
  max-width: 330px !important;
  height: auto !important;
  margin: 0 !important;
  border-radius: 15px !important;
}

/* floor map full width again */
body.pmd-waiter-rescue-v28 .pmd-v28-floor-map {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  height: 580px !important;
  min-height: 520px !important;
  max-height: none !important;
  margin: 16px 0 0 0 !important;
  padding: 0 !important;
  border-radius: 18px !important;
  border: 1px solid rgba(15,23,42,.13) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background:
    radial-gradient(circle at 7% 88%, rgba(34,197,94,.11), transparent 13%),
    radial-gradient(circle at 92% 17%, rgba(34,197,94,.08), transparent 12%),
    linear-gradient(rgba(15,23,42,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,23,42,.045) 1px, transparent 1px),
    linear-gradient(135deg, #fff7ed 0%, #fbf1e6 100%) !important;
  background-size: auto, auto, 40px 40px, 40px 40px, auto !important;
}

/* table nodes prettier but do NOT break layout */
body.pmd-waiter-rescue-v28 .pmd-v28-table-node {
  cursor: pointer !important;
  border-radius: 16px !important;
  box-shadow: 0 13px 25px rgba(15,23,42,.16) !important;
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease !important;
}

body.pmd-waiter-rescue-v28 .pmd-v28-table-node:hover {
  transform: translateY(-2px) scale(1.025) !important;
  box-shadow: 0 20px 36px rgba(15,23,42,.20) !important;
  filter: saturate(1.06) !important;
}

body.pmd-waiter-rescue-v28 .pmd-v28-table-free {
  background: linear-gradient(145deg, #ecfdf5, #ffffff) !important;
  border-color: #22c55e !important;
}

body.pmd-waiter-rescue-v28 .pmd-v28-table-busy {
  background: linear-gradient(145deg, #fff1f2, #ffffff) !important;
  border-color: #ef4444 !important;
}

/* workspace closed by default */
body.pmd-waiter-rescue-v28 .pmd-v28-workspace-closed {
  max-height: 0 !important;
  opacity: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  transform: translateY(-8px) !important;
}

body.pmd-waiter-rescue-v28 .pmd-v28-workspace-open {
  max-height: 1800px !important;
  opacity: 1 !important;
  overflow: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
  transition: max-height .35s ease, opacity .22s ease, transform .22s ease !important;
}

/* less empty gap inside workspace */
body.pmd-waiter-rescue-v28 .pmd-v28-workspace .pmd-v15-card-body {
  padding-bottom: 18px !important;
}

body.pmd-waiter-rescue-v28 .pmd-v23-workspace-split {
  display: grid !important;
  grid-template-columns: minmax(420px, .9fr) minmax(620px, 1.1fr) !important;
  gap: 18px !important;
  align-items: start !important;
}

body.pmd-waiter-rescue-v28 .pmd-v23-workspace-split > * {
  min-height: 0 !important;
  height: auto !important;
  align-self: start !important;
}

/* My Table Orders compact: 4 per row */
body.pmd-waiter-rescue-v28 .pmd-v28-my-orders-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(220px, 1fr)) !important;
  gap: 14px !important;
  align-items: start !important;
}

body.pmd-waiter-rescue-v28 .pmd-v28-my-orders-grid > * {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.pmd-waiter-rescue-v28 .pmd-v28-small-order-card {
  padding: 13px !important;
  border-radius: 16px !important;
  min-width: 0 !important;
  width: 100% !important;
}

body.pmd-waiter-rescue-v28 .pmd-v28-small-order-card button,
body.pmd-waiter-rescue-v28 .pmd-v28-small-order-card a {
  min-width: 0 !important;
  min-height: 36px !important;
  height: 36px !important;
  padding: 0 8px !important;
  border-radius: 11px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  white-space: normal !important;
}

@media (max-width: 1250px) {
  body.pmd-waiter-rescue-v28 .pmd-v23-workspace-split {
    grid-template-columns: 1fr !important;
  }

  body.pmd-waiter-rescue-v28 .pmd-v28-my-orders-grid {
    grid-template-columns: repeat(2, minmax(230px, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body.pmd-waiter-rescue-v28 .pmd-v28-role-rail,
  body.pmd-waiter-rescue-v28 .pmd-v27-mini-role-tabs {
    right: 10px !important;
    top: 90px !important;
  }

  body.pmd-waiter-rescue-v28 .pmd-v28-my-orders-grid {
    grid-template-columns: 1fr !important;
  }
}

/* PMD_WAITER_FINAL_V29_CSS */

html.pmd-waiter-final-v29,
body.pmd-waiter-final-v29 {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

body.pmd-waiter-final-v29 .pmd-v29-hide {
  display: none !important;
}

/* Keep waiter content clean and full-width */
body.pmd-waiter-final-v29 .page-wrapper,
body.pmd-waiter-final-v29 .page-content,
body.pmd-waiter-final-v29 #pmd-owner-dashboard-clean-v1-root {
  width: 100vw !important;
  max-width: 100vw !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: 0 !important;
  right: auto !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
  box-sizing: border-box !important;
}

body.pmd-waiter-final-v29 .pmd-v21-shell--waiter,
body.pmd-waiter-final-v29 .pmd-v15-shell,
body.pmd-waiter-final-v29 .pmd-v19-shell {
  width: 100% !important;
  max-width: calc(100vw - 34px) !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* remove old topbar space */
body.pmd-waiter-final-v29 .pmd-v15-topbar,
body.pmd-waiter-final-v29 .pmd-v19-topbar,
body.pmd-waiter-final-v29 .pmd-v21-topbar,
body.pmd-waiter-final-v29 .pmd-v27-waiter-floating-topbar {
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

/* vertical role rail */
body.pmd-waiter-final-v29 .pmd-v29-role-rail {
  position: fixed !important;
  top: 112px !important;
  right: 14px !important;
  left: auto !important;
  z-index: 9999 !important;
  width: 46px !important;
  min-width: 46px !important;
  max-width: 46px !important;
  height: auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 8px 6px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.94) !important;
  border: 1px solid rgba(15,23,42,.10) !important;
  box-shadow: 0 18px 40px rgba(15,23,42,.15) !important;
  backdrop-filter: blur(12px) !important;
}

body.pmd-waiter-final-v29 .pmd-v29-role-rail > button,
body.pmd-waiter-final-v29 .pmd-v29-role-rail > a,
body.pmd-waiter-final-v29 .pmd-v29-role-btn {
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  color: #334155 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

body.pmd-waiter-final-v29 .pmd-v29-role-btn-active,
body.pmd-waiter-final-v29 .pmd-v29-role-btn[aria-label="Waiter"] {
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  color: #fff !important;
  background: #063f34 !important;
  box-shadow: 0 10px 22px rgba(6,63,52,.25) !important;
}

/* neutralize wrong old floor-map classes */
body.pmd-waiter-final-v29 .pmd-v21-waiter-workspace-row.pmd-v28-floor-map,
body.pmd-waiter-final-v29 .pmd-v21-waiter-orders-row.pmd-v28-floor-map,
body.pmd-waiter-final-v29 .pmd-v23-waiter-workspace.pmd-v28-floor-map,
body.pmd-waiter-final-v29 .pmd-v23-workspace-split.pmd-v28-floor-map,
body.pmd-waiter-final-v29 .page-wrapper.pmd-v28-floor-card,
body.pmd-waiter-final-v29 .page-content.pmd-v28-floor-card,
body.pmd-waiter-final-v29 #pmd-owner-dashboard-clean-v1-root.pmd-v28-floor-card {
  background: transparent !important;
  background-image: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* real floor only */
body.pmd-waiter-final-v29 .pmd-v29-real-floor-map {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  height: 585px !important;
  min-height: 540px !important;
  max-height: 585px !important;
  margin: 18px 0 0 0 !important;
  padding: 0 !important;
  border-radius: 18px !important;
  border: 1px solid rgba(15,23,42,.14) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background:
    radial-gradient(circle at 7% 88%, rgba(34,197,94,.10), transparent 13%),
    radial-gradient(circle at 92% 17%, rgba(34,197,94,.08), transparent 12%),
    linear-gradient(rgba(15,23,42,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,23,42,.045) 1px, transparent 1px),
    linear-gradient(135deg, #fff7ed 0%, #fbf1e6 100%) !important;
  background-size: auto, auto, 40px 40px, 40px 40px, auto !important;
}

body.pmd-waiter-final-v29 .pmd-v29-real-floor-map .pmd-v15-floor-canvas {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  background: transparent !important;
}

/* nice table cards */
body.pmd-waiter-final-v29 .pmd-v29-table-node {
  cursor: pointer !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 24px rgba(15,23,42,.16) !important;
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease !important;
}

body.pmd-waiter-final-v29 .pmd-v29-table-node:hover {
  transform: translateY(-2px) scale(1.025) !important;
  box-shadow: 0 20px 36px rgba(15,23,42,.20) !important;
  filter: saturate(1.06) !important;
}

body.pmd-waiter-final-v29 .pmd-v29-table-free {
  background: linear-gradient(145deg, #ecfdf5, #ffffff) !important;
  border-color: #22c55e !important;
}

body.pmd-waiter-final-v29 .pmd-v29-table-busy {
  background: linear-gradient(145deg, #fff1f2, #ffffff) !important;
  border-color: #ef4444 !important;
}

/* workspace: hidden until table click */
body.pmd-waiter-final-v29 .pmd-v29-workspace-row.pmd-v29-workspace-closed {
  display: none !important;
}

body.pmd-waiter-final-v29 .pmd-v29-workspace-row.pmd-v29-workspace-open {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  overflow: visible !important;
}

/* workspace compact */
body.pmd-waiter-final-v29 .pmd-v29-workspace-row .pmd-v15-card-body {
  padding-bottom: 18px !important;
}

body.pmd-waiter-final-v29 .pmd-v29-workspace-row .pmd-v23-workspace-split {
  display: grid !important;
  grid-template-columns: minmax(420px, .9fr) minmax(620px, 1.1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  background: transparent !important;
  background-image: none !important;
  min-height: 0 !important;
  height: auto !important;
}

/* My Table Orders: compact cards, 4 per row when enough cards exist */
body.pmd-waiter-final-v29 .pmd-v29-orders-grid,
body.pmd-waiter-final-v29 .pmd-v21-waiter-order-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(220px, 1fr)) !important;
  gap: 14px !important;
  align-items: start !important;
}

body.pmd-waiter-final-v29 .pmd-v29-order-card {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 13px !important;
  border-radius: 16px !important;
  box-sizing: border-box !important;
}

body.pmd-waiter-final-v29 .pmd-v29-order-card button,
body.pmd-waiter-final-v29 .pmd-v29-order-card a {
  min-width: 0 !important;
  min-height: 36px !important;
  height: 36px !important;
  padding: 0 8px !important;
  border-radius: 11px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  white-space: normal !important;
}

@media (max-width: 1250px) {
  body.pmd-waiter-final-v29 .pmd-v29-workspace-row .pmd-v23-workspace-split {
    grid-template-columns: 1fr !important;
  }

  body.pmd-waiter-final-v29 .pmd-v29-orders-grid,
  body.pmd-waiter-final-v29 .pmd-v21-waiter-order-grid {
    grid-template-columns: repeat(2, minmax(230px, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body.pmd-waiter-final-v29 .pmd-v29-role-rail {
    top: 90px !important;
    right: 8px !important;
  }

  body.pmd-waiter-final-v29 .pmd-v29-orders-grid,
  body.pmd-waiter-final-v29 .pmd-v21-waiter-order-grid {
    grid-template-columns: 1fr !important;
  }
}

/* PMD_ROLE_CLEAN_SHELL_V30_CSS */

/* universal role rail */
html.pmd-role-rail-v30,
body.pmd-role-rail-v30 {
  overflow-x: hidden !important;
}

body.pmd-role-rail-v30 .pmd-v30-role-tabs-hidden {
  display: none !important;
}

body.pmd-role-rail-v30 .pmd-v30-role-rail {
  position: fixed !important;
  top: 118px !important;
  right: 14px !important;
  left: auto !important;
  z-index: 99999 !important;
  width: 46px !important;
  min-width: 46px !important;
  max-width: 46px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  padding: 8px 6px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.95) !important;
  border: 1px solid rgba(15,23,42,.10) !important;
  box-shadow: 0 18px 40px rgba(15,23,42,.16) !important;
  backdrop-filter: blur(14px) !important;
  transform: none !important;
  overflow: visible !important;
}

body.pmd-role-rail-v30 .pmd-v30-role-rail > button,
body.pmd-role-rail-v30 .pmd-v30-role-rail > a,
body.pmd-role-rail-v30 .pmd-v30-role-btn {
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  color: #334155 !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  text-align: center !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  white-space: nowrap !important;
}

body.pmd-role-rail-v30 .pmd-v30-role-btn-active {
  background: #063f34 !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(6,63,52,.27) !important;
}

/* clean shell only for KDS / Cashier / Reception / Waiter */
html.pmd-role-clean-shell-v30,
body.pmd-role-clean-shell-v30 {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

body.pmd-role-clean-shell-v30 .pmd-v30-clean-hidden,
body.pmd-role-clean-shell-v30 .pmd-v30-clean-hidden-top {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.pmd-role-clean-shell-v30 .pmd-v30-clean-main,
body.pmd-role-clean-shell-v30 .page-wrapper,
body.pmd-role-clean-shell-v30 .page-content,
body.pmd-role-clean-shell-v30 #pmd-owner-dashboard-clean-v1-root,
body.pmd-role-clean-shell-v30 .content-wrapper,
body.pmd-role-clean-shell-v30 .main-content {
  left: 0 !important;
  right: auto !important;
  top: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-width: 0 !important;
  transform: none !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
  box-sizing: border-box !important;
}

body.pmd-role-clean-shell-v30 #pmd-owner-dashboard-clean-v1-root {
  padding: 14px 16px 32px 16px !important;
}

body.pmd-role-clean-shell-v30 .pmd-v15-shell,
body.pmd-role-clean-shell-v30 .pmd-v19-shell,
body.pmd-role-clean-shell-v30 .pmd-v21-shell,
body.pmd-role-clean-shell-v30 .pmd-v30-clean-root {
  width: 100% !important;
  max-width: calc(100vw - 32px) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* give the right floating rail breathing room */
body.pmd-role-clean-shell-v30 .pmd-v15-card,
body.pmd-role-clean-shell-v30 .pmd-v15-kpi-grid,
body.pmd-role-clean-shell-v30 .pmd-v19-area-grid,
body.pmd-role-clean-shell-v30 .pmd-v21-waiter-floor-row,
body.pmd-role-clean-shell-v30 .pmd-v21-waiter-workspace-row,
body.pmd-role-clean-shell-v30 .pmd-v21-waiter-orders-row {
  max-width: calc(100vw - 74px) !important;
  box-sizing: border-box !important;
}

@media (max-width: 760px) {
  body.pmd-role-rail-v30 .pmd-v30-role-rail {
    top: 92px !important;
    right: 8px !important;
  }

  body.pmd-role-clean-shell-v30 #pmd-owner-dashboard-clean-v1-root {
    padding-right: 58px !important;
  }
}

/* PMD_ALL_ROLES_CLEAN_V31_CSS */

html.pmd-all-roles-clean-v31,
body.pmd-all-roles-clean-v31 {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

body.pmd-all-roles-clean-v31 .pmd-v31-hidden-admin-chrome,
body.pmd-all-roles-clean-v31 .pmd-v31-hidden-dashboard-intro,
body.pmd-all-roles-clean-v31 .pmd-v31-native-role-tabs-hidden {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* remove old admin/sidebar offset */
body.pmd-all-roles-clean-v31 .page-wrapper,
body.pmd-all-roles-clean-v31 .page-content,
body.pmd-all-roles-clean-v31 #pmd-owner-dashboard-clean-v1-root,
body.pmd-all-roles-clean-v31 .content-wrapper,
body.pmd-all-roles-clean-v31 .main-content,
body.pmd-all-roles-clean-v31 .pmd-v31-clean-main {
  left: 0 !important;
  right: auto !important;
  top: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-width: 0 !important;
  transform: none !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
  box-sizing: border-box !important;
}

body.pmd-all-roles-clean-v31 #pmd-owner-dashboard-clean-v1-root {
  padding: 8px 18px 34px 18px !important;
}

body.pmd-all-roles-clean-v31 .pmd-v15-shell,
body.pmd-all-roles-clean-v31 .pmd-v19-shell,
body.pmd-all-roles-clean-v31 .pmd-v21-shell,
body.pmd-all-roles-clean-v31 .pmd-v23-shell,
body.pmd-all-roles-clean-v31 .pmd-v31-clean-shell {
  width: 100% !important;
  max-width: calc(100vw - 36px) !important;
  margin: 0 !important;
  padding-top: 0 !important;
  box-sizing: border-box !important;
}

/* content starts higher */
body.pmd-all-roles-clean-v31 .pmd-v15-kpi-grid,
body.pmd-all-roles-clean-v31 .pmd-v19-kpi-grid,
body.pmd-all-roles-clean-v31 .pmd-v21-kpi-grid {
  margin-top: 0 !important;
}

body.pmd-all-roles-clean-v31 .pmd-v15-card,
body.pmd-all-roles-clean-v31 .pmd-v15-kpi-grid,
body.pmd-all-roles-clean-v31 .pmd-v19-area-grid,
body.pmd-all-roles-clean-v31 .pmd-v21-waiter-floor-row,
body.pmd-all-roles-clean-v31 .pmd-v21-waiter-workspace-row,
body.pmd-all-roles-clean-v31 .pmd-v21-waiter-orders-row {
  max-width: calc(100vw - 78px) !important;
  box-sizing: border-box !important;
}

/* one clean right floating role rail */
body.pmd-all-roles-clean-v31 #pmd-v31-role-rail {
  position: fixed !important;
  top: 108px !important;
  right: 12px !important;
  left: auto !important;
  z-index: 999999 !important;
  width: 46px !important;
  min-width: 46px !important;
  max-width: 46px !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  padding: 8px 6px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(15,23,42,.10) !important;
  box-shadow: 0 18px 40px rgba(15,23,42,.16) !important;
  backdrop-filter: blur(14px) !important;
  overflow: visible !important;
}

body.pmd-all-roles-clean-v31 #pmd-v31-role-rail .pmd-v31-role-btn {
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  color: #334155 !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  text-align: center !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

body.pmd-all-roles-clean-v31 #pmd-v31-role-rail .pmd-v31-role-btn.is-active {
  background: #063f34 !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(6,63,52,.27) !important;
}

/* keep dashboard readable near the floating rail */
body.pmd-all-roles-clean-v31 .pmd-v15-card-head,
body.pmd-all-roles-clean-v31 .pmd-v15-card-body {
  box-sizing: border-box !important;
}

@media (max-width: 760px) {
  body.pmd-all-roles-clean-v31 #pmd-owner-dashboard-clean-v1-root {
    padding-right: 58px !important;
  }

  body.pmd-all-roles-clean-v31 #pmd-v31-role-rail {
    top: 86px !important;
    right: 7px !important;
  }
}

/* PMD_KDS_STABLE_V34_CSS */
html.pmd-kds-stable-v34,
body.pmd-kds-stable-v34 {
  overflow-x: hidden !important;
}

body.pmd-kds-stable-v34 #pmd-kds-stable-v34-section {
  display: block !important;
}


/* PMD_KDS_NO_DOUBLE_HEADER_V44_CSS */
body.pmd-kds-no-double-header-v44 .pmd-v15-kpi-grid,
body.pmd-kds-no-double-header-v44 .pmd-v19-kpi-grid,
body.pmd-kds-no-double-header-v44 .pmd-v21-kpi-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 14px 0 !important;
}

body.pmd-kds-no-double-header-v44 .pmd-v15-kpi-grid > *,
body.pmd-kds-no-double-header-v44 .pmd-v19-kpi-grid > *,
body.pmd-kds-no-double-header-v44 .pmd-v21-kpi-grid > * {
  min-width: 0 !important;
  max-width: 100% !important;
  width: auto !important;
  height: 104px !important;
  min-height: 104px !important;
  max-height: 104px !important;
  grid-column: span 1 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.pmd-kds-no-double-header-v44 .pmd-kds-v44-card {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 15px 15px !important;
  background: #ffffff !important;
  border: 1px solid #dce6f0 !important;
  border-radius: 18px !important;
  box-shadow: 0 14px 32px rgba(15, 23, 42, .055) !important;
  overflow: visible !important;
}

body.pmd-kds-no-double-header-v44 .pmd-kds-v44-card::after {
  content: "" !important;
  position: absolute !important;
  left: 10px !important;
  right: 10px !important;
  bottom: -1px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, rgba(16,185,129,.24), rgba(37,99,235,.16), rgba(139,92,246,.16)) !important;
}

body.pmd-kds-no-double-header-v44 .pmd-kds-v44-icon {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  border-radius: 15px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #f1f5f9 !important;
  font-size: 21px !important;
}

body.pmd-kds-no-double-header-v44 .pmd-kds-v44-content {
  min-width: 0 !important;
}

body.pmd-kds-no-double-header-v44 .pmd-kds-v44-label {
  display: block !important;
  margin: 0 0 6px 0 !important;
  font-size: 12px !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
  color: #111827 !important;
  white-space: nowrap !important;
}

body.pmd-kds-no-double-header-v44 .pmd-kds-v44-value {
  display: block !important;
  margin: 0 !important;
  font-size: 31px !important;
  line-height: .95 !important;
  font-weight: 950 !important;
  color: #111827 !important;
  letter-spacing: -.04em !important;
  white-space: nowrap !important;
}

body.pmd-kds-no-double-header-v44 .pmd-kds-v44-card.is-clock {
  border-color: #bcd4ff !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
}

body.pmd-kds-no-double-header-v44 .pmd-kds-v44-card.is-clock .pmd-kds-v44-value {
  color: #2563eb !important;
  font-size: 28px !important;
}

body.pmd-kds-no-double-header-v44 .pmd-kds-v44-card.is-controls {
  padding: 13px !important;
  z-index: 50 !important;
}

body.pmd-kds-no-double-header-v44 .pmd-kds-v44-controls-wrap {
  position: relative !important;
  width: 100% !important;
}

body.pmd-kds-no-double-header-v44 .pmd-kds-v44-controls-button {
  width: 100% !important;
  height: 46px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: #064e3b !important;
  color: #fff !important;
  font-weight: 900 !important;
  font-size: 13px !important;
  cursor: pointer !important;
  box-shadow: 0 10px 22px rgba(6, 78, 59, .18) !important;
}

body.pmd-kds-no-double-header-v44 .pmd-kds-v44-controls-menu {
  display: none !important;
  position: absolute !important;
  top: calc(100% + 10px) !important;
  right: 0 !important;
  width: 270px !important;
  padding: 10px !important;
  background: #ffffff !important;
  border: 1px solid #dce6f0 !important;
  border-radius: 16px !important;
  box-shadow: 0 24px 60px rgba(15, 23, 42, .18) !important;
  z-index: 999999 !important;
}

body.pmd-kds-no-double-header-v44 .pmd-kds-v44-card.is-controls.is-open .pmd-kds-v44-controls-menu {
  display: block !important;
}

body.pmd-kds-no-double-header-v44 .pmd-kds-v44-menu-title {
  padding: 6px 8px 8px !important;
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
}

body.pmd-kds-no-double-header-v44 .pmd-kds-v44-menu-row {
  display: flex !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
  flex-wrap: wrap !important;
}

body.pmd-kds-no-double-header-v44 .pmd-kds-v44-menu-btn,
body.pmd-kds-no-double-header-v44 .pmd-kds-v44-station-btn {
  border: 1px solid #dce6f0 !important;
  background: #f8fafc !important;
  color: #111827 !important;
  border-radius: 12px !important;
  padding: 10px 12px !important;
  font-weight: 850 !important;
  font-size: 12px !important;
  cursor: pointer !important;
  text-decoration: none !important;
}

body.pmd-kds-no-double-header-v44 .pmd-kds-v44-station-btn.is-active {
  background: #064e3b !important;
  color: #fff !important;
  border-color: #064e3b !important;
}

/* remove duplicated parent wrapper header */
body.pmd-kds-no-double-header-v44 .pmd-kds-stable-v34-head,
body.pmd-kds-no-double-header-v44 .pmd-kds-final-v33-head,
body.pmd-kds-no-double-header-v44 .pmd-kds-livefix-v34-head,
body.pmd-kds-no-double-header-v44 #pmd-kds-stable-v34-section > .pmd-kds-stable-v34-head {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

/* remove old duplicated toolbar cards */
body.pmd-kds-no-double-header-v44 [data-pmd-kds-top-card-v40],
body.pmd-kds-no-double-header-v44 #pmd-kds-actions-card-v41 {
  display: none !important;
}

body.pmd-kds-no-double-header-v44 #pmd-kds-stable-v34-section,
body.pmd-kds-no-double-header-v44 #pmd-kds-livefix-v34-section {
  margin-top: 0 !important;
}

@media (max-width: 1300px) {
  body.pmd-kds-no-double-header-v44 .pmd-v15-kpi-grid,
  body.pmd-kds-no-double-header-v44 .pmd-v19-kpi-grid,
  body.pmd-kds-no-double-header-v44 .pmd-v21-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* PMD Counter Role v1 — dashboard integrated reception/counter view */
html.pmd-v21-role-counter,
body.pmd-v21-role-counter {
  background:
    radial-gradient(circle at 18% 8%, rgba(96,190,232,.12), transparent 30%),
    radial-gradient(circle at 88% 12%, rgba(8,119,98,.08), transparent 30%),
    #fbfaf5 !important;
}

.pmd-v23-counter-shell .pmd-v15-kpi-grid,
.pmd-v23-counter-shell .pmd-v19-kpi-grid,
.pmd-v23-counter-shell .pmd-v21-kpi-grid {
  margin-bottom: 20px !important;
}

.pmd-v23-counter-floor-row {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
  margin-bottom: 18px !important;
}

.pmd-v23-counter-floor-card .pmd-v15-floor-canvas {
  min-height: 560px !important;
}

.pmd-v23-counter-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .55fr) !important;
  gap: 18px !important;
  margin-bottom: 18px !important;
}

.pmd-v23-counter-reservations .pmd-v15-list {
  display: grid !important;
  gap: 12px !important;
}

.pmd-v23-counter-reservations .pmd-v15-list-row {
  min-height: 76px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(96,190,232,.26) !important;
  background: #fff !important;
  box-shadow: 0 8px 18px rgba(12,39,58,.018) !important;
}

.pmd-v23-counter-rule-list {
  display: grid !important;
  gap: 10px !important;
}

.pmd-v23-counter-rule-list article {
  border: 1px solid rgba(96,190,232,.26) !important;
  border-radius: 16px !important;
  background: #fff !important;
  padding: 13px 14px !important;
}

.pmd-v23-counter-rule-list b {
  display: block !important;
  color: #087762 !important;
  font-size: 13px !important;
  font-weight: 950 !important;
}

.pmd-v23-counter-rule-list span {
  display: block !important;
  margin-top: 4px !important;
  color: #5f7893 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 750 !important;
}

/* Make role tabs behave like icon/action buttons when Counter exists */
.pmd-v21-role-tabs button[data-pmd-role-tab="counter"] {
  border-color: rgba(8,119,98,.30) !important;
}

.pmd-v21-role-tabs button[data-pmd-role-tab="counter"]::before {
  content: "📞";
  margin-right: 6px;
}

@media (max-width: 1100px) {
  .pmd-v23-counter-grid {
    grid-template-columns: 1fr !important;
  }

  .pmd-v23-counter-floor-card .pmd-v15-floor-canvas {
    min-height: 420px !important;
  }
}

/* PMD Counter Rail Fix v2 */
#pmd-v31-role-rail .pmd-v31-role-btn[data-pmd-role="counter"],
#pmd-v31-role-rail .pmd-v31-role-btn[title="Counter"] {
  font-size: 18px !important;
  color: #0a362f !important;
}

#pmd-v31-role-rail .pmd-v31-role-btn[data-pmd-role="counter"].is-active,
#pmd-v31-role-rail .pmd-v31-role-btn[title="Counter"].is-active {
  background: #087762 !important;
  color: #fff !important;
}

/* PMD Counter Rail v32 */
#pmd-v31-role-rail .pmd-v31-role-btn[data-pmd-role="counter"],
#pmd-v31-role-rail .pmd-v31-role-btn[aria-label="Counter"],
#pmd-v31-role-rail .pmd-v31-role-btn[title="Counter"] {
  font-size: 18px !important;
  font-weight: 950 !important;
}
/* PMD_SHARED_FLOOR_MAP_SKIN_V2_START */
/*
  Shared dashboard floor map skin v2.
  Goal: replace the ugly empty grid with the existing restaurant map visual style.
  CSS only. Keeps the existing table drawer/click functionality untouched.
*/
.pmd-v15-card--floor .pmd-v15-card-body,
.pmd-v23-counter-floor-card .pmd-v15-card-body {
  padding-top: 10px;
}

.pmd-v15-floor-wrap {
  grid-template-columns: 1fr !important;
  gap: 14px !important;
}

.pmd-v15-floor-tools {
  align-items: flex-start !important;
  margin-bottom: 14px !important;
}

.pmd-v15-floor-legend {
  position: absolute !important;
  right: 22px !important;
  top: 18px !important;
  z-index: 9 !important;
  display: grid !important;
  grid-template-columns: repeat(2, auto) !important;
  gap: 9px 14px !important;
  padding: 13px 15px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(148, 163, 184, .24) !important;
  background: rgba(255, 255, 255, .88) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .10) !important;
  backdrop-filter: blur(14px) !important;
}

.pmd-v15-floor-tabs {
  position: relative !important;
  z-index: 10 !important;
}

.pmd-v15-floor-tabs button {
  min-height: 44px !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  background: #071827 !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .14) !important;
}

.pmd-v15-floor-tabs button b {
  background: #facc15 !important;
  color: #111827 !important;
}

.pmd-v15-card--floor .pmd-v15-floor-canvas,
.pmd-v15-floor-canvas {
  position: relative !important;
  min-height: clamp(440px, 45vw, 650px) !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  border: 1px solid rgba(15, 23, 42, .12) !important;
  background-color: #f8fafc !important;
  background-image:
    linear-gradient(rgba(255,255,255,.12), rgba(255,255,255,.12)),
    url("/assets/media/uploads/restraurant.png") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 100% 100% !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.78),
    0 22px 58px rgba(15, 23, 42, .10) !important;
}

.pmd-v15-floor-canvas::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 16% 16%, rgba(255, 255, 255, .58), transparent 24%),
    radial-gradient(circle at 90% 12%, rgba(8, 119, 98, .10), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.18));
}

.pmd-v15-floor-bg {
  display: none !important;
}

.pmd-v15-floor-node {
  z-index: 3 !important;
  width: 82px !important;
  height: 82px !important;
  min-width: 82px !important;
  min-height: 82px !important;
  max-width: 96px !important;
  max-height: 96px !important;
  border-radius: 999px !important;
  border-width: 3px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow:
    0 14px 34px rgba(15, 23, 42, .20),
    inset 0 0 0 1px rgba(255,255,255,.88) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1px !important;
  padding: 8px !important;
}

.pmd-v15-floor-node strong {
  font-size: 21px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: -.04em !important;
}

.pmd-v15-floor-node small {
  font-size: 9px !important;
  font-weight: 950 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.pmd-v15-floor-node em,
.pmd-v15-floor-node .pmd-v15-floor-node-amount,
.pmd-v15-floor-node [class*="amount"] {
  position: absolute !important;
  right: -14px !important;
  top: 8px !important;
  min-height: 24px !important;
  padding: 0 8px !important;
  border-radius: 999px !important;
  background: #0f172a !important;
  color: #fff !important;
  font-size: 10px !important;
  font-style: normal !important;
  font-weight: 950 !important;
  display: inline-flex !important;
  align-items: center !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .22) !important;
}

.pmd-v15-floor-node--free {
  border-color: #22c55e !important;
  color: #0f172a !important;
}

.pmd-v15-floor-node--free::after {
  content: "Available";
  position: absolute;
  left: 50%;
  top: calc(100% + 7px);
  transform: translateX(-50%);
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(236, 253, 245, .94);
  color: #047857;
  border: 1px solid rgba(34,197,94,.35);
  font-size: 10px;
  font-weight: 950;
  white-space: nowrap;
}

.pmd-v15-floor-node--unpaid {
  border-color: #ef4444 !important;
  color: #0f172a !important;
}

.pmd-v15-floor-node--unpaid::after {
  content: "Payment";
  position: absolute;
  left: 50%;
  top: calc(100% + 7px);
  transform: translateX(-50%);
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(254, 242, 242, .96);
  color: #b91c1c;
  border: 1px solid rgba(239,68,68,.35);
  font-size: 10px;
  font-weight: 950;
  white-space: nowrap;
}

.pmd-v15-floor-node--busy {
  border-color: #f59e0b !important;
}

.pmd-v15-floor-node--reserved {
  border-color: #3b82f6 !important;
}

.pmd-v15-floor-node--reserved::after {
  content: "Reserved";
  position: absolute;
  left: 50%;
  top: calc(100% + 7px);
  transform: translateX(-50%);
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(239, 246, 255, .96);
  color: #1d4ed8;
  border: 1px solid rgba(59,130,246,.35);
  font-size: 10px;
  font-weight: 950;
  white-space: nowrap;
}

.pmd-v15-floor-node:hover,
.pmd-v15-floor-node:focus-visible {
  transform: translateY(-4px) scale(1.045) !important;
  box-shadow:
    0 24px 54px rgba(15, 23, 42, .26),
    inset 0 0 0 1px rgba(255,255,255,.92) !important;
}

@media (max-width: 900px) {
  .pmd-v15-floor-legend {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    margin-bottom: 12px !important;
  }

  .pmd-v15-card--floor .pmd-v15-floor-canvas,
  .pmd-v15-floor-canvas {
    min-height: 520px !important;
    background-size: cover !important;
  }

  .pmd-v15-floor-node {
    width: 74px !important;
    height: 74px !important;
    min-width: 74px !important;
    min-height: 74px !important;
  }
}
/* PMD_SHARED_FLOOR_MAP_SKIN_V2_END */


/* PMD_SHARED_FLOOR_MAP_SKIN_V3_START */
/*
  Shared floor map v3:
  - removes photo background
  - keeps professional clean floor surface
  - makes table circles larger
  - keeps drawer/click JS untouched
*/
.pmd-v15-card--floor .pmd-v15-floor-canvas,
.pmd-v15-floor-canvas {
  min-height: clamp(470px, 46vw, 680px) !important;
  background-color: #fff8ec !important;
  background-image:
    radial-gradient(circle at 12% 82%, rgba(34, 197, 94, .075), transparent 22%),
    radial-gradient(circle at 86% 16%, rgba(8, 119, 98, .07), transparent 24%),
    radial-gradient(circle at 52% 48%, rgba(255, 255, 255, .78), transparent 35%),
    linear-gradient(90deg, rgba(15,23,42,.038) 1px, transparent 1px),
    linear-gradient(180deg, rgba(15,23,42,.038) 1px, transparent 1px),
    linear-gradient(180deg, #fffaf1 0%, #fff3df 100%) !important;
  background-repeat: no-repeat, no-repeat, no-repeat, repeat, repeat, no-repeat !important;
  background-position: center center !important;
  background-size: auto, auto, auto, 38px 38px, 38px 38px, auto !important;
}

.pmd-v15-floor-canvas::before {
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.65), transparent 24%),
    radial-gradient(circle at 92% 10%, rgba(8,119,98,.075), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.22)) !important;
}

.pmd-v15-floor-node {
  width: 106px !important;
  height: 106px !important;
  min-width: 106px !important;
  min-height: 106px !important;
  max-width: 112px !important;
  max-height: 112px !important;
  border-radius: 999px !important;
  border-width: 3px !important;
  padding: 10px !important;
  gap: 3px !important;
}

.pmd-v15-floor-node strong {
  font-size: 27px !important;
  line-height: .95 !important;
}

.pmd-v15-floor-node small {
  font-size: 10.5px !important;
  line-height: 1.05 !important;
}

.pmd-v15-floor-node em,
.pmd-v15-floor-node .pmd-v15-floor-node-amount,
.pmd-v15-floor-node [class*="amount"] {
  right: -12px !important;
  top: 12px !important;
  min-height: 26px !important;
  padding: 0 9px !important;
  font-size: 10.5px !important;
}

.pmd-v15-floor-node--free::after,
.pmd-v15-floor-node--unpaid::after,
.pmd-v15-floor-node--reserved::after {
  top: calc(100% + 8px) !important;
  font-size: 10.5px !important;
  padding: 5px 10px !important;
}

@media (max-width: 900px) {
  .pmd-v15-card--floor .pmd-v15-floor-canvas,
  .pmd-v15-floor-canvas {
    min-height: 540px !important;
  }

  .pmd-v15-floor-node {
    width: 92px !important;
    height: 92px !important;
    min-width: 92px !important;
    min-height: 92px !important;
  }

  .pmd-v15-floor-node strong {
    font-size: 24px !important;
  }
}
/* PMD_SHARED_FLOOR_MAP_SKIN_V3_END */


/* PMD_ROLE_DASHBOARD_DEZOOM_V1_START */
/*
  PMD role dashboard density/dezoom v1.
  CSS only. No backend, no database, no JS loop, no observer.
  Scope: only admin dashboard pages that contain the v31 role rail.
*/
body.admin:has(#pmd-v31-role-rail) {
  overflow-x: hidden !important;
}

body.admin:has(#pmd-v31-role-rail) .main-container {
  overflow-x: hidden !important;
  padding-right: 68px !important; /* reserve space for fixed role rail */
}

/* Main role dashboard shell: reduce the "zoomed-in" feeling */
body.admin:has(#pmd-v31-role-rail) .main-container [class*="pmd-v30"],
body.admin:has(#pmd-v31-role-rail) .main-container [class*="pmd-v31"],
body.admin:has(#pmd-v31-role-rail) .main-container [class*="pmd-v23"],
body.admin:has(#pmd-v31-role-rail) .main-container [class*="pmd-v21"] {
  box-sizing: border-box;
}

/* Page title area */
body.admin:has(#pmd-v31-role-rail) .main-container h1 {
  font-size: clamp(26px, 2vw, 34px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.045em !important;
  margin-bottom: 6px !important;
}

body.admin:has(#pmd-v31-role-rail) .main-container h2 {
  font-size: clamp(18px, 1.35vw, 23px) !important;
  line-height: 1.1 !important;
}

body.admin:has(#pmd-v31-role-rail) .main-container p,
body.admin:has(#pmd-v31-role-rail) .main-container small {
  line-height: 1.35 !important;
}

/* General cards inside role dashboards */
body.admin:has(#pmd-v31-role-rail) .main-container [class*="pmd-v15-card"],
body.admin:has(#pmd-v31-role-rail) .main-container [class*="pmd-v21-card"],
body.admin:has(#pmd-v31-role-rail) .main-container [class*="pmd-v23-card"],
body.admin:has(#pmd-v31-role-rail) .main-container [class*="pmd-v31-card"] {
  padding: clamp(14px, 1.15vw, 20px) !important;
  border-radius: 20px !important;
}

/* KPI cards: smaller and more dashboard-like */
body.admin:has(#pmd-v31-role-rail) .main-container [class*="kpi"],
body.admin:has(#pmd-v31-role-rail) .main-container [class*="metric"],
body.admin:has(#pmd-v31-role-rail) .main-container [class*="stat"] {
  min-height: 96px !important;
}

body.admin:has(#pmd-v31-role-rail) .main-container [class*="kpi"] strong,
body.admin:has(#pmd-v31-role-rail) .main-container [class*="metric"] strong,
body.admin:has(#pmd-v31-role-rail) .main-container [class*="stat"] strong {
  font-size: clamp(28px, 2.5vw, 42px) !important;
  line-height: .95 !important;
}

/* Grids/gaps: less huge spacing */
body.admin:has(#pmd-v31-role-rail) .main-container [class*="grid"],
body.admin:has(#pmd-v31-role-rail) .main-container [class*="cards"] {
  gap: clamp(12px, 1vw, 18px) !important;
}

/* Buttons in dashboard cards */
body.admin:has(#pmd-v31-role-rail) .main-container button,
body.admin:has(#pmd-v31-role-rail) .main-container a[class*="btn"],
body.admin:has(#pmd-v31-role-rail) .main-container .pmd-v15-card-actions a,
body.admin:has(#pmd-v31-role-rail) .main-container .pmd-v15-card-actions button {
  min-height: 38px !important;
  border-radius: 13px !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
  font-size: 12px !important;
}

/* Floor card: keep professional but not massive */
body.admin:has(#pmd-v31-role-rail) .pmd-v15-card--floor {
  padding: clamp(16px, 1.2vw, 22px) !important;
}

body.admin:has(#pmd-v31-role-rail) .pmd-v15-card--floor .pmd-v15-floor-canvas,
body.admin:has(#pmd-v31-role-rail) .pmd-v15-floor-canvas {
  min-height: clamp(390px, 38vw, 590px) !important;
}

/* Keep the enlarged table icons, but stop them feeling too oversized on laptop */
@media (max-width: 1500px) {
  body.admin:has(#pmd-v31-role-rail) .pmd-v15-floor-node {
    width: 94px !important;
    height: 94px !important;
    min-width: 94px !important;
    min-height: 94px !important;
  }

  body.admin:has(#pmd-v31-role-rail) .pmd-v15-floor-node strong {
    font-size: 24px !important;
  }
}

/* Right role rail: smaller, less intrusive */
body.admin #pmd-v31-role-rail {
  right: 10px !important;
  width: 46px !important;
  padding: 8px 5px !important;
  border-radius: 24px !important;
}

body.admin #pmd-v31-role-rail .pmd-v31-role-btn {
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  border-radius: 15px !important;
  font-size: 10.5px !important;
  line-height: 1 !important;
}

/* Floor legend: keep it inside frame and smaller */
body.admin:has(#pmd-v31-role-rail) .pmd-v15-floor-legend {
  right: 14px !important;
  top: 12px !important;
  padding: 10px 12px !important;
  gap: 7px 11px !important;
  font-size: 11px !important;
  max-width: min(420px, calc(100% - 28px)) !important;
}

/* Drawer should not look huge after density fix */
body.admin:has(#pmd-v31-role-rail) .pmd-shared-floor-drawer {
  width: min(390px, calc(100vw - 28px)) !important;
  right: 18px !important;
  bottom: 18px !important;
}

body.admin:has(#pmd-v31-role-rail) .pmd-shared-floor-drawer__title {
  font-size: 17px !important;
}

body.admin:has(#pmd-v31-role-rail) .pmd-shared-floor-kv article {
  min-height: 64px !important;
  padding: 10px !important;
}

/* Laptop/tablet safety */
@media (max-width: 1280px) {
  body.admin:has(#pmd-v31-role-rail) .main-container {
    padding-right: 58px !important;
  }

  body.admin:has(#pmd-v31-role-rail) .main-container h1 {
    font-size: 26px !important;
  }

  body.admin:has(#pmd-v31-role-rail) .pmd-v15-floor-legend {
    position: relative !important;
    right: auto !important;
    top: auto !important;
    margin: 0 0 12px 0 !important;
  }

  body.admin #pmd-v31-role-rail {
    right: 6px !important;
  }
}
/* PMD_ROLE_DASHBOARD_DEZOOM_V1_END */


/* PMD_SHARED_ROLE_FLOOR_V32_START */
/* Fit / anti-overflow for all role dashboards */
html,
body.pmd-all-roles-clean-v31,
body.pmd-owner-dashboard-clean-v1-active {
  overflow-x: hidden !important;
}

body.pmd-all-roles-clean-v31 *,
body.pmd-owner-dashboard-clean-v1-active * {
  box-sizing: border-box;
}

body.pmd-all-roles-clean-v31 #pmd-owner-dashboard-clean-v1-root,
body.pmd-owner-dashboard-clean-v1-active #pmd-owner-dashboard-clean-v1-root {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: clip !important;
}

body.pmd-all-roles-clean-v31 .pmd-v15-card,
body.pmd-all-roles-clean-v31 .pmd-v15-card-body,
body.pmd-all-roles-clean-v31 .pmd-v31-clean-main,
body.pmd-all-roles-clean-v31 .page-content,
body.pmd-all-roles-clean-v31 .page-wrapper {
  min-width: 0 !important;
  max-width: 100% !important;
}

body.pmd-all-roles-clean-v31 .pmd-v15-grid,
body.pmd-all-roles-clean-v31 .pmd-v31-grid,
body.pmd-all-roles-clean-v31 [class*="grid"] {
  min-width: 0 !important;
}

.pmd-shared-role-floor-v32-card {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  transition: min-height .35s ease, height .35s ease, transform .35s ease;
}

.pmd-shared-role-floor-v32 {
  width: 100%;
  max-width: 100%;
  margin-top: 14px;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 22px;
  padding: 16px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 20px 60px rgba(15,23,42,.08);
  transition: padding .35s ease, box-shadow .35s ease;
}

.pmd-shared-role-floor-v32__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.pmd-shared-role-floor-v32__title strong {
  display: block;
  font-size: 17px;
  font-weight: 950;
  color: #0f172a;
}

.pmd-shared-role-floor-v32__title small {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: #64748b;
  font-weight: 800;
}

.pmd-shared-role-floor-v32__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.pmd-shared-role-floor-v32__actions button,
.pmd-shared-role-floor-v32__actions a {
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.10);
  background: #fff;
  color: #0f172a;
  font-size: 13px;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}

.pmd-shared-role-floor-v32__actions .pmd-v32-primary {
  background: #087762;
  border-color: #087762;
  color: #fff;
}

.pmd-shared-role-floor-v32__actions .pmd-v32-dark {
  background: #111827;
  border-color: #111827;
  color: #fff;
}

.pmd-shared-role-floor-v32__status {
  margin: 0 0 10px;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.pmd-shared-role-floor-v32__surface {
  position: relative;
  width: 100%;
  max-width: 100%;
  height: 390px;
  min-height: 340px;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 18px;
  background:
    linear-gradient(rgba(15,23,42,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,23,42,.045) 1px, transparent 1px),
    radial-gradient(circle at 84% 10%, rgba(8,119,98,.10), transparent 32%),
    linear-gradient(135deg, #fffaf0, #f8fafc 58%, #eefaf4);
  background-size: 28px 28px, 28px 28px, auto, auto;
  transition: height .42s cubic-bezier(.2,.9,.2,1), min-height .42s cubic-bezier(.2,.9,.2,1), box-shadow .35s ease;
}

.pmd-shared-role-floor-v32.is-expanded .pmd-shared-role-floor-v32__surface,
.pmd-shared-role-floor-v32.is-big .pmd-shared-role-floor-v32__surface {
  height: min(720px, 72vh);
  min-height: 540px;
  box-shadow: inset 0 0 0 1px rgba(8,119,98,.06);
}

.pmd-shared-role-floor-v32__table {
  position: absolute;
  border-radius: 18px;
  background: #fff;
  color: #0f172a;
  border: 3px solid #22c55e;
  box-shadow: 0 14px 34px rgba(15,23,42,.13);
  display: grid;
  place-items: center;
  text-align: center;
  user-select: none;
  touch-action: none;
  transform: none !important;
  box-sizing: border-box;
  cursor: pointer;
  transition: box-shadow .2s ease, transform .2s ease;
}

.pmd-shared-role-floor-v32__table strong {
  display: block;
  font-size: 23px;
  line-height: 1;
}

.pmd-shared-role-floor-v32__table small {
  display: block;
  margin-top: 4px;
  font-size: 10px;
  letter-spacing: .08em;
  font-weight: 950;
  color: #087762;
}

.pmd-shared-role-floor-v32__table.is-active {
  border-color: #ef4444;
}

.pmd-shared-role-floor-v32__table.is-active small {
  color: #ef4444;
}

body.pmd-shared-role-floor-v32-editing .pmd-shared-role-floor-v32__table {
  cursor: grab;
}

body.pmd-shared-role-floor-v32-editing .pmd-shared-role-floor-v32__table.is-dragging {
  cursor: grabbing;
  z-index: 60;
  box-shadow: 0 24px 60px rgba(15,23,42,.26);
}

.pmd-shared-role-floor-v32__expand {
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 90;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  background: rgba(8,119,98,.95);
  color: #fff;
  font-size: 18px;
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 16px 34px rgba(8,119,98,.28);
  display: grid;
  place-items: center;
}

.pmd-shared-role-floor-v32__expand:hover {
  transform: translateY(-1px);
}

.pmd-shared-role-floor-v32.is-big .pmd-shared-role-floor-v32__expand {
  display: none !important;
}

.pmd-shared-role-floor-v32__drawer {
  position: fixed;
  right: 72px;
  top: 170px;
  width: min(340px, calc(100vw - 100px));
  z-index: 1000200;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(15,23,42,.24);
  border: 1px solid rgba(15,23,42,.10);
  padding: 18px;
}

.pmd-shared-role-floor-v32__drawer[hidden] {
  display: none !important;
}

.pmd-shared-role-floor-v32__drawer button {
  float: right;
  border: 0;
  background: #f1f5f9;
  border-radius: 999px;
  width: 30px;
  height: 30px;
  cursor: pointer;
}

.pmd-shared-role-floor-v32__drawer h3 {
  margin: 0 0 10px;
  font-size: 20px;
}

.pmd-shared-role-floor-v32__drawer p {
  margin: 7px 0;
  color: #475569;
  font-weight: 750;
}

.pmd-shared-role-floor-v32__drawer .pmd-v32-drawer-actions {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.pmd-shared-role-floor-v32__drawer a {
  min-height: 38px;
  border-radius: 12px;
  background: #f8fafc;
  color: #0f172a;
  display: flex;
  align-items: center;
  padding: 0 12px;
  font-weight: 900;
  text-decoration: none;
}

.pmd-shared-role-floor-v32-toast {
  position: fixed;
  right: 22px;
  bottom: 128px;
  z-index: 1000300;
  max-width: 460px;
  padding: 13px 15px;
  border-radius: 16px;
  background: rgba(15,23,42,.96);
  color: #fff;
  box-shadow: 0 24px 70px rgba(15,23,42,.34);
  display: none;
  font-size: 12px;
  font-weight: 900;
  white-space: pre-wrap;
}

.pmd-shared-role-floor-v32-toast.is-visible {
  display: block;
}

@media (max-width: 1100px) {
  .pmd-shared-role-floor-v32__surface {
    height: 360px;
    min-height: 320px;
  }

  .pmd-shared-role-floor-v32.is-expanded .pmd-shared-role-floor-v32__surface,
  .pmd-shared-role-floor-v32.is-big .pmd-shared-role-floor-v32__surface {
    height: 560px;
    min-height: 460px;
  }
}
/* PMD_SHARED_ROLE_FLOOR_V32_END */


/* PMD_FLOOR_V33_OWNER_EXPAND_FIT_POLISH_START */

/* Final dashboard safe width: stop right-side clipping under the role rail */
:root {
  --pmd-v33-dashboard-safe-width: 100%;
}

html,
body {
  overflow-x: hidden !important;
}

body.pmd-all-roles-clean-v31 #pmd-owner-dashboard-clean-v1-root,
body.pmd-owner-dashboard-clean-v1-active #pmd-owner-dashboard-clean-v1-root {
  width: var(--pmd-v33-dashboard-safe-width) !important;
  max-width: var(--pmd-v33-dashboard-safe-width) !important;
  min-width: 0 !important;
  overflow-x: clip !important;
}

body.pmd-all-roles-clean-v31 .pmd-v15-card,
body.pmd-all-roles-clean-v31 .pmd-v15-card-body,
body.pmd-all-roles-clean-v31 .pmd-v31-clean-main,
body.pmd-all-roles-clean-v31 .page-content,
body.pmd-all-roles-clean-v31 .page-wrapper {
  min-width: 0 !important;
  max-width: 100% !important;
}

body.pmd-all-roles-clean-v31 .pmd-v15-kpi-grid,
body.pmd-all-roles-clean-v31 .pmd-v31-kpi-grid,
body.pmd-all-roles-clean-v31 [class*="kpi"],
body.pmd-all-roles-clean-v31 [class*="grid"] {
  max-width: 100% !important;
  min-width: 0 !important;
}

/* Owner default = small */
.pmd-shared-role-floor-v32:not(.is-big):not(.is-expanded) .pmd-shared-role-floor-v32__surface {
  height: 390px !important;
  min-height: 390px !important;
  max-height: 390px !important;
}

/* Owner expanded = big, smooth push-down */
.pmd-shared-role-floor-v32.is-expanded:not(.is-big) .pmd-shared-role-floor-v32__surface {
  height: min(720px, 72vh) !important;
  min-height: 540px !important;
  max-height: 760px !important;
}

/* Waiter / Reception / Manager / Cashier always big */
.pmd-shared-role-floor-v32.is-big .pmd-shared-role-floor-v32__surface {
  height: min(720px, 72vh) !important;
  min-height: 540px !important;
  max-height: 760px !important;
}

.pmd-shared-role-floor-v32,
.pmd-shared-role-floor-v32-card,
.pmd-shared-role-floor-v32__surface {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

.pmd-shared-role-floor-v32-card,
.pmd-v15-card,
.pmd-v15-card-body {
  transition:
    height .42s cubic-bezier(.2,.9,.2,1),
    min-height .42s cubic-bezier(.2,.9,.2,1),
    margin .35s ease,
    transform .35s ease !important;
}

/* Put expand button exactly bottom-right of visible floor */
.pmd-shared-role-floor-v32__surface {
  position: relative !important;
  overflow: hidden !important;
}

.pmd-shared-role-floor-v32__expand {
  position: absolute !important;
  left: auto !important;
  top: auto !important;
  right: 16px !important;
  bottom: 16px !important;
  transform: none !important;
  z-index: 120 !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
}

/* Keep buttons from disappearing behind right role rail */
.pmd-shared-role-floor-v32__head {
  max-width: 100% !important;
  overflow: visible !important;
}

.pmd-shared-role-floor-v32__actions {
  max-width: 100% !important;
  justify-content: flex-end !important;
}

@media (max-width: 1250px) {
  .pmd-shared-role-floor-v32__head {
    align-items: stretch !important;
  }

  .pmd-shared-role-floor-v32__actions {
    width: 100% !important;
    justify-content: flex-start !important;
  }
}

/* PMD_FLOOR_V33_OWNER_EXPAND_FIT_POLISH_END */
/* PMD_FLOOR_CLEAN_CARD_V35_START */

/* Floor host should not look like card-inside-card */
.pmd-v35-floor-host-card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow: visible !important;
}

.pmd-v35-floor-host-card > header,
.pmd-v35-floor-host-card > .pmd-v15-card-head,
.pmd-v35-floor-host-card > .card-header {
  display: none !important;
}

.pmd-v35-floor-host-card > .pmd-v15-card-body,
.pmd-v35-floor-host-card > .card-body {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

/* Remove duplicated old outer actions like Refresh / New Order only around floor */
.pmd-v35-floor-host-card .pmd-v15-card-head,
.pmd-v35-floor-host-card .pmd-v15-card-actions,
.pmd-v35-floor-host-card [class*="card-actions"] {
  display: none !important;
}

/* Make the new floor card cleaner and less crowded */
.pmd-shared-role-floor-v32 {
  padding: 14px !important;
}

.pmd-shared-role-floor-v32__head {
  margin-bottom: 8px !important;
  align-items: center !important;
}

.pmd-shared-role-floor-v32__title strong {
  font-size: 17px !important;
  line-height: 1.1 !important;
}

.pmd-shared-role-floor-v32__title small,
.pmd-shared-role-floor-v32__status {
  display: none !important;
}

.pmd-shared-role-floor-v32__actions {
  gap: 8px !important;
}

.pmd-shared-role-floor-v32__actions button,
.pmd-shared-role-floor-v32__actions a {
  min-height: 36px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
}

/* Table icon: number only, cleaner */
.pmd-shared-role-floor-v32__table strong {
  font-size: 18px !important;
  line-height: 1 !important;
}

.pmd-shared-role-floor-v32__table small {
  font-size: 8px !important;
  margin-top: 3px !important;
}

.pmd-shared-role-floor-v32__table.pmd-v34-mini-node strong {
  font-size: 13px !important;
}

.pmd-shared-role-floor-v32__table.pmd-v34-mini-node small {
  font-size: 7px !important;
}

/* Owner mini: even more compact */
.pmd-shared-role-floor-v32.is-owner:not(.is-big):not(.is-expanded) {
  max-width: 660px !important;
}

.pmd-shared-role-floor-v32.is-owner:not(.is-big):not(.is-expanded) .pmd-shared-role-floor-v32__surface {
  height: 220px !important;
  min-height: 220px !important;
  max-height: 220px !important;
}

/* PMD_FLOOR_CLEAN_CARD_V35_END */


/* PMD_DASHBOARD_CARD_GRID_RULES_V36_START */

:root {
  --pmd-v36-card-min: 270px;
  --pmd-v36-card-gap: 18px;
}

/* global safe fit */
html,
body {
  overflow-x: hidden !important;
}

body.pmd-all-roles-clean-v31 *,
body.pmd-owner-dashboard-clean-v1-active * {
  box-sizing: border-box;
}

body.pmd-all-roles-clean-v31 .page-content,
body.pmd-all-roles-clean-v31 .page-wrapper,
body.pmd-all-roles-clean-v31 .pmd-v31-clean-main,
body.pmd-owner-dashboard-clean-v1-active .page-content,
body.pmd-owner-dashboard-clean-v1-active .page-wrapper,
body.pmd-owner-dashboard-clean-v1-active .pmd-v31-clean-main {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: clip !important;
}

body.pmd-all-roles-clean-v31 #pmd-owner-dashboard-clean-v1-root,
body.pmd-owner-dashboard-clean-v1-active #pmd-owner-dashboard-clean-v1-root {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: clip !important;
}

/* KPI cards: always same rule */
.pmd-v36-kpi-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(var(--pmd-v36-card-min), 1fr)) !important;
  gap: var(--pmd-v36-card-gap) !important;
  align-items: stretch !important;
}

.pmd-v36-kpi-grid > .pmd-v15-kpi {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

/* Normal dashboard cards: same card unit as KPI */
.pmd-v36-card-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(var(--pmd-v36-card-min), 1fr)) !important;
  gap: var(--pmd-v36-card-gap) !important;
  align-items: stretch !important;
}

.pmd-v36-card-grid > .pmd-v15-card,
.pmd-v36-card-grid > .pmd-shared-role-floor-v32-card,
.pmd-v36-card-grid > [data-pmd-v36-card] {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  grid-column: span 1 !important;
}

.pmd-v36-card-grid > .pmd-v36-span-2 {
  grid-column: span 2 !important;
}

.pmd-v36-card-grid > .pmd-v36-span-3 {
  grid-column: span 3 !important;
}

.pmd-v36-card-grid > .pmd-v36-span-4 {
  grid-column: 1 / -1 !important;
}

/* cards should not create random inner overflow */
.pmd-v36-card-grid .pmd-v15-card,
.pmd-v36-card-grid .pmd-v15-card-body,
.pmd-v36-card-grid .pmd-shared-role-floor-v32,
.pmd-v36-card-grid .pmd-shared-role-floor-v32__surface {
  max-width: 100% !important;
  min-width: 0 !important;
}

/* Owner compact floor should behave like exactly two KPI cards */
.pmd-v36-card-grid > .pmd-shared-role-floor-v32-card,
.pmd-v36-card-grid > .pmd-v36-floor-card {
  grid-column: span 2 !important;
}

.pmd-shared-role-floor-v32.is-owner:not(.is-big):not(.is-expanded) {
  width: 100% !important;
  max-width: 100% !important;
}

/* uniform card spacing */
.pmd-v15-card,
.pmd-shared-role-floor-v32,
.pmd-v15-kpi {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* responsive rules */
@media (max-width: 1320px) {
  :root {
    --pmd-v36-card-min: 245px;
    --pmd-v36-card-gap: 16px;
  }

  .pmd-v36-kpi-grid,
  .pmd-v36-card-grid {
    grid-template-columns: repeat(2, minmax(var(--pmd-v36-card-min), 1fr)) !important;
  }

  .pmd-v36-card-grid > .pmd-v36-span-2,
  .pmd-v36-card-grid > .pmd-v36-span-3,
  .pmd-v36-card-grid > .pmd-v36-span-4,
  .pmd-v36-card-grid > .pmd-shared-role-floor-v32-card,
  .pmd-v36-card-grid > .pmd-v36-floor-card {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 760px) {
  :root {
    --pmd-v36-card-min: 0px;
    --pmd-v36-card-gap: 14px;
  }

  .pmd-v36-kpi-grid,
  .pmd-v36-card-grid {
    grid-template-columns: 1fr !important;
  }

  .pmd-v36-card-grid > * {
    grid-column: 1 / -1 !important;
  }
}

/* PMD_DASHBOARD_CARD_GRID_RULES_V36_END */


/* PMD_OWNER_FLOOR_FULLWIDTH_SHORT_V37_START */

/*
  Owner dashboard:
  compact floor = full width, short height.
  Expanded floor = real big floor.
*/

.pmd-v36-card-grid > .pmd-v37-owner-floor-card,
.pmd-v37-owner-floor-card {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* remove the old compact max-width from v34 only for owner floor */
.pmd-v37-owner-floor-card .pmd-shared-role-floor-v32.is-owner:not(.is-expanded):not(.is-big) {
  width: 100% !important;
  max-width: 100% !important;
}

/* compact owner surface: full width but short */
.pmd-v37-owner-floor-card .pmd-shared-role-floor-v32.is-owner:not(.is-expanded):not(.is-big) .pmd-shared-role-floor-v32__surface {
  height: 220px !important;
  min-height: 220px !important;
  max-height: 220px !important;
  overflow: hidden !important;
  transition:
    height .34s ease,
    min-height .34s ease,
    max-height .34s ease,
    box-shadow .28s ease,
    transform .28s ease !important;
}

/* compact owner nodes: keep it overview-like */
.pmd-v37-owner-floor-card .pmd-shared-role-floor-v32.is-owner:not(.is-expanded):not(.is-big) .pmd-shared-role-floor-v32__node {
  transform: scale(.82) !important;
  transform-origin: center center !important;
}

/* expanded owner = real big floor */
.pmd-v37-owner-floor-card .pmd-shared-role-floor-v32.is-owner.is-expanded .pmd-shared-role-floor-v32__surface,
.pmd-v37-owner-floor-card .pmd-shared-role-floor-v32.is-owner.is-big .pmd-shared-role-floor-v32__surface {
  height: min(72vh, 680px) !important;
  min-height: 560px !important;
  max-height: 680px !important;
  overflow: hidden !important;
}

/* expanded nodes back to real size */
.pmd-v37-owner-floor-card .pmd-shared-role-floor-v32.is-owner.is-expanded .pmd-shared-role-floor-v32__node,
.pmd-v37-owner-floor-card .pmd-shared-role-floor-v32.is-owner.is-big .pmd-shared-role-floor-v32__node {
  transform: none !important;
}

/* make expand icon clean bottom-right */
.pmd-v37-owner-floor-card .pmd-shared-role-floor-v32__expand,
.pmd-v37-owner-floor-card [data-pmd-v32-floor-expand],
.pmd-v37-owner-floor-card [data-pmd-floor-expand] {
  position: absolute !important;
  right: 14px !important;
  bottom: 14px !important;
  z-index: 20 !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  border-radius: 999px !important;
}

/* compact card should not create too much empty vertical space */
.pmd-v37-owner-floor-card .pmd-shared-role-floor-v32.is-owner:not(.is-expanded):not(.is-big) {
  padding-bottom: 14px !important;
}

@media (max-width: 900px) {
  .pmd-v37-owner-floor-card .pmd-shared-role-floor-v32.is-owner:not(.is-expanded):not(.is-big) .pmd-shared-role-floor-v32__surface {
    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;
  }
}

/* PMD_OWNER_FLOOR_FULLWIDTH_SHORT_V37_END */


/* PMD_OWNER_FLOOR_V60_VISIBLE_PLACEMENT_START */

/*
  V60:
  - isolated owner floor
  - fixes V59 invisible placement
  - inserts new floor outside old hidden container
  - collapses old blank floor container
*/

.pmd-shared-role-floor-v32.is-owner,
.pmd-shared-role-floor-v32.is-owner.pmd-v60-old-floor-hidden {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.pmd-v60-old-container-hidden {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.pmd-owner-floor-v60 {
  display: block !important;
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 0 18px 0 !important;
  padding: 14px 14px 15px !important;
  border: 1px solid rgba(148, 163, 184, .22) !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .08) !important;
  color: #071225 !important;
  overflow: hidden !important;
  opacity: 1 !important;
  visibility: visible !important;
  min-height: 186px !important;
  z-index: 3 !important;
}

.pmd-owner-floor-v60__head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 0 10px !important;
}

.pmd-owner-floor-v60__title {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  min-width: 0 !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  letter-spacing: -.02em !important;
  color: #071225 !important;
}

.pmd-owner-floor-v60__actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.pmd-owner-floor-v60__btn {
  appearance: none !important;
  border: 0 !important;
  border-radius: 999px !important;
  min-height: 38px !important;
  padding: 0 14px !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  cursor: pointer !important;
  background: #f1f5f9 !important;
  color: #0f172a !important;
  box-shadow: inset 0 0 0 1px rgba(15,23,42,.08) !important;
}

.pmd-owner-floor-v60__btn-primary {
  background: #0f172a !important;
  color: #fff !important;
}

.pmd-owner-floor-v60__btn-danger {
  background: #fee2e2 !important;
  color: #991b1b !important;
}

.pmd-owner-floor-v60__surface {
  position: relative !important;
  width: 100% !important;
  border-radius: 20px !important;
  border: 1px solid rgba(148, 163, 184, .24) !important;
  background:
    radial-gradient(circle at 1px 1px, rgba(15,23,42,.10) 1px, transparent 0) 0 0/24px 24px,
    linear-gradient(180deg, #f8fafc, #eef2f7) !important;
  overflow: auto !important;
  transition: height .14s ease, min-height .14s ease, max-height .14s ease !important;
}

.pmd-owner-floor-v60.is-compact .pmd-owner-floor-v60__surface,
.pmd-owner-floor-v60.is-loading .pmd-owner-floor-v60__surface {
  height: 108px !important;
  min-height: 108px !important;
  max-height: 108px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

.pmd-owner-floor-v60.is-expanded .pmd-owner-floor-v60__surface {
  height: min(72vh, 680px) !important;
  min-height: 560px !important;
  max-height: 680px !important;
  overflow: auto !important;
}

.pmd-owner-floor-v60__table {
  position: absolute !important;
  display: grid !important;
  place-items: center !important;
  box-sizing: border-box !important;
  border-radius: 999px !important;
  border: 3px solid #22c55e !important;
  background: #fff !important;
  color: #071225 !important;
  box-shadow: 0 12px 28px rgba(15,23,42,.14) !important;
  cursor: pointer !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  touch-action: none !important;
  z-index: 5 !important;
}

.pmd-owner-floor-v60.is-compact .pmd-owner-floor-v60__table {
  width: 68px !important;
  height: 46px !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  font-size: 21px !important;
  font-weight: 950 !important;
}

.pmd-owner-floor-v60.is-expanded .pmd-owner-floor-v60__table {
  width: 78px !important;
  height: 54px !important;
  transform: none !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  grid-template-rows: 1fr auto !important;
  padding: 6px 8px !important;
}

.pmd-owner-floor-v60__table small {
  display: block !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  color: #64748b !important;
}

.pmd-owner-floor-v60.is-editing .pmd-owner-floor-v60__table {
  cursor: grab !important;
}

.pmd-owner-floor-v60__table.is-dragging {
  cursor: grabbing !important;
  z-index: 999 !important;
  box-shadow: 0 22px 56px rgba(15,23,42,.28) !important;
}

.pmd-owner-floor-v60__status {
  margin-top: 8px !important;
  font-size: 12px !important;
  color: #64748b !important;
  min-height: 16px !important;
}

.pmd-owner-floor-v60__skeleton {
  position: absolute !important;
  left: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #64748b !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}

/* PMD_OWNER_FLOOR_V60_VISIBLE_PLACEMENT_END */


/* PMD_OWNER_FLOOR_V62_AFTER_KPI_PLACEMENT_START */

/*
  V62:
  - placement-only fix
  - moves V60 isolated floor directly after KPI row
  - removes the big blank gap above AI Alerts
*/

.pmd-owner-floor-v60.pmd-v62-after-kpi {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  grid-column: 1 / -1 !important;
  margin: 18px 0 18px 0 !important;
  z-index: 20 !important;
}

.pmd-v62-old-floor-container-hidden {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* PMD_OWNER_FLOOR_V62_AFTER_KPI_PLACEMENT_END */


/* PMD_OWNER_DASHBOARD_V69_NO_LOADER_GEOMETRY_FIRST_START */

html.pmd-owner-v69-no-loader .content,
html.pmd-owner-v69-no-loader .main-container,
html.pmd-owner-v69-no-loader .page-content,
html.pmd-owner-v69-no-loader [class*="pmd-v15"],
html.pmd-owner-v69-no-loader [class*="pmd-v19"],
html.pmd-owner-v69-no-loader [class*="pmd-v21"],
html.pmd-owner-v69-no-loader [class*="pmd-v36"],
html.pmd-owner-v69-no-loader .pmd-owner-floor-v60 {
  transition: none !important;
  animation: none !important;
  scroll-behavior: auto !important;
}

html.pmd-owner-v69-no-loader .pmd-v15-kpi-grid,
html.pmd-owner-v69-no-loader .pmd-v19-kpi-grid,
html.pmd-owner-v69-no-loader .pmd-v21-kpi-grid,
html.pmd-owner-v69-no-loader .pmd-v36-kpi-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 118px !important;
}

html.pmd-owner-v69-no-loader .pmd-v19-reference-grid,
html.pmd-owner-v69-no-loader .pmd-v21-reference-grid,
html.pmd-owner-v69-no-loader .pmd-v36-card-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
}

html.pmd-owner-v69-no-loader .pmd-owner-floor-v60,
html.pmd-owner-v69-no-loader .pmd-owner-floor-v60.pmd-v62-after-kpi {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 213px !important;
}

html.pmd-owner-v69-no-loader .pmd-v15-card--alerts,
html.pmd-owner-v69-no-loader .pmd-v15-card--timeline,
html.pmd-owner-v69-no-loader .pmd-v19-area-alerts,
html.pmd-owner-v69-no-loader .pmd-v19-area-timeline,
html.pmd-owner-v69-no-loader .pmd-v36-span-2 {
  grid-column: span 2 !important;
  min-height: 396px !important;
}

/* PMD_OWNER_DASHBOARD_V69_NO_LOADER_GEOMETRY_FIRST_END */


/* PMD_OWNER_DASHBOARD_V71_MOVE_CARDS_AFTER_FLOOR_START */

/*
  V71:
  Real fix for the huge gap:
  Move Live Timeline + AI Alerts into a dedicated row immediately after Restaurant Floor.
  No loader. No hiding. No delayed reveal.
*/

html.pmd-owner-v69-no-loader .pmd-v71-after-floor-row {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 18px 0 0 0 !important;
  padding: 0 !important;
  order: 80 !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

html.pmd-owner-v69-no-loader .pmd-v71-after-floor-row > .pmd-v71-timeline-card,
html.pmd-owner-v69-no-loader .pmd-v71-after-floor-row > .pmd-v71-ai-card {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 396px !important;
  height: 396px !important;
  max-height: 396px !important;
  margin: 0 !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
  align-self: stretch !important;
}

html.pmd-owner-v69-no-loader .pmd-v71-after-floor-row > .pmd-v71-timeline-card {
  grid-column: 1 / 2 !important;
  order: 1 !important;
}

html.pmd-owner-v69-no-loader .pmd-v71-after-floor-row > .pmd-v71-ai-card {
  grid-column: 2 / 3 !important;
  order: 2 !important;
}

.pmd-v71-empty-old-parent {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

@media (max-width: 1180px) {
  html.pmd-owner-v69-no-loader .pmd-v71-after-floor-row {
    grid-template-columns: 1fr !important;
  }

  html.pmd-owner-v69-no-loader .pmd-v71-after-floor-row > .pmd-v71-timeline-card,
  html.pmd-owner-v69-no-loader .pmd-v71-after-floor-row > .pmd-v71-ai-card {
    grid-column: 1 / -1 !important;
    height: auto !important;
    max-height: none !important;
  }
}

/* PMD_OWNER_DASHBOARD_V71_MOVE_CARDS_AFTER_FLOOR_END */


/* PMD_OWNER_DASHBOARD_V73_FINAL_EQUAL_SPACING_START */

/*
  V73 final:
  - removes bad V72 behavior
  - keeps V69 no-loader + V71 Timeline/AI after floor
  - forces equal 18px spacing and stable card order:
    Floor -> Timeline/AI -> Revenue/Payment/Average/Lost -> Remaining cards
*/

html.pmd-owner-v69-no-loader #pmd-v73-top-analytics-row {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 18px 0 0 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
  grid-auto-flow: row !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

html.pmd-owner-v69-no-loader #pmd-v73-top-analytics-row > .pmd-v73-top-card {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  align-self: stretch !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

html.pmd-owner-v69-no-loader .pmd-v73-remaining-analytics-grid {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 18px 0 0 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

html.pmd-owner-v69-no-loader .pmd-v73-card-1 { grid-column: 1 / 2 !important; order: 1 !important; }
html.pmd-owner-v69-no-loader .pmd-v73-card-2 { grid-column: 2 / 3 !important; order: 2 !important; }
html.pmd-owner-v69-no-loader .pmd-v73-card-3 { grid-column: 3 / 4 !important; order: 3 !important; }
html.pmd-owner-v69-no-loader .pmd-v73-card-4 { grid-column: 4 / 5 !important; order: 4 !important; }

@media (max-width: 1180px) {
  html.pmd-owner-v69-no-loader #pmd-v73-top-analytics-row,
  html.pmd-owner-v69-no-loader .pmd-v73-remaining-analytics-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html.pmd-owner-v69-no-loader .pmd-v73-card-1,
  html.pmd-owner-v69-no-loader .pmd-v73-card-2,
  html.pmd-owner-v69-no-loader .pmd-v73-card-3,
  html.pmd-owner-v69-no-loader .pmd-v73-card-4 {
    grid-column: auto !important;
  }
}

@media (max-width: 720px) {
  html.pmd-owner-v69-no-loader #pmd-v73-top-analytics-row,
  html.pmd-owner-v69-no-loader .pmd-v73-remaining-analytics-grid {
    grid-template-columns: 1fr !important;
  }
}

/* PMD_OWNER_DASHBOARD_V73_FINAL_EQUAL_SPACING_END */


/* PMD_OWNER_DASHBOARD_V74_LOWER_ROW_FINAL_START */

/*
  V74 final lower row:
  - hides Upcoming Reservations
  - forces Top Servers / Kitchen / Top Selling / Quick Actions into one row
  - keeps exact 18px gaps
*/

html.pmd-owner-v69-no-loader #pmd-v74-lower-equal-row {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 18px 0 0 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
  grid-auto-flow: row !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

html.pmd-owner-v69-no-loader #pmd-v74-lower-equal-row > .pmd-v74-lower-card {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  align-self: stretch !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

html.pmd-owner-v69-no-loader .pmd-v74-lower-card-1 { grid-column: 1 / 2 !important; order: 1 !important; }
html.pmd-owner-v69-no-loader .pmd-v74-lower-card-2 { grid-column: 2 / 3 !important; order: 2 !important; }
html.pmd-owner-v69-no-loader .pmd-v74-lower-card-3 { grid-column: 3 / 4 !important; order: 3 !important; }
html.pmd-owner-v69-no-loader .pmd-v74-lower-card-4 { grid-column: 4 / 5 !important; order: 4 !important; }

html.pmd-owner-v69-no-loader .pmd-v74-hidden-upcoming,
html.pmd-owner-v69-no-loader [data-pmd-v74-hidden-upcoming="true"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

html.pmd-owner-v69-no-loader .pmd-v74-empty-parent {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

@media (max-width: 1180px) {
  html.pmd-owner-v69-no-loader #pmd-v74-lower-equal-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html.pmd-owner-v69-no-loader .pmd-v74-lower-card-1,
  html.pmd-owner-v69-no-loader .pmd-v74-lower-card-2,
  html.pmd-owner-v69-no-loader .pmd-v74-lower-card-3,
  html.pmd-owner-v69-no-loader .pmd-v74-lower-card-4 {
    grid-column: auto !important;
  }
}

@media (max-width: 720px) {
  html.pmd-owner-v69-no-loader #pmd-v74-lower-equal-row {
    grid-template-columns: 1fr !important;
  }
}

/* PMD_OWNER_DASHBOARD_V74_LOWER_ROW_FINAL_END */


/* PMD_ROLE_DASHBOARD_V76_OWNER_FLOOR_ALL_NONKDS_START */

/*
  V76:
  - removes bad V75 margin calculator
  - keeps KDS untouched
  - uses the compact Owner floor style for Manager / Cashier / Counter / Waiter
  - hides broken legacy floor cards in those roles
*/

html #pmd-v76-role-floor {
  grid-column: 1 / -1 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 18px 0 0 0 !important;
  padding: 0 !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
  overflow: visible !important;
}

html #pmd-v76-role-floor.pmd-owner-floor-v60 {
  min-height: 213px !important;
}

html .pmd-v76-hidden-old-floor,
html [data-pmd-v76-hidden-old-floor="true"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

html .pmd-v76-hidden-old-floor-parent,
html [data-pmd-v76-hidden-old-floor-parent="true"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* PMD_ROLE_DASHBOARD_V76_OWNER_FLOOR_ALL_NONKDS_END */


/* PMD_ROLE_DASHBOARD_V77_CARD_PACKER_START */

/*
  V77:
  - after V76 compact floor, pack role cards left-to-right / top-to-bottom
  - removes empty visual holes
  - skips Owner and KDS
  - keeps 18px grid rhythm
*/

html .pmd-v77-pack-container {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

html .pmd-v77-pack-row {
  display: grid !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 18px 0 0 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
  grid-auto-flow: row !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

html .pmd-v77-packed-card {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  align-self: stretch !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

html .pmd-v77-hidden-empty-card,
html [data-pmd-v77-hidden-empty-card="true"],
html .pmd-v77-empty-wrapper,
html [data-pmd-v77-empty-wrapper="true"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* PMD_ROLE_DASHBOARD_V77_CARD_PACKER_END */


/* PMD_ROLE_DASHBOARD_V80_V32_OWNER_SKIN_START */

/*
  V80:
  - keep working v32 shared floor controls
  - keep V76 placement and V77 card packing
  - make non-KDS role floor visually compact like Owner floor
  - add missing expand/collapse toggle
  - KDS untouched
*/

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor {
  grid-column: 1 / -1 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 18px 0 0 0 !important;
  padding: 0 !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
  overflow: hidden !important;
}

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor:not(.pmd-v80-expanded):not(.pmd-v80-editing) {
  height: 213px !important;
  min-height: 213px !important;
  max-height: 213px !important;
}

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor.pmd-v80-expanded,
html #pmd-v76-role-floor.pmd-v80-owner-skin-floor.pmd-v80-editing {
  height: auto !important;
  min-height: 620px !important;
  max-height: none !important;
  overflow: visible !important;
}

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor .pmd-shared-role-floor-v32 {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor .pmd-shared-role-floor-v32__head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
}

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor .pmd-shared-role-floor-v32__title {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
  margin: 0 !important;
}

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor .pmd-shared-role-floor-v32__title strong {
  font-size: 16px !important;
  font-weight: 760 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor .pmd-shared-role-floor-v32__title span,
html #pmd-v76-role-floor.pmd-v80-owner-skin-floor .pmd-shared-role-floor-v32__title small {
  display: none !important;
}

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor .pmd-shared-role-floor-v32__actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-wrap: nowrap !important;
}

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor .pmd-shared-role-floor-v32__actions button,
html #pmd-v76-role-floor.pmd-v80-owner-skin-floor .pmd-shared-role-floor-v32__actions a,
html #pmd-v76-role-floor.pmd-v80-owner-skin-floor .pmd-v80-floor-toggle {
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor .pmd-v80-extra-floor-action {
  display: none !important;
}

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor .pmd-v80-floor-toggle {
  min-width: 38px !important;
  padding: 0 10px !important;
  cursor: pointer !important;
}

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor:not(.pmd-v80-expanded):not(.pmd-v80-editing) .pmd-shared-role-floor-v32__surface {
  height: 132px !important;
  min-height: 132px !important;
  max-height: 132px !important;
  overflow: hidden !important;
}

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor.pmd-v80-expanded .pmd-shared-role-floor-v32__surface,
html #pmd-v76-role-floor.pmd-v80-owner-skin-floor.pmd-v80-editing .pmd-shared-role-floor-v32__surface {
  height: 540px !important;
  min-height: 540px !important;
  max-height: none !important;
  overflow: visible !important;
}

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor .pmd-shared-role-floor-v32__status {
  display: none !important;
}

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor.pmd-v80-editing .pmd-shared-role-floor-v32__status,
html #pmd-v76-role-floor.pmd-v80-owner-skin-floor.pmd-v80-expanded .pmd-shared-role-floor-v32__status {
  display: block !important;
}

/* PMD_ROLE_DASHBOARD_V80_V32_OWNER_SKIN_END */


/* PMD_ROLE_DASHBOARD_V81_V32_CRISP_SURFACE_START */

/*
  V81:
  - keep V76/V77/V80
  - clean legacy v15 floor leftovers inside #pmd-v76-role-floor
  - keep functional v32 edit/save/cancel
  - fix table clipping by using only real v32 surface/tables
*/

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor .pmd-v81-legacy-floor-hidden,
html #pmd-v76-role-floor.pmd-v80-owner-skin-floor [data-pmd-v81-legacy-floor-hidden="true"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor .pmd-shared-role-floor-v32,
html #pmd-v76-role-floor.pmd-v80-owner-skin-floor [data-pmd-v32-floor-root] {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor .pmd-shared-role-floor-v32__surface,
html #pmd-v76-role-floor.pmd-v80-owner-skin-floor [data-pmd-v32-floor-surface] {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 8px 0 0 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor:not(.pmd-v80-expanded):not(.pmd-v80-editing) .pmd-shared-role-floor-v32__surface,
html #pmd-v76-role-floor.pmd-v80-owner-skin-floor:not(.pmd-v80-expanded):not(.pmd-v80-editing) [data-pmd-v32-floor-surface] {
  height: 132px !important;
  min-height: 132px !important;
  max-height: 132px !important;
}

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor.pmd-v80-expanded .pmd-shared-role-floor-v32__surface,
html #pmd-v76-role-floor.pmd-v80-owner-skin-floor.pmd-v80-editing .pmd-shared-role-floor-v32__surface,
html #pmd-v76-role-floor.pmd-v80-owner-skin-floor.pmd-v80-expanded [data-pmd-v32-floor-surface],
html #pmd-v76-role-floor.pmd-v80-owner-skin-floor.pmd-v80-editing [data-pmd-v32-floor-surface] {
  height: 540px !important;
  min-height: 540px !important;
  max-height: 540px !important;
  overflow: visible !important;
}

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor .pmd-shared-role-floor-v32__table,
html #pmd-v76-role-floor.pmd-v80-owner-skin-floor [data-pmd-v32-floor-table] {
  position: absolute !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 2 !important;
  box-sizing: border-box !important;
  visibility: visible !important;
  opacity: 1 !important;
}

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor:not(.pmd-v80-expanded):not(.pmd-v80-editing) .pmd-shared-role-floor-v32__table,
html #pmd-v76-role-floor.pmd-v80-owner-skin-floor:not(.pmd-v80-expanded):not(.pmd-v80-editing) [data-pmd-v32-floor-table] {
  transform: scale(.72) !important;
  transform-origin: top left !important;
}

html #pmd-v76-role-floor.pmd-v80-owner-skin-floor.pmd-v80-expanded .pmd-shared-role-floor-v32__table,
html #pmd-v76-role-floor.pmd-v80-owner-skin-floor.pmd-v80-editing .pmd-shared-role-floor-v32__table,
html #pmd-v76-role-floor.pmd-v80-owner-skin-floor.pmd-v80-expanded [data-pmd-v32-floor-table],
html #pmd-v76-role-floor.pmd-v80-owner-skin-floor.pmd-v80-editing [data-pmd-v32-floor-table] {
  transform: none !important;
}

/* PMD_ROLE_DASHBOARD_V81_V32_CRISP_SURFACE_END */


/* PMD_ROLE_DASHBOARD_V82_NO_LOADER_ANTIFLASH_START */

/*
  V82:
  - hide server-side dashboard loader
  - prevent 1-2s flash of unfinished old role cards during role switch
  - reveal after V77/V80/V81 settle
  - KDS untouched
*/

html body:has(#pmd-v31-role-rail) strong,
html body:has(#pmd-v31-role-rail) small {
  /* loader text is removed from Blade too; this is just a safety net */
}

html.pmd-v82-role-preparing body:has(#pmd-v31-role-rail) .pmd-v15-card:not(.pmd-v77-packed-card):not(#pmd-v76-role-floor):not(.pmd-owner-floor-v60),
html.pmd-v82-role-preparing body:has(#pmd-v31-role-rail) .pmd-v15-card--floor:not(#pmd-v76-role-floor),
html.pmd-v82-role-preparing body:has(#pmd-v31-role-rail) .pmd-shared-role-floor-v32-card:not(#pmd-v76-role-floor),
html.pmd-v82-role-preparing body:has(#pmd-v31-role-rail) .pmd-v21-waiter-floor-card:not(#pmd-v76-role-floor),
html.pmd-v82-role-preparing body:has(#pmd-v31-role-rail) .pmd-v23-counter-floor-card:not(#pmd-v76-role-floor),
html.pmd-v82-role-preparing body:has(#pmd-v31-role-rail) .pmd-v37-owner-floor-card:not(#pmd-v76-role-floor) {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html.pmd-v82-role-preparing body:has(#pmd-v31-role-rail) #pmd-v76-role-floor,
html.pmd-v82-role-preparing body:has(#pmd-v31-role-rail) .pmd-owner-floor-v60,
html.pmd-v82-role-ready body:has(#pmd-v31-role-rail) .pmd-v15-card,
html.pmd-v82-role-ready body:has(#pmd-v31-role-rail) #pmd-v76-role-floor,
html.pmd-v82-role-ready body:has(#pmd-v31-role-rail) .pmd-owner-floor-v60 {
  visibility: visible !important;
  opacity: 1 !important;
}

/* PMD_ROLE_DASHBOARD_V82_NO_LOADER_ANTIFLASH_END */


/* PMD_ROLE_DASHBOARD_V83_OWNER_LIKE_SMALL_FLOOR_START */

/*
  V83:
  - non-KDS role floor small version matches Owner v60
  - same floor height, same surface height, same table pill size
  - numeric labels only: 1,2,3,8
  - KDS untouched
*/

html #pmd-v76-role-floor.pmd-v83-owner-like-small-floor {
  height: 213px !important;
  min-height: 213px !important;
  max-height: 213px !important;
  padding: 14px 14px 15px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 18px 45px rgba(15,23,42,.08) !important;
  color: #071225 !important;
}

html #pmd-v76-role-floor.pmd-v83-owner-like-small-floor.pmd-v80-expanded,
html #pmd-v76-role-floor.pmd-v83-owner-like-small-floor.pmd-v80-editing {
  height: 653px !important;
  min-height: 653px !important;
  max-height: none !important;
  overflow: visible !important;
}

html #pmd-v76-role-floor.pmd-v83-owner-like-small-floor .pmd-shared-role-floor-v32,
html #pmd-v76-role-floor.pmd-v83-owner-like-small-floor [data-pmd-v32-floor-root] {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

html #pmd-v76-role-floor.pmd-v83-owner-like-small-floor .pmd-shared-role-floor-v32__head {
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
}

html #pmd-v76-role-floor.pmd-v83-owner-like-small-floor .pmd-shared-role-floor-v32__title strong {
  font-size: 16px !important;
  font-weight: 760 !important;
  line-height: 1.2 !important;
}

html #pmd-v76-role-floor.pmd-v83-owner-like-small-floor .pmd-shared-role-floor-v32__actions {
  height: 40px !important;
  min-height: 40px !important;
  gap: 8px !important;
}

html #pmd-v76-role-floor.pmd-v83-owner-like-small-floor .pmd-shared-role-floor-v32__actions button,
html #pmd-v76-role-floor.pmd-v83-owner-like-small-floor .pmd-v80-floor-toggle {
  height: 40px !important;
  min-height: 40px !important;
  border-radius: 999px !important;
}

html #pmd-v76-role-floor.pmd-v83-owner-like-small-floor .pmd-shared-role-floor-v32__surface,
html #pmd-v76-role-floor.pmd-v83-owner-like-small-floor [data-pmd-v32-floor-surface] {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: 108px !important;
  min-height: 108px !important;
  max-height: 108px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  border-radius: 20px !important;
  background: transparent !important;
  box-shadow: none !important;
}

html #pmd-v76-role-floor.pmd-v83-owner-like-small-floor.pmd-v80-expanded .pmd-shared-role-floor-v32__surface,
html #pmd-v76-role-floor.pmd-v83-owner-like-small-floor.pmd-v80-editing .pmd-shared-role-floor-v32__surface,
html #pmd-v76-role-floor.pmd-v83-owner-like-small-floor.pmd-v80-expanded [data-pmd-v32-floor-surface],
html #pmd-v76-role-floor.pmd-v83-owner-like-small-floor.pmd-v80-editing [data-pmd-v32-floor-surface] {
  height: 540px !important;
  min-height: 540px !important;
  max-height: 540px !important;
  overflow: visible !important;
}

html #pmd-v76-role-floor.pmd-v83-owner-like-small-floor .pmd-shared-role-floor-v32__table,
html #pmd-v76-role-floor.pmd-v83-owner-like-small-floor [data-pmd-v32-floor-table] {
  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  padding: 8px 16px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #071225 !important;
  box-shadow: 0 12px 28px rgba(15,23,42,.14) !important;
  font-size: 21px !important;
  font-weight: 950 !important;
  line-height: 22px !important;
  text-align: center !important;
  transform: translate(-34px, -23px) !important;
  transform-origin: center center !important;
  overflow: visible !important;
  white-space: nowrap !important;
}

html #pmd-v76-role-floor.pmd-v83-owner-like-small-floor.pmd-v80-expanded .pmd-shared-role-floor-v32__table,
html #pmd-v76-role-floor.pmd-v83-owner-like-small-floor.pmd-v80-editing .pmd-shared-role-floor-v32__table,
html #pmd-v76-role-floor.pmd-v83-owner-like-small-floor.pmd-v80-expanded [data-pmd-v32-floor-table],
html #pmd-v76-role-floor.pmd-v83-owner-like-small-floor.pmd-v80-editing [data-pmd-v32-floor-table] {
  transform: translate(-34px, -23px) !important;
}

/* PMD_ROLE_DASHBOARD_V83_OWNER_LIKE_SMALL_FLOOR_END */


/* PMD_OWNER_DASHBOARD_V85_SAFE_CONTENT_POLISH_START */

/*
  V85 safe content polish:
  - no grid reorder
  - no KPI rewrite
  - no parent moves
  - hide duplicate old floor
  - polish visible card text
  - replace Top Servers with Next Reservation in same card position
  - hide Save/Cancel until actual edit mode
  - KDS untouched
*/

html body:has(#pmd-v31-role-rail) .pmd-v85-hidden-duplicate-floor,
html body:has(#pmd-v31-role-rail) [data-pmd-v85-hidden-duplicate-floor="true"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v60:not(.is-editing) .pmd-v85-floor-save,
html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v60:not(.is-editing) .pmd-v85-floor-cancel,
html body:has(#pmd-v31-role-rail) #pmd-v76-role-floor:not(.pmd-v80-editing) .pmd-v85-floor-save,
html body:has(#pmd-v31-role-rail) #pmd-v76-role-floor:not(.pmd-v80-editing) .pmd-v85-floor-cancel {
  display: none !important;
}

html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v60.is-editing .pmd-v85-floor-edit,
html body:has(#pmd-v31-role-rail) #pmd-v76-role-floor.pmd-v80-editing .pmd-v85-floor-edit {
  display: none !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v85-next-reservation .pmd-v85-reservation-box {
  border: 1px solid rgba(15,23,42,.10) !important;
  border-radius: 18px !important;
  padding: 18px !important;
  background: #f8fafc !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v85-reservation-dash {
  display: block !important;
  font-size: 34px !important;
  line-height: 1 !important;
  margin-bottom: 10px !important;
  color: #071225 !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v85-reservation-title {
  display: block !important;
  margin-bottom: 6px !important;
  color: #071225 !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v85-reservation-copy {
  color: #64748b !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

/* PMD_OWNER_DASHBOARD_V85_SAFE_CONTENT_POLISH_END */


/* PMD_OWNER_DASHBOARD_V86_MICRO_POLISH_START */

/*
  V86 micro polish:
  - no grid reorder
  - no parent move
  - no KPI rewrite
  - polish Payments spacing
  - polish Quick Actions clipping
  - soften technical copy visually
  - KDS untouched
*/

html body:has(#pmd-v31-role-rail) .pmd-v15-card--payment,
html body:has(#pmd-v31-role-rail) .pmd-v15-card--actions,
html body:has(#pmd-v31-role-rail) .pmd-v85-next-reservation {
  overflow: hidden !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v15-card--payment .pmd-v86-money-row,
html body:has(#pmd-v31-role-rail) .pmd-v15-card--payment .pmd-v86-pay-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  width: 100% !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v15-card--payment .pmd-v86-pay-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v15-card--payment .pmd-v86-pay-value {
  margin-left: 12px !important;
  white-space: nowrap !important;
  font-weight: 900 !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v15-card--actions {
  min-height: 330px !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v15-card--actions .pmd-v15-action-grid,
html body:has(#pmd-v31-role-rail) .pmd-v15-card--actions [class*="action"] {
  min-height: 0 !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v15-card--actions button,
html body:has(#pmd-v31-role-rail) .pmd-v15-card--actions a {
  overflow: hidden !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v86-soft-copy {
  color: #64748b !important;
  font-weight: 720 !important;
  line-height: 1.35 !important;
}

/* PMD_OWNER_DASHBOARD_V86_MICRO_POLISH_END */


/* PMD_OWNER_DASHBOARD_V87_PAYMENT_ACTIONS_POLISH_START */

/*
  V87:
  - no reorder
  - no parent move
  - no KPI rewrite
  - fix Payments label/value spacing
  - fix Quick Actions bottom clipping
  - KDS untouched
*/

html body:has(#pmd-v31-role-rail) .pmd-v15-card--payment .pmd-v87-payment-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v15-card--payment .pmd-v87-payment-value {
  display: inline-block !important;
  margin-left: 12px !important;
  white-space: nowrap !important;
  font-weight: 900 !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v15-card--payment .pmd-v87-payment-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v15-card--actions {
  min-height: 390px !important;
  height: auto !important;
  overflow: visible !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v15-card--actions .pmd-v87-action-tile {
  min-height: 104px !important;
  height: auto !important;
  padding: 12px !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v15-card--actions button,
html body:has(#pmd-v31-role-rail) .pmd-v15-card--actions a {
  min-height: 104px !important;
  height: auto !important;
  overflow: hidden !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v15-card--actions [class*="grid"],
html body:has(#pmd-v31-role-rail) .pmd-v15-card--actions [class*="actions"] {
  gap: 12px !important;
}

/* PMD_OWNER_DASHBOARD_V87_PAYMENT_ACTIONS_POLISH_END */


/* PMD_OWNER_DASHBOARD_V88_SAFE_KPI_TEXT_START */

/*
  V88:
  - no grid reorder
  - no parent move
  - no KPI HTML rewrite
  - only safe KPI text/value/subtitle update
  - KDS untouched
*/

html body:has(#pmd-v31-role-rail) .pmd-v15-kpi[data-pmd-v88-kpi="true"] {
  overflow: hidden !important;
}

/* PMD_OWNER_DASHBOARD_V88_SAFE_KPI_TEXT_END */


/* PMD_OWNER_DASHBOARD_V89_OWNER_FLOOR_RESCUE_START */

/*
  V89:
  - rescue real Owner v60 floor if it is inside/under a hidden old floor card
  - no KPI rewrite
  - no analytics reorder
  - no role dashboard changes
  - KDS untouched
*/

html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v89-host {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 18px 0 !important;
  padding: 0 !important;
  grid-column: 1 / -1 !important;
  clear: both !important;
}

html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v89-host .pmd-owner-floor-v60 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 213px !important;
  min-height: 213px !important;
  max-height: 213px !important;
  margin: 0 !important;
  padding: 14px 14px 15px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v89-host .pmd-owner-floor-v60__surface {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  height: 108px !important;
  min-height: 108px !important;
  max-height: 108px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v89-host .pmd-owner-floor-v60__table {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 68px !important;
  height: 46px !important;
  min-width: 68px !important;
  min-height: 46px !important;
}

/* PMD_OWNER_DASHBOARD_V89_OWNER_FLOOR_RESCUE_END */


/* PMD_OWNER_DASHBOARD_V90_FLOOR_AUTO_GUARD_START */

/*
  V90:
  - only auto-runs V89 when Owner floor is missing/zero-sized
  - no KPI rewrite
  - no card reorder
  - no role dashboard floor changes
  - KDS untouched
*/

html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v89-host {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v89-host .pmd-owner-floor-v60 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* PMD_OWNER_DASHBOARD_V90_FLOOR_AUTO_GUARD_END */


/* PMD_OWNER_DASHBOARD_V91_STABILIZE_ACTIVITY_ALERTS_START */

/*
  V91:
  - reduce first-load blinking
  - lock Owner floor final geometry
  - polish Recent Activity / Needs Attention cards
  - no KPI rewrite
  - no parent move
  - no role/KDS changes
*/

html.pmd-v91-owner-settling body:has(#pmd-v31-role-rail) .pmd-owner-floor-v60,
html.pmd-v91-owner-settling body:has(#pmd-v31-role-rail) .pmd-owner-floor-v89-host,
html.pmd-v91-owner-settling body:has(#pmd-v31-role-rail) .pmd-v15-card,
html.pmd-v91-owner-settling body:has(#pmd-v31-role-rail) .pmd-v15-kpi {
  transition: none !important;
  animation: none !important;
}

html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v89-host {
  margin-top: 18px !important;
  margin-bottom: 18px !important;
}

html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v89-host .pmd-owner-floor-v60,
html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v60.pmd-owner-floor-v89-rescued {
  height: 213px !important;
  min-height: 213px !important;
  max-height: 213px !important;
  transform: none !important;
  transition: none !important;
}

html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v60.pmd-owner-floor-v89-rescued .pmd-owner-floor-v60__surface {
  height: 108px !important;
  min-height: 108px !important;
  max-height: 108px !important;
}

/* Recent Activity + Needs Attention */
html body:has(#pmd-v31-role-rail) .pmd-v91-activity-card,
html body:has(#pmd-v31-role-rail) .pmd-v91-alerts-card {
  min-height: 330px !important;
  height: 330px !important;
  max-height: 330px !important;
  overflow: hidden !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v91-activity-card h3,
html body:has(#pmd-v31-role-rail) .pmd-v91-alerts-card h3 {
  font-size: 22px !important;
  line-height: 1.05 !important;
  margin-bottom: 4px !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v91-activity-card p,
html body:has(#pmd-v31-role-rail) .pmd-v91-alerts-card p {
  font-size: 13px !important;
  line-height: 1.25 !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v91-activity-card .pmd-v15-timeline,
html body:has(#pmd-v31-role-rail) .pmd-v91-activity-card [class*="timeline"] {
  max-height: 230px !important;
  overflow: hidden !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v91-alerts-card .pmd-v15-alert-list,
html body:has(#pmd-v31-role-rail) .pmd-v91-alerts-card [class*="alert"] {
  max-height: 230px !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v91-alerts-card [class*="alert"] > *,
html body:has(#pmd-v31-role-rail) .pmd-v91-alerts-card .pmd-v15-alert-item {
  min-height: 66px !important;
}

/* keep only first 4 visible activities visually if timeline gets too tall */
html body:has(#pmd-v31-role-rail) .pmd-v91-activity-card .pmd-v91-extra-activity {
  display: none !important;
}

/* PMD_OWNER_DASHBOARD_V91_STABILIZE_ACTIVITY_ALERTS_END */


/* PMD_OWNER_DASHBOARD_V93_CLEAN_ACTIVITY_ALERTS_START */

/*
  V93:
  - removes bad V92 summary layout
  - keeps Needs Attention + Recent Activity clean
  - restores complete activity rows
  - keeps Needs Attention left, Recent Activity right
  - no Floor changes
  - no KPI changes
  - no Payments changes
  - no KDS changes
*/

html body:has(#pmd-v31-role-rail) .pmd-v92-alert-summary {
  display: none !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v93-alerts-card,
html body:has(#pmd-v31-role-rail) .pmd-v93-activity-card {
  height: 350px !important;
  min-height: 350px !important;
  max-height: 350px !important;
  overflow: hidden !important;
  transition: none !important;
  animation: none !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v93-alerts-card h3,
html body:has(#pmd-v31-role-rail) .pmd-v93-activity-card h3 {
  font-size: 22px !important;
  line-height: 1.05 !important;
  margin-bottom: 4px !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v93-alerts-card p,
html body:has(#pmd-v31-role-rail) .pmd-v93-activity-card p {
  font-size: 13px !important;
  line-height: 1.25 !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v93-activity-card .pmd-v91-extra-activity {
  display: revert !important;
  visibility: visible !important;
  opacity: 1 !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v93-activity-card [class*="timeline"] {
  max-height: none !important;
  overflow: visible !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v93-alerts-card [class*="alert"] {
  max-height: none !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v93-alerts-card .pmd-v15-card-body,
html body:has(#pmd-v31-role-rail) .pmd-v93-activity-card .pmd-v15-card-body {
  padding-top: 8px !important;
}

/* PMD_OWNER_DASHBOARD_V93_CLEAN_ACTIVITY_ALERTS_END */


/* PMD_OWNER_DASHBOARD_V95_SAFE_FLOOR_EXPAND_KPI_CARDS_START */

/*
  V95:
  - replaces V94 safely
  - does NOT style #pmd-v76-role-floor for Owner
  - keeps KPI soft colors
  - centers Owner floor buttons
  - Save layout -> Save
  - real expand/collapse with inline override from JS
  - restores hidden business cards
  - KDS untouched
*/

/* KPI soft colors */
html body:has(#pmd-v31-role-rail) .pmd-v15-kpi[data-pmd-v95-kpi="revenue"] {
  background: linear-gradient(135deg, #ffffff 0%, #f0fdf4 100%) !important;
  border-color: rgba(34,197,94,.16) !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v15-kpi[data-pmd-v95-kpi="pending"] {
  background: linear-gradient(135deg, #ffffff 0%, #fff7ed 100%) !important;
  border-color: rgba(249,115,22,.16) !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v15-kpi[data-pmd-v95-kpi="occupancy"] {
  background: linear-gradient(135deg, #ffffff 0%, #eff6ff 100%) !important;
  border-color: rgba(59,130,246,.16) !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v15-kpi[data-pmd-v95-kpi="orders"] {
  background: linear-gradient(135deg, #ffffff 0%, #faf5ff 100%) !important;
  border-color: rgba(168,85,247,.16) !important;
}

html body:has(#pmd-v31-role-rail) .pmd-v15-kpi[data-pmd-v95-kpi] {
  box-shadow:
    0 18px 45px rgba(15,23,42,.06),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
}

/* Owner real floor only */
html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v89-host .pmd-owner-floor-v60__actions,
html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v60.pmd-owner-floor-v89-rescued .pmd-owner-floor-v60__actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}

html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v89-host .pmd-owner-floor-v60__btn,
html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v89-host .pmd-owner-floor-v60__edit,
html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v89-host .pmd-owner-floor-v60__save,
html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v89-host .pmd-owner-floor-v60__cancel,
html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v89-host .pmd-owner-floor-v60__toggle,
html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v60.pmd-owner-floor-v89-rescued .pmd-owner-floor-v60__btn,
html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v60.pmd-owner-floor-v89-rescued .pmd-owner-floor-v60__edit,
html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v60.pmd-owner-floor-v89-rescued .pmd-owner-floor-v60__save,
html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v60.pmd-owner-floor-v89-rescued .pmd-owner-floor-v60__cancel,
html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v60.pmd-owner-floor-v89-rescued .pmd-owner-floor-v60__toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  vertical-align: middle !important;
  line-height: 1 !important;
  min-height: 46px !important;
  height: 46px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  letter-spacing: -.01em !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}

html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v89-host .pmd-owner-floor-v60__toggle,
html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v60.pmd-owner-floor-v89-rescued .pmd-owner-floor-v60__toggle {
  width: 46px !important;
  min-width: 46px !important;
  max-width: 46px !important;
  padding: 0 !important;
  font-size: 20px !important;
}

/* Edit */
html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v89-host .pmd-owner-floor-v60__edit,
html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v60.pmd-owner-floor-v89-rescued .pmd-owner-floor-v60__edit {
  background: #f8fafc !important;
  color: #071225 !important;
  border: 1px solid rgba(15,23,42,.10) !important;
  box-shadow: 0 8px 20px rgba(15,23,42,.06) !important;
}

/* Save */
html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v89-host .pmd-owner-floor-v60__save,
html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v60.pmd-owner-floor-v89-rescued .pmd-owner-floor-v60__save {
  background: linear-gradient(180deg, #ecfdf5, #dffbea) !important;
  color: #065f46 !important;
  border: 1px solid rgba(16,185,129,.22) !important;
  box-shadow: 0 10px 24px rgba(16,185,129,.13) !important;
}

/* Cancel */
html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v89-host .pmd-owner-floor-v60__cancel,
html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v60.pmd-owner-floor-v89-rescued .pmd-owner-floor-v60__cancel {
  background: linear-gradient(180deg, #fff1f2, #fee2e2) !important;
  color: #9f1239 !important;
  border: 1px solid rgba(244,63,94,.22) !important;
  box-shadow: 0 10px 24px rgba(244,63,94,.12) !important;
}

/* Expand */
html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v89-host .pmd-owner-floor-v60__toggle,
html body:has(#pmd-v31-role-rail) .pmd-owner-floor-v60.pmd-owner-floor-v89-rescued .pmd-owner-floor-v60__toggle {
  background: #f8fafc !important;
  color: #071225 !important;
  border: 1px solid rgba(15,23,42,.10) !important;
  box-shadow: 0 8px 20px rgba(15,23,42,.06) !important;
}

/* Restored cards */
html body:has(#pmd-v31-role-rail) .pmd-v95-restored-card {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: hidden !important;
}

/* PMD_OWNER_DASHBOARD_V95_SAFE_FLOOR_EXPAND_KPI_CARDS_END */


/* PMD_DASHBOARD_ROBOTO_TYPOGRAPHY_V2_START */
/*
  PMD dashboard typography v2.
  Scope: role dashboard / owner dashboard only.
  Goal: Roboto, readable numbers, stronger hierarchy, no icon font damage.
*/
#pmd-owner-dashboard-clean-v1-root,
#pmd-owner-dashboard-clean-v1-root *,
.pmd-v15-shell,
.pmd-v15-shell *,
#pmd-v31-role-rail,
#pmd-v31-role-rail * {
  font-family: "Roboto", Arial, Helvetica, sans-serif !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
  font-variant-numeric: tabular-nums !important;
  font-feature-settings: "tnum" 1, "lnum" 1 !important;
}

.fa, .fas, .far, .fal, .fad,
#pmd-owner-dashboard-clean-v1-root .fa,
#pmd-owner-dashboard-clean-v1-root .fas,
#pmd-owner-dashboard-clean-v1-root .far {
  font-family: "Font Awesome 5 Free" !important;
}

.fab,
#pmd-owner-dashboard-clean-v1-root .fab {
  font-family: "Font Awesome 5 Brands" !important;
}

#pmd-owner-dashboard-clean-v1-root,
.pmd-v15-shell {
  color: #0f172a !important;
  font-size: 14px !important;
  line-height: 1.36 !important;
  letter-spacing: -0.01em !important;
}

#pmd-owner-dashboard-clean-v1-root h1,
#pmd-owner-dashboard-clean-v1-root h2,
#pmd-owner-dashboard-clean-v1-root h3,
#pmd-owner-dashboard-clean-v1-root h4,
.pmd-v15-shell h1,
.pmd-v15-shell h2,
.pmd-v15-shell h3,
.pmd-v15-shell h4 {
  font-weight: 900 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.08 !important;
  color: #07111f !important;
}

.pmd-v15-card h2,
.pmd-v15-card h3,
.pmd-v15-card h4 {
  font-size: clamp(20px, 1.18vw, 23px) !important;
  font-weight: 900 !important;
  margin-bottom: 5px !important;
}

.pmd-v15-card-head h2,
.pmd-v15-card-head h3,
.pmd-v15-card-head h4,
.pmd-owner-floor-v60__title,
.pmd-owner-floor-v60__title span {
  font-size: 21px !important;
  font-weight: 900 !important;
  letter-spacing: -0.035em !important;
  color: #07111f !important;
}

.pmd-v15-kpi h3,
.pmd-v15-kpi h4,
.pmd-v15-kpi-copy > :first-child {
  font-size: 13.5px !important;
  font-weight: 900 !important;
  letter-spacing: -0.012em !important;
  line-height: 1.15 !important;
  color: #101827 !important;
}

.pmd-v15-kpi strong,
.pmd-v15-kpi b,
.pmd-v15-kpi-copy > :nth-child(2) {
  font-size: clamp(36px, 2.55vw, 44px) !important;
  font-weight: 900 !important;
  line-height: .95 !important;
  letter-spacing: -0.055em !important;
  color: #07111f !important;
  font-variant-numeric: tabular-nums !important;
}

.pmd-v15-kpi small,
.pmd-v15-kpi-copy > :last-child {
  font-size: 12.5px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  color: #64748b !important;
  letter-spacing: -0.012em !important;
}

.pmd-v15-card p,
.pmd-v15-card small,
.pmd-v15-card li,
.pmd-v15-card [class*="subtitle"],
.pmd-v15-card [class*="label"] {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.36 !important;
  color: #64748b !important;
  letter-spacing: -0.01em !important;
}

.pmd-v15-card strong,
.pmd-v15-card b,
.pmd-v15-alert strong,
.pmd-v15-alert b {
  font-weight: 900 !important;
  color: #0f172a !important;
  letter-spacing: -0.025em !important;
  font-variant-numeric: tabular-nums !important;
}

.pmd-v15-timeline strong,
.pmd-v15-timeline b,
.pmd-v15-alert strong,
.pmd-v15-alert b,
.pmd-v15-card [class*="amount"],
.pmd-v15-card [class*="value"],
.pmd-v15-card [class*="price"],
.pmd-v15-card [class*="total"] {
  font-weight: 900 !important;
  color: #07111f !important;
  font-variant-numeric: tabular-nums !important;
  font-feature-settings: "tnum" 1, "lnum" 1 !important;
}

.pmd-v15-timeline time,
.pmd-v15-timeline small,
.pmd-v15-card time {
  font-size: 12.5px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  color: #64748b !important;
  font-variant-numeric: tabular-nums !important;
}

.pmd-owner-floor-v60__table,
.pmd-owner-floor-v60__table strong,
.pmd-owner-floor-v60__table b {
  font-size: 21px !important;
  font-weight: 900 !important;
  letter-spacing: -0.035em !important;
  font-variant-numeric: tabular-nums !important;
}

#pmd-owner-dashboard-clean-v1-root button,
#pmd-owner-dashboard-clean-v1-root a,
.pmd-v15-shell button,
.pmd-v15-shell a {
  font-weight: 800 !important;
  letter-spacing: -0.012em !important;
}

#pmd-v31-role-rail .pmd-v31-role-btn {
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
}
/* PMD_DASHBOARD_ROBOTO_TYPOGRAPHY_V2_END */


