/* MOB365 FREEZE BUNDLE — 2026-08-20
   Generated from legacy styles in their original cascade order.
   Do not reorder sections without regression testing. */

/* ===== SOURCE: mob365-layout-studio.css ===== */
/* MOB365 Layout Studio - per company/operator/device workspace customization */
:root{--mob365-accent:#0b8f83;--mob365-header:#0d2d4f;--mob365-radius:12px;--mob365-font-scale:1;--mob365-density:1}
.mob365-customizable{--mob-accent:var(--mob365-accent);--mob-header:var(--mob365-header);--mob-radius:var(--mob365-radius);font-size:calc(1em * var(--mob365-font-scale))}
.mob365-customizable .cafe-commandbar,.mob365-customizable .ops-topbar,.mob365-customizable .m3-top,.mob365-customizable .pos-command-bar{background:var(--mob-header)!important}
.mob365-customizable .cafe-btn.primary,.mob365-customizable .ops-btn.primary,.mob365-customizable .m3-btn.primary{background:var(--mob-accent)!important;border-color:var(--mob-accent)!important}
.mob365-customizable .cafe-zone-filter button.selected,.mob365-customizable .ops-filterbar button.active,.mob365-customizable .m3-tabs button.active{background:var(--mob-accent)!important;border-color:var(--mob-accent)!important}
.mob365-customizable .cafe-panel,.mob365-customizable .ops-panel,.mob365-customizable .m3-panel{border-radius:var(--mob-radius)!important}
.mob365-density-compact .ops-panel-head,.mob365-density-compact .cafe-panel-header,.mob365-density-compact .m3-panel-head{min-height:48px!important;height:auto!important;padding-top:8px!important;padding-bottom:8px!important}
.mob365-density-compact .pharmacy-product{min-height:82px!important;padding:8px!important}
.mob365-density-compact .cafe-product-card,.mob365-density-compact .m3-product{min-height:92px!important}
.mob365-density-compact .warehouse-doc{padding:8px!important}
.mob365-density-spacious .pharmacy-product{min-height:122px!important;padding:14px!important}
.mob365-density-spacious .cafe-product-card,.mob365-density-spacious .m3-product{min-height:140px!important}

/* Full viewport: every module must fit inside the visible page and scroll inside panels. */
.cafe-pos-shell.mob365-customizable,.ops-shell.mob365-customizable,.m3-shell.mob365-customizable,.pos-app-shell.mob365-customizable{height:100dvh;min-height:0!important;overflow:hidden;display:flex;flex-direction:column}
.cafe-pos-shell.mob365-customizable .cafe-pos-grid,.ops-shell.mob365-customizable .pharmacy-workspace,.ops-shell.mob365-customizable .warehouse-workspace,.m3-shell.mob365-customizable .m3-restaurant{flex:1;min-height:0;height:auto!important;overflow:hidden}
.cafe-pos-shell.mob365-customizable .cafe-panel,.ops-shell.mob365-customizable .ops-panel,.m3-shell.mob365-customizable .m3-panel{min-height:0}
.cafe-pos-shell.mob365-customizable .cafe-table-grid,.cafe-pos-shell.mob365-customizable .cafe-product-grid,.cafe-pos-shell.mob365-customizable .cafe-cart-lines,.ops-shell.mob365-customizable .pharmacy-product-list,.ops-shell.mob365-customizable .lot-list,.ops-shell.mob365-customizable .pharmacy-cart-lines,.ops-shell.mob365-customizable .warehouse-doc-list,.ops-shell.mob365-customizable .warehouse-table-wrap,.ops-shell.mob365-customizable .workflow-body,.m3-shell.mob365-customizable .m3-floor,.m3-shell.mob365-customizable .m3-products,.m3-shell.mob365-customizable .m3-lines{min-height:0;overflow:auto}

/* Generic 3-panel workspace; actual widths/order are injected as CSS variables. */
.mob365-grid3{display:grid!important;grid-template-columns:minmax(220px,var(--mob-left,22%)) 7px minmax(360px,1fr) 7px minmax(280px,var(--mob-right,24%))!important;gap:0!important}
.mob365-grid3>[data-mob-panel]{min-width:0;min-height:0}
.mob365-grid3>[data-mob-panel="left"]{grid-column:var(--mob-left-col,1)}
.mob365-grid3>[data-mob-panel="center"]{grid-column:var(--mob-center-col,3)}
.mob365-grid3>[data-mob-panel="right"]{grid-column:var(--mob-right-col,5)}
.mob365-splitter{position:relative;cursor:col-resize;touch-action:none;user-select:none;z-index:12;background:transparent}
.mob365-splitter.left{grid-column:2}.mob365-splitter.right{grid-column:4}
.mob365-splitter:after{content:"";position:absolute;top:8px;bottom:8px;left:3px;width:2px;border-radius:999px;background:#d4dee8;transition:.15s}
.mob365-splitter:hover:after,.mob365-splitter.dragging:after{left:2px;width:4px;background:var(--mob-accent)}
body.mob365-resizing{cursor:col-resize!important;user-select:none!important}

/* Better content readability */
.pharmacy-product .medicine-info strong{white-space:normal!important;display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.2;overflow:hidden!important}
.pharmacy-product .medicine-stock b{white-space:nowrap}
.warehouse-table td:nth-child(2){min-width:220px;white-space:normal;line-height:1.35}
.cafe-product-card strong,.m3-product strong{white-space:normal!important;display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden!important;line-height:1.2}
.cafe-cart-copy strong,.pharmacy-cart-line strong,.m3-line-item strong{overflow-wrap:anywhere}

/* Product column customization */
.mob365-customizable{--mob-product-cols:4}
.mob365-customizable .cafe-product-grid{grid-template-columns:repeat(var(--mob-product-cols),minmax(0,1fr))!important}
.mob365-customizable .pharmacy-product-list{grid-template-columns:repeat(var(--mob-product-cols-pharmacy,2),minmax(0,1fr))!important}
.mob365-customizable .m3-products{grid-template-columns:repeat(var(--mob-product-cols-restaurant,4),minmax(0,1fr))!important}

/* Layout Studio launcher and modal */
.mob365-layout-launcher{min-height:38px;border-radius:10px;padding:0 12px;border:1px solid #ffffff2b;background:#ffffff10;color:#fff;font:inherit;font-size:11px;font-weight:850;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.mob365-layout-launcher:hover{background:#ffffff1e}
.mob365-studio-backdrop{position:fixed;inset:0;background:#06172b99;z-index:5000;display:grid;place-items:center;padding:18px;backdrop-filter:blur(4px)}
.mob365-studio{width:min(760px,96vw);max-height:min(820px,92dvh);overflow:auto;background:#fff;border-radius:20px;box-shadow:0 35px 110px #0006;color:#13273a;font-family:Inter,"Segoe UI",Arial,sans-serif}
.mob365-studio-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #e2e9ef;position:sticky;top:0;background:#fff;z-index:2}
.mob365-studio-head small{display:block;color:#0b8f83;font-size:9px;letter-spacing:.14em;font-weight:950}.mob365-studio-head h2{margin:3px 0 0;font-size:21px}.mob365-studio-close{width:36px;height:36px;border:1px solid #dce5ec;border-radius:10px;background:#fff;font-size:22px;cursor:pointer}
.mob365-studio-body{padding:18px 20px;display:grid;gap:18px}.mob365-studio-section{border:1px solid #e0e8ef;border-radius:14px;padding:14px}.mob365-studio-section h3{font-size:12px;margin:0 0 12px}.mob365-studio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mob365-studio-field{display:grid;gap:6px;font-size:10px;font-weight:800;color:#5c7084}.mob365-studio-field input[type="range"]{width:100%;accent-color:#0b8f83}.mob365-studio-field select,.mob365-studio-field input[type="color"]{height:40px;border:1px solid #d9e3ea;border-radius:9px;background:#fff;padding:0 9px}.mob365-studio-colors{display:flex;gap:8px;flex-wrap:wrap}.mob365-color-chip{width:34px;height:34px;border-radius:10px;border:2px solid #fff;box-shadow:0 0 0 1px #cbd8e2;cursor:pointer}.mob365-studio-actions{display:flex;justify-content:space-between;gap:8px;padding:14px 20px;border-top:1px solid #e2e9ef;position:sticky;bottom:0;background:#fff}.mob365-studio-actions>div{display:flex;gap:8px}.mob365-studio-btn{height:40px;padding:0 14px;border:1px solid #d7e1e9;border-radius:10px;background:#fff;font-weight:850;cursor:pointer}.mob365-studio-btn.primary{background:#0b8f83;color:#fff;border-color:#0b8f83}.mob365-studio-btn.danger{color:#a3322b}.mob365-order-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mob365-order-list select{width:100%;height:40px;border:1px solid #d8e2e9;border-radius:9px;padding:0 8px;background:#fff}
@media(max-width:1100px){.mob365-grid3{display:grid!important;grid-template-columns:1fr!important;height:auto!important;overflow:visible!important}.mob365-grid3>[data-mob-panel],.mob365-grid3>.mob365-splitter{grid-column:1!important}.mob365-grid3>.mob365-splitter{display:none}.mob365-customizable{height:auto!important;overflow:auto!important}.mob365-studio-grid{grid-template-columns:1fr}.mob365-customizable .pharmacy-product-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){.mob365-customizable .pharmacy-product-list,.mob365-customizable .cafe-product-grid,.mob365-customizable .m3-products{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mob365-order-list{grid-template-columns:1fr}}
/* Retail grid customization */
.pos-app-shell.mob365-customizable .pos-layout-premium{
  grid-template-columns:minmax(145px,var(--mob365-retail-sidebar,190px)) minmax(420px,1fr) minmax(330px,var(--mob365-retail-cart,440px)) 126px!important;
}
/* keep controls visible instead of clipping at viewport bottom */
.mob365-customizable .cart-actions,.mob365-customizable .workflow-actions,.mob365-customizable .cafe-payment-actions{flex-shrink:0}
.mob365-customizable .ops-topbar,.mob365-customizable .cafe-commandbar,.mob365-customizable .m3-top,.mob365-customizable .pos-command-bar{flex-shrink:0}
.mob365-customizable .ops-kpis,.mob365-customizable .cafe-kpi-strip,.mob365-customizable .cafe-flowbar,.mob365-customizable .warehouse-flow-nav{flex-shrink:0}

/* =========================================================
   MOB365 Layout Studio V2 — reliable sizing/order/viewport
   2026-08-07
   ========================================================= */
.mob365-customizable{--mob365-font-scale:1;--mob-accent:#0b8f83;--mob-header:#0d2d4f;--mob-radius:12px}
.mob365-customizable.mob365-fit{height:100dvh!important;min-height:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
.mob365-customizable:not(.mob365-fit){height:auto!important;min-height:100vh!important;overflow:visible!important}
.mob365-customizable.mob365-fit #cafeWorkspace,
.mob365-customizable.mob365-fit #pharmacyWorkspace,
.mob365-customizable.mob365-fit #warehouseWorkspace,
.mob365-customizable.mob365-fit #restaurantWorkspace{flex:1 1 auto!important;min-height:0!important;height:auto!important;overflow:hidden!important}

.mob365-grid3{display:grid!important;gap:0!important;width:100%!important;max-width:none!important;min-width:0!important;align-items:stretch!important}
.mob365-grid3>[data-mob-panel]{min-width:0!important;max-width:none!important;width:auto!important;min-height:0!important;margin:0!important;align-self:stretch!important}
.mob365-grid3>.mob365-splitter{min-width:8px!important;width:8px!important;height:100%!important;position:relative!important;cursor:col-resize!important;touch-action:none!important;user-select:none!important;z-index:30!important;background:transparent!important}
.mob365-grid3>.mob365-splitter:after{content:"";position:absolute;top:10px;bottom:10px;left:3px;width:2px;border-radius:99px;background:#cad7e2;transition:.14s ease}
.mob365-grid3>.mob365-splitter:hover:after,.mob365-grid3>.mob365-splitter.dragging:after{left:2px;width:4px;background:var(--mob-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--mob-accent) 12%,transparent)}
body.mob365-resizing{cursor:col-resize!important;user-select:none!important}

/* Cafe built-in splitters become Layout Studio splitters */
.cafe-panel-splitter.mob365-splitter{display:block!important;min-width:8px!important;width:8px!important;background:transparent!important}
.cafe-panel-splitter.mob365-splitter>span{display:none!important}

/* Keep critical controls in view while content scrolls inside panels */
.mob365-fit .cafe-cart-panel,.mob365-fit .pharmacy-cart,.mob365-fit .warehouse-workflow,.mob365-fit .m3-order{display:flex!important;flex-direction:column!important;min-height:0!important}
.mob365-fit .cafe-cart-list,.mob365-fit .pharmacy-cart-lines,.mob365-fit .workflow-body,.mob365-fit .m3-lines{flex:1 1 auto!important;min-height:0!important;overflow:auto!important}
.mob365-fit .cafe-cart-summary,.mob365-fit .cafe-total,.mob365-fit .cafe-payment-grid,.mob365-fit .cafe-integration-note,
.mob365-fit .clinical-audit,.mob365-fit .cart-total,.mob365-fit .cart-actions,
.mob365-fit .workflow-actions,.mob365-fit .m3-total,.mob365-fit .m3-order-buttons{flex:0 0 auto!important}

/* Pharmacy: readable cards at every panel width */
.pharmacy-catalog{container-type:inline-size}
.mob365-customizable .pharmacy-product-list{display:grid!important;grid-template-columns:repeat(var(--mob-product-cols-pharmacy,1),minmax(0,1fr))!important;gap:8px!important;padding:9px!important;align-content:start!important;background:#f6f9fb!important}
.mob365-customizable .pharmacy-product{min-height:92px!important;border:1px solid #dbe4ec!important;border-radius:var(--mob-radius)!important;background:#fff!important;padding:10px!important;display:grid!important;grid-template-columns:44px minmax(0,1fr) auto!important;grid-template-rows:auto!important;gap:10px!important;align-items:center!important;overflow:hidden!important;box-shadow:0 2px 8px rgba(15,35,58,.035)!important}
.mob365-customizable .pharmacy-product .medicine-icon{grid-column:1!important;grid-row:1!important;width:42px!important;height:42px!important}
.mob365-customizable .pharmacy-product .medicine-info{grid-column:2!important;grid-row:1!important;min-width:0!important}
.mob365-customizable .pharmacy-product .medicine-info strong{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;white-space:normal!important;overflow:hidden!important;line-height:1.25!important;font-size:12px!important;min-height:30px!important}
.mob365-customizable .pharmacy-product .medicine-info small{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:9px!important}
.mob365-customizable .pharmacy-product .medicine-stock{grid-column:3!important;grid-row:1!important;display:grid!important;gap:4px!important;justify-items:end!important;align-self:center!important;text-align:right!important;border:0!important;padding:0!important;min-width:74px!important}
.mob365-customizable .pharmacy-product .medicine-stock b{font-size:13px!important;color:#08776b!important;white-space:nowrap!important}
.mob365-customizable .pharmacy-product .medicine-stock small{font-size:8px!important;color:#738698!important;white-space:nowrap!important;margin:0!important}
.mob365-customizable .pharmacy-product .medicine-flags{display:flex!important;gap:4px!important;flex-wrap:wrap!important;margin-top:5px!important}
@container (max-width:390px){.mob365-customizable .pharmacy-product{grid-template-columns:40px minmax(0,1fr)!important}.mob365-customizable .pharmacy-product .medicine-stock{grid-column:1/-1!important;grid-row:2!important;display:flex!important;justify-content:space-between!important;padding-top:7px!important;border-top:1px solid #edf1f5!important;min-width:0!important}}

/* Cafe: product names and order lines stay readable */
.mob365-customizable .cafe-product-grid{grid-template-columns:repeat(var(--mob-product-cols,4),minmax(150px,1fr))!important}
.mob365-customizable .cafe-product-tile{min-width:0!important;min-height:108px!important}
.mob365-customizable .cafe-product-copy{min-width:0!important}
.mob365-customizable .cafe-product-copy strong{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;white-space:normal!important;overflow:hidden!important;line-height:1.22!important}
.mob365-customizable .cafe-cart-line{grid-template-columns:minmax(0,1fr) auto!important}
.mob365-customizable .cafe-cart-copy{min-width:0!important}.mob365-customizable .cafe-cart-copy strong{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;white-space:normal!important;overflow:hidden!important}

/* Restaurant: use selected card count and keep order actions visible */
.mob365-customizable .m3-products{grid-template-columns:repeat(var(--mob-product-cols-restaurant,4),minmax(145px,1fr))!important}
.mob365-customizable .m3-product strong{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;white-space:normal!important;overflow:hidden!important}

/* Warehouse: center panel must always consume the flexible workspace track */
.mob365-customizable .warehouse-workspace{width:100%!important;max-width:none!important;margin:0!important}
.mob365-customizable .warehouse-lines{min-width:0!important;width:auto!important}
.mob365-customizable .warehouse-table-wrap{width:100%!important;min-width:0!important}
.mob365-customizable .warehouse-table{table-layout:auto!important;min-width:620px!important}
.mob365-customizable .warehouse-table td:nth-child(2){min-width:240px!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.35!important}
.mob365-customizable .warehouse-doc strong{white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.25!important}

/* Header / typography scales */
.mob365-customizable{font-size:calc(1em * var(--mob365-font-scale))!important}
.mob365-density-compact .ops-kpis,.mob365-density-compact .cafe-kpi-strip{padding-top:7px!important;padding-bottom:7px!important}
.mob365-density-compact .ops-kpis article,.mob365-density-compact .cafe-kpi{padding-top:8px!important;padding-bottom:8px!important}
.mob365-density-spacious .ops-panel-head,.mob365-density-spacious .cafe-panel-header,.mob365-density-spacious .m3-panel-head{min-height:70px!important}

/* Studio controls */
.mob365-toggle-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:13px;padding-top:12px;border-top:1px solid #edf1f4}
.mob365-toggle-row label{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:750;color:#52677a;cursor:pointer}
.mob365-toggle-row input{accent-color:#0b8f83}
.mob365-preset-grid{display:flex;gap:8px;flex-wrap:wrap}
.mob365-studio-field>select[data-f="orderText"]{width:100%;height:42px}

@media(max-width:1250px){
  .mob365-customizable .pharmacy-product-list{grid-template-columns:1fr!important}
  .mob365-customizable .cafe-product-grid{grid-template-columns:repeat(min(var(--mob-product-cols,4),3),minmax(150px,1fr))!important}
}
@media(max-width:1050px){
  .mob365-grid3{grid-template-columns:1fr!important;grid-template-rows:auto!important;height:auto!important;overflow:visible!important}
  .mob365-grid3>[data-mob-panel]{grid-column:1!important;grid-row:auto!important;display:flex!important;min-height:420px!important}
  .mob365-grid3>.mob365-splitter{display:none!important}
  .mob365-customizable.mob365-fit{height:auto!important;min-height:100vh!important;overflow:auto!important}
}


/* ===== SOURCE: mob365-modules-final.css ===== */

/* MOB365 Modules Final - 2026-08-18 */
.mob365-unified-mark{display:grid;place-items:center;overflow:hidden;background:#fff!important;border:1px solid #dbeafe!important;box-shadow:0 6px 18px rgba(15,76,129,.14)}
.mob365-unified-mark img,.suite-brand-mark img{width:82%;height:82%;object-fit:contain;display:block}
.m3-floor-legend{display:flex;gap:14px;align-items:center;padding:8px 14px;border-bottom:1px solid #e5edf6;font-size:12px;font-weight:800}.m3-floor-legend .free{color:#059669}.m3-floor-legend .busy{color:#dc2626}.m3-floor-legend .reserved{color:#d97706}.m3-floor-actions{display:flex;gap:8px}.m3-layout-edit{position:absolute;right:6px;bottom:6px;width:25px;height:25px;border-radius:7px;background:#1d4ed8;color:#fff;display:grid;place-items:center;z-index:5}.m3-layout-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.m3-layout-form label{display:grid;gap:5px;font-size:12px;font-weight:800}.m3-layout-form input,.m3-layout-form select{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:9px}.m3-table.reserved{border-color:#f59e0b!important;background:#fff8e7!important}.m3-table.free{border-color:#34d399!important}.m3-table.busy{border-color:#fb7185!important}.m3-table{transition:.16s ease;box-shadow:0 5px 14px rgba(15,35,65,.06)}.m3-table:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,35,65,.12)}
.cafe-kpi-strip{grid-template-columns:repeat(5,minmax(0,1fr))!important}.cafe-kpi.reserved{border-color:#f59e0b!important}.cafe-table-state.reserved{color:#b45309;background:#fff7ed;border:1px solid #fed7aa}.cafe-floor-table:has(.cafe-table-state.reserved){border-color:#f59e0b!important;background:#fffbeb!important}.cafe-table-action-buttons{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.cafe-btn.danger{color:#b42318;border-color:#fecaca;background:#fff7f7}.cafe-category-strip{overflow-x:auto;scrollbar-width:thin}.cafe-products-grid{align-content:start}.cafe-product-card{min-height:120px}
.pharmacy-workspace{grid-template-columns:minmax(340px,30%) minmax(460px,44%) minmax(330px,26%)!important}.pharmacy-catalog .ops-card,.pharmacy-catalog .ops-item{min-width:0}.pharmacy-catalog strong,.pharmacy-catalog .item-name{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.25}.pharmacy-workspace .ops-panel{min-width:0}.pharmacy-v2 .ops-list-item{min-height:76px}.pharmacy-v2 .ops-list-item strong{font-size:13px}.pharmacy-v2 .ops-list-item small{white-space:normal}.warehouse-purpose{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:10px 12px 14px;padding:14px 16px;background:#f8fbff;border:1px solid #dbeafe;border-radius:14px}.warehouse-purpose div:first-child{display:grid;gap:4px}.warehouse-purpose span{color:#64748b;font-size:12px}.warehouse-flow{display:flex;gap:8px;align-items:center;white-space:nowrap}.warehouse-flow b{padding:7px 9px;background:#eaf4ff;border-radius:8px;color:#0f4c81;font-size:11px}.warehouse-flow i{font-style:normal;color:#94a3b8}
@media(max-width:1150px){.pharmacy-workspace{grid-template-columns:1fr 1.2fr!important}.pharmacy-workspace> :last-child{grid-column:1/-1}.cafe-kpi-strip{grid-template-columns:repeat(3,1fr)!important}.warehouse-purpose{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.pharmacy-workspace{grid-template-columns:1fr!important}.m3-layout-form{grid-template-columns:1fr}.warehouse-flow{white-space:normal;flex-wrap:wrap}.cafe-kpi-strip{grid-template-columns:1fr 1fr!important}}


/* ===== SOURCE: mob365-freeze-rc1.css ===== */

/* MOB365 POS — STABLE FREEZE RC1
   Final visual layer. Uses DesignSystem tokens and intentionally loads last. */
:root{
  --mob-bg:#f3f6fa;--mob-surface:#fff;--mob-ink:#0b1f33;--mob-muted:#65788d;
  --mob-line:#dce5ef;--mob-navy:#0b3153;--mob-navy2:#0e456f;--mob-accent:#0f8f83;
  --mob-blue:#1d6fe8;--mob-green:#12a273;--mob-amber:#d88a08;--mob-red:#c43c35;
  --mob-r:16px;--mob-shadow:0 7px 22px rgba(11,49,83,.07);
}
html,body{background:var(--mob-bg)!important;color:var(--mob-ink)!important}
.mob365-unified-mark,.mob365-logo-mark{background:linear-gradient(145deg,#eff7ff,#e9fffb)!important;border:1px solid #cfe2ef!important;box-shadow:0 5px 15px rgba(8,57,91,.12)!important;overflow:hidden}
.mob365-unified-mark img,.mob365-logo-mark img{width:100%!important;height:100%!important;object-fit:contain!important;display:block!important;padding:4px!important}
.command-mark.mob365-logo-mark{width:38px!important;height:38px!important;border-radius:11px!important}
.sidebar-logo-premium{display:flex!important;align-items:center!important;gap:10px!important;padding:8px 10px!important}
.sidebar-logo-premium img{width:34px;height:34px;object-fit:contain;background:#f4fbff;border-radius:10px;padding:3px}
.sidebar-logo-premium span{display:flex;flex-direction:column}.sidebar-logo-premium b{font-size:14px;letter-spacing:.03em}.sidebar-logo-premium small{font-size:8px!important;letter-spacing:.18em!important;color:#91b8c8!important}

/* Unified module chrome */
.m3-top,.cafe-commandbar,.ops-topbar{
  background:linear-gradient(105deg,#092c4b 0%,#0b3a60 72%,#0d5c6b 100%)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;box-shadow:0 4px 18px rgba(6,39,64,.13)!important;
}
.m3-btn,.cafe-command-btn,.ops-btn{min-height:38px!important;border-radius:10px!important;font-weight:800!important;letter-spacing:.01em!important}
.m3-btn:not(.primary):not(.success):not(.danger),.cafe-command-btn,.ops-btn:not(.primary):not(.success):not(.danger-soft){
  background:#fff!important;border-color:#d8e4ed!important;color:#16314a!important
}
.m3-panel,.cafe-panel,.ops-panel{border:1px solid var(--mob-line)!important;border-radius:16px!important;box-shadow:var(--mob-shadow)!important;background:#fff!important;overflow:hidden}
.m3-panel-head,.cafe-panel-header,.ops-panel-head{background:linear-gradient(180deg,#fff,#fbfdff)!important;border-bottom:1px solid var(--mob-line)!important}
.m3-kpi,.cafe-kpi,.ops-kpis article{border:1px solid var(--mob-line)!important;border-radius:14px!important;box-shadow:0 4px 14px rgba(11,49,83,.045)!important;background:#fff!important}

/* Restaurant: floor plan should look like a real service map, not admin cards */
.m3-layout{gap:12px!important;padding:12px!important}
.m3-floor{background:linear-gradient(180deg,#f8fbfe,#f1f6fa)!important}
.m3-floor-map{background-image:linear-gradient(#dfe9f2 1px,transparent 1px),linear-gradient(90deg,#dfe9f2 1px,transparent 1px)!important;background-size:24px 24px!important;padding:14px!important}
.m3-table{position:relative!important;min-height:112px!important;border-width:2px!important;background:#fff!important;transition:.16s ease!important}
.m3-table.free{border-color:#58c7a7!important;background:linear-gradient(180deg,#fff,#f2fffa)!important}
.m3-table.busy{border-color:#efb34d!important;background:linear-gradient(180deg,#fff,#fff9ed)!important}
.m3-table.reserved{border-color:#9b7be7!important;background:linear-gradient(180deg,#fff,#f8f4ff)!important}
.m3-table.selected{border-color:#2876e6!important;box-shadow:0 0 0 3px rgba(40,118,230,.14),0 10px 26px rgba(40,118,230,.13)!important}
.m3-table:after{content:attr(data-state-label);position:absolute;top:8px;right:8px;font-size:8px;font-weight:900;letter-spacing:.08em;padding:4px 7px;border-radius:999px;background:#edf3f8;color:#5d7083}
.m3-product{min-height:116px!important;padding:14px!important;display:grid!important;grid-template-rows:auto 1fr auto!important}
.m3-product strong{font-size:13px!important;line-height:1.25!important;white-space:normal!important}.m3-product b{font-size:17px!important;color:#0b5c55!important}
.m3-order{min-width:360px!important}.m3-total{background:linear-gradient(110deg,#082f52,#0c4e6d)!important}

/* Cafe: stronger floor-plan, product grouping, action hierarchy */
.cafe-pos-grid{grid-template-columns:minmax(320px,.82fr) minmax(640px,1.65fr) minmax(350px,.85fr)!important;gap:12px!important}
.cafe-floor-map{background-image:linear-gradient(#e2ebf3 1px,transparent 1px),linear-gradient(90deg,#e2ebf3 1px,transparent 1px)!important;background-size:22px 22px!important;padding:12px!important}
.cafe-floor-table{border-width:2px!important;box-shadow:0 4px 12px rgba(11,49,83,.05)!important;transition:.15s ease!important}
.cafe-floor-table.free{background:linear-gradient(180deg,#fff,#f1fff9)!important;border-color:#44be95!important}
.cafe-floor-table.occupied{background:linear-gradient(180deg,#fff,#fff8e9)!important;border-color:#eea92e!important}
.cafe-floor-table.reserved{background:linear-gradient(180deg,#fff,#f8f3ff)!important;border-color:#9b77dc!important}
.cafe-floor-table:hover{transform:translateY(-2px)!important;box-shadow:0 9px 20px rgba(11,49,83,.11)!important}
.cafe-category-strip{padding:10px 0!important;gap:8px!important}.cafe-category-chip{min-height:40px!important;border-radius:11px!important}
.cafe-category-chip.active{background:linear-gradient(105deg,#0a3c5d,#0f766e)!important;color:#fff!important}
.cafe-product-grid{grid-template-columns:repeat(4,minmax(145px,1fr))!important;gap:10px!important;padding:12px!important}
.cafe-product-tile{min-height:118px!important;border:1px solid var(--mob-line)!important;border-radius:14px!important;background:#fff!important;box-shadow:0 3px 10px rgba(11,49,83,.045)!important}
.cafe-product-tile:hover{border-color:#91b9d2!important;box-shadow:0 9px 22px rgba(11,49,83,.09)!important}
.cafe-product-copy strong{white-space:normal!important;line-height:1.2!important}.cafe-product-price{font-size:16px!important;color:#08765e!important;font-weight:900!important}

/* Pharmacy: make catalog readable and LOT work area useful immediately */
.pharmacy-workspace{grid-template-columns:minmax(500px,1.08fr) minmax(560px,1.38fr) minmax(360px,.82fr)!important;gap:12px!important}
.pharmacy-product-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;padding:10px!important;align-content:start!important}
.pharmacy-product{min-height:92px!important;border:1px solid var(--mob-line)!important;border-radius:14px!important;padding:11px!important;background:#fff!important;display:grid!important;grid-template-columns:48px minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important}
.pharmacy-product:hover,.pharmacy-product.selected{border-color:#68b9b0!important;box-shadow:0 7px 18px rgba(15,118,110,.10)!important}
.medicine-info{min-width:0!important}.medicine-info strong{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;white-space:normal!important;font-size:12px!important}
.medicine-info small{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.medicine-stock{min-width:88px!important;text-align:right!important}.medicine-stock b{font-size:14px!important;color:#087565!important}
.pharmacy-product-summary{margin:12px!important;border:1px solid var(--mob-line)!important;border-radius:14px!important;background:#f8fbfd!important;padding:12px!important}
.lot-row{border-radius:12px!important;border:1px solid var(--mob-line)!important;margin:0 10px 8px!important;overflow:hidden!important}
.lot-row.near-expiry{border-left:4px solid var(--mob-amber)!important}.lot-row.expired{border-left:4px solid var(--mob-red)!important}.lot-row.valid{border-left:4px solid var(--mob-green)!important}
.pharmacy-cart{min-width:350px!important}

/* Warehouse: operational dashboard + actual stock view */
.warehouse-purpose{border:1px solid #cfe1ec!important;background:linear-gradient(100deg,#f7fbff,#f1fcfa)!important;border-radius:14px!important;box-shadow:0 4px 14px rgba(11,49,83,.04)!important}
.warehouse-flow-nav{gap:8px!important}.warehouse-flow-nav button{border-radius:12px!important;min-height:46px!important}
.warehouse-flow-nav button.active{background:linear-gradient(105deg,#0b4266,#0f8278)!important;color:#fff!important}
.warehouse-stock-mode{display:block!important}.warehouse-stock-live{min-height:650px!important}
.warehouse-stock-tools{display:flex;gap:8px;flex-wrap:wrap}.warehouse-stock-tools input{height:38px;border:1px solid #cfdce7;border-radius:9px;padding:0 10px;background:#fff}
.warehouse-stock-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px}.warehouse-stock-kpis article{border:1px solid var(--mob-line);border-radius:12px;background:#f8fbfd;padding:13px}.warehouse-stock-kpis span{display:block;color:var(--mob-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.warehouse-stock-kpis strong{font-size:22px}
.stock-live-table{max-height:560px!important;overflow:auto!important}.stock-live-table .warehouse-table{min-width:760px!important}

/* Retail: same brand language as suite */
.pos-command-bar{background:linear-gradient(105deg,#092c4b,#0b3a60 70%,#0c5b68)!important;color:#fff!important;box-shadow:0 4px 18px rgba(6,39,64,.12)!important}
.pos-layout-premium{gap:10px!important;background:var(--mob-bg)!important}
.pos-sidebar{background:linear-gradient(180deg,#0b2843,#0a2238)!important;border-right:1px solid rgba(255,255,255,.06)!important}
.pos-system-strip{background:#fff!important;border-top:1px solid var(--mob-line)!important;color:#52677a!important}

/* Responsive */
@media(max-width:1500px){
 .cafe-pos-grid{grid-template-columns:minmax(300px,.78fr) minmax(560px,1.45fr) minmax(330px,.82fr)!important}
 .cafe-product-grid{grid-template-columns:repeat(3,minmax(140px,1fr))!important}
 .pharmacy-workspace{grid-template-columns:minmax(420px,1fr) minmax(480px,1.2fr) 340px!important}
 .pharmacy-product-list{grid-template-columns:1fr!important}
}
@media(max-width:1150px){
 .cafe-pos-grid,.pharmacy-workspace{grid-template-columns:1fr!important}
 .cafe-product-grid{grid-template-columns:repeat(3,1fr)!important}
 .pharmacy-product-list{grid-template-columns:repeat(2,1fr)!important}
}


/* ===== SOURCE: mob365-freeze-rc2.css ===== */
/* MOB365 POS - Stable Freeze RC2 visual unification
   Loaded last. No fiscal/API logic changes. */

:root{--m365-navy:#0d2d4f;--m365-blue:#1677f2;--m365-cyan:#19c9c5;--m365-line:#dbe5ee;--m365-bg:#f4f7fb;--m365-text:#10243a;--m365-muted:#6d8194}

/* Shared logo lockup: same M mark in all modules */
.mob365-unified-mark,.mob365-logo-mark,.mob365-login-logo,.sidebar-logo-premium img,.ds-brand-mark{background:#fff!important;border:1px solid #d8e4ef!important;box-shadow:0 5px 14px rgba(14,45,79,.10)!important}
.mob365-unified-mark img,.mob365-logo-mark img,.mob365-login-logo img,.ds-brand-mark img{width:100%!important;height:100%!important;object-fit:contain!important;padding:3px!important;box-sizing:border-box!important}

/* Retail header: single clean enterprise bar */
.pos-app-shell>.ds-topbar{height:60px!important;min-height:60px!important;padding:0 16px!important;border-radius:0!important;background:#fff!important;color:var(--m365-text)!important;border-bottom:1px solid var(--m365-line)!important;box-shadow:0 2px 12px rgba(15,35,58,.06)!important}
.pos-app-shell>.ds-topbar .ds-brand-mark{width:38px!important;height:38px!important;border-radius:10px!important;padding:4px!important}
.pos-app-shell>.ds-topbar .ds-brand-copy small{color:#0b8f83!important;font-size:8px!important;letter-spacing:.15em!important}
.pos-app-shell>.ds-topbar .ds-brand-copy strong{color:var(--m365-text)!important;font-size:15px!important}
.retail-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
.pos-app-shell .command-statuses{display:flex!important;align-items:center!important;gap:6px!important}
.pos-app-shell .command-pill{height:30px!important;padding:0 9px!important;border:1px solid var(--m365-line)!important;border-radius:9px!important;background:#f8fbfd!important;color:#42576c!important;font-size:9px!important;font-weight:850!important;white-space:nowrap!important}
.pos-app-shell .command-pill i{width:7px!important;height:7px!important;background:#13b96d!important}
.pos-app-shell .command-session-clean{display:flex!important;align-items:center!important;gap:6px!important;min-width:0!important}
.pos-app-shell .command-session-clean>span{display:flex!important;align-items:center!important;gap:6px!important;height:34px!important;padding:0 9px!important;border:1px solid var(--m365-line)!important;border-radius:9px!important;background:#fff!important;min-width:0!important}
.pos-app-shell .command-session-clean small{font-size:7px!important;letter-spacing:.08em!important;color:#8292a3!important}
.pos-app-shell .command-session-clean strong{font-size:9px!important;color:var(--m365-text)!important;max-width:135px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.retail-suite-btn,.pos-app-shell .mob365-layout-launcher{height:34px!important;padding:0 10px!important;border:1px solid var(--m365-line)!important;border-radius:9px!important;background:#fff!important;color:var(--m365-text)!important;font-size:9px!important;font-weight:850!important;white-space:nowrap!important}
.pos-app-shell .mob365-layout-launcher{order:3}

/* Retail sidebar: remove duplicate logo clutter, compact hierarchy */
.pos-sidebar{background:#0d2946!important;border-right:1px solid #193b59!important}
.pos-sidebar .sidebar-brand-row{min-height:70px!important;padding:10px!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.pos-sidebar .sidebar-logo-premium{display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.pos-sidebar .sidebar-logo-premium img{width:38px!important;height:38px!important;border-radius:10px!important;flex:0 0 38px!important}
.pos-sidebar .sidebar-logo-premium span{display:grid!important;gap:1px!important;color:#fff!important;line-height:1.05!important}
.pos-sidebar .sidebar-logo-premium b{font-size:12px!important;letter-spacing:.04em!important}.pos-sidebar .sidebar-logo-premium small{font-size:7px!important;letter-spacing:.14em!important;color:#6ee7da!important}
.pos-sidebar .sidebar-group-header{min-height:36px!important;padding:0 10px!important;color:#d7e5f2!important;font-size:9px!important;letter-spacing:.09em!important}
.pos-sidebar .sidebar-link{min-height:38px!important;margin:2px 7px!important;border-radius:9px!important;padding:0 9px!important}.pos-sidebar .sidebar-link.active{background:#123f5c!important;box-shadow:inset 3px 0 0 #31d0bd!important}
.pos-sidebar .logout-btn{margin:8px!important;border-radius:9px!important}

/* Login: visually simpler; product-neutral until module resolution */
.bc-login-shell{max-width:1080px!important}.bc-brand-panel{width:280px!important}.bc-status-list{gap:8px!important}.bc-status-row{padding:7px 0!important}.bc-page-header{padding-bottom:14px!important}.bc-page-header h1{font-size:31px!important}.bc-page-header p{max-width:670px!important}

/* Cafe groups are always visible and horizontally usable */
.cafe-zone-filter.cafe-groups{display:flex!important;gap:6px!important;padding:9px 10px!important;overflow-x:auto!important;background:#f8fbfd!important;border-bottom:1px solid var(--m365-line)!important}
.cafe-zone-filter.cafe-groups button{display:inline-flex!important;align-items:center!important;gap:7px!important;min-height:34px!important;padding:0 10px!important;border:1px solid var(--m365-line)!important;border-radius:9px!important;background:#fff!important;color:#40566d!important;font-size:10px!important;font-weight:850!important;white-space:nowrap!important}
.cafe-zone-filter.cafe-groups button.selected{background:#0d2948!important;border-color:#0d2948!important;color:#fff!important}.cafe-zone-filter.cafe-groups small{display:grid!important;place-items:center!important;min-width:20px!important;height:20px!important;border-radius:99px!important;background:#edf3f8!important;color:#60768b!important}.cafe-zone-filter.cafe-groups button.selected small{background:rgba(255,255,255,.16)!important;color:#fff!important}

/* Pharmacy: readable catalog + billing column */
.pharmacy-workspace{grid-template-columns:minmax(430px,.95fr) minmax(520px,1.15fr) minmax(360px,.78fr)!important;gap:10px!important}
.pharmacy-catalog,.pharmacy-lots,.pharmacy-cart{min-width:0!important;overflow:hidden!important}.pharmacy-product-list{padding:8px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;align-content:start!important}
.pharmacy-product{min-height:82px!important;border:1px solid #dce7ef!important;border-radius:12px!important;padding:10px!important;background:#fff!important}.pharmacy-product>span:nth-child(2){min-width:0!important}.pharmacy-product strong{display:block!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.2!important;font-size:11px!important}.pharmacy-product small{font-size:8px!important}.medicine-stock{min-width:78px!important;text-align:right!important}.medicine-stock b{font-size:13px!important}.pharmacy-cart{display:grid!important;grid-template-rows:auto minmax(220px,1fr) auto auto auto!important}.pharmacy-cart-lines{overflow:auto!important;min-height:0!important}.pharmacy-cart-line{grid-template-columns:minmax(0,1fr) auto auto!important;gap:8px!important;padding:10px 11px!important}.pharmacy-cart-line strong{font-size:11px!important}.clinical-audit{padding:8px 10px!important;gap:6px!important}.pharmacy-cart .cart-total{min-height:62px!important;padding:11px 14px!important}.pharmacy-cart .cart-actions{padding:9px!important;gap:7px!important}.pharmacy-cart .cart-actions .pay{min-height:46px!important;font-weight:900!important}

/* Suite headers: same spacing and logo treatment */
.cafe-commandbar,.m3-top,.ops-topbar{min-height:64px!important;height:64px!important;padding:0 14px!important}.cafe-brand-mark,.m3-logo,.ops-logo{width:40px!important;height:40px!important;border-radius:11px!important;padding:4px!important;background:#fff!important}.cafe-brand-mark img,.m3-logo img,.ops-logo img{width:100%!important;height:100%!important;object-fit:contain!important}

@media(max-width:1300px){.pos-app-shell .command-pill.sync{display:none!important}.pharmacy-workspace{grid-template-columns:minmax(390px,.9fr) minmax(450px,1.1fr) 340px!important}.pharmacy-product-list{grid-template-columns:1fr!important}}
@media(max-width:980px){.pos-app-shell>.ds-topbar{height:auto!important;min-height:60px!important;padding:8px 12px!important}.retail-top-actions{gap:7px!important}.pos-app-shell .command-statuses{display:none!important}.pharmacy-workspace{grid-template-columns:1fr!important}.pharmacy-product-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}


/* ===== SOURCE: mob365-freeze-rc3.css ===== */
/* MOB365 POS FREEZE RC3 — 2026-08-19
   Scope: visual-only finalization for Cafe + Pharmacy + optional Classic theme.
   No fiscal/API/business-rule changes. */

/* ---------- Layout Studio: Premium / Classic selector ---------- */
.mob365-theme-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}
.mob365-theme-card{min-height:66px;padding:11px 13px;text-align:left;border:1px solid #d8e1ea;border-radius:12px;background:#fff;color:#23374d;cursor:pointer;transition:.15s ease}
.mob365-theme-card b,.mob365-theme-card span{display:block}.mob365-theme-card b{font-size:13px}.mob365-theme-card span{margin-top:4px;font-size:10px;color:#77879a}.mob365-theme-card:hover{border-color:#8eb7d5}.mob365-theme-card.active{border-color:#0b8f83;box-shadow:0 0 0 2px rgba(11,143,131,.12);background:#f1fbf9}

/* ---------- Pharmacy: Albanian, readable catalogue, real sales rhythm ---------- */
.pharmacy-v2 .pharmacy-workspace{grid-template-columns:minmax(410px,27%) minmax(540px,1fr) minmax(350px,23%)!important;gap:8px!important}
.pharmacy-v2 .pharmacy-catalog{min-width:0!important}
.pharmacy-v2 .pharmacy-product-list{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding:8px!important;overflow:auto!important;align-content:start!important}
.pharmacy-v2 .pharmacy-product{min-height:82px!important;width:100%!important;display:grid!important;grid-template-columns:44px minmax(0,1fr) 92px!important;grid-template-rows:auto!important;align-items:center!important;gap:10px!important;padding:10px!important;border-radius:12px!important;text-align:left!important;overflow:hidden!important}
.pharmacy-v2 .medicine-icon{width:42px!important;height:42px!important;min-width:42px!important;border-radius:11px!important;font-size:17px!important}
.pharmacy-v2 .medicine-info{min-width:0!important;display:block!important;overflow:hidden!important}
.pharmacy-v2 .medicine-info>strong{display:block!important;font-size:12px!important;line-height:1.22!important;white-space:normal!important;overflow:hidden!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;text-overflow:ellipsis!important}
.pharmacy-v2 .medicine-info>small{display:block!important;margin-top:4px!important;font-size:8.5px!important;line-height:1.2!important;color:#708296!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.pharmacy-v2 .medicine-flags{display:flex!important;gap:4px!important;flex-wrap:wrap!important;margin-top:5px!important}
.pharmacy-v2 .medicine-flags em{position:static!important;font-size:7px!important;padding:2px 5px!important;border-radius:999px!important}
.pharmacy-v2 .medicine-stock{min-width:86px!important;text-align:right!important;display:grid!important;justify-items:end!important;gap:3px!important}
.pharmacy-v2 .medicine-stock b{font-size:14px!important;line-height:1!important;white-space:nowrap!important;color:#08776b!important}
.pharmacy-v2 .medicine-stock small{font-size:8px!important;white-space:nowrap!important;color:#738698!important}
.pharmacy-v2 .ops-filterbar{min-height:36px!important;display:flex!important;gap:4px!important;padding:4px 8px 6px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin}
.pharmacy-v2 .ops-filterbar button{min-width:max-content!important;height:28px!important;padding:0 9px!important;font-size:9px!important}
.pharmacy-v2 .pharmacy-product-summary{grid-template-columns:52px minmax(0,1fr) auto auto!important;gap:10px!important;padding:11px!important}
.pharmacy-v2 .pharmacy-cart{min-width:0!important}
.pharmacy-v2 .pharmacy-cart-lines{padding:8px!important}.pharmacy-v2 .pharmacy-cart-line{min-height:58px!important;padding:8px!important}
.pharmacy-v2 .cart-actions{position:sticky!important;bottom:0!important;background:#fff!important;border-top:1px solid #e1e8ef!important}

/* ---------- Cafe: compact command area ---------- */
.cafe-pos-shell .cafe-kpi-strip{margin:6px 8px!important;gap:6px!important;grid-template-columns:repeat(5,minmax(0,1fr))!important}
.cafe-pos-shell .cafe-kpi{min-height:42px!important;height:42px!important;padding:5px 10px!important;border-radius:10px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
.cafe-pos-shell .cafe-kpi span{font-size:9px!important;white-space:nowrap!important}.cafe-pos-shell .cafe-kpi strong{font-size:15px!important;line-height:1!important;white-space:nowrap!important}
.cafe-pos-shell .cafe-flowbar{margin:0 8px 6px!important;gap:6px!important}
.cafe-pos-shell .cafe-flow-step{min-height:34px!important;height:34px!important;padding:4px 8px!important;gap:6px!important;border-radius:9px!important}
.cafe-pos-shell .cafe-flow-step>b{width:20px!important;height:20px!important;font-size:9px!important}.cafe-pos-shell .cafe-flow-step strong{font-size:9px!important}.cafe-pos-shell .cafe-flow-step small{display:none!important}
.cafe-pos-shell .cafe-panel-header{min-height:46px!important;padding:7px 10px!important}.cafe-pos-shell .cafe-panel-header h2{font-size:16px!important}.cafe-pos-shell .cafe-panel-header .cafe-eyebrow{font-size:8px!important}
.cafe-pos-shell .cafe-zone-filter{padding:5px 8px!important;gap:5px!important}.cafe-pos-shell .cafe-zone-filter button{min-height:30px!important;padding:0 9px!important;border-radius:8px!important;font-size:9px!important}

/* Cafe floor: smaller, recognisable top-view restaurant tables */
.cafe-pos-shell .cafe-table-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))!important;grid-auto-rows:94px!important;gap:10px!important;padding:12px!important;align-content:start!important}
.cafe-pos-shell .cafe-floor-table{position:relative!important;min-height:94px!important;height:94px!important;padding:10px 7px 7px!important;border-width:1.5px!important;border-radius:13px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;overflow:visible!important;box-shadow:0 3px 8px rgba(15,35,60,.05)!important}
.cafe-pos-shell .cafe-floor-table.round{border-radius:50%!important;aspect-ratio:1/1!important;max-width:94px!important;justify-self:center!important}
.cafe-pos-shell .cafe-floor-table .cafe-table-top{display:flex!important;flex-direction:column!important;align-items:center!important;gap:3px!important;width:100%!important}
.cafe-pos-shell .cafe-table-symbol{position:relative!important;display:block!important;width:46px!important;height:30px!important;margin:0 auto 2px!important;color:#506a80!important}
.cafe-pos-shell .cafe-table-symbol b{position:absolute!important;left:8px!important;right:8px!important;top:5px!important;bottom:5px!important;width:auto!important;height:auto!important;border:2px solid currentColor!important;border-radius:7px!important;background:rgba(255,255,255,.72)!important;opacity:1!important}
.cafe-pos-shell .cafe-floor-table.round .cafe-table-symbol b{left:9px!important;right:9px!important;top:1px!important;bottom:1px!important;border-radius:50%!important}
.cafe-pos-shell .cafe-table-symbol i{position:absolute!important;width:7px!important;height:13px!important;border:1.5px solid currentColor!important;background:#fff!important;border-radius:4px!important;opacity:.7!important}
.cafe-pos-shell .cafe-table-symbol i:nth-child(1){left:0!important;top:8px!important}.cafe-pos-shell .cafe-table-symbol i:nth-child(2){right:0!important;top:8px!important}.cafe-pos-shell .cafe-table-symbol i:nth-child(4){left:19px!important;top:-6px!important;width:9px!important;height:7px!important}.cafe-pos-shell .cafe-table-symbol i:nth-child(5){left:19px!important;bottom:-6px!important;width:9px!important;height:7px!important}
.cafe-pos-shell .cafe-floor-table .cafe-table-top>strong{font-size:10px!important;line-height:1.05!important;white-space:nowrap!important}
.cafe-pos-shell .cafe-table-zone{font-size:7px!important;margin-top:2px!important;white-space:nowrap!important;color:#7b8794!important}
.cafe-pos-shell .cafe-table-state{position:absolute!important;top:5px!important;right:5px!important;margin:0!important;font-size:6.5px!important;line-height:1!important;padding:3px 4px!important;border-radius:999px!important}
.cafe-pos-shell .cafe-table-amount{font-size:11px!important;margin-top:3px!important;line-height:1!important}.cafe-pos-shell .cafe-floor-table>small{font-size:6.5px!important;margin-top:3px!important;white-space:nowrap!important}
.cafe-pos-shell .cafe-floor-table.free{background:#f4fff9!important;border-color:#35b982!important}.cafe-pos-shell .cafe-floor-table.occupied{background:#fffaf0!important;border-color:#e9a72f!important}.cafe-pos-shell .cafe-floor-table.reserved{background:#fff8ec!important;border-color:#f28a22!important}
.cafe-pos-shell .cafe-floor-table.free .cafe-table-symbol{color:#19855f!important}.cafe-pos-shell .cafe-floor-table.occupied .cafe-table-symbol{color:#b86c12!important}.cafe-pos-shell .cafe-floor-table.reserved .cafe-table-symbol{color:#d96b05!important}

/* ---------- Classic Windows POS mode — user-selectable per module ---------- */
.mob365-classic{--mob-accent:#003399!important;--mob-header:#0a246a!important;--mob-radius:2px!important;font-family:"Segoe UI",Tahoma,Arial,sans-serif!important;background:#c0c0c0!important;color:#000!important}
.mob365-classic .cafe-commandbar,.mob365-classic .m3-top,.mob365-classic .ops-topbar{background:#0a246a!important;background-image:linear-gradient(90deg,#0a246a,#3a6ea5)!important;border:1px solid #10265f!important;border-radius:0!important;box-shadow:none!important;color:#fff!important}
.mob365-classic .cafe-panel,.mob365-classic .m3-panel,.mob365-classic .ops-panel,.mob365-classic .cafe-kpi,.mob365-classic .ops-kpis article{border:1px solid #7f9db9!important;border-radius:2px!important;background:#ece9d8!important;box-shadow:inset 1px 1px #fff,inset -1px -1px #aca899!important}
.mob365-classic button,.mob365-classic .ops-btn,.mob365-classic .cafe-btn,.mob365-classic .cafe-command-btn,.mob365-classic .m3-btn{border:1px solid #7f9db9!important;border-radius:2px!important;background:linear-gradient(#fff,#ece9d8)!important;color:#000!important;box-shadow:inset 1px 1px #fff!important;font-weight:600!important}
.mob365-classic button:hover,.mob365-classic .ops-btn:hover,.mob365-classic .cafe-btn:hover{background:#fff!important;border-color:#316ac5!important}
.mob365-classic input,.mob365-classic select{border:1px solid #7f9db9!important;border-radius:0!important;background:#fff!important;color:#000!important;box-shadow:inset 1px 1px 2px rgba(0,0,0,.12)!important}
.mob365-classic .cafe-floor-table,.mob365-classic .pharmacy-product,.mob365-classic .lot-row{border-radius:2px!important;background:#fff!important;box-shadow:none!important}
.mob365-classic .cafe-category-chip,.mob365-classic .ops-pill,.mob365-classic .cafe-status-badge,.mob365-classic .ops-status{border-radius:2px!important}
.mob365-classic .cafe-panel-header,.mob365-classic .ops-panel-head{background:#d4d0c8!important;border-bottom:1px solid #7f9db9!important}
.mob365-classic .cafe-product-tile{border-radius:2px!important;box-shadow:none!important;background:#fff!important}
.mob365-classic .cafe-product-tile:hover,.mob365-classic .pharmacy-product:hover{border-color:#316ac5!important;background:#f5f9ff!important}
.mob365-classic .cafe-kpi-strip,.mob365-classic .ops-kpis{background:#c0c0c0!important}

@media(max-width:1280px){
  .pharmacy-v2 .pharmacy-workspace{grid-template-columns:minmax(360px,31%) minmax(430px,1fr) 320px!important}
  .cafe-pos-shell .cafe-table-grid{grid-template-columns:repeat(auto-fill,minmax(86px,1fr))!important;grid-auto-rows:90px!important;gap:8px!important}
}
@media(max-width:900px){.mob365-theme-choice{grid-template-columns:1fr}.cafe-pos-shell .cafe-kpi-strip{grid-template-columns:repeat(3,1fr)!important}}


/* ===== SOURCE: mob365-freeze-rc4.css ===== */
/* MOB365 POS FREEZE RC4 - Cafe table UX + Pharmacy catalog readability */
/* Cafe: compact restaurant-style cards, no chair-art clutter */
.cafe-pos-shell .cafe-table-grid.cafe-floor-map{
  grid-template-columns:repeat(auto-fill,minmax(118px,1fr))!important;
  gap:9px!important;padding:9px!important;align-content:start!important;
}
.cafe-pos-shell .cafe-floor-table,
.cafe-pos-shell .cafe-floor-table.round{
  position:relative!important;width:100%!important;max-width:none!important;aspect-ratio:auto!important;
  height:112px!important;min-height:112px!important;border-radius:14px!important;
  padding:12px 10px 9px!important;align-items:flex-start!important;justify-content:flex-start!important;
  text-align:left!important;overflow:hidden!important;background:#fff!important;
  box-shadow:0 4px 12px rgba(18,49,77,.06)!important;
}
.cafe-pos-shell .cafe-floor-table.free{border:1.5px solid #48b990!important;border-left:4px solid #25a878!important;background:#f8fffb!important}
.cafe-pos-shell .cafe-floor-table.occupied{border:1.5px solid #e9b05b!important;border-left:4px solid #e39a2f!important;background:#fffaf2!important}
.cafe-pos-shell .cafe-floor-table.reserved{border:1.5px solid #e58a36!important;border-left:4px solid #df7416!important;background:#fff8ee!important}
.cafe-pos-shell .cafe-floor-table .cafe-table-symbol{display:none!important}
.cafe-pos-shell .cafe-floor-table .cafe-table-top{display:block!important;width:100%!important;text-align:left!important}
.cafe-pos-shell .cafe-floor-table .cafe-table-top>strong{font-size:13px!important;line-height:1.15!important;color:#102b45!important}
.cafe-pos-shell .cafe-table-zone{font-size:8px!important;color:#73869a!important;margin-top:4px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.cafe-pos-shell .cafe-table-state{position:absolute!important;right:8px!important;top:8px!important;font-size:7px!important;letter-spacing:.07em!important;border-radius:999px!important;padding:3px 6px!important;font-weight:900!important}
.cafe-pos-shell .cafe-table-state.free{color:#087653!important;background:#e7f8ef!important}
.cafe-pos-shell .cafe-table-state.occupied{color:#a75a08!important;background:#fff0d8!important}
.cafe-pos-shell .cafe-table-state.reserved{color:#b45309!important;background:#ffedd5!important}
.cafe-pos-shell .cafe-table-amount{margin-top:auto!important;font-size:14px!important;line-height:1!important;color:#0e2b48!important}
.cafe-pos-shell .cafe-floor-table>small{font-size:7.5px!important;color:#75889a!important;margin-top:5px!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important}

/* Pharmacy: force three clean columns and remove legacy grid collisions */
.pharmacy-v2 .pharmacy-product-list{padding:8px!important;gap:8px!important}
.pharmacy-v2 .pharmacy-product{
  display:grid!important;grid-template-columns:48px minmax(0,1fr) 94px!important;
  grid-template-rows:1fr!important;column-gap:10px!important;align-items:center!important;
  min-height:78px!important;height:auto!important;padding:10px!important;overflow:hidden!important;
}
.pharmacy-v2 .pharmacy-product .medicine-icon{grid-column:1!important;grid-row:1!important;position:static!important;width:42px!important;height:42px!important;min-width:42px!important;margin:0!important;transform:none!important}
.pharmacy-v2 .pharmacy-product .medicine-info{grid-column:2!important;grid-row:1!important;display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:0!important;width:auto!important;overflow:hidden!important;margin:0!important;transform:none!important}
.pharmacy-v2 .pharmacy-product .medicine-info>strong{display:block!important;min-height:0!important;font-size:11.5px!important;line-height:1.18!important;white-space:normal!important;overflow:hidden!important;text-overflow:ellipsis!important;-webkit-line-clamp:2!important}
.pharmacy-v2 .pharmacy-product .medicine-info>small{display:block!important;margin-top:3px!important;font-size:8px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.pharmacy-v2 .pharmacy-product .medicine-flags{display:flex!important;gap:3px!important;flex-wrap:wrap!important;margin-top:3px!important}
.pharmacy-v2 .pharmacy-product .medicine-stock{grid-column:3!important;grid-row:1!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;justify-content:center!important;min-width:88px!important;padding:0!important;border:0!important;margin:0!important;transform:none!important;text-align:right!important}
.pharmacy-v2 .pharmacy-product .medicine-stock b{font-size:13px!important}
.pharmacy-v2 .pharmacy-product .medicine-stock small{font-size:7.5px!important;margin-top:4px!important}
@media(max-width:1450px){.pharmacy-workspace{grid-template-columns:minmax(420px,.95fr) minmax(500px,1.15fr) minmax(320px,.75fr)!important}}


/* ===== SOURCE: mob365-freeze-rc5.css ===== */
/* MOB365 POS FREEZE RC5 - final Cafe floor table + Pharmacy checkout/catalog corrections */
/* CAFE: the button is only a placement cell; the visible object is the real table surface. */
.m3-cafe-v3 .cafe-table-grid.cafe-floor-map{
  grid-template-columns:repeat(4,minmax(96px,1fr))!important;
  grid-auto-rows:112px!important;gap:10px 12px!important;padding:12px!important;
}
.m3-cafe-v3 .cafe-floor-table,.m3-cafe-v3 .cafe-floor-table.round{
  width:100%!important;max-width:none!important;height:104px!important;min-height:104px!important;
  padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;overflow:visible!important;display:grid!important;place-items:center!important;
}
.m3-cafe-v3 .cafe-floor-table .cafe-table-surface{
  width:88px!important;height:72px!important;min-width:88px!important;padding:15px 7px 7px!important;
  border-radius:12px!important;border:2px solid #2eae7d!important;background:#f6fff9!important;
  box-shadow:0 4px 10px rgba(18,49,77,.08)!important;align-items:center!important;justify-content:center!important;
}
.m3-cafe-v3 .cafe-floor-table.round .cafe-table-surface{
  width:78px!important;height:78px!important;min-width:78px!important;border-radius:50%!important;padding:15px 7px 7px!important;
}
.m3-cafe-v3 .cafe-floor-table.occupied .cafe-table-surface{border-color:#e6a33b!important;background:#fffaf1!important}
.m3-cafe-v3 .cafe-floor-table.reserved .cafe-table-surface{border-color:#df7e24!important;background:#fff8ef!important}
.m3-cafe-v3 .cafe-floor-table.selected .cafe-table-surface{border-color:#087d74!important;box-shadow:0 0 0 3px rgba(8,125,116,.14),0 5px 12px rgba(18,49,77,.10)!important}
.m3-cafe-v3 .cafe-chair{background:#a8b8c4!important;border-radius:4px!important;opacity:.95!important}
.m3-cafe-v3 .chair-top,.m3-cafe-v3 .chair-bottom{width:30px!important;height:6px!important}
.m3-cafe-v3 .chair-left,.m3-cafe-v3 .chair-right{width:6px!important;height:28px!important}
.m3-cafe-v3 .chair-top{top:2px!important}.m3-cafe-v3 .chair-bottom{bottom:2px!important}
.m3-cafe-v3 .chair-left{left:calc(50% - 54px)!important}.m3-cafe-v3 .chair-right{right:calc(50% - 54px)!important}
.m3-cafe-v3 .cafe-floor-table.round .chair-left{left:calc(50% - 50px)!important}.m3-cafe-v3 .cafe-floor-table.round .chair-right{right:calc(50% - 50px)!important}
.m3-cafe-v3 .cafe-table-name{font-size:10px!important;line-height:1.05!important;white-space:nowrap!important}
.m3-cafe-v3 .cafe-floor-table .cafe-table-zone{font-size:6.5px!important;margin-top:2px!important}
.m3-cafe-v3 .cafe-floor-table .cafe-table-amount{font-size:11px!important;margin-top:4px!important}
.m3-cafe-v3 .cafe-table-meta{display:none!important}
.m3-cafe-v3 .cafe-floor-table .cafe-table-state{top:4px!important;right:5px!important;font-size:5.8px!important;padding:2px 4px!important}
.m3-cafe-v3 .cafe-floor-table.round .cafe-table-state{right:50%!important}
/* PHARMACY: keep descriptions readable and price/stock isolated. */
.pharmacy-v2 .pharmacy-product{grid-template-columns:44px minmax(150px,1fr) 82px!important;column-gap:8px!important;min-height:72px!important;padding:8px!important}
.pharmacy-v2 .pharmacy-product .medicine-icon{width:38px!important;height:38px!important;min-width:38px!important}
.pharmacy-v2 .pharmacy-product .medicine-info>strong{font-size:11px!important;line-height:1.2!important;-webkit-line-clamp:2!important;white-space:normal!important}
.pharmacy-v2 .pharmacy-product .medicine-stock{min-width:78px!important}
.pharmacy-v2 .pharmacy-product .medicine-stock b{font-size:12.5px!important}
@media(max-width:1500px){.m3-cafe-v3 .cafe-table-grid.cafe-floor-map{grid-template-columns:repeat(4,minmax(90px,1fr))!important}}

/* RC6 - REAL TABLE IMAGE: Cafe + Restaurant. Keep business logic unchanged. */
.m3-cafe-v3 .cafe-table-grid.cafe-floor-map{
  grid-template-columns:repeat(4,minmax(108px,1fr))!important;
  grid-auto-rows:132px!important;gap:8px 10px!important;padding:12px 10px!important;
}
.m3-cafe-v3 .cafe-floor-table,.m3-cafe-v3 .cafe-floor-table.round{
  height:126px!important;min-height:126px!important;position:relative!important;
  background:url('/images/table-4chairs.png') center/contain no-repeat!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
}
.m3-cafe-v3 .cafe-floor-table .cafe-chair{display:none!important}
.m3-cafe-v3 .cafe-floor-table .cafe-table-surface,
.m3-cafe-v3 .cafe-floor-table.round .cafe-table-surface{
  width:58%!important;height:70%!important;min-width:0!important;padding:18px 5px 5px!important;
  border:0!important;border-radius:10px!important;background:transparent!important;box-shadow:none!important;
  color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.85)!important;
}
.m3-cafe-v3 .cafe-floor-table.selected{filter:drop-shadow(0 0 4px #0d9488) drop-shadow(0 0 1px #0d9488)!important}
.m3-cafe-v3 .cafe-floor-table .cafe-table-name{font-size:11px!important;color:#fff!important}
.m3-cafe-v3 .cafe-floor-table .cafe-table-zone{font-size:7px!important;color:#f8fafc!important}
.m3-cafe-v3 .cafe-floor-table .cafe-table-amount{font-size:12px!important;color:#fff!important}
.m3-cafe-v3 .cafe-floor-table .cafe-table-state,
.m3-cafe-v3 .cafe-floor-table.round .cafe-table-state{
  top:12px!important;right:50%!important;transform:translateX(50%)!important;font-size:6.5px!important;
  padding:3px 6px!important;border:0!important;color:#fff!important;text-shadow:none!important;z-index:3!important;
}
.m3-cafe-v3 .cafe-floor-table .cafe-table-state.free{background:#16834f!important}
.m3-cafe-v3 .cafe-floor-table .cafe-table-state.occupied{background:#e68a00!important}
.m3-cafe-v3 .cafe-floor-table .cafe-table-state.reserved{background:#1677d2!important}

/* Restaurant uses the same physical table asset; labels remain live HTML. */
.m3-restaurant .m3-floor .m3-table{
  background:url('/images/table-4chairs.png') center/contain no-repeat!important;
  border:0!important;box-shadow:none!important;border-radius:0!important;color:#fff!important;
  text-shadow:0 1px 3px rgba(0,0,0,.9)!important;overflow:visible!important;padding:28px 22% 20px!important;
}
.m3-restaurant .m3-floor .m3-table .chairs{display:none!important}
.m3-restaurant .m3-floor .m3-table strong,.m3-restaurant .m3-floor .m3-table b{color:#fff!important}
.m3-restaurant .m3-floor .m3-table span:not(.chairs),.m3-restaurant .m3-floor .m3-table em,.m3-restaurant .m3-floor .m3-table small{color:#f8fafc!important}
.m3-restaurant .m3-floor .m3-table.selected{outline:0!important;filter:drop-shadow(0 0 5px #0d9488) drop-shadow(0 0 1px #0d9488)!important}
.m3-restaurant .m3-floor .m3-table:after{top:12px!important;right:50%!important;transform:translateX(50%)!important;color:#fff!important;text-shadow:none!important;background:#16834f!important}
.m3-restaurant .m3-floor .m3-table.busy:after{background:#e68a00!important}.m3-restaurant .m3-floor .m3-table.reserved:after{background:#1677d2!important}
\n\n/* RC7 - deterministic real table rendering. Actual IMG element, no CSS background dependency. */
.m3-cafe-v3 .cafe-table-grid.cafe-floor-map{
  grid-template-columns:repeat(4,minmax(108px,1fr))!important;
  grid-auto-rows:132px!important;gap:8px 10px!important;padding:12px 10px!important;
}
.m3-cafe-v3 .cafe-floor-table,
.m3-cafe-v3 .cafe-floor-table.square,
.m3-cafe-v3 .cafe-floor-table.round{
  position:relative!important;width:100%!important;height:126px!important;min-height:126px!important;
  max-width:none!important;aspect-ratio:auto!important;padding:0!important;margin:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  overflow:visible!important;display:flex!important;align-items:center!important;justify-content:center!important;
}
.m3-cafe-v3 .cafe-floor-table::before,.m3-cafe-v3 .cafe-floor-table::after{display:none!important;content:none!important}
.m3-cafe-v3 .cafe-real-table-image{
  display:block!important;position:absolute!important;z-index:1!important;inset:2px 0!important;
  width:100%!important;height:122px!important;object-fit:contain!important;pointer-events:none!important;
}
.m3-cafe-v3 .cafe-floor-table .cafe-chair{display:none!important}
.m3-cafe-v3 .cafe-floor-table .cafe-table-surface,
.m3-cafe-v3 .cafe-floor-table.round .cafe-table-surface{
  position:relative!important;z-index:2!important;width:52%!important;height:auto!important;min-height:72px!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  padding:10px 3px 4px!important;margin:0!important;border:0!important;border-radius:8px!important;
  background:rgba(70,38,15,.16)!important;box-shadow:none!important;text-align:center!important;
  color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.95)!important;
}
.m3-cafe-v3 .cafe-floor-table .cafe-table-state,
.m3-cafe-v3 .cafe-floor-table.round .cafe-table-state{
  position:absolute!important;top:1px!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;
  z-index:4!important;font-size:6px!important;line-height:1!important;padding:3px 5px!important;border-radius:10px!important;
  color:#fff!important;text-shadow:none!important;white-space:nowrap!important;
}
.m3-cafe-v3 .cafe-floor-table .cafe-table-name{font-size:11px!important;line-height:1.05!important;color:#fff!important;margin-top:3px!important}
.m3-cafe-v3 .cafe-floor-table .cafe-table-zone{font-size:6.5px!important;line-height:1.05!important;color:#fff!important;margin-top:3px!important}
.m3-cafe-v3 .cafe-floor-table .cafe-table-amount{font-size:11px!important;line-height:1!important;color:#fff!important;margin-top:4px!important}
.m3-cafe-v3 .cafe-floor-table .cafe-table-meta{display:none!important}
.m3-cafe-v3 .cafe-floor-table.selected .cafe-real-table-image{filter:drop-shadow(0 0 5px #0d9488) drop-shadow(0 0 2px #0d9488)!important}
@media(max-width:1500px){
 .m3-cafe-v3 .cafe-table-grid.cafe-floor-map{grid-template-columns:repeat(4,minmax(92px,1fr))!important;grid-auto-rows:120px!important}
 .m3-cafe-v3 .cafe-floor-table,.m3-cafe-v3 .cafe-floor-table.square,.m3-cafe-v3 .cafe-floor-table.round{height:116px!important;min-height:116px!important}
 .m3-cafe-v3 .cafe-real-table-image{height:112px!important}
}
\n\n/* RC8 TABLE VISUAL FINAL - real image fills the table slot; live labels stay above it. */
.m3-cafe-v3 .cafe-table-grid.cafe-floor-map{
  grid-template-columns:repeat(4,minmax(112px,1fr))!important;
  grid-auto-rows:142px!important;gap:6px 8px!important;padding:10px 8px!important;
}
.m3-cafe-v3 .cafe-floor-table,.m3-cafe-v3 .cafe-floor-table.square,.m3-cafe-v3 .cafe-floor-table.round{
  height:138px!important;min-height:138px!important;overflow:hidden!important;
}
.m3-cafe-v3 .cafe-real-table-image{
  inset:3px 2px!important;width:calc(100% - 4px)!important;height:132px!important;
  object-fit:fill!important;opacity:1!important;
}
.m3-cafe-v3 .cafe-floor-table .cafe-table-surface,.m3-cafe-v3 .cafe-floor-table.round .cafe-table-surface{
  width:58%!important;min-height:78px!important;padding:12px 4px 5px!important;background:rgba(45,24,9,.10)!important;
}
.m3-cafe-v3 .cafe-floor-table .cafe-table-name{font-size:11.5px!important;font-weight:900!important}
.m3-cafe-v3 .cafe-floor-table .cafe-table-zone{font-size:7px!important}
.m3-cafe-v3 .cafe-floor-table .cafe-table-amount{font-size:12px!important;font-weight:900!important}

/* Restaurant: actual IMG, not a CSS background. This prevents transparent-canvas scaling from shrinking the table. */
.m3-restaurant .m3-floor .m3-table{
  background:transparent!important;overflow:visible!important;padding:28px 17% 16px!important;
  isolation:isolate!important;
}
.m3-restaurant .m3-floor .m3-table .m3-real-table-image{
  display:block!important;position:absolute!important;z-index:-1!important;left:-12%!important;top:-7%!important;
  width:124%!important;height:114%!important;object-fit:fill!important;pointer-events:none!important;
}
.m3-restaurant .m3-floor .m3-table strong{font-size:15px!important;line-height:1.05!important}
.m3-restaurant .m3-floor .m3-table>span:not(.chairs):not(.m3-kitchen-dot){font-size:10px!important;line-height:1.1!important}
.m3-restaurant .m3-floor .m3-table>b{font-size:15px!important;line-height:1.05!important}
.m3-restaurant .m3-floor .m3-table>em{font-size:9px!important;line-height:1!important}
.m3-restaurant .m3-floor .m3-table .m3-table-progress{font-size:8px!important;line-height:1!important}
.m3-restaurant .m3-floor .m3-table.selected .m3-real-table-image{filter:drop-shadow(0 0 6px #0d9488) drop-shadow(0 0 2px #0d9488)!important}
@media(max-width:1500px){
 .m3-cafe-v3 .cafe-table-grid.cafe-floor-map{grid-template-columns:repeat(4,minmax(100px,1fr))!important;grid-auto-rows:132px!important}
 .m3-cafe-v3 .cafe-floor-table,.m3-cafe-v3 .cafe-floor-table.square,.m3-cafe-v3 .cafe-floor-table.round{height:128px!important;min-height:128px!important}
 .m3-cafe-v3 .cafe-real-table-image{height:122px!important}
}

/* MOB365 RC8 FINAL — realistic table rendering, Restaurant + Cafe */
.m3-cafe-v3 .cafe-table-grid.cafe-floor-map{
  grid-template-columns:repeat(4,minmax(112px,1fr))!important;
  grid-auto-rows:128px!important;gap:10px 8px!important;padding:12px 10px!important;
}
.m3-cafe-v3 .cafe-floor-table,.m3-cafe-v3 .cafe-floor-table.square,.m3-cafe-v3 .cafe-floor-table.round{
  height:124px!important;min-height:124px!important;padding:0!important;border:0!important;border-radius:14px!important;
  background:transparent!important;overflow:visible!important;isolation:isolate!important;
}
.m3-cafe-v3 .cafe-real-table-image{
  display:block!important;position:absolute!important;z-index:0!important;left:50%!important;top:50%!important;
  width:116px!important;height:112px!important;transform:translate(-50%,-50%)!important;
  object-fit:contain!important;opacity:1!important;pointer-events:none!important;
}
.m3-cafe-v3 .cafe-floor-table .cafe-table-surface,.m3-cafe-v3 .cafe-floor-table.round .cafe-table-surface{
  position:relative!important;z-index:2!important;width:62px!important;height:78px!important;min-height:78px!important;
  padding:17px 3px 4px!important;border:0!important;border-radius:8px!important;background:rgba(48,27,13,.30)!important;
  box-shadow:none!important;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.85)!important;
}
.m3-cafe-v3 .cafe-floor-table .cafe-table-state{top:5px!important;right:50%!important;transform:translateX(50%)!important;font-size:6px!important;z-index:3!important;text-shadow:none!important}
.m3-cafe-v3 .cafe-floor-table .cafe-table-name{font-size:10px!important;line-height:1.05!important;color:#fff!important;white-space:nowrap!important}
.m3-cafe-v3 .cafe-floor-table .cafe-table-zone{font-size:6.5px!important;line-height:1.05!important;color:#f5f7fa!important;white-space:nowrap!important}
.m3-cafe-v3 .cafe-floor-table .cafe-table-amount{font-size:11px!important;line-height:1!important;margin-top:4px!important;color:#fff!important;white-space:nowrap!important}
.m3-cafe-v3 .cafe-table-meta{display:none!important}
.m3-cafe-v3 .cafe-floor-table.selected .cafe-real-table-image{filter:drop-shadow(0 0 7px #0d9488) drop-shadow(0 0 3px #0d9488)!important}
.m3-cafe-v3 .cafe-floor-table:hover .cafe-real-table-image{filter:drop-shadow(0 4px 5px rgba(15,45,67,.22))!important}
.m3-cafe-v3 .cafe-floor-table.selected:hover .cafe-real-table-image{filter:drop-shadow(0 0 7px #0d9488) drop-shadow(0 0 3px #0d9488)!important}

.m3-restaurant .m3-floor .m3-table{
  padding:25px 13px 12px!important;overflow:visible!important;background:transparent!important;isolation:isolate!important;
}
.m3-restaurant .m3-floor .m3-table .m3-real-table-image{
  z-index:-1!important;left:50%!important;top:50%!important;width:118%!important;height:112%!important;
  transform:translate(-50%,-50%)!important;object-fit:contain!important;
}
.m3-restaurant .m3-floor .m3-table .chairs{display:none!important}
.m3-restaurant .m3-floor .m3-table strong,.m3-restaurant .m3-floor .m3-table>b,
.m3-restaurant .m3-floor .m3-table>span:not(.chairs):not(.m3-kitchen-dot),.m3-restaurant .m3-floor .m3-table>em,
.m3-restaurant .m3-floor .m3-table .m3-table-progress{color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.95)!important}
.m3-restaurant .m3-floor .m3-table strong{font-size:14px!important}.m3-restaurant .m3-floor .m3-table>span:not(.chairs):not(.m3-kitchen-dot){font-size:9px!important}
.m3-restaurant .m3-floor .m3-table>b{font-size:14px!important}.m3-restaurant .m3-floor .m3-table>em{font-size:8px!important}.m3-restaurant .m3-floor .m3-table .m3-table-progress{font-size:7px!important}
@media(max-width:1500px){
 .m3-cafe-v3 .cafe-table-grid.cafe-floor-map{grid-template-columns:repeat(4,minmax(98px,1fr))!important;grid-auto-rows:116px!important;gap:7px 5px!important}
 .m3-cafe-v3 .cafe-floor-table,.m3-cafe-v3 .cafe-floor-table.square,.m3-cafe-v3 .cafe-floor-table.round{height:112px!important;min-height:112px!important}
 .m3-cafe-v3 .cafe-real-table-image{width:106px!important;height:102px!important}
 .m3-cafe-v3 .cafe-floor-table .cafe-table-surface,.m3-cafe-v3 .cafe-floor-table.round .cafe-table-surface{width:58px!important;height:72px!important;min-height:72px!important}
}

/* MOB365 RC9 — final table visual correction. Freeze-safe: visual CSS only. */
.m3-cafe-v3 .cafe-table-grid.cafe-floor-map{
  grid-template-columns:repeat(4,minmax(104px,1fr))!important;
  grid-auto-rows:112px!important;gap:8px 6px!important;padding:12px 8px!important;
}
.m3-cafe-v3 .cafe-floor-table,.m3-cafe-v3 .cafe-floor-table.square,.m3-cafe-v3 .cafe-floor-table.round{
  height:108px!important;min-height:108px!important;padding:0!important;border:0!important;background:transparent!important;
  border-radius:12px!important;overflow:visible!important;display:flex!important;align-items:center!important;justify-content:center!important;
}
.m3-cafe-v3 .cafe-real-table-image{
  left:50%!important;top:50%!important;width:126px!important;height:100px!important;
  transform:translate(-50%,-50%)!important;object-fit:contain!important;z-index:0!important;
}
.m3-cafe-v3 .cafe-floor-table .cafe-table-surface,.m3-cafe-v3 .cafe-floor-table.round .cafe-table-surface{
  position:relative!important;z-index:2!important;width:67px!important;height:66px!important;min-height:66px!important;
  padding:15px 2px 3px!important;background:rgba(38,21,10,.16)!important;border:0!important;border-radius:7px!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
}
.m3-cafe-v3 .cafe-floor-table .cafe-table-state{top:4px!important;font-size:6px!important;padding:2px 5px!important}
.m3-cafe-v3 .cafe-floor-table .cafe-table-name{font-size:10px!important;line-height:1!important;font-weight:900!important}
.m3-cafe-v3 .cafe-floor-table .cafe-table-zone{font-size:6px!important;line-height:1!important;margin-top:3px!important}
.m3-cafe-v3 .cafe-floor-table .cafe-table-amount{font-size:11px!important;line-height:1!important;margin-top:5px!important;font-weight:900!important}

/* Restaurant: keep configured floor coordinates/sizes, but make the physical table image fit and text readable. */
.m3-restaurant .m3-floor .m3-table{
  padding:20px 15% 10px!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;
}
.m3-restaurant .m3-floor .m3-table .m3-real-table-image{
  left:50%!important;top:50%!important;width:132%!important;height:106%!important;
  transform:translate(-50%,-50%)!important;object-fit:contain!important;z-index:-1!important;
}
.m3-restaurant .m3-floor .m3-table strong{font-size:13px!important;line-height:1!important}
.m3-restaurant .m3-floor .m3-table>span:not(.chairs):not(.m3-kitchen-dot){font-size:8px!important;line-height:1.05!important;margin-top:2px!important}
.m3-restaurant .m3-floor .m3-table>b{font-size:13px!important;line-height:1!important;margin-top:4px!important}
.m3-restaurant .m3-floor .m3-table>em{font-size:7px!important;line-height:1!important;margin-top:3px!important;padding:0!important;background:transparent!important}
.m3-restaurant .m3-floor .m3-table .m3-table-progress{font-size:6.5px!important;line-height:1!important;margin-top:2px!important}
.m3-restaurant .m3-floor .m3-table.selected{outline:0!important;filter:drop-shadow(0 0 7px rgba(13,148,136,.75))!important;transform:scale(1.02)!important}
@media(max-width:1500px){
 .m3-cafe-v3 .cafe-table-grid.cafe-floor-map{grid-template-columns:repeat(4,minmax(96px,1fr))!important;grid-auto-rows:104px!important}
 .m3-cafe-v3 .cafe-floor-table,.m3-cafe-v3 .cafe-floor-table.square,.m3-cafe-v3 .cafe-floor-table.round{height:100px!important;min-height:100px!important}
 .m3-cafe-v3 .cafe-real-table-image{width:116px!important;height:94px!important}
 .m3-cafe-v3 .cafe-floor-table .cafe-table-surface,.m3-cafe-v3 .cafe-floor-table.round .cafe-table-surface{width:62px!important;height:62px!important;min-height:62px!important}
}


/* ===== SOURCE: mob365-stable-final.css ===== */
/* MOB365 STABLE FINAL — visual correction layer */
/* Real logo in every module: remove legacy pseudo-logo overlays. */
.mob365-unified-mark:before,.mob365-unified-mark:after{content:none!important;display:none!important}
.mob365-unified-mark img,.mob365-logo-mark img,.mob365-login-logo img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;padding:3px!important;opacity:1!important;visibility:visible!important}
.m3-logo,.ops-logo,.cafe-brand-mark{width:42px!important;height:42px!important;border-radius:12px!important;background:#fff!important}

/* Retail top bar: operator + terminal must remain readable on one line. */
.pos-command-bar{grid-template-columns:minmax(230px,280px) minmax(320px,1fr) minmax(260px,340px)!important;min-height:62px!important;padding:7px 16px!important;gap:14px!important}
.command-session-clean{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;justify-self:end!important;min-width:0!important}
.command-session-clean>span{display:grid!important;gap:1px!important;padding:6px 9px!important;border:1px solid #dbe5ee!important;border-radius:9px!important;background:#fff!important;min-width:0!important}
.command-session-clean small{font-size:7px!important;line-height:1!important;letter-spacing:.11em!important;color:#6f8192!important;font-weight:900!important}
.command-session-clean strong{font-size:10px!important;line-height:1.15!important;max-width:180px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#10243a!important}

/* Retail sidebar: one brand only, less visual noise. */
.pos-sidebar{padding:8px!important}.sidebar-brand-row{min-height:62px!important;padding:0 4px 8px!important;border-bottom:1px solid rgba(255,255,255,.1)!important}
.sidebar-logo-premium{flex:1!important;min-width:0!important;background:transparent!important;padding:5px!important}.sidebar-logo-premium img{width:38px!important;height:38px!important;flex:0 0 38px!important}.sidebar-logo-premium span{min-width:0!important}.sidebar-logo-premium b{font-size:13px!important}.sidebar-logo-premium small{font-size:7px!important}
.sidebar-nav{padding-top:7px!important}.sidebar-group{margin:0 0 5px!important}.sidebar-group-header{min-height:34px!important}.sidebar-group-items{gap:3px!important}

/* Login: intentionally simple — identity, credentials, status. */
.bc-login-shell{max-width:1040px!important;grid-template-columns:270px minmax(0,1fr)!important}.bc-login-content{padding:34px 42px!important}.bc-page-header{margin-bottom:20px!important}.bc-page-header h1{font-size:34px!important}.bc-logo.mob365-login-logo{display:grid!important;place-items:center!important;overflow:hidden!important;background:#fff!important;border:1px solid rgba(255,255,255,.3)!important}
.bc-credentials-section{margin-top:8px!important}.pin-mode-switch{margin-top:8px!important}.pin-operator-card{margin-top:14px!important}

/* Cafe: groups/zones are explicit and useful. */
.cafe-zone-filter.cafe-groups{display:flex!important;gap:7px!important;overflow-x:auto!important;padding:9px!important}.cafe-zone-filter.cafe-groups button{display:flex!important;align-items:center!important;gap:7px!important;white-space:nowrap!important;min-height:36px!important;padding:0 11px!important}.cafe-zone-filter.cafe-groups button small{display:grid!important;place-items:center!important;min-width:20px!important;height:20px!important;padding:0 5px!important;border-radius:999px!important;background:#eaf0f5!important;color:#486074!important;font-size:9px!important;font-weight:900!important}.cafe-zone-filter.cafe-groups button.selected small{background:rgba(255,255,255,.2)!important;color:#fff!important}

/* Pharmacy: catalog first; product name and stock never collapse. */
.pharmacy-workspace{grid-template-columns:minmax(560px,1.15fr) minmax(520px,1.15fr) minmax(390px,.8fr)!important}
.pharmacy-catalog{container-type:inline-size!important}.pharmacy-product-list{grid-template-columns:1fr!important;padding:9px!important;gap:7px!important}.pharmacy-product{width:100%!important;min-height:76px!important;grid-template-columns:44px minmax(180px,1fr) 100px!important;padding:9px 11px!important}.pharmacy-product .medicine-info strong{font-size:12px!important;line-height:1.25!important;min-height:0!important;-webkit-line-clamp:2!important}.pharmacy-product .medicine-stock{min-width:96px!important}.pharmacy-product .medicine-stock b{font-size:14px!important}.pharmacy-cart-lines{padding:8px!important}.pharmacy-cart-line{grid-template-columns:minmax(0,1fr) auto auto!important;gap:8px!important}.clinical-audit{grid-template-columns:repeat(3,minmax(0,1fr))!important}.cart-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;padding:10px!important}.cart-actions .wide{grid-column:1/-1!important}

@media(max-width:1250px){.pos-command-bar{grid-template-columns:220px 1fr 260px!important}.command-pill.sync{display:none!important}.pharmacy-workspace{grid-template-columns:minmax(420px,1fr) minmax(460px,1.15fr) 340px!important}}


/* ===== SOURCE: mob365-tables-rc23.css ===== */
/* MOB365 RC23 - final floor table cleanup. Loaded last intentionally. */

/* ========================= RESTAURANT ========================= */
.m3-restaurant .m3-floor {
  position: relative !important;
  min-height: 560px !important;
}

.m3-restaurant .m3-floor .m3-table.m3-table-clean {
  width: clamp(92px, var(--m3-table-w, 118px), 150px) !important;
  height: clamp(82px, var(--m3-table-h, 108px), 140px) !important;
  min-width: 92px !important;
  min-height: 82px !important;
  padding: 10px 8px 8px !important;
  border: 1.5px solid #cbd8e6 !important;
  border-radius: 15px !important;
  background: #fff !important;
  color: #10243e !important;
  box-shadow: 0 4px 12px rgba(15,35,58,.08) !important;
  overflow: visible !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease !important;
}
.m3-restaurant .m3-floor .m3-table.m3-table-clean.round { border-radius: 28px !important; }
.m3-restaurant .m3-floor .m3-table.m3-table-clean.rectangle { border-radius: 13px !important; }
.m3-restaurant .m3-floor .m3-table.m3-table-clean.free { border-color:#42ba87 !important; background:#f6fffa !important; }
.m3-restaurant .m3-floor .m3-table.m3-table-clean.busy { border-color:#eea126 !important; background:#fffaf2 !important; }
.m3-restaurant .m3-floor .m3-table.m3-table-clean.reserved { border-color:#3b82f6 !important; background:#f5f9ff !important; }
.m3-restaurant .m3-floor .m3-table.m3-table-clean.selected {
  border-color:#0d9488 !important;
  box-shadow:0 0 0 3px rgba(13,148,136,.18),0 8px 20px rgba(15,35,58,.12) !important;
  transform: translateY(-1px) !important;
}

/* Disable all inherited/generated table visuals. */
.m3-restaurant .m3-floor .m3-table.m3-table-clean::before,
.m3-restaurant .m3-floor .m3-table.m3-table-clean::after,
.m3-restaurant .m3-floor .m3-table.m3-table-clean .chairs,
.m3-restaurant .m3-floor .m3-table.m3-table-clean .m3-real-table-image { display:none !important; content:none !important; }

.m3-restaurant .m3-floor .m3-table.m3-table-clean .m3-table-status {
  position:absolute !important;
  top:6px !important;
  left:7px !important;
  z-index:4 !important;
  padding:3px 6px !important;
  border-radius:999px !important;
  font-size:6.5px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.04em !important;
  color:#fff !important;
  background:#64748b !important;
  text-transform:uppercase !important;
  box-shadow:none !important;
}
.m3-restaurant .m3-floor .m3-table.m3-table-clean.free .m3-table-status { background:#128454 !important; }
.m3-restaurant .m3-floor .m3-table.m3-table-clean.busy .m3-table-status { background:#df8200 !important; }
.m3-restaurant .m3-floor .m3-table.m3-table-clean.reserved .m3-table-status { background:#2563c7 !important; }

.m3-restaurant .m3-floor .m3-table.m3-table-clean .m3-table-info {
  position:static !important;
  inset:auto !important;
  transform:none !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding:8px 2px 0 !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:2px !important;
  text-align:center !important;
  color:#10243e !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.m3-restaurant .m3-floor .m3-table.m3-table-clean .m3-table-info > * {
  position:static !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#10243e !important;
  text-shadow:none !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  line-height:1.12 !important;
}
.m3-restaurant .m3-table-clean .m3-table-code { font-size:12px !important; font-weight:950 !important; }
.m3-restaurant .m3-table-clean .m3-table-capacity { font-size:7.5px !important; color:#6b7d90 !important; font-weight:750 !important; }
.m3-restaurant .m3-table-clean .m3-table-total { font-size:14px !important; color:#0b6f68 !important; font-weight:950 !important; margin-top:2px !important; }
.m3-restaurant .m3-table-clean .m3-table-progress { font-size:6.7px !important; color:#718399 !important; font-weight:700 !important; }
.m3-restaurant .m3-table-clean .m3-kitchen-dot { top:7px !important; right:7px !important; width:7px !important; height:7px !important; z-index:5 !important; }
.m3-restaurant .m3-table-clean .m3-layout-edit { top:auto !important; right:5px !important; bottom:5px !important; width:22px !important; height:22px !important; border-radius:7px !important; }

/* =========================== CAFE ============================= */
.m3-cafe-v3 .cafe-table-grid.cafe-floor-map {
  grid-template-columns:repeat(4,minmax(100px,1fr)) !important;
  grid-auto-rows:94px !important;
  align-content:start !important;
  gap:10px !important;
  padding:12px !important;
}
.m3-cafe-v3 .cafe-floor-table,
.m3-cafe-v3 .cafe-floor-table.square,
.m3-cafe-v3 .cafe-floor-table.round {
  position:relative !important;
  width:calc(100px * var(--cafe-table-scale,1)) !important;
  height:calc(78px * var(--cafe-table-scale,1)) !important;
  min-width:88px !important;
  min-height:70px !important;
  padding:0 !important;
  border:1.5px solid #cbd8e6 !important;
  border-radius:15px !important;
  background:#fff !important;
  box-shadow:0 4px 12px rgba(15,35,58,.08) !important;
  overflow:visible !important;
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease !important;
}
.m3-cafe-v3 .cafe-floor-table.round { border-radius:28px !important; }
.m3-cafe-v3 .cafe-floor-table.free { border-color:#42ba87 !important; background:#f6fffa !important; }
.m3-cafe-v3 .cafe-floor-table.occupied { border-color:#eea126 !important; background:#fffaf2 !important; }
.m3-cafe-v3 .cafe-floor-table.reserved { border-color:#3b82f6 !important; background:#f5f9ff !important; }
.m3-cafe-v3 .cafe-floor-table.selected {
  border-color:#0d9488 !important;
  box-shadow:0 0 0 3px rgba(13,148,136,.18),0 8px 20px rgba(15,35,58,.12) !important;
}
.m3-cafe-v3 .cafe-floor-table::before,
.m3-cafe-v3 .cafe-floor-table::after,
.m3-cafe-v3 .cafe-floor-table .cafe-real-table-image { display:none !important; content:none !important; }

.m3-cafe-v3 .cafe-floor-table .cafe-table-surface,
.m3-cafe-v3 .cafe-floor-table.round .cafe-table-surface {
  position:absolute !important;
  inset:0 !important;
  transform:none !important;
  width:100% !important;
  height:100% !important;
  padding:10px 7px 6px !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:2px !important;
  border:0 !important;
  border-radius:inherit !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#10243e !important;
  pointer-events:none !important;
}
.m3-cafe-v3 .cafe-floor-table .cafe-table-state,
.m3-cafe-v3 .cafe-floor-table.round .cafe-table-state {
  position:absolute !important;
  top:5px !important;
  left:7px !important;
  right:auto !important;
  transform:none !important;
  z-index:5 !important;
  padding:3px 6px !important;
  border-radius:999px !important;
  font-size:6.3px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.04em !important;
  color:#fff !important;
  box-shadow:none !important;
}
.m3-cafe-v3 .cafe-floor-table .cafe-table-state.free { background:#128454 !important; }
.m3-cafe-v3 .cafe-floor-table .cafe-table-state.occupied { background:#df8200 !important; }
.m3-cafe-v3 .cafe-floor-table .cafe-table-state.reserved { background:#2563c7 !important; }
.m3-cafe-v3 .cafe-floor-table .cafe-table-name,
.m3-cafe-v3 .cafe-floor-table .cafe-table-amount,
.m3-cafe-v3 .cafe-floor-table .cafe-table-zone {
  position:static !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  color:#10243e !important;
  text-shadow:none !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  text-align:center !important;
}
.m3-cafe-v3 .cafe-floor-table .cafe-table-name { font-size:10.5px !important; font-weight:950 !important; }
.m3-cafe-v3 .cafe-floor-table .cafe-table-zone { font-size:6.8px !important; color:#6b7d90 !important; font-weight:750 !important; }
.m3-cafe-v3 .cafe-floor-table .cafe-table-amount { font-size:13px !important; color:#0b6f68 !important; font-weight:950 !important; margin-top:2px !important; }
.m3-cafe-v3 .cafe-floor-table .cafe-table-meta { display:none !important; }

/* Edit mode: obvious but non-destructive. */
.m3-cafe-v3 .cafe-floor-table.layout-editing { cursor:grab !important; outline:1px dashed #6b8aa8 !important; outline-offset:3px !important; }
.m3-cafe-v3 .cafe-floor-table.layout-editing:active { cursor:grabbing !important; }

/* Keep checkout exactly at the bottom of the right panel. */
.m3-cafe-v3 .cafe-cart-panel,
.m3-cafe-v3 .cafe-order-panel {
  min-height:0 !important;
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
}
.m3-cafe-v3 .cafe-order-content,
.m3-cafe-v3 .cafe-cart-body { min-height:0 !important; flex:1 1 auto !important; overflow:auto !important; }
.m3-cafe-v3 .cafe-payment-actions { position:static !important; flex:0 0 auto !important; margin-top:auto !important; width:100% !important; }

@media(max-width:1500px){
  .m3-cafe-v3 .cafe-table-grid.cafe-floor-map{grid-template-columns:repeat(4,minmax(92px,1fr))!important;grid-auto-rows:90px!important;gap:8px!important;padding:10px!important}
  .m3-cafe-v3 .cafe-floor-table,.m3-cafe-v3 .cafe-floor-table.square,.m3-cafe-v3 .cafe-floor-table.round{width:calc(94px * var(--cafe-table-scale,1))!important;height:calc(74px * var(--cafe-table-scale,1))!important}
}


/* ===== SOURCE: mob365-tables-rc24.css ===== */
/* MOB365 RC24 - clean operator floor plan */
/* Restaurant: no inherited legacy info box. */
.m3-restaurant .m3-floor{position:relative!important;min-height:560px!important;background-color:#f8fbfe!important}
.m3-restaurant .m3-floor .m3-table.m3-table-clean{
 width:clamp(104px,var(--m3-table-w,124px),154px)!important;height:clamp(88px,var(--m3-table-h,104px),132px)!important;
 min-width:104px!important;min-height:88px!important;padding:0!important;border:2px solid #d7e2ed!important;border-radius:16px!important;
 background:#fff!important;color:#10243e!important;box-shadow:0 3px 10px rgba(18,42,66,.07)!important;overflow:hidden!important;
 display:block!important;transform:none!important
}
.m3-restaurant .m3-floor .m3-table.m3-table-clean.round{border-radius:28px!important}
.m3-restaurant .m3-floor .m3-table.m3-table-clean.free{border-color:#46bd8a!important;background:#f8fffb!important}
.m3-restaurant .m3-floor .m3-table.m3-table-clean.busy{border-color:#f0a32c!important;background:#fffdf8!important}
.m3-restaurant .m3-floor .m3-table.m3-table-clean.reserved{border-color:#4387df!important;background:#f8fbff!important}
.m3-restaurant .m3-floor .m3-table.m3-table-clean.selected{border-color:#0d9488!important;box-shadow:0 0 0 3px rgba(13,148,136,.17),0 7px 18px rgba(18,42,66,.13)!important}
.m3-restaurant .m3-floor .m3-table.m3-table-clean::before,.m3-restaurant .m3-floor .m3-table.m3-table-clean::after{display:none!important;content:none!important}
.m3-restaurant .m3-table-clean .m3-table-status{top:6px!important;right:7px!important;left:auto!important;font-size:7px!important;padding:3px 6px!important}
.m3-restaurant .m3-table-clean .rc24-table-info{position:absolute!important;inset:0!important;padding:24px 8px 8px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;background:transparent!important;color:#10243e!important;text-align:center!important;border:0!important;box-shadow:none!important}
.m3-restaurant .m3-table-clean .rc24-table-info>*{position:static!important;display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;color:#10243e!important;text-shadow:none!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:1.1!important}
.m3-restaurant .m3-table-clean .rc24-table-code{font-size:14px!important;font-weight:950!important}
.m3-restaurant .m3-table-clean .rc24-table-capacity{font-size:8px!important;font-weight:700!important;color:#667b90!important}
.m3-restaurant .m3-table-clean .rc24-table-total{font-size:14px!important;font-weight:950!important;color:#087b72!important;margin-top:2px!important}
.m3-restaurant .m3-table-clean .rc24-table-progress{font-size:7px!important;font-weight:700!important;color:#718399!important}
.m3-restaurant .m3-table-clean .m3-kitchen-dot{left:8px!important;right:auto!important;top:8px!important;width:7px!important;height:7px!important}
.m3-restaurant .m3-table-clean .m3-layout-edit{right:5px!important;bottom:5px!important;top:auto!important;width:23px!important;height:23px!important}

/* Cafe: uniform cards, status never overlaps table name. */
.m3-cafe-v3 .cafe-table-grid.cafe-floor-map{grid-template-columns:repeat(4,minmax(112px,1fr))!important;grid-auto-rows:100px!important;gap:10px!important;padding:12px!important;align-content:start!important}
.m3-cafe-v3 .cafe-floor-table,.m3-cafe-v3 .cafe-floor-table.square,.m3-cafe-v3 .cafe-floor-table.round{position:relative!important;width:calc(108px * var(--cafe-table-scale,1))!important;height:calc(82px * var(--cafe-table-scale,1))!important;min-width:98px!important;min-height:76px!important;padding:0!important;border:2px solid #d7e2ed!important;border-radius:16px!important;background:#fff!important;box-shadow:0 3px 10px rgba(18,42,66,.07)!important;overflow:hidden!important}
.m3-cafe-v3 .cafe-floor-table.round{border-radius:28px!important}.m3-cafe-v3 .cafe-floor-table.free{border-color:#46bd8a!important;background:#f8fffb!important}.m3-cafe-v3 .cafe-floor-table.occupied{border-color:#f0a32c!important;background:#fffdf8!important}.m3-cafe-v3 .cafe-floor-table.reserved{border-color:#4387df!important;background:#f8fbff!important}.m3-cafe-v3 .cafe-floor-table.selected{border-color:#0d9488!important;box-shadow:0 0 0 3px rgba(13,148,136,.17),0 7px 18px rgba(18,42,66,.13)!important}
.m3-cafe-v3 .cafe-floor-table::before,.m3-cafe-v3 .cafe-floor-table::after{display:none!important;content:none!important}
.m3-cafe-v3 .cafe-floor-table .rc24-cafe-surface{position:absolute!important;inset:0!important;padding:24px 7px 7px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;background:transparent!important;color:#10243e!important;border:0!important;box-shadow:none!important;pointer-events:none!important}
.m3-cafe-v3 .cafe-floor-table .rc24-cafe-state{position:absolute!important;top:6px!important;right:7px!important;left:auto!important;padding:3px 6px!important;border-radius:999px!important;font-size:6.7px!important;line-height:1!important;font-weight:950!important;color:#fff!important;z-index:5!important}.m3-cafe-v3 .rc24-cafe-state.free{background:#128454!important}.m3-cafe-v3 .rc24-cafe-state.occupied{background:#df8200!important}.m3-cafe-v3 .rc24-cafe-state.reserved{background:#2563c7!important}
.m3-cafe-v3 .rc24-cafe-name,.m3-cafe-v3 .rc24-cafe-zone,.m3-cafe-v3 .rc24-cafe-amount{position:static!important;display:block!important;width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;color:#10243e!important;text-shadow:none!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-align:center!important;line-height:1.1!important}.m3-cafe-v3 .rc24-cafe-name{font-size:11px!important;font-weight:950!important}.m3-cafe-v3 .rc24-cafe-zone{font-size:7px!important;font-weight:700!important;color:#667b90!important}.m3-cafe-v3 .rc24-cafe-amount{font-size:13px!important;font-weight:950!important;color:#087b72!important;margin-top:2px!important}.m3-cafe-v3 .rc24-cafe-meta{display:none!important}
.m3-cafe-v3 .cafe-floor-table.layout-editing{cursor:grab!important;outline:1px dashed #6b8aa8!important;outline-offset:3px!important}.m3-cafe-v3 .cafe-floor-table.layout-editing:active{cursor:grabbing!important}
/* checkout stays at bottom */
.m3-cafe-v3 .cafe-cart-panel,.m3-cafe-v3 .cafe-order-panel{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important}.m3-cafe-v3 .cafe-order-content,.m3-cafe-v3 .cafe-cart-body{flex:1 1 auto!important;min-height:0!important;overflow:auto!important}.m3-cafe-v3 .cafe-payment-actions{position:static!important;margin-top:auto!important;flex:0 0 auto!important;width:100%!important}
@media(max-width:1500px){.m3-cafe-v3 .cafe-table-grid.cafe-floor-map{grid-template-columns:repeat(4,minmax(100px,1fr))!important;grid-auto-rows:94px!important;gap:8px!important;padding:10px!important}.m3-cafe-v3 .cafe-floor-table,.m3-cafe-v3 .cafe-floor-table.square,.m3-cafe-v3 .cafe-floor-table.round{width:calc(102px * var(--cafe-table-scale,1))!important;height:calc(78px * var(--cafe-table-scale,1))!important}}


/* ===== SOURCE: mob365-tables-rc25.css ===== */
/* MOB365 RC25 - final floor plan cleanup + cafe checkout footer */

/* ---------- RESTAURANT FLOOR PLAN ---------- */
.m3-restaurant .m3-floor .m3-table.m3-table-clean{
  width:clamp(112px,var(--m3-table-w,128px),166px)!important;
  height:clamp(94px,var(--m3-table-h,108px),140px)!important;
  min-width:112px!important; min-height:94px!important;
  padding:14px 10px 10px!important;
  border:2px solid #d7e2ed!important;
  border-radius:18px!important;
  background:#fff!important;
  color:#10243e!important;
  box-shadow:0 3px 10px rgba(18,42,66,.08)!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
}
.m3-restaurant .m3-floor .m3-table.m3-table-clean.busy{border-color:#f0a32c!important;background:#fffaf1!important}
.m3-restaurant .m3-floor .m3-table.m3-table-clean.free{border-color:#42ba88!important;background:#f5fff9!important}
.m3-restaurant .m3-floor .m3-table.m3-table-clean.reserved{border-color:#3b82f6!important;background:#f5f9ff!important}
.m3-restaurant .m3-floor .m3-table.m3-table-clean.selected{border-color:#0f9588!important;box-shadow:0 0 0 3px rgba(15,149,136,.16),0 8px 18px rgba(18,42,66,.12)!important}
.m3-restaurant .m3-floor .m3-table.m3-table-clean.round{border-radius:34px!important}
.m3-restaurant .m3-table-clean .rc24-table-info,
.m3-restaurant .m3-table-clean .m3-table-status,
.m3-restaurant .m3-table-clean .m3-kitchen-dot{display:none!important}
.m3-restaurant .m3-table-clean .rc25-table-status{position:absolute!important;top:7px!important;right:7px!important;left:auto!important;padding:3px 7px!important;border-radius:999px!important;font-size:7px!important;line-height:1!important;font-weight:900!important;color:#fff!important;background:#df8500!important;letter-spacing:.02em!important}
.m3-restaurant .m3-table-clean.free .rc25-table-status{background:#118354!important}
.m3-restaurant .m3-table-clean.reserved .rc25-table-status{background:#2868cc!important}
.m3-restaurant .m3-table-clean .rc25-table-code{display:block!important;width:auto!important;max-width:86%!important;margin:7px 0 0!important;padding:0!important;background:transparent!important;color:#10243e!important;border:0!important;box-shadow:none!important;text-shadow:none!important;font-size:16px!important;line-height:1!important;font-weight:950!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.m3-restaurant .m3-table-clean .rc25-table-capacity{display:block!important;width:auto!important;max-width:92%!important;margin:0!important;padding:0!important;background:transparent!important;color:#63778b!important;border:0!important;box-shadow:none!important;text-shadow:none!important;font-size:8px!important;line-height:1.15!important;font-weight:700!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.m3-restaurant .m3-table-clean .rc25-table-total{display:block!important;width:auto!important;margin:2px 0 0!important;padding:0!important;background:transparent!important;color:#087b72!important;border:0!important;box-shadow:none!important;text-shadow:none!important;font-size:15px!important;line-height:1!important;font-weight:950!important}
.m3-restaurant .m3-table-clean .rc25-table-sub{display:block!important;width:auto!important;max-width:92%!important;margin:0!important;padding:0!important;background:transparent!important;color:#73869a!important;border:0!important;box-shadow:none!important;text-shadow:none!important;font-size:7px!important;line-height:1.1!important;font-weight:700!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.m3-restaurant .m3-table-clean .rc25-kitchen-dot{position:absolute!important;left:9px!important;bottom:8px!important;width:7px!important;height:7px!important;border-radius:50%!important;background:#96a7b7!important}
.m3-restaurant .m3-table-clean .rc25-kitchen-dot.waiting{background:#ef4444!important}.m3-restaurant .m3-table-clean .rc25-kitchen-dot.partial{background:#f59e0b!important}.m3-restaurant .m3-table-clean .rc25-kitchen-dot.served{background:#22a06b!important}

/* ---------- CAFE CHECKOUT ---------- */
.m3-cafe-v3 .cafe-cart-panel{display:flex!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important}
.m3-cafe-v3 .cafe-cart-list{flex:1 1 auto!important;min-height:0!important;overflow:auto!important}
.m3-cafe-v3 .rc25-cafe-checkout{margin-top:auto!important;flex:0 0 auto!important;background:#fff!important;border-top:1px solid #dbe5ee!important;display:flex!important;flex-direction:column!important}
.m3-cafe-v3 .rc25-cafe-checkout .cafe-cart-summary{margin:0!important;padding:10px 12px!important;background:#fbfdff!important;border:0!important}
.m3-cafe-v3 .rc25-cafe-checkout .cafe-total{margin:0!important;border-radius:0!important}
.m3-cafe-v3 .rc25-cafe-checkout .cafe-payment-grid{position:static!important;margin:0!important;padding:12px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;background:#fff!important}
.m3-cafe-v3 .rc25-cafe-checkout .cafe-payment{min-height:56px!important}
.m3-cafe-v3 .rc25-cafe-checkout .cafe-integration-note{margin:0!important;padding:0 12px 8px!important;background:#fff!important}

/* Slightly cleaner cafe table labels */
.m3-cafe-v3 .cafe-floor-table .rc24-cafe-state{top:7px!important;right:7px!important}
.m3-cafe-v3 .cafe-floor-table .rc24-cafe-name{font-size:11.5px!important}
.m3-cafe-v3 .cafe-floor-table .rc24-cafe-amount{font-size:13.5px!important}



/* ========================================================================
   MOB365 RC27 — RESTAURANT FLOOR PREMIUM / SCALE CONTROL
   2026-08-20 — Restaurant only. Cafe/Pharmacy/Retail untouched.
   ======================================================================== */
.m3-restaurant .restaurant-floor-actions{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;
  gap:8px!important;flex-wrap:nowrap!important
}
.m3-restaurant .restaurant-scale-control{
  display:inline-grid!important;grid-template-columns:34px 56px 34px!important;
  align-items:center!important;height:38px!important;border:1px solid #cfdae6!important;
  border-radius:10px!important;overflow:hidden!important;background:#fff!important;
  box-shadow:0 2px 7px rgba(15,35,58,.05)!important;flex:0 0 auto!important
}
.m3-restaurant .restaurant-scale-btn{
  width:34px!important;height:36px!important;border:0!important;background:#fff!important;
  color:#12304d!important;font-size:20px!important;font-weight:900!important;line-height:1!important;
  cursor:pointer!important;display:grid!important;place-items:center!important
}
.m3-restaurant .restaurant-scale-btn:hover:not(:disabled){background:#edf8f6!important;color:#0b8f83!important}
.m3-restaurant .restaurant-scale-btn:disabled{opacity:.35!important;cursor:not-allowed!important}
.m3-restaurant .restaurant-scale-value{
  height:36px!important;display:grid!important;place-items:center!important;border-left:1px solid #e0e7ef!important;
  border-right:1px solid #e0e7ef!important;background:#f7fafc!important;color:#41566d!important;
  font-size:10px!important;font-weight:900!important;letter-spacing:.02em!important
}
.m3-restaurant .m3-floor.restaurant-floor-grid{
  position:relative!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-flow:row!important;grid-auto-rows:calc(132px * var(--restaurant-scale,1))!important;
  column-gap:14px!important;row-gap:12px!important;align-content:start!important;justify-content:stretch!important;
  min-height:610px!important;padding:18px 12px!important;overflow:auto!important
}
.m3-restaurant .m3-floor.restaurant-floor-grid>.m3-table.m3-table-clean,
.m3-restaurant .m3-floor.restaurant-floor-grid>.m3-table.m3-table-clean.round,
.m3-restaurant .m3-floor.restaurant-floor-grid>.m3-table.m3-table-clean.square,
.m3-restaurant .m3-floor.restaurant-floor-grid>.m3-table.m3-table-clean.rectangle{
  position:relative!important;left:auto!important;top:auto!important;right:auto!important;bottom:auto!important;inset:auto!important;
  width:var(--m3-table-w,128px)!important;height:var(--m3-table-h,112px)!important;
  min-width:calc(104px * var(--restaurant-scale,1))!important;min-height:calc(92px * var(--restaurant-scale,1))!important;
  max-width:calc(168px * var(--restaurant-scale,1))!important;max-height:calc(150px * var(--restaurant-scale,1))!important;
  margin:0!important;padding:15px 9px 10px!important;justify-self:center!important;align-self:start!important;
  transform:none!important;float:none!important;border-radius:20px!important;overflow:hidden!important;box-sizing:border-box!important
}
.m3-restaurant .m3-floor.restaurant-floor-grid>.m3-table.m3-table-clean:hover{transform:translateY(-2px)!important}
.m3-restaurant .m3-floor.restaurant-floor-grid>.m3-table.m3-table-clean.selected{
  transform:none!important;box-shadow:0 0 0 3px rgba(13,148,136,.16),0 9px 22px rgba(15,35,58,.13)!important
}
.m3-restaurant .m3-floor.restaurant-floor-grid .rc25-table-code{font-size:clamp(13px,calc(14px * var(--restaurant-scale,1)),18px)!important}
.m3-restaurant .m3-floor.restaurant-floor-grid .rc25-table-capacity{font-size:clamp(8px,calc(8px * var(--restaurant-scale,1)),11px)!important}
.m3-restaurant .m3-floor.restaurant-floor-grid .rc25-table-total{font-size:clamp(13px,calc(14px * var(--restaurant-scale,1)),18px)!important}
.m3-restaurant .m3-floor.restaurant-floor-grid .rc25-table-sub{font-size:clamp(7px,calc(7px * var(--restaurant-scale,1)),10px)!important;max-width:92%!important}
.m3-restaurant .m3-floor.restaurant-floor-grid .rc25-table-status{font-size:clamp(6.5px,calc(7px * var(--restaurant-scale,1)),9px)!important}
.m3-restaurant .m3-floor.restaurant-floor-grid .rc25-reserve-action{font-size:clamp(7px,calc(8px * var(--restaurant-scale,1)),10px)!important}
@media(max-width:1500px){
  .m3-restaurant .m3-floor.restaurant-floor-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;column-gap:8px!important;padding:14px 8px!important}
  .m3-restaurant .restaurant-scale-control{grid-template-columns:30px 48px 30px!important;height:34px!important}
  .m3-restaurant .restaurant-scale-btn{width:30px!important;height:32px!important;font-size:18px!important}
  .m3-restaurant .restaurant-scale-value{height:32px!important;font-size:9px!important}
}
@media(max-width:900px){
  .m3-restaurant .restaurant-floor-actions{gap:6px!important;flex-wrap:wrap!important}
  .m3-restaurant .m3-floor.restaurant-floor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:calc(126px * var(--restaurant-scale,1))!important}
}
