/* ============================================================
   სტილები — ქართული გზამკვლევი
   საერთო დიზაინი | ადმინისტრატორი | ფინანსები | მაგიდები |
   მიმტანი | მოლარე | მენიუ | ჩეკები | ბეჭდვის ვიზუალი
   ============================================================ */

@font-face{font-family:'BPG ExtraSquare Mtavruli';src:url('fonts/bpg_extrasquare_mtavruli_2009.ttf') format('truetype');font-weight:normal;font-style:normal;font-display:swap;}
:root{--y:#ffd400;--y2:#fff4a8;--white:#fff;--ink:#2a2400;--line:#f0cf00;--soft:#fffbea;--green:#16a34a;--red:#dc2626}*{box-sizing:border-box}body{margin:0;background:var(--white);color:var(--ink);font-family:'BPG ExtraSquare Mtavruli',Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}header{height:76px;display:flex;align-items:center;gap:18px;padding:0 22px;border-bottom:3px solid var(--y);position:sticky;top:0;background:var(--white);z-index:5;box-shadow:0 4px 18px rgba(255,212,0,.18)}header strong{color:#b58f00;font-size:21px}header small{display:block;color:#8a7600}header #who{margin-left:auto;font-weight:800}button,input,select{font:inherit}button{border:2px solid var(--y);border-radius:12px;padding:11px 15px;background:var(--y);color:var(--ink);font-weight:900;cursor:pointer;transition:.15s}button:hover{transform:translateY(-1px);box-shadow:0 5px 12px rgba(255,212,0,.28)}.ghost{background:var(--white)}.danger{background:var(--white);border-color:var(--red);color:var(--red)}.hidden{display:none!important}main{padding:18px;max-width:1500px;margin:auto}nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.page{min-height:400px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}.card,.stat{background:var(--white);border:2px solid var(--y);border-radius:18px;padding:16px;box-shadow:0 7px 20px rgba(255,212,0,.12)}.card h3{margin:0 0 10px}.money{font-size:23px;color:#b58f00;font-weight:900}.green{color:var(--green)!important}.red{color:var(--red)!important}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:12px;margin-bottom:18px}.stat{background:var(--soft)}.row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.muted{color:#8a7600}.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:9px;max-height:52vh;overflow:auto}.product{background:var(--white);color:var(--ink);text-align:left;border:2px solid var(--y);display:flex;flex-direction:column;justify-content:space-between;min-height:78px}.product b{display:block;color:#a77f00;margin-top:8px}.category-strip{display:flex;gap:8px;overflow:auto;padding:8px 0 12px}.category-strip button{white-space:nowrap;background:var(--white)}input,select{width:100%;background:var(--white);color:var(--ink);border:2px solid var(--y);border-radius:10px;padding:11px}.form{display:grid;gap:10px}.form label{font-weight:800}.overlay{position:fixed;inset:0;background:rgba(255,212,0,.32);display:grid;place-items:center;z-index:20;padding:15px;backdrop-filter:blur(4px)}.login,.modal{width:min(760px,100%);max-height:92vh;overflow:auto;background:var(--white);border:3px solid var(--y);border-radius:20px;padding:24px;position:relative;box-shadow:0 18px 60px rgba(128,99,0,.25)}.login{text-align:center;max-width:400px}.login h1{color:#b58f00}.login input{font-size:28px;text-align:center;letter-spacing:8px;margin:10px 0}.x{position:absolute;right:12px;top:12px;background:var(--white)}.error{color:var(--red);margin:8px}.pill{padding:5px 9px;border-radius:999px;background:var(--y2);font-size:12px;font-weight:800}.tables-grid{align-items:start}.table-card{border:3px solid var(--y);border-radius:22px;background:linear-gradient(180deg,#fff 0%,#fffdf1 100%);padding:18px;box-shadow:0 10px 25px rgba(255,212,0,.18)}.table-card.low-deposit{border-color:var(--red);box-shadow:0 10px 25px rgba(220,38,38,.16)}.table-top{display:flex;gap:12px;align-items:center;border-bottom:2px dashed var(--y);padding-bottom:12px;margin-bottom:12px}.table-number{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:var(--y);font-size:25px;font-weight:900}.table-top h3{margin:0;font-size:18px}.guest{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.guest span{color:#8a7600}.financial{display:grid;grid-template-columns:1fr 1fr;gap:9px}.financial>div{background:var(--white);border:1px solid var(--y);border-radius:12px;padding:10px}.financial span{display:block;font-size:12px;color:#806d00;margin-bottom:4px}.financial b{font-size:17px}.order-meta{margin:12px 0;font-weight:800}.warning{background:#fff0f0;border:2px solid var(--red);color:var(--red);padding:9px;border-radius:11px;font-weight:900;text-align:center}.actions{margin-top:12px}.order-line,.history-row{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid var(--y);padding:10px 0}.order-line small{display:block;color:#8a7600}.qty{font-size:20px;color:#b58f00;font-weight:900}.tiny{padding:6px 9px;font-size:12px}@media(max-width:600px){header{padding:0 12px}main{padding:12px}.products{grid-template-columns:repeat(2,1fr)}button{padding:10px}.card,.table-card{padding:13px}.financial{grid-template-columns:1fr}.table-number{width:56px;height:56px}.order-line,.history-row{align-items:flex-start;flex-direction:column}}
.compact-financial>div{padding:8px}.compact-financial small{display:block;margin-top:4px;color:#8a7600;font-size:11px}.table-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.table-actions button{padding:9px 8px;font-size:13px}.modal-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:2px solid var(--y);padding-bottom:12px;margin-bottom:14px}.modal-title-row h2,.modal-title-row p{margin:0 0 5px}.mini-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.mini-stats>div{border:1px solid var(--y);border-radius:12px;padding:9px;background:var(--soft)}.mini-stats span{display:block;font-size:11px;color:#806d00;margin-bottom:4px}.mini-stats b{font-size:16px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.modal{width:min(980px,100%)}
@media(max-width:700px){.mini-stats{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}.table-actions{grid-template-columns:1fr 1fr}.modal-title-row{align-items:stretch;flex-direction:column}}

/* UX refinements */
.table-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:2px dashed var(--y);padding-bottom:12px;margin-bottom:12px}.table-identity{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.table-person{min-width:0}.table-person h3{margin:0 0 5px;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}.table-sub{font-size:12px;color:#806d00;font-weight:700}.status-badge{flex:0 0 auto;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900;background:var(--y2);border:1px solid var(--y);text-transform:capitalize}.status-closed{background:#fff;border-color:#aaa;color:#666}.status-active{background:var(--y);color:var(--ink)}
.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:7px;margin:8px 0 14px}.category-card{min-height:64px;padding:8px 6px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px}.category-card span{font-size:20px}.category-card b{line-height:1.15}.category-card.active{background:var(--y);box-shadow:0 4px 12px rgba(255,212,0,.3)}
.menu-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:10px}.menu-toolbar input{flex:1}.cart-badge{flex:0 0 auto;background:var(--y);border-radius:999px;padding:9px 12px;font-weight:900;font-size:12px}.order-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px;align-items:start}.order-layout .products{max-height:48vh}.product small{margin-top:6px;color:#806d00}.cart-panel{position:sticky;top:0;border:2px solid var(--y);border-radius:16px;padding:12px;background:var(--soft)}.cart-panel h3{margin:0 0 10px}.cart-lines{max-height:34vh;overflow:auto}.cart-line{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--line)}.cart-line small{display:block;color:#806d00;margin-top:2px}.qty-control{display:grid;grid-template-columns:34px 34px 34px;align-items:center;text-align:center}.qty-control button{padding:5px;border-radius:8px}.qty-control span{font-weight:900}.cart-total{font-size:21px;font-weight:900;text-align:right;padding:12px 0;color:#a77f00}.empty-cart{text-align:center;color:#8a7600;padding:20px 8px}.modal{padding-top:58px}.x{z-index:50;right:16px;top:14px;width:38px;height:38px;padding:0;font-size:22px;line-height:1;background:#fff;border-color:var(--y)}.modal-title-row{padding-right:48px}.order-title{align-items:center}
@media(max-width:900px){.order-layout{grid-template-columns:1fr}.cart-panel{position:static}.category-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:600px){.table-person h3{max-width:145px}.status-badge{padding:5px 7px;font-size:10px}.category-grid{grid-template-columns:repeat(3,1fr)}.menu-toolbar{align-items:stretch;flex-direction:column}.cart-badge{text-align:center}.modal{padding-top:54px}.modal-title-row{padding-right:0}}

/* Menu density update: visual-only overrides */
.category-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:5px;margin:5px 0 8px}
.category-card{min-height:42px;padding:4px 3px;border-radius:9px;font-size:9px;gap:1px;line-height:1.05}
.category-card span{font-size:14px;line-height:1}
.category-card b{font-size:9px;line-height:1.05;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.order-modal{width:min(98vw,1800px);height:96vh;max-height:96vh;padding:52px 18px 16px;overflow:hidden}
.order-modal .modal-title-row{margin-bottom:7px;padding-bottom:7px}
.order-modal .category-grid{max-height:100px;overflow:auto}
.order-modal .menu-toolbar{margin-bottom:7px}
.order-modal .order-layout{grid-template-columns:minmax(0,1fr) 280px;gap:10px;height:calc(96vh - 205px)}
.order-modal .products{grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:6px;max-height:none;height:100%;overflow:auto;align-content:start}
.order-modal .product{min-height:58px;padding:7px 8px;border-radius:9px;font-size:11px;line-height:1.15}
.order-modal .product b{margin-top:4px;font-size:12px}
.order-modal .product small{margin-top:3px;font-size:9px}
.order-modal .cart-panel{max-height:100%;overflow:auto;padding:9px;border-radius:12px}
.order-modal .cart-lines{max-height:calc(96vh - 355px)}
@media(max-width:900px){.order-modal{width:99vw;height:98vh;max-height:98vh;padding:50px 10px 10px;overflow:auto}.order-modal .order-layout{height:auto;grid-template-columns:1fr}.order-modal .products{height:55vh}.order-modal .category-grid{grid-template-columns:repeat(auto-fill,minmax(66px,1fr));max-height:none}.order-modal .cart-panel{position:static}.order-modal .cart-lines{max-height:28vh}}
@media(max-width:600px){.category-grid{grid-template-columns:repeat(4,1fr)}.category-card{min-height:40px}.order-modal .products{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.order-modal .product{min-height:54px;padding:6px;font-size:10px}}

/* Cashier workspace: compact menu + vertical sales history */
.cashier-workspace{display:grid;grid-template-columns:270px minmax(0,1fr);gap:14px;align-items:start}
.sales-history-panel,.cashier-sale-area{min-width:0}
.sales-history-title,.cashier-sale-heading{height:52px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0}
.sales-history-title h2,.cashier-sale-heading h2{margin:0;font-size:21px}
.sales-history-title span{display:grid;place-items:center;min-width:30px;height:30px;border-radius:999px;background:var(--y);font-size:12px;font-weight:900}
.sales-history-list{height:calc(100vh - 255px);min-height:560px;overflow-y:auto;padding-right:5px;display:flex;flex-direction:column;gap:7px}
.sale-history-card{border:1.5px solid var(--y);border-radius:12px;padding:9px;background:#fff;box-shadow:0 3px 10px rgba(255,212,0,.1)}
.sale-history-card.sale-open{border-width:2px;background:var(--soft)}
.sale-history-head,.sale-history-bottom{display:flex;justify-content:space-between;align-items:center;gap:6px}
.sale-history-head b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sale-status{font-size:9px;font-weight:900;border-radius:999px;background:var(--y2);padding:3px 6px;white-space:nowrap}
.sale-open .sale-status{background:var(--y)}
.sale-history-card small{display:block;color:#8a7600;font-size:9px;margin:3px 0}
.sale-bartender{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:5px}
.sale-history-bottom strong{font-size:14px;color:#a77f00}.sale-history-bottom span{font-size:10px;color:#806d00}
.sale-history-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:6px}.sale-history-actions button:only-child{grid-column:1/-1}
.cashier-menu{padding:10px;border-radius:14px}.cashier-menu>h3{margin:0 0 5px;font-size:15px}
.cashier-menu .category-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:4px;margin:4px 0 7px}
.cashier-menu .category-card{min-height:39px;padding:3px 2px;font-size:8px}.cashier-menu .category-card span{font-size:13px}.cashier-menu .category-card b{font-size:8px}
.cashier-menu .menu-toolbar{margin-bottom:6px}.cashier-menu .menu-toolbar input{padding:8px;font-size:12px}.cashier-menu .cart-badge{padding:7px 10px;font-size:10px}
.cashier-menu .order-layout{grid-template-columns:minmax(0,1fr) 270px;gap:9px}
.cashier-menu .products{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:5px;max-height:calc(100vh - 405px);min-height:410px}
.cashier-menu .product{min-height:54px;padding:6px 7px;border-radius:8px;font-size:10px;line-height:1.1}.cashier-menu .product b{font-size:11px;margin-top:3px}.cashier-menu .product small{font-size:8px;margin-top:2px}
.cashier-menu .cart-panel{padding:8px;border-radius:10px}.cashier-menu .cart-lines{max-height:calc(100vh - 525px);min-height:260px}.cashier-menu .cart-line{padding:7px 0}.cashier-menu .cart-line b{font-size:11px}.cashier-menu .cart-line small{font-size:9px}.cashier-menu .qty-control{grid-template-columns:30px 28px 30px}.cashier-menu .qty-control button{padding:4px}.cashier-menu .cart-total{font-size:18px;padding:8px 0}
@media(max-width:1000px){.cashier-workspace{grid-template-columns:220px minmax(0,1fr)}.cashier-menu .order-layout{grid-template-columns:minmax(0,1fr) 240px}.cashier-menu .products{grid-template-columns:repeat(auto-fill,minmax(105px,1fr))}}
@media(max-width:760px){.cashier-workspace{grid-template-columns:1fr}.sales-history-list{height:auto;min-height:0;max-height:300px}.cashier-menu .order-layout{grid-template-columns:1fr}.cashier-menu .products{max-height:55vh;min-height:0}.cashier-menu .cart-lines{min-height:0;max-height:220px}}

html,body,button,input,select,textarea{font-family:'BPG ExtraSquare Mtavruli',Arial,sans-serif!important}.danger-zone{margin-top:28px;border:2px solid #c62828;background:#fff5f5}.danger-zone h2{color:#a30000}.danger-zone p{line-height:1.55}.danger-zone .danger{background:#c62828;color:#fff}.admin-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:24px}.admin-tool-card{background:#fff;border:1px solid #e7d66d;border-radius:14px;padding:16px}.sale-history-card .sale-product{font-weight:700;margin:5px 0}.sale-history-card .sale-meta{font-size:12px;color:#666}

/* Waiter screen: 3-column active tables + right-side archive */
.waiter-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:9px}.waiter-stats .stat{padding:8px 11px;border-radius:12px;font-size:11px}.waiter-stats .money{font-size:17px;margin-top:2px}
.waiter-workspace{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:12px;align-items:start;height:calc(100vh - 190px);min-height:570px;overflow:hidden}.waiter-active-area,.waiter-archive-panel{min-width:0;height:100%;overflow:hidden}.waiter-table-heading,.waiter-archive-title{height:46px;margin:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.waiter-table-heading h2,.waiter-archive-title h2{margin:0;font-size:18px}.waiter-table-heading button{padding:8px 11px;font-size:11px}.waiter-active-grid{height:calc(100% - 46px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:7px;overflow-y:auto;padding-right:3px;align-content:start}.waiter-compact-card{padding:8px;border-width:2px;border-radius:14px;box-shadow:0 4px 11px rgba(255,212,0,.12);min-width:0}.waiter-compact-card .table-head{gap:6px;padding-bottom:6px;margin-bottom:6px}.waiter-compact-card .table-number{width:38px;height:38px;font-size:15px}.waiter-compact-card .table-person h3{font-size:12px;max-width:125px;margin-bottom:1px}.waiter-compact-card .table-sub{font-size:8px}.waiter-compact-card .status-badge{font-size:7px;padding:3px 5px}.waiter-compact-card .financial{gap:4px}.waiter-compact-card .financial>div{padding:4px;border-radius:7px}.waiter-compact-card .financial span{font-size:7px;margin-bottom:1px}.waiter-compact-card .financial b{font-size:10px}.waiter-compact-card .financial small{font-size:6px;margin-top:1px}.waiter-compact-card .order-meta{font-size:8px;margin:4px 0}.waiter-compact-card .warning{padding:4px;font-size:7px;border-width:1px;margin-top:3px}.waiter-compact-card .table-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin-top:5px}.waiter-compact-card .table-actions button{padding:4px 2px;font-size:7px;border-width:1px;border-radius:6px}.waiter-archive-panel{border-left:2px solid var(--y);padding-left:10px}.waiter-archive-title span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:var(--y);font-size:11px;font-weight:900}.waiter-archive-list{height:calc(100% - 46px);overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding-right:3px}.waiter-archive-card{border:1.5px solid var(--y);border-radius:11px;padding:8px;background:#fff;box-shadow:0 3px 9px rgba(255,212,0,.1)}.waiter-archive-head{display:flex;align-items:center;justify-content:space-between;gap:5px}.waiter-archive-head b{font-size:11px}.waiter-archive-head .status-badge{font-size:7px;padding:3px 5px}.waiter-archive-guest{font-size:9px;color:#806d00;margin:4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.waiter-archive-values{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:5px}.waiter-archive-values span{font-size:7px;background:var(--soft);border-radius:6px;padding:4px}.waiter-archive-values b{display:block;font-size:9px;margin-top:1px}.waiter-archive-card button{width:100%;padding:5px;font-size:8px}

/* Cashier: fit the whole workspace inside the viewport; inner areas scroll independently */
#bar:not(.hidden){height:calc(100vh - 118px);overflow:hidden;display:flex;flex-direction:column}#bar>.stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:7px;flex:0 0 auto}#bar>.stats .stat{padding:7px 9px;border-radius:11px;font-size:9px}#bar>.stats .money{font-size:15px;margin-top:2px}.cashier-workspace{height:calc(100% - 68px);min-height:0;overflow:hidden;align-items:stretch}.sales-history-panel,.cashier-sale-area{height:100%;overflow:hidden}.sales-history-list{height:calc(100% - 52px);min-height:0}.cashier-sale-area{display:flex;flex-direction:column}.cashier-sale-heading{flex:0 0 44px;height:44px}.cashier-sale-heading h2{font-size:18px}.cashier-sale-heading button{padding:7px 10px;font-size:10px}#barSell{flex:1;min-height:0;overflow:hidden}#barSell>.cashier-menu{height:100%;display:flex;flex-direction:column;overflow:hidden}.cashier-menu>h3{flex:0 0 auto}.cashier-menu .category-grid,.cashier-menu .menu-toolbar{flex:0 0 auto}.cashier-menu .order-layout{flex:1;min-height:0;overflow:hidden}.cashier-menu .products{height:100%;min-height:0;max-height:none;overflow-y:auto}.cashier-menu .cart-panel{height:100%;max-height:none;overflow:hidden;display:flex;flex-direction:column}.cashier-menu .cart-lines{flex:1;min-height:0;max-height:none;overflow-y:auto}
@media(max-width:1100px){.waiter-workspace{grid-template-columns:minmax(0,1fr) 220px}.waiter-active-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.waiter-compact-card .table-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.waiter-workspace{height:auto;overflow:visible;grid-template-columns:1fr}.waiter-active-area,.waiter-archive-panel{height:auto;overflow:visible}.waiter-active-grid{height:auto;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.waiter-archive-panel{border-left:0;border-top:2px solid var(--y);padding:8px 0 0}.waiter-archive-list{height:auto;max-height:320px}.waiter-stats{grid-template-columns:1fr 1fr 1fr}#bar:not(.hidden){height:auto;overflow:visible;display:block}#bar>.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cashier-workspace{height:auto;overflow:visible}.sales-history-panel,.cashier-sale-area,#barSell,#barSell>.cashier-menu{height:auto;overflow:visible}}

/* Requested visual-only refinements: equal waiter cards, readable controls, private totals */
.waiter-active-grid{
  grid-auto-rows:190px;
  align-content:start;
}
.waiter-compact-card{
  height:190px;
  min-height:190px;
  max-height:190px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.waiter-compact-card .table-head{flex:0 0 auto}
.waiter-compact-card .table-person h3{font-size:14px;max-width:150px}
.waiter-compact-card .table-sub{font-size:9.5px;line-height:1.2}
.waiter-compact-card .status-badge{font-size:8.5px;padding:4px 6px}
.waiter-compact-card .table-number{width:40px;height:40px;font-size:16px}
.waiter-compact-card .financial{gap:4px;flex:0 0 auto}
.waiter-compact-card .financial>div{padding:5px 6px}
.waiter-compact-card .financial span{font-size:8.5px}
.waiter-compact-card .financial b{font-size:11.5px}
.waiter-compact-card .financial small{font-size:7.5px}
.waiter-compact-card .order-meta{font-size:9px;margin:4px 0}
.waiter-compact-card .warning{font-size:8px;padding:4px;margin:2px 0}
.waiter-compact-card .table-actions{
  margin-top:auto;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:4px;
}
.waiter-compact-card .table-actions button{
  min-height:28px;
  padding:5px 3px;
  font-size:9.5px;
  line-height:1.15;
  white-space:normal;
  overflow-wrap:anywhere;
}

/* Hide sales figures from casual view; reveal only while hovering the statistic card */
.waiter-stats .stat:first-child .money,
#bar>.stats .stat:nth-child(-n+4) .money{
  visibility:hidden;
}
.waiter-stats .stat:first-child:hover .money,
#bar>.stats .stat:nth-child(-n+4):hover .money{
  visibility:visible;
}
.waiter-stats .stat:first-child,
#bar>.stats .stat:nth-child(-n+4){
  cursor:default;
}
.waiter-stats .stat:first-child::after,
#bar>.stats .stat:nth-child(-n+4)::after{
  content:'მიუტანეთ მაუსი';
  display:block;
  margin-top:-17px;
  font-size:8px;
  color:#8a7600;
  text-align:center;
}
.waiter-stats .stat:first-child:hover::after,
#bar>.stats .stat:nth-child(-n+4):hover::after{
  content:'';
}

@media(max-width:1100px){
  .waiter-active-grid{grid-auto-rows:196px}
  .waiter-compact-card{height:196px;min-height:196px;max-height:196px}
  .waiter-compact-card .table-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
  .waiter-active-grid{grid-auto-rows:auto}
  .waiter-compact-card{height:auto;min-height:0;max-height:none;overflow:visible}
}

/* Readable waiter-card controls: keep every action fully visible */
.waiter-active-grid{grid-auto-rows:210px}
.waiter-compact-card{
  height:210px;
  min-height:210px;
  max-height:210px;
  overflow:visible;
}
.waiter-compact-card .table-head{padding-bottom:5px;margin-bottom:5px}
.waiter-compact-card .financial>div{padding:4px 5px}
.waiter-compact-card .order-meta{margin:3px 0;font-size:9px}
.waiter-compact-card .warning{padding:3px 4px;font-size:7.5px;line-height:1.1;margin:2px 0}
.waiter-compact-card .table-actions{
  margin-top:auto;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:4px;
  flex:0 0 auto;
}
.waiter-compact-card .table-actions button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0;
  min-height:31px;
  padding:5px 4px;
  font-size:10.5px;
  font-weight:900;
  line-height:1.15;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  overflow-wrap:normal;
  word-break:normal;
}
@media(max-width:1100px){
  .waiter-active-grid{grid-auto-rows:218px}
  .waiter-compact-card{height:218px;min-height:218px;max-height:218px}
  .waiter-compact-card .table-actions button{font-size:10px;min-height:30px}
}
@media(max-width:800px){
  .waiter-active-grid{grid-auto-rows:auto}
  .waiter-compact-card{height:auto;min-height:0;max-height:none;overflow:visible}
}

/* Fast payment choice buttons */
.payment-choice{padding:10px 6px 6px;text-align:center}
.payment-choice h2{margin:0 0 10px;font-size:24px}
.payment-total{font-size:17px;margin-bottom:16px}
.payment-total b{font-size:22px}
.payment-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.payment-buttons button{min-height:78px;font-size:20px;font-weight:900;border-radius:14px}
.payment-cash{background:#1f9d55;color:#fff}
.payment-card{background:#2563eb;color:#fff}
.payment-mixed{background:#7c3aed;color:#fff}
.mixed-label{display:block;text-align:left;font-weight:800;margin:10px 0 6px}
.mixed-input{width:100%;font-size:26px;text-align:center;padding:14px;border:2px solid #d7bd00;border-radius:12px}
.mixed-preview{font-size:18px;margin:14px 0;font-weight:800}
.mixed-actions{grid-template-columns:1fr 2fr}
@media(max-width:650px){.payment-buttons{grid-template-columns:1fr}.payment-buttons button{min-height:58px}}

/* Cash/card payment and featured product controls */
.payment-buttons.two-payments{grid-template-columns:repeat(2,minmax(0,1fr));max-width:620px;margin:0 auto}
.payment-method-line{margin:5px 0;padding:5px 7px;border-radius:7px;background:#fff9cc;font-size:9px}
.detail-payment{font-size:13px;padding:9px 12px;margin-bottom:10px}
.featured-check{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #e1c900;border-radius:10px;background:#fffbea;font-weight:800}
.featured-check input{width:20px;height:20px}
@media(max-width:650px){.payment-buttons.two-payments{grid-template-columns:1fr}}


/* Payment type remains visible; monetary sales data is revealed only on hover */
.private-sale-values{
  position:relative;
  min-height:22px;
  cursor:default;
}
.private-sale-values > *{
  visibility:hidden;
}
.private-sale-values::after{
  content:'ნავაჭრის სანახავად მიიტანეთ მაუსი';
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:9px;
  line-height:1.15;
  color:#8a7600;
  font-weight:800;
}
.waiter-archive-card:hover .private-sale-values > *,
.sale-history-card:hover .private-sale-values > *{
  visibility:visible;
}
.waiter-archive-card:hover .private-sale-values::after,
.sale-history-card:hover .private-sale-values::after{
  content:'';
}
.sale-payment,
.waiter-archive-card .payment-method-line{
  margin-top:5px;
  font-size:10px;
  font-weight:800;
}

/* Optional privacy control for top financial summary cards only */
.finance-summary-head{display:flex;justify-content:flex-end;align-items:center;margin:0 0 6px}
.finance-visibility-toggle{padding:6px 10px;font-size:10px;border-radius:999px;background:#fff;color:#806d00;box-shadow:none}
.finance-visibility-toggle.is-on{background:var(--y);color:var(--ink)}
.finance-stats.finance-hidden .private-finance-stat{position:relative;cursor:default}
.finance-stats.finance-hidden .private-finance-stat .money{visibility:hidden!important}
.finance-stats.finance-hidden .private-finance-stat::after{content:'••••';position:absolute;left:5px;right:5px;bottom:8px;text-align:center;font-size:15px;line-height:1;color:#8a7600;font-weight:900;letter-spacing:3px}
.finance-stats.finance-visible .private-finance-stat .money{visibility:visible!important}
.finance-stats.finance-visible .private-finance-stat::after{display:none!important}
.waiter-stats .stat:first-child::after,#bar>.stats .stat:nth-child(-n+4)::after{content:none;display:none}
@media(max-width:800px){.finance-summary-head{justify-content:stretch}.finance-visibility-toggle{width:100%}}


/* Unified finance visibility: totals and history follow one switch */
.finance-history-section.finance-history-hidden .finance-history-content{display:none!important}
.finance-history-section.finance-history-visible .finance-history-hidden-message{display:none!important}
.finance-history-hidden-message{display:flex;align-items:center;justify-content:center;min-height:120px;padding:18px;text-align:center;font-weight:800;color:#806d00;background:#fffbea;border:1px dashed #d6bd32;border-radius:12px;margin:8px}
.finance-history-section.finance-history-hidden .sales-history-title span,
.finance-history-section.finance-history-hidden .waiter-archive-title span{opacity:.65}

/* Admin menu grouped by categories */
.admin-menu-tools{display:grid;gap:10px;margin:10px 0 16px}
.admin-category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:7px}
.admin-category-btn{min-height:72px;padding:7px 5px;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;text-align:center}
.admin-category-btn span{font-size:20px;line-height:1}
.admin-category-btn b{font-size:11px;line-height:1.12;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.admin-category-btn small{font-size:10px;color:#806d00}
.admin-category-btn.active{background:var(--y);box-shadow:0 5px 14px rgba(255,212,0,.28)}
.admin-menu-category-section{margin:0 0 18px}
.admin-menu-category-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;margin-bottom:8px;border:2px solid var(--y);border-radius:13px;background:var(--soft)}
.admin-menu-category-title h3{margin:0;font-size:17px}
.admin-menu-category-title span{font-size:12px;font-weight:800;color:#806d00}
.admin-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:8px}
.admin-product-card{min-height:92px;padding:11px;border:2px solid #eadb73;border-radius:14px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:10px;box-shadow:0 4px 12px rgba(128,99,0,.07)}
.admin-product-card.featured{border-color:#e0b600;background:#fffbea;box-shadow:0 5px 15px rgba(255,212,0,.18)}
.admin-product-main{min-width:0}.admin-product-main b{display:block;font-size:14px;line-height:1.2;overflow-wrap:anywhere}.admin-product-main .muted{margin-top:5px;font-size:11px}
.admin-product-actions{display:flex;flex-direction:column;align-items:stretch;gap:5px;flex:0 0 108px}
.admin-priority-toggle{display:flex;align-items:center;justify-content:center;gap:5px;padding:6px;border:1px solid var(--y);border-radius:9px;background:#fffbea;font-size:10px;font-weight:900;cursor:pointer}
.admin-priority-toggle input{width:16px;height:16px;margin:0}
.admin-product-actions .tiny{font-size:10px;padding:6px 7px}
@media(max-width:700px){.admin-category-grid{grid-template-columns:repeat(3,1fr)}.admin-product-grid{grid-template-columns:1fr}.admin-product-card{min-height:86px}.admin-product-actions{flex-basis:100px}}

/* Sales history cards: always show sale values; no hover-to-reveal hint */
.waiter-archive-card .private-sale-values > *,
.sale-history-card .private-sale-values > *{
  opacity:1!important;
  filter:none!important;
  visibility:visible!important;
}
.waiter-archive-card .private-sale-values::after,
.sale-history-card .private-sale-values::after{
  content:none!important;
  display:none!important;
}
.waiter-archive-card:hover .private-sale-values > *,
.sale-history-card:hover .private-sale-values > *{
  opacity:1!important;
  filter:none!important;
  visibility:visible!important;
}

/* 2026-07-28 — Enlarged and clearer menu cards for waiter and cashier */
.order-modal .category-grid,
.cashier-menu .category-grid{
  grid-template-columns:repeat(auto-fill,minmax(112px,1fr));
  gap:9px;
  margin:8px 0 12px;
  max-height:138px;
}
.order-modal .category-card,
.cashier-menu .category-card{
  min-height:72px;
  padding:9px 7px;
  border-radius:13px;
  gap:5px;
  line-height:1.2;
  overflow:visible;
}
.order-modal .category-card span,
.cashier-menu .category-card span{
  font-size:23px;
  line-height:1;
}
.order-modal .category-card b,
.cashier-menu .category-card b{
  display:block;
  width:100%;
  font-size:13px;
  line-height:1.22;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  overflow-wrap:anywhere;
  text-align:center;
  color:#2a2400;
}
.order-modal .products,
.cashier-menu .products{
  grid-template-columns:repeat(auto-fill,minmax(165px,1fr));
  gap:10px;
}
.order-modal .product,
.cashier-menu .product{
  min-height:96px;
  padding:13px 14px;
  border-radius:13px;
  font-size:15px;
  line-height:1.28;
  overflow:visible;
}
.order-modal .product > span,
.cashier-menu .product > span{
  display:block;
  font-size:15px;
  font-weight:900;
  line-height:1.28;
  white-space:normal;
  overflow-wrap:anywhere;
}
.order-modal .product b,
.cashier-menu .product b{
  margin-top:8px;
  font-size:17px;
  line-height:1.15;
}
.order-modal .product small,
.cashier-menu .product small{
  margin-top:5px;
  font-size:11px;
  font-weight:800;
}
.cashier-menu .menu-toolbar input,
.order-modal .menu-toolbar input{
  min-height:44px;
  font-size:14px;
}
.cashier-menu .cart-badge,
.order-modal .cart-badge{
  font-size:12px;
  padding:9px 12px;
}

@media(max-width:1100px){
  .order-modal .category-grid,
  .cashier-menu .category-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}
  .order-modal .products,
  .cashier-menu .products{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}
}
@media(max-width:760px){
  .order-modal .category-grid,
  .cashier-menu .category-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    max-height:none;
  }
  .order-modal .category-card,
  .cashier-menu .category-card{min-height:66px}
  .order-modal .category-card b,
  .cashier-menu .category-card b{font-size:12px}
  .order-modal .products,
  .cashier-menu .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .order-modal .product,
  .cashier-menu .product{min-height:88px;padding:11px;font-size:14px}
  .order-modal .product > span,
  .cashier-menu .product > span{font-size:14px}
  .order-modal .product b,
  .cashier-menu .product b{font-size:16px}
}

/* 2026-07-28 — Show every menu category without category scrolling */
.order-modal .category-grid,
.cashier-menu .category-grid{
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:6px;
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
  padding:0;
  margin:6px 0 10px;
}
.order-modal .category-card,
.cashier-menu .category-card{
  min-height:52px;
  padding:5px 4px;
  border-radius:10px;
  gap:2px;
}
.order-modal .category-card span,
.cashier-menu .category-card span{
  font-size:16px;
}
.order-modal .category-card b,
.cashier-menu .category-card b{
  font-size:10px;
  line-height:1.12;
  overflow-wrap:anywhere;
}

@media(max-width:1100px){
  .order-modal .category-grid,
  .cashier-menu .category-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media(max-width:760px){
  .order-modal .category-grid,
  .cashier-menu .category-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
  .order-modal .category-card,
  .cashier-menu .category-card{min-height:49px;padding:4px 3px}
  .order-modal .category-card b,
  .cashier-menu .category-card b{font-size:9px}
}
@media(max-width:480px){
  .order-modal .category-grid,
  .cashier-menu .category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* 2026-07-28 — Compact finance row and more usable menu space */
.bar-finance-row{display:flex;align-items:stretch;gap:8px;margin-bottom:7px;flex:0 0 auto;min-height:48px}
.bar-finance-title{display:flex;align-items:center;gap:7px;flex:0 0 auto;border:2px solid var(--y);border-radius:11px;padding:5px 7px;background:#fffbea}
.bar-finance-title h2{margin:0;font-size:14px;white-space:nowrap}
.bar-finance-title .finance-visibility-toggle{padding:5px 7px;font-size:8px;margin:0;width:auto}
.bar-finance-row>.stats{display:grid;grid-template-columns:repeat(8,minmax(82px,1fr));gap:5px;margin:0;flex:1;min-width:0}
.bar-finance-row>.stats .stat{padding:5px 6px;border-radius:9px;font-size:7.5px;line-height:1.1;min-width:0;overflow:hidden}
.bar-finance-row>.stats .money{font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#bar:not(.hidden){height:calc(100vh - 118px)}
#bar>.cashier-workspace{height:calc(100% - 55px)}

/* Waiter finance cards stay in one compact row */
.waiter-stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin-bottom:6px}
.waiter-stats .stat{padding:5px 7px;border-radius:9px;font-size:8px;line-height:1.1}
.waiter-stats .money{font-size:12px;margin-top:2px}
#tables>.finance-summary-head{margin:0 0 4px;justify-content:flex-end}
#tables>.finance-summary-head .finance-visibility-toggle{padding:5px 8px;font-size:8px}
.waiter-workspace{height:calc(100vh - 158px);min-height:600px}

/* More menu room, fewer rows and less scrolling */
.cashier-menu .category-grid,.order-modal .category-grid{grid-template-columns:repeat(9,minmax(0,1fr));gap:5px;margin:4px 0 7px}
.cashier-menu .category-card,.order-modal .category-card{min-height:47px;padding:4px 3px}
.cashier-menu .category-card span,.order-modal .category-card span{font-size:14px}
.cashier-menu .category-card b,.order-modal .category-card b{font-size:9px;line-height:1.08}
.cashier-menu .products,.order-modal .products{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.cashier-menu .product,.order-modal .product{min-height:82px;padding:10px 11px}
.cashier-menu .product>span,.order-modal .product>span{font-size:13px}
.cashier-menu .product b,.order-modal .product b{font-size:15px;margin-top:5px}
.cashier-menu .menu-toolbar,.order-modal .menu-toolbar{margin-bottom:6px}
.cashier-menu .menu-toolbar input,.order-modal .menu-toolbar input{min-height:38px;padding:7px 9px}
.cashier-sale-heading{flex-basis:36px;height:36px}
.cashier-sale-heading h2{font-size:14px}
.cashier-sale-heading button{padding:6px 9px}

@media(max-width:1250px){
 .bar-finance-row>.stats{grid-template-columns:repeat(4,minmax(90px,1fr))}
 .bar-finance-row{min-height:82px}
 #bar>.cashier-workspace{height:calc(100% - 89px)}
 .cashier-menu .category-grid,.order-modal .category-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
}
@media(max-width:800px){
 .bar-finance-row{display:block;min-height:0}
 .bar-finance-title{justify-content:space-between;margin-bottom:5px}
 .bar-finance-row>.stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 #bar>.cashier-workspace{height:auto}
 .waiter-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
 .cashier-menu .category-grid,.order-modal .category-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:480px){
 .cashier-menu .category-grid,.order-modal .category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}


/* 2026-07-28 — Smaller cashier sales history, larger and clearer menu */
.cashier-workspace{grid-template-columns:190px minmax(0,1fr);gap:9px}
.sales-history-title{min-height:34px;padding:4px 6px}
.sales-history-title h2{font-size:12px}
.sales-history-title span{font-size:10px;min-width:22px;height:22px}
.sales-history-list{gap:4px;padding-right:3px;height:calc(100% - 38px)}
.sale-history-card{padding:5px 6px;border-radius:8px;box-shadow:none}
.sale-history-head{font-size:9px;gap:3px}
.sale-status{font-size:7px;padding:2px 4px}
.sale-history-card .sale-product{font-size:10px;line-height:1.15;margin:3px 0}
.sale-history-card .sale-meta{font-size:7.5px;line-height:1.15}
.sale-history-bottom{margin-top:3px;font-size:8px}
.sale-history-bottom strong{font-size:10px}
.sale-history-card .payment-method-line{font-size:7.5px;margin:3px 0;padding:2px 4px}
.sale-history-actions{gap:3px;margin-top:3px}
.sale-history-actions .tiny{font-size:7.5px;padding:3px 4px;min-height:22px}

/* Give the recovered width to categories and products */
.cashier-menu .category-grid,.order-modal .category-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}
.cashier-menu .category-card,.order-modal .category-card{min-height:54px;padding:5px 4px}
.cashier-menu .category-card span,.order-modal .category-card span{font-size:17px}
.cashier-menu .category-card b,.order-modal .category-card b{font-size:10.5px;line-height:1.12}
.cashier-menu .products,.order-modal .products{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:9px}
.cashier-menu .product,.order-modal .product{min-height:92px;padding:11px 12px}
.cashier-menu .product>span,.order-modal .product>span{font-size:14px;line-height:1.2}
.cashier-menu .product b,.order-modal .product b{font-size:17px;margin-top:6px}

@media(max-width:1100px){
 .cashier-workspace{grid-template-columns:165px minmax(0,1fr)}
 .cashier-menu .category-grid,.order-modal .category-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
 .cashier-menu .products,.order-modal .products{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
}
@media(max-width:800px){
 .cashier-workspace{grid-template-columns:1fr}
 .sales-history-panel{max-height:190px}
 .sales-history-list{max-height:150px}
 .cashier-menu .category-grid,.order-modal .category-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:480px){
 .cashier-menu .category-grid,.order-modal .category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .cashier-menu .products,.order-modal .products{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* 2026-07-28 — Responsive POS workspace, removed redundant bar-sales title card */
.bar-finance-toggle{display:flex;align-items:center;flex:0 0 auto}
.bar-finance-toggle .finance-visibility-toggle{height:100%;min-height:38px;padding:5px 8px;font-size:8px;margin:0;width:auto}
.bar-finance-title{display:none!important}

/* Use the full monitor width instead of leaving large empty side margins */
main{width:100%;max-width:none;padding:clamp(8px,1.15vw,18px)}
header{height:clamp(58px,6.2vw,76px);padding-inline:clamp(10px,1.5vw,22px)}
nav{margin-bottom:clamp(7px,1vw,18px)}
#bar:not(.hidden){height:calc(100dvh - clamp(92px,9vw,118px));min-height:540px}
#bar>.cashier-workspace{height:calc(100% - 55px)}

/* Fit category/product cards fluidly to different desktop monitor sizes */
.cashier-menu .category-grid,.order-modal .category-grid{
  grid-template-columns:repeat(auto-fit,minmax(clamp(88px,7vw,128px),1fr));
  max-height:none;
  overflow:visible;
}
.cashier-menu .category-card,.order-modal .category-card{min-height:clamp(48px,5.2vh,64px)}
.cashier-menu .category-card b,.order-modal .category-card b{font-size:clamp(9px,.72vw,12px)}
.cashier-menu .products,.order-modal .products{
  grid-template-columns:repeat(auto-fill,minmax(clamp(145px,12vw,205px),1fr));
}
.cashier-menu .product,.order-modal .product{min-height:clamp(78px,9vh,108px)}
.cashier-menu .product>span,.order-modal .product>span{font-size:clamp(12px,.95vw,15px)}
.cashier-menu .product b,.order-modal .product b{font-size:clamp(15px,1.15vw,18px)}

/* Current order stays fully usable: total and submit button never disappear below the fold */
.cashier-menu .order-layout,.order-modal .order-layout{align-items:stretch;min-height:0}
.cashier-menu .cart-panel,.order-modal .cart-panel{
  position:sticky;
  top:0;
  align-self:stretch;
  height:100%;
  min-height:0;
  max-height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.cashier-menu .cart-panel h3,.order-modal .cart-panel h3{flex:0 0 auto;margin-bottom:6px;font-size:clamp(15px,1.05vw,19px)}
.cashier-menu .cart-lines,.order-modal .cart-lines{flex:1 1 auto;min-height:55px;max-height:none;overflow-y:auto}
.cashier-menu .cart-total,.order-modal .cart-total{flex:0 0 auto;padding:8px 0;font-size:clamp(17px,1.35vw,22px)}
.cashier-menu .cart-panel>input,.order-modal .cart-panel>input{flex:0 0 auto;padding:8px;margin-bottom:6px}
.cashier-menu .cart-panel>button:last-child,.order-modal .cart-panel>button:last-child{
  flex:0 0 auto;
  position:sticky;
  bottom:0;
  width:100%;
  min-height:44px;
  padding:9px 10px;
  z-index:2;
  box-shadow:0 -5px 14px rgba(255,212,0,.18);
}

/* Short desktop monitors: save vertical space without shrinking readability */
@media (min-width:801px) and (max-height:800px){
  .bar-finance-row{min-height:40px;margin-bottom:4px}
  .bar-finance-row>.stats .stat{padding:4px 5px}
  .bar-finance-row>.stats .money{font-size:10px}
  .cashier-sale-heading{flex-basis:31px;height:31px}
  .cashier-menu .category-grid,.order-modal .category-grid{gap:4px;margin:3px 0 5px}
  .cashier-menu .category-card,.order-modal .category-card{min-height:44px}
  .cashier-menu .menu-toolbar,.order-modal .menu-toolbar{margin-bottom:4px}
  .cashier-menu .menu-toolbar input,.order-modal .menu-toolbar input{min-height:34px;padding:5px 8px}
  .cashier-menu .product,.order-modal .product{min-height:72px;padding:8px 9px}
  .sales-history-title{min-height:29px}
  .sales-history-list{height:calc(100% - 31px)}
}

/* Tablet/mobile: stack sections, but keep checkout button visible at the viewport bottom */
@media(max-width:800px){
  #bar:not(.hidden){height:auto;min-height:0}
  .bar-finance-row{display:flex;flex-wrap:wrap}
  .bar-finance-toggle{width:100%}
  .bar-finance-toggle .finance-visibility-toggle{width:100%;height:auto}
  .cashier-menu .cart-panel,.order-modal .cart-panel{height:auto;max-height:min(62dvh,520px);position:sticky;bottom:0;top:auto;z-index:4}
  .cashier-menu .cart-lines,.order-modal .cart-lines{max-height:220px}
}

/* 2026-07-28 final POS viewport fit and icon-card layout */
/* The redundant “ბარის გაყიდვა” title card is removed from the markup. */
.cashier-sale-heading{display:none!important}
.cashier-sale-area{min-height:0!important}
#bar>.cashier-workspace{height:calc(100% - 50px)!important}
#barSell{height:100%!important;min-height:0!important;overflow:hidden!important}
#barSell>.cashier-menu{height:100%!important;min-height:0!important;overflow:hidden!important;padding:8px!important}

.menu-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:0 0 auto;margin-bottom:4px}
.menu-title-row h3{margin:0;font-size:15px}
.new-sale-inline{padding:6px 10px;font-size:10px;min-height:32px;border-radius:10px}

/* Exact-height workspace: the whole page itself never needs vertical scrolling on desktop. */
@media(min-width:801px){
  html,body{height:100%;overflow:hidden}
  body{display:flex;flex-direction:column}
  header{flex:0 0 auto}
  main{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}
  nav{flex:0 0 auto}
  .page:not(.hidden){flex:1 1 auto;min-height:0;overflow:hidden}
  #bar:not(.hidden){height:auto!important;min-height:0!important;flex:1 1 auto;overflow:hidden!important}
  .bar-finance-row{flex:0 0 auto!important}
  .cashier-workspace{flex:1 1 auto!important;height:auto!important;min-height:0!important;overflow:hidden!important}
  .sales-history-panel,.cashier-sale-area{min-height:0!important;height:100%!important;overflow:hidden!important}
  .cashier-menu .category-grid{flex:0 0 auto!important}
  .cashier-menu .menu-toolbar{flex:0 0 auto!important}
  .cashier-menu .order-layout{flex:1 1 auto!important;height:auto!important;min-height:0!important;overflow:hidden!important;align-items:stretch!important}
  .cashier-menu .products{height:100%!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;align-content:start}
  .cashier-menu .cart-panel{
    height:100%!important;min-height:0!important;max-height:none!important;
    position:relative!important;top:auto!important;bottom:auto!important;
    display:grid!important;grid-template-rows:auto minmax(0,1fr) auto auto auto;
    overflow:hidden!important;padding:10px!important
  }
  .cashier-menu .cart-lines{min-height:0!important;max-height:none!important;overflow-y:auto!important}
  .cashier-menu .cart-total{margin:0!important;padding:7px 0!important}
  .cashier-menu .cart-panel>input{margin:0 0 6px!important;min-height:36px!important;padding:7px 9px!important}
  .cashier-menu .cart-panel>button:last-child{
    position:relative!important;bottom:auto!important;margin:0!important;
    min-height:46px!important;padding:9px!important;display:block!important
  }
}

/* Cleaner icon-like category cards, close to the approved visual. */
.cashier-menu .category-card,.order-modal .category-card{
  background:linear-gradient(180deg,#fff 0%,#fffdf4 100%);
  box-shadow:0 2px 7px rgba(185,145,0,.08);
  border-width:1.5px;
}
.cashier-menu .category-card.active,.order-modal .category-card.active{
  background:linear-gradient(135deg,#ffd400,#ffbd00);
  box-shadow:0 5px 14px rgba(255,190,0,.28)
}
.cashier-menu .category-card span,.order-modal .category-card span{filter:saturate(.92)}
.cashier-menu .product,.order-modal .product{
  background:linear-gradient(180deg,#fff 0%,#fffef9 100%);
  box-shadow:0 2px 8px rgba(185,145,0,.06);
  border-width:1.5px
}

/* Very short monitors: reserve enough room for the checkout footer. */
@media (min-width:801px) and (max-height:700px){
  header{height:54px}
  main{padding:6px 8px}
  nav{margin-bottom:5px}
  .bar-finance-row{margin-bottom:3px;min-height:36px}
  .bar-finance-row>.stats .stat{padding:3px 5px}
  .cashier-menu{padding:6px!important}
  .menu-title-row{margin-bottom:2px}
  .cashier-menu .category-grid{margin:2px 0 4px;gap:3px}
  .cashier-menu .category-card{min-height:40px}
  .cashier-menu .menu-toolbar{margin-bottom:3px}
  .cashier-menu .menu-toolbar input{min-height:31px!important;padding:4px 7px!important}
  .cashier-menu .product{min-height:65px!important;padding:6px 8px!important}
  .cashier-menu .cart-panel>button:last-child{min-height:42px!important}
}

/* 2026-07-28 waiter menu matches cashier menu exactly */
.order-modal{display:flex;flex-direction:column;min-height:0}
.order-modal>.modal-title-row{flex:0 0 auto}
.order-modal>.waiter-menu{
  flex:1 1 auto;
  min-height:0;
  height:auto!important;
  overflow:hidden;
  padding:8px!important;
  border-radius:14px;
  display:flex;
  flex-direction:column;
}
.waiter-menu-label{font-size:11px;font-weight:900;color:#8a7600;background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:5px 9px}
.order-modal>.waiter-menu .category-grid{flex:0 0 auto!important}
.order-modal>.waiter-menu .menu-toolbar{flex:0 0 auto!important}
.order-modal>.waiter-menu .order-layout{
  flex:1 1 auto!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  align-items:stretch!important;
}
.order-modal>.waiter-menu .products{
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  align-content:start;
}
.order-modal>.waiter-menu .cart-panel{
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  position:relative!important;
  top:auto!important;
  bottom:auto!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto auto;
  overflow:hidden!important;
  padding:10px!important;
}
.order-modal>.waiter-menu .cart-lines{min-height:0!important;max-height:none!important;overflow-y:auto!important}
.order-modal>.waiter-menu .cart-total{margin:0!important;padding:7px 0!important}
.order-modal>.waiter-menu .cart-panel>button:last-child{
  position:relative!important;
  bottom:auto!important;
  margin:0!important;
  width:100%!important;
  min-height:46px!important;
  padding:9px!important;
  display:block!important;
}
@media(max-width:800px){
  .order-modal{overflow:auto}
  .order-modal>.waiter-menu{overflow:visible;height:auto!important}
  .order-modal>.waiter-menu .order-layout{overflow:visible!important;display:grid!important}
  .order-modal>.waiter-menu .products{height:52dvh!important}
  .order-modal>.waiter-menu .cart-panel{height:auto!important;max-height:min(62dvh,520px)!important;position:sticky!important;bottom:0!important;z-index:4}
}

/* 2026-07-28 FIX: waiter order modal uses the same fixed checkout panel as cashier */
@media (min-width:801px){
  #modal .modal.order-modal{
    width:min(96vw,1640px)!important;
    height:calc(100dvh - 24px)!important;
    max-height:calc(100dvh - 24px)!important;
    padding:50px 14px 12px!important;
    overflow:hidden!important;
  }
  #modal .modal.order-modal #modalBody{
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
  }
  #modal .modal.order-modal #modalBody>.modal-title-row{
    flex:0 0 auto!important;
    min-height:54px!important;
    margin-bottom:6px!important;
  }
  #modal .modal.order-modal #modalBody>.waiter-menu{
    flex:1 1 auto!important;
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    padding:8px!important;
  }
  #modal .modal.order-modal #modalBody>.waiter-menu>.menu-title-row,
  #modal .modal.order-modal #modalBody>.waiter-menu>.category-grid,
  #modal .modal.order-modal #modalBody>.waiter-menu>.menu-toolbar{
    flex:0 0 auto!important;
  }
  #modal .modal.order-modal #modalBody>.waiter-menu>.order-layout{
    flex:1 1 auto!important;
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 270px!important;
    gap:9px!important;
    align-items:stretch!important;
  }
  #modal .modal.order-modal #modalBody>.waiter-menu>.order-layout>.products{
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    align-content:start!important;
  }
  #modal .modal.order-modal #modalBody>.waiter-menu>.order-layout>.cart-panel{
    width:270px!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    position:relative!important;
    inset:auto!important;
    overflow:hidden!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto auto!important;
    padding:10px!important;
  }
  #modal .modal.order-modal #modalBody>.waiter-menu .cart-lines{
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
  }
  #modal .modal.order-modal #modalBody>.waiter-menu .cart-total{
    margin:0!important;
    padding:7px 0!important;
  }
  #modal .modal.order-modal #modalBody>.waiter-menu .cart-panel>button:last-child{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    min-height:46px!important;
    margin:0!important;
    padding:9px!important;
  }
}

/* 2026-07-28 CLEAN RESPONSIVE DESKTOP RELEASE
   Functionality is unchanged. These rules only improve viewport fitting. */
:root{
  --desktop-gap:clamp(5px,.55vw,10px);
  --desktop-pad:clamp(6px,.7vw,12px);
  --control-h:clamp(34px,4.2vh,46px);
}
@media (min-width:801px){
  html,body{width:100%;height:100%;min-height:100%;overflow:hidden}
  body{font-size:clamp(12px,.78vw,15px)}
  header{height:clamp(54px,7.2vh,76px);padding-inline:clamp(12px,1.3vw,24px)}
  header strong{font-size:clamp(16px,1.2vw,22px)}
  main{width:100%;max-width:none!important;height:calc(100dvh - clamp(54px,7.2vh,76px));padding:var(--desktop-pad);margin:0;overflow:hidden}
  nav{gap:6px;margin-bottom:clamp(5px,.7vh,10px)}
  nav button{padding:clamp(7px,.75vh,10px) clamp(9px,.8vw,14px);font-size:clamp(10px,.7vw,13px)}
  .page:not(.hidden){height:calc(100% - 44px);min-height:0;overflow:hidden}

  /* Cashier and waiter order workspaces share the same adaptive geometry. */
  .cashier-menu,.waiter-menu{gap:0}
  .cashier-menu .category-grid,.order-modal .category-grid{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(clamp(82px,7vw,118px),1fr))!important;
    gap:clamp(3px,.35vw,6px)!important;
    margin:3px 0 5px!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .cashier-menu .category-card,.order-modal .category-card{
    min-height:clamp(39px,5.4vh,58px)!important;
    max-height:62px;
    padding:clamp(3px,.45vh,6px) 4px!important;
    border-radius:clamp(8px,.7vw,12px)!important;
  }
  .cashier-menu .category-card span,.order-modal .category-card span{font-size:clamp(14px,1.15vw,21px)!important}
  .cashier-menu .category-card b,.order-modal .category-card b{
    font-size:clamp(9px,.68vw,12px)!important;
    line-height:1.08!important;
    white-space:normal!important;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  }
  .cashier-menu .menu-toolbar,.order-modal .menu-toolbar{gap:6px!important;margin-bottom:5px!important}
  .cashier-menu .menu-toolbar input,.order-modal .menu-toolbar input{min-height:34px!important;height:clamp(34px,4.3vh,42px);padding:5px 9px!important}
  .cart-badge{padding:7px 10px!important;font-size:clamp(9px,.65vw,12px)!important}

  .cashier-menu .order-layout,
  #modal .modal.order-modal #modalBody>.waiter-menu>.order-layout{
    grid-template-columns:minmax(0,1fr) clamp(250px,18vw,310px)!important;
    gap:var(--desktop-gap)!important;
  }
  .cashier-menu .products,.order-modal .products{
    display:grid!important;
    grid-template-columns:repeat(auto-fill,minmax(clamp(135px,10vw,175px),1fr))!important;
    grid-auto-rows:minmax(clamp(64px,8.5vh,94px),auto)!important;
    gap:clamp(4px,.45vw,8px)!important;
    padding-right:3px;
    overscroll-behavior:contain;
  }
  .cashier-menu .product,.order-modal .product{
    min-width:0!important;
    min-height:clamp(64px,8.5vh,94px)!important;
    max-height:108px;
    padding:clamp(6px,.65vh,10px) clamp(7px,.6vw,11px)!important;
    font-size:clamp(10px,.72vw,13px)!important;
    overflow:hidden;
  }
  .cashier-menu .product b,.order-modal .product b{font-size:clamp(13px,.95vw,18px)!important;margin-top:4px!important}
  .cashier-menu .product small,.order-modal .product small{font-size:clamp(8px,.58vw,10px)!important;margin-top:3px!important}

  .cashier-menu .cart-panel,
  #modal .modal.order-modal #modalBody>.waiter-menu>.order-layout>.cart-panel{
    width:auto!important;
    min-width:0!important;
    border-radius:14px!important;
    padding:clamp(8px,.7vw,12px)!important;
    grid-template-rows:auto minmax(0,1fr) auto auto auto!important;
  }
  .cart-panel h3{font-size:clamp(15px,1vw,20px)!important;margin-bottom:6px!important}
  .cart-line{padding:clamp(5px,.65vh,9px) 0!important;font-size:clamp(9px,.66vw,12px)}
  .qty-control{grid-template-columns:clamp(27px,2vw,34px) clamp(25px,1.9vw,32px) clamp(27px,2vw,34px)!important}
  .qty-control button{min-height:28px;padding:3px!important}
  .cashier-menu .cart-total,.order-modal .cart-total{font-size:clamp(16px,1.25vw,22px)!important;padding:6px 0!important}
  .cashier-menu .cart-panel>input,.order-modal .cart-panel>input{height:clamp(34px,4.2vh,42px)!important;min-height:34px!important}
  .cashier-menu .cart-panel>button:last-child,.order-modal .cart-panel>button:last-child{
    height:var(--control-h)!important;min-height:var(--control-h)!important;font-size:clamp(11px,.76vw,14px)!important
  }

  /* Waiter table view also adapts without oversized cards. */
  .waiter-active-grid{
    grid-template-columns:repeat(auto-fill,minmax(clamp(235px,20vw,315px),1fr))!important;
    grid-auto-rows:minmax(clamp(190px,24vh,230px),auto)!important;
    gap:var(--desktop-gap)!important;
  }
  .waiter-compact-card{height:auto!important;min-height:clamp(190px,24vh,230px)!important;max-height:240px!important}
}

/* Width-specific tuning prevents cards becoming unnaturally wide. */
@media (min-width:801px) and (max-width:1366px){
  .cashier-menu .order-layout,#modal .modal.order-modal #modalBody>.waiter-menu>.order-layout{grid-template-columns:minmax(0,1fr) 250px!important}
  .cashier-menu .products,.order-modal .products{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))!important}
  .cashier-menu .category-grid,.order-modal .category-grid{grid-template-columns:repeat(auto-fit,minmax(78px,1fr))!important}
}
@media (min-width:1600px){
  .cashier-menu .products,.order-modal .products{grid-template-columns:repeat(auto-fill,minmax(155px,190px))!important;justify-content:start!important}
  .cashier-menu .category-grid,.order-modal .category-grid{grid-template-columns:repeat(auto-fit,minmax(92px,1fr))!important}
}
@media (min-width:2200px){
  body{font-size:15px}
  .cashier-menu .products,.order-modal .products{grid-template-columns:repeat(auto-fill,minmax(175px,215px))!important}
  .cashier-menu .order-layout,#modal .modal.order-modal #modalBody>.waiter-menu>.order-layout{grid-template-columns:minmax(0,1fr) 330px!important}
}

/* Short screens preserve all checkout controls; only product/cart lists scroll. */
@media (min-width:801px) and (max-height:760px){
  .cashier-menu .category-card,.order-modal .category-card{min-height:38px!important}
  .cashier-menu .category-card span,.order-modal .category-card span{font-size:14px!important}
  .cashier-menu .category-card b,.order-modal .category-card b{font-size:9px!important;-webkit-line-clamp:1}
  .cashier-menu .product,.order-modal .product{min-height:62px!important;padding:5px 7px!important}
  .menu-title-row h3{font-size:13px!important}
}

/* Browser zoom / extra-small desktop safety. */
@media (min-width:801px) and (max-width:1050px){
  .cashier-menu .order-layout,#modal .modal.order-modal #modalBody>.waiter-menu>.order-layout{grid-template-columns:minmax(0,1fr) 235px!important}
  .cashier-menu .products,.order-modal .products{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))!important}
}


/* Group one cashier sale as one history card, with all sold items inside */
.sale-order-items{display:flex;flex-direction:column;gap:3px;margin:5px 0;padding:5px 6px;border-radius:8px;background:rgba(255,255,255,.72);border:1px solid rgba(0,0,0,.06)}
.sale-order-item{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9px;line-height:1.2}
.sale-order-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sale-order-item b{flex:0 0 auto;font-size:9px}
@media (min-width:1600px){.sale-order-item,.sale-order-item b{font-size:10px}}

/* 2026-07-29 — Cashier + waiter menu clarity for Philips 1920x1080 and compact POS touch displays */
@media (min-width:801px){
  /* Keep all non-menu application areas unchanged. */
  .cashier-menu,.order-modal .waiter-menu{
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    text-rendering:optimizeLegibility;
    transform:none!important;
    filter:none!important;
  }
  #bar .cashier-sale-area{min-width:0}
  #barSell>.cashier-menu{padding:10px!important}
  .order-modal{width:min(96vw,1840px)!important}

  .cashier-menu .category-card,.order-modal .category-card{
    min-height:48px!important;
    padding:5px 5px!important;
  }
  .cashier-menu .category-card span,.order-modal .category-card span{
    font-size:18px!important;
    line-height:1!important;
  }
  .cashier-menu .category-card b,.order-modal .category-card b{
    font-size:10.5px!important;
    line-height:1.12!important;
    font-weight:900!important;
    letter-spacing:0!important;
  }
  .cashier-menu .menu-toolbar input,.order-modal .menu-toolbar input{
    font-size:13px!important;
    font-weight:700!important;
  }
  .cashier-menu .product,.order-modal .product{
    min-height:78px!important;
    padding:8px 10px!important;
    font-size:13px!important;
    line-height:1.18!important;
    font-weight:800!important;
    text-rendering:geometricPrecision;
  }
  .cashier-menu .product b,.order-modal .product b{
    font-size:16px!important;
    line-height:1.1!important;
    font-weight:900!important;
  }
  .cashier-menu .product small,.order-modal .product small{
    font-size:10px!important;
    line-height:1.1!important;
    font-weight:700!important;
  }
  .cashier-menu .cart-panel,.order-modal .cart-panel{font-size:12px!important}
  .cashier-menu .cart-panel h3,.order-modal .cart-panel h3{font-size:18px!important}
  .cashier-menu .cart-line,.order-modal .cart-line{font-size:11px!important}
}

/* Posiflex / compact desktop touch screens: 1280–1366 wide, usually 768–1024 high. */
@media (min-width:801px) and (max-width:1450px){
  .cashier-menu .order-layout,
  #modal .modal.order-modal #modalBody>.waiter-menu>.order-layout{
    grid-template-columns:minmax(0,1fr) 280px!important;
    gap:8px!important;
  }
  .cashier-menu .category-grid,.order-modal .category-grid{
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    gap:4px!important;
    margin:3px 0 6px!important;
  }
  .cashier-menu .category-card,.order-modal .category-card{
    min-height:44px!important;
    max-height:52px!important;
    padding:4px 3px!important;
  }
  .cashier-menu .category-card span,.order-modal .category-card span{font-size:16px!important}
  .cashier-menu .category-card b,.order-modal .category-card b{
    font-size:9.5px!important;
    -webkit-line-clamp:2!important;
  }
  .cashier-menu .products,.order-modal .products{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    grid-auto-rows:76px!important;
    gap:5px!important;
  }
  .cashier-menu .product,.order-modal .product{
    min-height:76px!important;
    height:76px!important;
    padding:7px 8px!important;
    font-size:12px!important;
  }
  .cashier-menu .product b,.order-modal .product b{font-size:15px!important}
  .cashier-menu .product small,.order-modal .product small{font-size:9px!important}
  .cashier-menu .cart-panel,.order-modal .cart-panel{padding:8px!important}
  .cashier-menu .cart-panel h3,.order-modal .cart-panel h3{font-size:16px!important}
}

/* Short 1366x768-class screens: preserve clarity and keep checkout visible. */
@media (min-width:801px) and (max-width:1450px) and (max-height:820px){
  .cashier-menu .category-grid,.order-modal .category-grid{
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    gap:3px!important;
  }
  .cashier-menu .category-card,.order-modal .category-card{
    min-height:39px!important;
    height:39px!important;
    padding:2px 3px!important;
  }
  .cashier-menu .category-card span,.order-modal .category-card span{font-size:14px!important}
  .cashier-menu .category-card b,.order-modal .category-card b{
    font-size:9px!important;
    line-height:1.02!important;
    -webkit-line-clamp:1!important;
  }
  .cashier-menu .menu-toolbar input,.order-modal .menu-toolbar input{height:34px!important;min-height:34px!important}
  .cashier-menu .products,.order-modal .products{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    grid-auto-rows:68px!important;
  }
  .cashier-menu .product,.order-modal .product{
    min-height:68px!important;
    height:68px!important;
    padding:6px 7px!important;
    font-size:11.5px!important;
  }
  .cashier-menu .product b,.order-modal .product b{font-size:14px!important}
}

/* Philips 21.5-inch Full HD: use the extra width without stretching cards. */
@media (min-width:1600px) and (min-height:900px){
  #bar:not(.hidden){max-width:none!important}
  .cashier-workspace{grid-template-columns:250px minmax(0,1fr)!important}
  .cashier-menu .order-layout,
  #modal .modal.order-modal #modalBody>.waiter-menu>.order-layout{
    grid-template-columns:minmax(0,1fr) 330px!important;
    gap:12px!important;
  }
  .cashier-menu .category-grid,.order-modal .category-grid{
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .cashier-menu .category-card,.order-modal .category-card{min-height:54px!important}
  .cashier-menu .category-card span,.order-modal .category-card span{font-size:20px!important}
  .cashier-menu .category-card b,.order-modal .category-card b{font-size:11px!important}
  .cashier-menu .products,.order-modal .products{
    grid-template-columns:repeat(6,minmax(150px,1fr))!important;
    grid-auto-rows:88px!important;
    gap:7px!important;
  }
  .cashier-menu .product,.order-modal .product{
    min-height:88px!important;
    height:88px!important;
    font-size:13.5px!important;
  }
  .cashier-menu .product b,.order-modal .product b{font-size:17px!important}
  .cashier-menu .product small,.order-modal .product small{font-size:10.5px!important}
}

/* 2026-07-29 FINAL: visual-only menu optimization for Posiflex XT-3915 (1024x768)
   and Philips 21.5-inch Full HD (1920x1080). No application logic or page structure changed. */
@media (min-width:801px){
  .cashier-menu,
  .cashier-menu button,
  .cashier-menu input,
  .cashier-menu select,
  #modal .modal.order-modal #modalBody>.waiter-menu,
  #modal .modal.order-modal #modalBody>.waiter-menu button,
  #modal .modal.order-modal #modalBody>.waiter-menu input,
  #modal .modal.order-modal #modalBody>.waiter-menu select{
    font-family:"Segoe UI",Arial,sans-serif!important;
    -webkit-font-smoothing:auto!important;
    -moz-osx-font-smoothing:auto!important;
    text-rendering:optimizeLegibility!important;
    font-synthesis:none;
  }
  .cashier-menu,.order-modal .waiter-menu{
    transform:none!important;
    zoom:1!important;
    filter:none!important;
  }
  .cashier-menu .product,.order-modal .product,
  .cashier-menu .category-card,.order-modal .category-card{
    contain:layout paint;
    backface-visibility:hidden;
  }
}

/* Exact Posiflex XT-3915 class: 1024x768. Keep the same sections and order,
   but allocate readable widths and touch-friendly sizes. */
@media (min-width:801px) and (max-width:1100px) and (max-height:850px){
  #barSell>.cashier-menu{padding:6px!important}
  .cashier-workspace{grid-template-columns:155px minmax(0,1fr)!important;gap:6px!important}
  .sales-history-title,.cashier-sale-heading{height:38px!important;min-height:38px!important}
  .sales-history-title h2,.cashier-sale-heading h2{font-size:14px!important}
  .sale-history-card{padding:6px!important}

  .cashier-menu .order-layout,
  #modal .modal.order-modal #modalBody>.waiter-menu>.order-layout{
    grid-template-columns:minmax(0,1fr) 218px!important;
    gap:6px!important;
  }
  .cashier-menu .category-grid,.order-modal .category-grid{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:4px!important;
    margin:2px 0 5px!important;
  }
  .cashier-menu .category-card,.order-modal .category-card{
    min-height:42px!important;
    height:42px!important;
    max-height:42px!important;
    padding:3px 4px!important;
    border-width:2px!important;
    border-radius:8px!important;
  }
  .cashier-menu .category-card span,.order-modal .category-card span{
    font-size:15px!important;
    line-height:1!important;
  }
  .cashier-menu .category-card b,.order-modal .category-card b{
    font-size:9px!important;
    line-height:1.05!important;
    -webkit-line-clamp:1!important;
  }
  .cashier-menu .menu-toolbar,.order-modal .menu-toolbar{gap:5px!important;margin-bottom:5px!important}
  .cashier-menu .menu-toolbar input,.order-modal .menu-toolbar input{
    min-height:36px!important;height:36px!important;padding:6px 8px!important;font-size:13px!important
  }
  .cashier-menu .cart-badge,.order-modal .cart-badge{
    min-height:36px!important;padding:6px 8px!important;font-size:10px!important
  }
  .cashier-menu .products,.order-modal .products{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-rows:72px!important;
    gap:5px!important;
  }
  .cashier-menu .product,.order-modal .product{
    height:72px!important;min-height:72px!important;
    padding:7px 8px!important;
    border-radius:8px!important;
    font-size:12px!important;
    line-height:1.12!important;
  }
  .cashier-menu .product b,.order-modal .product b{
    font-size:15px!important;line-height:1.05!important;margin-top:3px!important
  }
  .cashier-menu .product small,.order-modal .product small{font-size:9.5px!important;line-height:1!important}
  .cashier-menu .cart-panel,.order-modal .cart-panel{padding:7px!important;border-radius:9px!important}
  .cashier-menu .cart-panel h3,.order-modal .cart-panel h3{font-size:15px!important;margin-bottom:4px!important}
  .cashier-menu .cart-line,.order-modal .cart-line{font-size:10.5px!important;padding:5px 0!important}
  .cashier-menu .cart-line b,.order-modal .cart-line b{font-size:11px!important}
  .cashier-menu .cart-line small,.order-modal .cart-line small{font-size:9px!important}
  .cashier-menu .qty-control,.order-modal .qty-control{grid-template-columns:30px 28px 30px!important}
  .cashier-menu .qty-control button,.order-modal .qty-control button{min-height:30px!important;padding:3px!important}
  .cashier-menu .cart-total,.order-modal .cart-total{font-size:17px!important;padding:6px 0!important}
  .cashier-menu .cart-panel>input,.order-modal .cart-panel>input{height:34px!important;min-height:34px!important;padding:6px!important}
  .cashier-menu .cart-panel>button:last-child,.order-modal .cart-panel>button:last-child{
    min-height:38px!important;height:38px!important;font-size:11px!important;padding:5px!important
  }
  .order-modal{width:98vw!important;max-width:1000px!important;padding:10px!important}
}

/* Philips 1920x1080: preserve the same layout while using the available pixels
   for larger, crisp menu text and balanced cards. */
@media (min-width:1700px) and (min-height:900px){
  .cashier-menu .order-layout,
  #modal .modal.order-modal #modalBody>.waiter-menu>.order-layout{
    grid-template-columns:minmax(0,1fr) 340px!important;
  }
  .cashier-menu .category-grid,.order-modal .category-grid{
    grid-template-columns:repeat(10,minmax(0,1fr))!important;
  }
  .cashier-menu .category-card,.order-modal .category-card{min-height:58px!important;height:58px!important}
  .cashier-menu .category-card span,.order-modal .category-card span{font-size:21px!important}
  .cashier-menu .category-card b,.order-modal .category-card b{font-size:11.5px!important}
  .cashier-menu .products,.order-modal .products{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    grid-auto-rows:92px!important;
  }
  .cashier-menu .product,.order-modal .product{min-height:92px!important;height:92px!important;font-size:14px!important}
  .cashier-menu .product b,.order-modal .product b{font-size:18px!important}
  .cashier-menu .product small,.order-modal .product small{font-size:11px!important}
}

/* 2026-07-29 — FULL SYSTEM RESPONSIVE POLISH
   Visual-only adaptation for Posiflex XT-3915 (1024×768) and Philips Full HD (1920×1080).
   DOM order, navigation, permissions, calculations and application behavior are unchanged. */
@media (min-width:801px){
  html{font-size:16px}
  html,body{min-width:0;max-width:100%;overflow-x:hidden}
  body,button,input,select,textarea{
    font-family:"Segoe UI",Arial,sans-serif!important;
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
  }
  header{width:100%;max-width:none}
  main{width:100%;max-width:1920px}
  nav button{white-space:nowrap}
  .grid,.stats,.tables-grid,.admin-category-grid,.admin-product-grid{min-width:0}
  .card,.stat,.table-card,.admin-product-card,.sale-history-card{min-width:0}
  .modal,.login{overscroll-behavior:contain}
  input,select,button{min-height:42px}
  button.tiny,.tiny{min-height:32px}
}

/* Posiflex XT-3915 — exact 1024×768 class. Same layout, denser spacing and crisp text. */
@media (min-width:801px) and (max-width:1100px) and (max-height:850px){
  html{font-size:14px}
  header{
    height:58px!important;
    padding:0 12px!important;
    gap:10px!important;
    border-bottom-width:2px!important;
  }
  header strong{font-size:16px!important;line-height:1.05}
  header small{font-size:9px!important;line-height:1.1}
  header #who{font-size:11px!important;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  header button{min-height:34px!important;padding:6px 10px!important;font-size:11px!important;border-radius:9px!important}

  main{padding:8px!important;max-width:none!important}
  nav{gap:5px!important;margin-bottom:8px!important;flex-wrap:nowrap!important;overflow-x:auto!important;padding-bottom:2px}
  nav button{min-height:36px!important;padding:6px 9px!important;font-size:10.5px!important;border-radius:9px!important;flex:0 0 auto}
  .page{min-height:0!important}

  .stats{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))!important;gap:6px!important;margin-bottom:8px!important}
  .stat{padding:8px 9px!important;border-radius:11px!important;border-width:1.5px!important;box-shadow:0 3px 10px rgba(255,212,0,.10)!important}
  .stat .money,.money{font-size:16px!important;line-height:1.15}
  .stat .muted,.stat small{font-size:9px!important}

  .grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;gap:8px!important}
  .card{padding:10px!important;border-radius:12px!important;border-width:1.5px!important;box-shadow:0 4px 12px rgba(255,212,0,.10)!important}
  .card h2{font-size:17px!important;margin:0 0 8px!important}
  .card h3{font-size:14px!important;margin:0 0 7px!important}
  .muted{font-size:10px!important}

  input,select{min-height:36px!important;padding:7px 8px!important;font-size:12px!important;border-radius:8px!important}
  button{min-height:36px!important;padding:7px 10px!important;font-size:11px!important;border-radius:9px!important}
  button.tiny,.tiny{min-height:29px!important;padding:5px 7px!important;font-size:9px!important}
  .form{gap:7px!important}.form label{font-size:10px!important}
  .row{gap:6px!important}

  .login{max-width:340px!important;padding:18px!important;border-radius:16px!important}
  .login h1{font-size:23px!important;margin:0 0 8px!important}
  .login p{font-size:11px!important;margin:5px 0!important}
  .login input{font-size:24px!important;margin:8px 0!important;min-height:46px!important}
  .modal{width:min(96vw,900px)!important;max-height:94vh!important;padding:16px!important;border-radius:15px!important}
  .modal .x{min-width:34px!important;width:34px!important;height:34px!important;min-height:34px!important;padding:0!important}

  .tables-grid{gap:8px!important}
  .table-card{padding:10px!important;border-radius:13px!important;border-width:2px!important}
  .table-number{width:44px!important;height:44px!important;font-size:17px!important}
  .table-top{gap:8px!important;padding-bottom:7px!important;margin-bottom:7px!important}
  .table-top h3{font-size:14px!important}
  .financial{gap:5px!important}.financial>div{padding:6px!important;border-radius:8px!important}
  .financial span{font-size:8px!important}.financial b{font-size:12px!important}
  .order-meta{font-size:10px!important;margin:7px 0!important}
  .warning{font-size:9px!important;padding:5px!important;border-radius:8px!important}

  .waiter-stats{gap:5px!important;margin-bottom:6px!important}
  .waiter-workspace{gap:7px!important}
  .waiter-active-area,.waiter-archive-panel{min-width:0}
  .waiter-active-grid{gap:6px!important}
  .waiter-archive-panel{padding-left:7px!important}
  .waiter-archive-list{gap:5px!important}
  .waiter-archive-card{padding:6px!important;border-radius:9px!important}

  .cashier-workspace{gap:6px!important}
  .sales-history-panel,.cashier-sale-area{min-width:0}
  .sales-history-list{padding-right:2px!important}
  .sale-history-card{border-radius:9px!important;margin-bottom:5px!important}

  .admin-tools{gap:7px!important}
  .admin-category-grid{grid-template-columns:repeat(auto-fill,minmax(82px,1fr))!important;gap:5px!important}
  .admin-category-btn{min-height:58px!important;padding:5px 3px!important;border-radius:9px!important}
  .admin-category-btn span{font-size:16px!important}.admin-category-btn b{font-size:8.5px!important}.admin-category-btn small{font-size:8px!important}
  .admin-menu-category-title{padding:7px 9px!important;margin-bottom:6px!important;border-radius:10px!important}
  .admin-menu-category-title h3{font-size:14px!important}.admin-menu-category-title span{font-size:9px!important}
  .admin-product-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;gap:6px!important}
  .admin-product-card{min-height:72px!important;padding:8px!important;border-radius:10px!important}
  .admin-product-main b{font-size:11px!important}.admin-product-main .muted{font-size:8.5px!important}
  .admin-product-actions{flex-basis:88px!important;gap:4px!important}.admin-product-actions .tiny{font-size:8px!important}

  .history-row,.order-line{padding:7px 0!important;font-size:10px!important}
  .pill{font-size:8.5px!important;padding:4px 6px!important}
  .danger-zone{margin-top:14px!important}
}

/* Philips 21.5-inch Full HD — same layout with balanced scale and spacing. */
@media (min-width:1700px) and (min-height:900px){
  html{font-size:16px}
  header{height:72px!important;padding:0 24px!important}
  header strong{font-size:22px!important}header small{font-size:12px!important}
  header #who{font-size:14px!important}
  main{max-width:1880px!important;padding:16px 22px 22px!important}
  nav{gap:8px!important;margin-bottom:14px!important}
  nav button{min-height:43px!important;padding:9px 15px!important;font-size:13px!important}

  .stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:10px!important;margin-bottom:14px!important}
  .stat{padding:13px 15px!important;border-radius:15px!important}
  .stat .money,.money{font-size:23px!important}.stat .muted,.stat small{font-size:11px!important}
  .grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important;gap:14px!important}
  .card{padding:15px!important;border-radius:17px!important}
  .card h2{font-size:22px!important}.card h3{font-size:17px!important}

  input,select{min-height:45px!important;padding:10px 12px!important;font-size:14px!important}
  button{min-height:43px!important;padding:9px 14px!important;font-size:13px!important}
  button.tiny,.tiny{min-height:34px!important;font-size:11px!important}

  .tables-grid{gap:14px!important}
  .table-card{padding:15px!important;border-radius:18px!important}
  .table-number{width:60px!important;height:60px!important;font-size:23px!important}
  .financial{gap:8px!important}.financial>div{padding:9px!important}.financial b{font-size:16px!important}

  .waiter-workspace{grid-template-columns:minmax(0,1fr) 280px!important;gap:14px!important}
  .waiter-active-grid{gap:10px!important}
  .waiter-archive-card{padding:10px!important}

  .cashier-workspace{grid-template-columns:280px minmax(0,1fr)!important;gap:14px!important}
  .sales-history-title,.cashier-sale-heading{height:52px!important}
  .sales-history-title h2,.cashier-sale-heading h2{font-size:21px!important}
  .sale-history-card{padding:10px!important;border-radius:12px!important}

  .admin-category-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr))!important;gap:9px!important}
  .admin-category-btn{min-height:78px!important}
  .admin-product-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))!important;gap:10px!important}
  .admin-product-card{min-height:102px!important;padding:13px!important}

  .login{max-width:430px!important;padding:28px!important}
  .modal{width:min(92vw,1100px)!important;padding:24px!important}
}


/* 2026-07-30 — Global font, mixed payments and admin product-sales report */
html,body,button,input,select,textarea,option{font-family:'BPG ExtraSquare Mtavruli',Arial,sans-serif!important}
.mixed-breakdown{display:block;margin-top:4px;font-size:10px;color:#6b5b00;line-height:1.35}
.mixed-payment-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.mixed-payment-fields label{font-weight:900;text-align:left}.mixed-payment-fields input{margin-top:7px;font-size:20px;text-align:center}.mixed-payment-check{padding:11px;border-radius:10px;margin:10px 0 14px;font-weight:900}.mixed-payment-check.ok{background:#ecfdf3;color:#137333;border:1px solid #62c47e}.mixed-payment-check.bad{background:#fff2f2;color:#b42318;border:1px solid #ef9a9a}
.admin-product-sales{margin:18px 0 24px;border:2px solid var(--y);border-radius:18px;padding:16px;background:var(--soft)}.admin-product-sales h2,.admin-product-sales p{margin:0 0 5px}.admin-sales-list{display:grid;gap:7px;max-height:360px;overflow:auto;padding-right:4px}.admin-sales-row{display:grid;grid-template-columns:34px minmax(160px,1fr) 120px 130px;gap:10px;align-items:center;background:#fff;border:1px solid #eadb73;border-radius:11px;padding:10px 12px}.admin-sales-row .sales-rank{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--y);font-weight:900}.admin-sales-row strong{text-align:right;color:#9a7600}
@media(max-width:1100px){.admin-sales-row{grid-template-columns:30px minmax(120px,1fr) 100px 110px;font-size:12px}.mixed-payment-fields{gap:8px}}
@media(max-width:700px){.mixed-payment-fields{grid-template-columns:1fr}.admin-sales-row{grid-template-columns:28px minmax(0,1fr) 90px}.admin-sales-row strong{grid-column:2/-1;text-align:left}.payment-buttons{grid-template-columns:1fr}}

/* FINAL UI refinements: requested font, compact finance switch, ordered finance cards and product report */
html,body,body *,button,input,select,textarea,option,.product,.product *,.category-grid,.category-grid *,.category-strip,.category-strip *{
  font-family:'BPG ExtraSquare Mtavruli',Arial,sans-serif!important;
}
.finance-summary-head,.bar-finance-toggle{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  margin:0 0 5px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  min-height:0!important;
}
.finance-visibility-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  width:auto!important;
  min-width:82px!important;
  height:26px!important;
  min-height:26px!important;
  padding:3px 8px!important;
  margin:0!important;
  border:0!important;
  border-radius:7px!important;
  color:#fff!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:900!important;
  box-shadow:none!important;
  transform:none!important;
}
.finance-visibility-toggle.is-on{background:#16a34a!important}
.finance-visibility-toggle.is-off{background:#dc2626!important}
.finance-visibility-toggle:hover{filter:brightness(.95);box-shadow:none!important;transform:none!important}
.finance-visibility-toggle .toggle-dot{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.25)}
.bar-finance-row{align-items:flex-start!important}
.bar-finance-toggle{flex:0 0 auto!important;width:auto!important}
.finance-card{position:relative;padding-top:9px!important}
.finance-icon{display:inline-flex;align-items:center;justify-content:center;margin-right:4px;font-size:13px;line-height:1;vertical-align:-1px}
.admin-finance-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important}
.admin-product-sales{background:#fffdf2!important;padding:14px!important}
.admin-sales-heading{margin-bottom:10px}
.admin-sales-heading h2{font-size:20px;margin:0 0 3px}
.admin-sales-columns{display:grid;grid-template-columns:34px minmax(160px,1fr) 130px 130px;gap:10px;padding:0 12px 6px;color:#806d00;font-size:10px;font-weight:900}
.admin-sales-row{grid-template-columns:34px minmax(160px,1fr) 130px 130px!important}
.sales-product-name{min-width:0;display:flex;flex-direction:column;gap:2px}
.sales-product-name b{white-space:normal;overflow-wrap:anywhere}
.sales-product-name small{color:#8a7600;font-size:10px}
.sales-qty{font-weight:800}.sales-qty b{font-size:17px;color:#9a7600}
.admin-sales-list{max-height:430px!important}
@media(max-width:1100px){
  .finance-visibility-toggle{height:25px!important;min-height:25px!important;min-width:76px!important;font-size:8px!important}
  .admin-sales-columns,.admin-sales-row{grid-template-columns:30px minmax(130px,1fr) 100px 105px!important}
}
@media(max-width:700px){
  .admin-sales-columns{display:none}
  .admin-sales-row{grid-template-columns:28px minmax(0,1fr) 90px!important}
  .admin-sales-row strong{grid-column:2/-1;text-align:left!important}
}

/* 2026-07-30 — Single-line compact finance rows on Philips 1920x1080 and Posiflex 1024x768 */
/* Remove any legacy bar-sales heading/card and reclaim its vertical space. */
.bar-finance-title,
.bar-sales-title,
.bar-sales-card,
#bar .bar-title-card{
  display:none!important;
}

/* Finance rows always stay on one line in all cabinets. */
.admin-finance-stats,
#tables>.waiter-stats,
.bar-finance-row>.stats{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:minmax(0,1fr)!important;
  grid-template-columns:none!important;
  gap:4px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  overflow:visible!important;
}

.admin-finance-stats .stat,
#tables>.waiter-stats .stat,
.bar-finance-row>.stats .stat{
  min-width:0!important;
  min-height:46px!important;
  height:46px!important;
  padding:5px 4px!important;
  border-radius:8px!important;
  font-size:7.5px!important;
  line-height:1.08!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-align:center!important;
}

.admin-finance-stats .finance-icon,
#tables>.waiter-stats .finance-icon,
.bar-finance-row>.stats .finance-icon{
  display:inline!important;
  margin-right:2px!important;
  font-size:10px!important;
}

.admin-finance-stats .money,
#tables>.waiter-stats .money,
.bar-finance-row>.stats .money{
  margin-top:3px!important;
  font-size:11px!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Keep the cashier visibility button compact and beside the row, never as a card. */
.bar-finance-row{
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
  width:100%!important;
  min-height:46px!important;
  margin:0 0 5px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.bar-finance-toggle{
  flex:0 0 auto!important;
  margin:0!important;
}
.bar-finance-toggle .finance-visibility-toggle{
  width:26px!important;
  min-width:26px!important;
  height:46px!important;
  min-height:46px!important;
  padding:0!important;
  font-size:0!important;
  border-radius:8px!important;
}
.bar-finance-toggle .finance-visibility-toggle .toggle-dot{
  width:9px!important;
  height:9px!important;
  margin:0!important;
}

/* Waiter switch remains a tiny standalone button above the finance line. */
#tables>.finance-summary-head{
  height:22px!important;
  min-height:22px!important;
  margin:0 0 3px!important;
}
#tables>.finance-summary-head .finance-visibility-toggle{
  height:22px!important;
  min-height:22px!important;
  min-width:70px!important;
  padding:2px 6px!important;
  font-size:8px!important;
}

/* Administrator never has a finance visibility switch. */
#dashboard .finance-summary-head,
#dashboard .finance-visibility-toggle{
  display:none!important;
}

/* Pull history and menu closer to finance row while preserving a small safe gap. */
#bar>.cashier-workspace{
  margin-top:5px!important;
  height:calc(100% - 51px)!important;
}
#tables>.waiter-workspace,
#tables>.row.between,
#tables>.grid.tables-grid{
  margin-top:5px!important;
}
#dashboard>.admin-product-sales{
  margin-top:7px!important;
}

/* Posiflex XT-3915 (1024x768): keep the complete finance line readable without wrapping. */
@media (max-width:1200px){
  .admin-finance-stats,
  #tables>.waiter-stats,
  .bar-finance-row>.stats{
    gap:3px!important;
  }
  .admin-finance-stats .stat,
  #tables>.waiter-stats .stat,
  .bar-finance-row>.stats .stat{
    min-height:43px!important;
    height:43px!important;
    padding:4px 2px!important;
    font-size:6.6px!important;
    border-radius:7px!important;
  }
  .admin-finance-stats .finance-icon,
  #tables>.waiter-stats .finance-icon,
  .bar-finance-row>.stats .finance-icon{
    font-size:9px!important;
    margin-right:1px!important;
  }
  .admin-finance-stats .money,
  #tables>.waiter-stats .money,
  .bar-finance-row>.stats .money{
    font-size:9.5px!important;
    margin-top:2px!important;
  }
  .bar-finance-row{min-height:43px!important;margin-bottom:4px!important}
  .bar-finance-toggle .finance-visibility-toggle{height:43px!important;min-height:43px!important;width:24px!important;min-width:24px!important}
  #bar>.cashier-workspace{height:calc(100% - 47px)!important;margin-top:4px!important}
}

/* Philips 1920x1080: slightly larger but still one compact line. */
@media (min-width:1500px){
  .admin-finance-stats,
  #tables>.waiter-stats,
  .bar-finance-row>.stats{gap:6px!important}
  .admin-finance-stats .stat,
  #tables>.waiter-stats .stat,
  .bar-finance-row>.stats .stat{
    height:50px!important;
    min-height:50px!important;
    padding:6px!important;
    font-size:9px!important;
  }
  .admin-finance-stats .money,
  #tables>.waiter-stats .money,
  .bar-finance-row>.stats .money{font-size:13px!important}
  .bar-finance-row{min-height:50px!important}
  .bar-finance-toggle .finance-visibility-toggle{height:50px!important;min-height:50px!important}
  #bar>.cashier-workspace{height:calc(100% - 56px)!important}
}

/* 2026-07-30 — Wider menu, narrower history, restored scrolling, categorized product report */
/* The old bar-sales card/title is removed completely and its space is reclaimed. */
.bar-sales-card,.bar-sales-title,.bar-finance-title,#bar .bar-title-card,.cashier-sale-heading{display:none!important}

/* Put finance at the very top on the reclaimed line. */
#bar>.bar-finance-row{margin-top:0!important;margin-bottom:5px!important}
#bar>.cashier-workspace{margin-top:0!important}

/* Slightly narrower sales history gives the menu more usable width. */
.cashier-workspace{grid-template-columns:145px minmax(0,1fr)!important;gap:6px!important}
.sales-history-panel{min-width:0!important}
.sales-history-title{padding-inline:5px!important}
.sale-history-card{padding:5px!important}
.cashier-sale-area,.cashier-menu{min-width:0!important}

/* Scrolling must remain available for both the full site and the menu. */
@media (min-width:801px){
  html,body{height:auto!important;min-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important}
  body{display:block!important}
  main{height:auto!important;min-height:calc(100vh - 70px)!important;overflow:visible!important;display:block!important}
  .page:not(.hidden){height:auto!important;min-height:0!important;overflow:visible!important}
  #bar:not(.hidden){height:auto!important;min-height:calc(100vh - 105px)!important;overflow:visible!important}
  #bar>.cashier-workspace{height:calc(100vh - 155px)!important;min-height:520px!important;overflow:visible!important}
  .sales-history-panel,.cashier-sale-area{height:100%!important;min-height:0!important;overflow:hidden!important}
  #barSell,#barSell>.cashier-menu{height:100%!important;min-height:0!important;overflow:hidden!important}
  .cashier-menu .order-layout{height:100%!important;min-height:0!important;overflow:hidden!important}
  .cashier-menu .products{height:100%!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important}
  .sales-history-list{overflow-y:auto!important;overscroll-behavior:contain!important}
  #dashboard,#tables,#staff,#menuadmin{overflow:visible!important}
}

/* Posiflex: keep history compact and prioritize the menu. */
@media (min-width:801px) and (max-width:1200px){
  .cashier-workspace{grid-template-columns:125px minmax(0,1fr)!important;gap:5px!important}
  .sales-history-title h2{font-size:9px!important}
  .sale-history-card .sale-product{font-size:8.5px!important}
  .sale-history-card .sale-meta,.sale-history-card .payment-method-line{font-size:6.8px!important}
  #bar>.cashier-workspace{height:calc(100vh - 145px)!important;min-height:500px!important}
}

/* Philips: history remains readable while menu receives most of the width. */
@media (min-width:1500px){
  .cashier-workspace{grid-template-columns:165px minmax(0,1fr)!important;gap:8px!important}
}

/* Admin product-sales report grouped and searchable by category. */
.admin-sales-category-filters{
  display:flex;gap:6px;overflow-x:auto;padding:3px 1px 8px;margin-bottom:4px;
  scrollbar-width:thin;scroll-behavior:smooth
}
.admin-sales-category-filter{
  flex:0 0 auto;min-width:96px;min-height:46px;padding:5px 8px;border-radius:9px;
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:5px;
  background:#fff;border:1px solid rgba(190,150,0,.24);color:#302600;box-shadow:none
}
.admin-sales-category-filter span{font-size:15px}
.admin-sales-category-filter b{font-size:10px;text-align:left;white-space:nowrap}
.admin-sales-category-filter small{font-size:8px;opacity:.7}
.admin-sales-category-filter.active{background:linear-gradient(135deg,#ffd400,#ffbd00);border-color:#e0a900}
.admin-sales-category-group{margin-bottom:8px;border:1px solid rgba(190,150,0,.18);border-radius:10px;overflow:hidden;background:#fff}
.admin-sales-category-title{display:flex;align-items:center;gap:7px;padding:7px 9px;background:#fff8d7;border-bottom:1px solid rgba(190,150,0,.18)}
.admin-sales-category-title span{font-size:16px}
.admin-sales-category-title b{font-size:12px}
.admin-sales-category-title small{margin-left:auto;font-size:9px;opacity:.68}
.admin-sales-category-group .admin-sales-row{border-radius:0!important;border-left:0!important;border-right:0!important}
.admin-sales-category-group .admin-sales-row:last-child{border-bottom:0!important}

@media(max-width:1200px){
  .admin-sales-category-filter{min-width:82px;min-height:40px;padding:4px 6px}
  .admin-sales-category-filter b{font-size:8px}
  .admin-sales-category-filter span{font-size:13px}
}


/* 2026-07-30 — final readability, fixed desktop cart, 3-row categories, balanced history */
/* Remove the old cashier wording everywhere in the interface. */
.bar-sales-card,.bar-sales-title,.bar-finance-title,#bar .bar-title-card,.cashier-sale-heading{display:none!important}

/* Clean, sharp typography: no blur, glow or text shadow. */
body,button,input,select,textarea,.card,.stat,.product,.category-card,
.sale-history-card,.waiter-archive-card,.cart-panel{
  text-shadow:none!important;
  filter:none!important;
  -webkit-filter:none!important;
}
.product,.category-card,.sale-history-card,.waiter-archive-card,.cart-panel{
  box-shadow:none!important;
}
.product,.category-card{
  -webkit-font-smoothing:antialiased!important;
  text-rendering:geometricPrecision!important;
}

/* All menu categories always occupy exactly three rows. */
.cashier-menu .category-grid,
.order-modal .category-grid{
  display:grid!important;
  grid-template-rows:repeat(3,minmax(48px,auto))!important;
  grid-template-columns:repeat(var(--category-cols,7),minmax(0,1fr))!important;
  grid-auto-flow:column!important;
  gap:6px!important;
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
  margin:5px 0 8px!important;
}
.cashier-menu .category-card,
.order-modal .category-card{
  min-width:0!important;
  min-height:48px!important;
  height:auto!important;
  padding:5px 4px!important;
  border-radius:9px!important;
}
.cashier-menu .category-card span,
.order-modal .category-card span{font-size:15px!important;line-height:1!important}
.cashier-menu .category-card b,
.order-modal .category-card b{
  font-size:10.5px!important;
  line-height:1.12!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

/* Sales history width is similar to the waiter archive cards and remains readable. */
.cashier-workspace{
  grid-template-columns:260px minmax(0,1fr)!important;
  gap:10px!important;
}
.sales-history-title h2{font-size:15px!important}
.sale-history-card{
  padding:8px!important;
  border-radius:11px!important;
}
.sale-history-head b{font-size:11px!important}
.sale-history-card .sale-product,
.sale-order-item{font-size:10px!important;line-height:1.2!important}
.sale-history-card .sale-meta{font-size:8px!important;line-height:1.25!important}
.sale-history-bottom{font-size:9px!important}
.sale-history-bottom strong{font-size:12px!important}
.sale-history-card .payment-method-line{font-size:8px!important}
.sale-history-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:5px!important;
  margin-top:6px!important;
  width:100%!important;
}
.sale-history-actions .tiny{
  width:100%!important;
  min-width:0!important;
  min-height:30px!important;
  padding:5px 3px!important;
  font-size:8.5px!important;
  line-height:1.1!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.sale-history-actions button:only-child{grid-column:1/-1!important}

/* Desktop: current order always remains visible. Only product/history lists scroll. */
@media (min-width:901px){
  #bar>.cashier-workspace{
    height:calc(100vh - 145px)!important;
    min-height:520px!important;
    overflow:hidden!important;
  }
  .sales-history-panel,.cashier-sale-area,#barSell,#barSell>.cashier-menu{
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .cashier-menu .order-layout,
  .order-modal .order-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 320px!important;
    gap:10px!important;
    align-items:stretch!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .cashier-menu .order-layout{height:calc(100% - 198px)!important}
  .cashier-menu .products,
  .order-modal .products{
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    align-content:start!important;
  }
  .cashier-menu .cart-panel,
  .order-modal .cart-panel{
    position:sticky!important;
    top:0!important;
    align-self:stretch!important;
    height:100%!important;
    max-height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .cashier-menu .cart-lines,
  .order-modal .cart-lines{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
  }
  .cashier-menu .cart-total,
  .order-modal .cart-total,
  .cashier-menu .cart-panel>input,
  .order-modal .cart-panel>input,
  .cashier-menu .cart-panel>button,
  .order-modal .cart-panel>button{
    flex:0 0 auto!important;
  }
}

/* Posiflex XT-3915 (1024×768): keep everything sharp and usable. */
@media (min-width:901px) and (max-width:1200px){
  .cashier-workspace{grid-template-columns:220px minmax(0,1fr)!important;gap:7px!important}
  .cashier-menu .order-layout,.order-modal .order-layout{grid-template-columns:minmax(0,1fr) 270px!important;gap:7px!important}
  .cashier-menu .category-grid,.order-modal .category-grid{
    grid-template-rows:repeat(3,minmax(42px,auto))!important;
    gap:4px!important;
  }
  .cashier-menu .category-card,.order-modal .category-card{min-height:42px!important;padding:3px 2px!important}
  .cashier-menu .category-card span,.order-modal .category-card span{font-size:13px!important}
  .cashier-menu .category-card b,.order-modal .category-card b{font-size:8.5px!important}
  .cashier-menu .order-layout{height:calc(100% - 174px)!important}
  .sale-history-actions .tiny{font-size:8px!important;min-height:28px!important}
}

/* Philips 1920×1080: larger, clearer controls without wasting space. */
@media (min-width:1500px){
  .cashier-workspace{grid-template-columns:280px minmax(0,1fr)!important;gap:12px!important}
  .cashier-menu .order-layout,.order-modal .order-layout{grid-template-columns:minmax(0,1fr) 350px!important;gap:14px!important}
  .cashier-menu .category-grid,.order-modal .category-grid{grid-template-rows:repeat(3,minmax(54px,auto))!important;gap:7px!important}
  .cashier-menu .category-card,.order-modal .category-card{min-height:54px!important}
  .cashier-menu .category-card b,.order-modal .category-card b{font-size:11.5px!important}
  .cashier-menu .order-layout{height:calc(100% - 218px)!important}
}


/* FINAL: keep cashier current order and submit button permanently visible, matching waiter order panel. */
@media (min-width:901px){
  #bar{
    overflow:hidden!important;
  }
  #bar>.bar-finance-row{
    flex:0 0 auto!important;
  }
  #bar>.cashier-workspace{
    height:calc(100vh - 148px)!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  #bar .cashier-sale-area,
  #bar #barSell,
  #bar #barSell>.cashier-menu{
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  #bar .cashier-menu{
    display:flex!important;
    flex-direction:column!important;
  }
  #bar .cashier-menu>.menu-title-row,
  #bar .cashier-menu>.category-grid,
  #bar .cashier-menu>.menu-toolbar{
    flex:0 0 auto!important;
  }
  #bar .cashier-menu>.order-layout{
    flex:1 1 auto!important;
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
    grid-template-columns:minmax(0,1fr) 320px!important;
    align-items:stretch!important;
  }
  #bar .cashier-menu .products{
    height:100%!important;
    min-height:0!important;
    overflow-y:auto!important;
  }
  #bar .cashier-menu .cart-panel,
  #modal .modal.order-modal .waiter-menu .cart-panel{
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    padding:10px!important;
  }
  #bar .cashier-menu .cart-lines,
  #modal .modal.order-modal .waiter-menu .cart-lines{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
  }
  #bar .cashier-menu .cart-total,
  #bar .cashier-menu .cart-panel>input,
  #bar .cashier-menu .cart-panel>button:last-child,
  #modal .modal.order-modal .waiter-menu .cart-total,
  #modal .modal.order-modal .waiter-menu .cart-panel>button:last-child{
    flex:0 0 auto!important;
  }
  #bar .cashier-menu .cart-panel>button:last-child,
  #modal .modal.order-modal .waiter-menu .cart-panel>button:last-child{
    display:block!important;
    width:100%!important;
    min-height:42px!important;
    margin-top:6px!important;
    position:relative!important;
    bottom:auto!important;
  }
}

@media (min-width:901px) and (max-width:1200px){
  #bar>.cashier-workspace{height:calc(100vh - 142px)!important}
  #bar .cashier-menu>.order-layout{grid-template-columns:minmax(0,1fr) 270px!important}
  #bar .cashier-menu .cart-panel,
  #modal .modal.order-modal .waiter-menu .cart-panel{padding:7px!important}
  #bar .cashier-menu .cart-panel>button:last-child,
  #modal .modal.order-modal .waiter-menu .cart-panel>button:last-child{min-height:36px!important;padding:6px!important}
}

@media (min-width:1500px){
  #bar>.cashier-workspace{height:calc(100vh - 158px)!important}
  #bar .cashier-menu>.order-layout{grid-template-columns:minmax(0,1fr) 350px!important}
}

/* Closed/cancelled waiter cards: clearly show consumed and remaining deposit after closure. */
.waiter-archive-values{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.waiter-archive-values span{
  min-width:0!important;
}
.waiter-archive-values b{
  display:block!important;
  margin-top:2px!important;
}

/* FINAL waiter finance toggle parity + archive card collision fix */
#tables>.waiter-finance-row{
  display:flex!important;
  align-items:stretch!important;
  gap:8px!important;
  margin:0 0 5px!important;
  min-height:43px!important;
  width:100%!important;
}
#tables>.waiter-finance-row>.bar-finance-toggle{
  display:flex!important;
  align-items:stretch!important;
  flex:0 0 auto!important;
  width:auto!important;
}
#tables>.waiter-finance-row>.bar-finance-toggle .finance-visibility-toggle{
  height:43px!important;
  min-height:43px!important;
  width:24px!important;
  min-width:24px!important;
  padding:3px 2px!important;
  margin:0!important;
  font-size:0!important;
  border-radius:8px!important;
}
#tables>.waiter-finance-row>.bar-finance-toggle .toggle-dot{
  width:10px!important;
  height:10px!important;
  margin:0!important;
}
#tables>.waiter-finance-row>.waiter-stats{
  display:grid!important;
  grid-template-columns:repeat(9,minmax(0,1fr))!important;
  gap:5px!important;
  margin:0!important;
  flex:1 1 auto!important;
  min-width:0!important;
}
#tables>.waiter-finance-row>.waiter-stats .stat{
  min-width:0!important;
  padding:4px 5px!important;
  border-radius:9px!important;
  font-size:7.5px!important;
  line-height:1.1!important;
  overflow:hidden!important;
}
#tables>.waiter-finance-row>.waiter-stats .money{
  font-size:10px!important;
  margin-top:2px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.waiter-archive-card{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  min-width:0!important;
  overflow:hidden!important;
  height:auto!important;
}
.waiter-archive-values{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:4px!important;
  margin:0!important;
}
.waiter-archive-values span{
  min-width:0!important;
  padding:5px 3px!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
}
.waiter-archive-values b{
  display:block!important;
  min-width:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.waiter-archive-card .payment-method-line{
  width:100%!important;
  box-sizing:border-box!important;
  margin:0!important;
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
.waiter-archive-card .mixed-breakdown{
  display:block!important;
  margin-top:3px!important;
  white-space:normal!important;
  line-height:1.25!important;
}
.archive-card-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:5px!important;
  width:100%!important;
  margin-top:1px!important;
}
.archive-card-actions button{
  width:100%!important;
  min-width:0!important;
  min-height:30px!important;
  padding:5px 3px!important;
  font-size:8px!important;
  line-height:1.15!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.archive-card-actions button:only-child{grid-column:1/-1!important}

@media (min-width:901px) and (max-width:1200px){
  #tables>.waiter-finance-row{min-height:43px!important;gap:5px!important}
  #tables>.waiter-finance-row>.waiter-stats{gap:3px!important}
  #tables>.waiter-finance-row>.waiter-stats .stat{padding:3px!important;font-size:6.8px!important}
  #tables>.waiter-finance-row>.waiter-stats .money{font-size:9px!important}
  .archive-card-actions{grid-template-columns:1fr!important}
}
@media (max-width:900px){
  #tables>.waiter-finance-row{flex-wrap:wrap!important;height:auto!important}
  #tables>.waiter-finance-row>.bar-finance-toggle{width:100%!important}
  #tables>.waiter-finance-row>.bar-finance-toggle .finance-visibility-toggle{
    width:100%!important;min-width:0!important;height:auto!important;min-height:34px!important;font-size:9px!important
  }
  #tables>.waiter-finance-row>.waiter-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}
}


/* FINAL CASHIER VIEWPORT FIX: no cashier card and submit is always reachable without page scrolling. */
@media (min-width:901px){
  body:has(#bar:not(.hidden)) main{padding-top:6px!important;}
  #bar>.cashier-workspace{
    height:calc(100vh - 118px)!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  #bar .cashier-sale-area,
  #bar #barSell,
  #bar #barSell>.cashier-menu{
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  #bar .cashier-menu>.order-layout{
    min-height:0!important;
    overflow:hidden!important;
  }
  #bar .cashier-menu .cart-panel{
    position:sticky!important;
    top:0!important;
    align-self:stretch!important;
    height:100%!important;
    max-height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  #bar .cashier-menu .cart-lines{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
  }
  #bar .cashier-menu .cart-panel>button:last-child{
    position:sticky!important;
    bottom:0!important;
    z-index:10!important;
    flex:0 0 auto!important;
    display:block!important;
    width:100%!important;
    min-height:42px!important;
    margin-top:6px!important;
  }
}
@media (min-width:901px) and (max-height:820px){
  #bar>.cashier-workspace{height:calc(100vh - 104px)!important;}
  #bar .cashier-menu .cart-panel{padding:6px!important;}
  #bar .cashier-menu .cart-panel h3{margin:0 0 3px!important;font-size:14px!important;}
  #bar .cashier-menu .cart-total{padding:4px 0!important;font-size:16px!important;}
  #bar .cashier-menu .cart-panel>input{min-height:30px!important;height:30px!important;padding:4px 7px!important;}
  #bar .cashier-menu .cart-panel>button:last-child{min-height:36px!important;padding:5px!important;margin-top:4px!important;}
}
\n\n/* ADMIN BAR NAVIGATION FIX: keep admin navigation visible on the Bar page. */
.admin-bar-return{display:flex;align-items:center;margin:0 0 6px 0;min-height:34px}
.admin-bar-return button{padding:7px 12px!important;min-height:32px!important;font-size:12px!important;border-radius:9px!important}
@media (min-width:901px){
  body:has(#nav:not(.hidden)) #bar>.cashier-workspace{
    height:calc(100vh - 205px)!important;
    min-height:430px!important;
  }
}
@media (max-width:900px){
  .admin-bar-return{position:sticky;top:0;z-index:4;background:#fff;padding:4px 0}
  .admin-bar-return button{width:100%}
}


/* 2026-08-06 — compact admin navigation */
.admin-topbar{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  margin:0 0 12px;
}
.admin-topbar nav{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:0;
  min-width:0;
}
.admin-topbar #logout{
  margin-left:auto;
  flex:0 0 auto;
}
#app{padding-top:12px!important;}
@media (min-width:801px) and (max-width:1100px) and (max-height:850px){
  #app{padding-top:6px!important;}
  .admin-topbar{margin-bottom:6px!important;gap:6px!important;}
  .admin-topbar nav{margin:0!important;padding:0!important;}
}

/* 2026-08-06 — final admin logout alignment fix */
#adminTopbar.admin-topbar{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
  width:100%!important;
  gap:8px!important;
  margin:0 0 12px!important;
}
#adminTopbar.admin-topbar > #nav{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
  width:auto!important;
  flex:0 1 auto!important;
  overflow:visible!important;
}
#adminTopbar.admin-topbar > #logout{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  margin:0 0 0 auto!important;
  flex:0 0 auto!important;
  min-height:43px!important;
  padding:9px 15px!important;
  line-height:1!important;
}
#adminTopbar.admin-topbar > #logout.hidden{display:none!important;}
@media(max-width:800px){
  #adminTopbar.admin-topbar{overflow-x:auto!important;}
  #adminTopbar.admin-topbar > #nav{flex:0 0 auto!important;}
  #adminTopbar.admin-topbar > #logout{position:sticky!important;right:0!important;background:#fff!important;}
}


/* 2026-08-06 v05 — logout is physically inside the admin navigation row. */
#adminTopbar.admin-topbar{
  display:block!important;
  width:100%!important;
  margin:0 0 12px!important;
  padding:0!important;
}
#adminTopbar.admin-topbar > #nav{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  width:100%!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
#adminTopbar.admin-topbar > #nav > button{
  flex:0 0 auto!important;
  min-height:43px!important;
  box-sizing:border-box!important;
}
#adminTopbar.admin-topbar > #nav > #logout{
  margin-left:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#adminTopbar.admin-topbar > #nav > #logout.hidden{display:none!important;}
@media(max-width:800px){
  #adminTopbar.admin-topbar > #nav{overflow-x:auto!important;}
  #adminTopbar.admin-topbar > #nav > #logout{position:sticky!important;right:0!important;background:#fff!important;}
}


/* 2026-08-06 v06 — logout is a sibling of nav so renderNav cannot erase it. */
#adminTopbar.admin-topbar{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  width:100%!important;
  gap:8px!important;
  margin:0 0 12px!important;
  padding:0!important;
}
#adminTopbar.admin-topbar > #nav{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  flex:0 1 auto!important;
  overflow:visible!important;
}
#adminTopbar.admin-topbar > #nav > button,
#adminTopbar.admin-topbar > #logout{
  min-height:43px!important;
  box-sizing:border-box!important;
  flex:0 0 auto!important;
}
#adminTopbar.admin-topbar > #logout{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-left:auto!important;
}
#adminTopbar.admin-topbar > #logout.hidden{display:none!important;}
@media(max-width:800px){
  #adminTopbar.admin-topbar{overflow-x:auto!important;}
  #adminTopbar.admin-topbar > #nav{flex:0 0 auto!important;}
  #adminTopbar.admin-topbar > #logout{position:sticky!important;right:0!important;background:#fff!important;}
}


/* v07: maximize category-card text area without changing card dimensions. */
#bar .cashier-menu > .category-grid,
#modal .modal.order-modal .waiter-menu > .category-grid{
  margin-top:0!important;
}
#bar .cashier-menu .category-card,
#modal .modal.order-modal .waiter-menu .category-card{
  padding-left:2px!important;
  padding-right:2px!important;
}
#bar .cashier-menu .category-card b,
#modal .modal.order-modal .waiter-menu .category-card b{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  padding:0 1px!important;
  margin:0!important;
  font-size:clamp(12px,1.02vw,16px)!important;
  line-height:1.05!important;
  font-weight:800!important;
  letter-spacing:-.15px!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
#bar .cashier-menu .category-card span,
#modal .modal.order-modal .waiter-menu .category-card span{
  flex:0 0 auto!important;
  margin:0!important;
}

/* 2026-08-06 v08 — slightly larger and heavier category labels; card size unchanged. */
#bar .cashier-menu .category-card b,
#modal .modal.order-modal .waiter-menu .category-card b{
  font-size:clamp(13px,1.12vw,17px)!important;
  font-weight:900!important;
  line-height:1.02!important;
  letter-spacing:-.2px!important;
}

/* Product add/edit form */
.product-form-title{margin-bottom:14px}
.product-form-title h2{margin-bottom:4px}
.product-form{gap:13px}
.product-form label:not(.featured-check){display:grid;gap:6px;font-weight:800}
.product-form label:not(.featured-check)>span{font-size:14px}
.product-form select,.product-form input{width:100%;min-height:48px;font-size:16px}
.product-form button{min-height:48px;font-size:16px;font-weight:900}


/* 2026-08-06 v11 — cashier logout inside the finance row */
#adminTopbar.cashier-topbar-hidden{display:none!important;}
#bar>.bar-finance-row{display:flex!important;align-items:stretch!important;}
#bar>.bar-finance-row>.stats{flex:1 1 auto!important;min-width:0!important;}
.cashier-finance-logout{
  flex:0 0 auto!important;
  align-self:stretch!important;
  margin:0!important;
  padding:0 18px!important;
  min-width:92px!important;
  border:1px solid #e8c644!important;
  border-radius:12px!important;
  background:#fffdf3!important;
  color:#9a6500!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.cashier-finance-logout:hover{background:#fff4b8!important;}
@media(max-width:900px){
  #bar>.bar-finance-row{flex-wrap:nowrap!important;}
  .cashier-finance-logout{min-width:78px!important;padding:0 12px!important;}
}

/* 2026-08-06 v13 — centered department names and single-open-order cashier flow. */
#adminTopbar.admin-topbar{position:relative!important;}
#adminTopbar .role-label{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  z-index:1!important;
  padding:8px 18px!important;
  border:1px solid #efca35!important;
  border-radius:12px!important;
  background:#fff9d9!important;
  color:#4d3b00!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
  pointer-events:none!important;
}
#adminTopbar .role-label.hidden{display:none!important;}
.cashier-role-label{
  align-self:stretch!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:100px!important;
  padding:0 16px!important;
  border:1px solid #efca35!important;
  border-radius:12px!important;
  background:#fff9d9!important;
  color:#4d3b00!important;
  font-size:16px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.pending-order-lock{
  min-height:420px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:14px!important;
  text-align:center!important;
  border:2px solid #efca35!important;
  transition:background .25s,border-color .25s,box-shadow .25s,color .25s!important;
}
.pending-order-lock .pending-lock-icon{font-size:44px!important;}
.pending-order-lock h2{margin:0!important;font-size:28px!important;}
.pending-order-lock p{max-width:520px!important;margin:0!important;font-size:17px!important;}
.pending-order-lock strong{font-size:32px!important;}
.finish-required{font-weight:900!important;}
.pending-close{transition:background .25s,border-color .25s,box-shadow .25s!important;}
.pending-overdue{
  border-color:#d71920!important;
  background:#fff0f0!important;
  box-shadow:0 0 0 3px rgba(215,25,32,.14),0 8px 24px rgba(215,25,32,.18)!important;
  animation:pendingPulse 1.15s ease-in-out infinite alternate!important;
}
.pending-overdue .sale-status,
.pending-overdue .finish-required{background:#d71920!important;color:#fff!important;border-color:#d71920!important;}
@keyframes pendingPulse{from{box-shadow:0 0 0 2px rgba(215,25,32,.10),0 6px 18px rgba(215,25,32,.12)}to{box-shadow:0 0 0 5px rgba(215,25,32,.18),0 10px 28px rgba(215,25,32,.22)}}
@media(max-width:1100px){
  #adminTopbar .role-label{position:static!important;transform:none!important;margin-left:auto!important;}
  .cashier-role-label{min-width:80px!important;padding:0 10px!important;}
}


/* Admin setting: cashier order completion rule */
.settings-switch-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding:14px 16px;border:1px solid #f0bd00;border-radius:14px;background:#fffdf4;cursor:pointer}
.settings-switch-row>span{display:flex;flex-direction:column;gap:5px}.settings-switch-row small{font-size:12px;opacity:.72}.settings-switch-row input{position:absolute;opacity:0;pointer-events:none}.settings-switch-row i{position:relative;flex:0 0 54px;width:54px;height:30px;border-radius:999px;background:#d8d8d8;transition:.2s}.settings-switch-row i:after{content:'';position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0003;transition:.2s}.settings-switch-row input:checked+i{background:#f4c400}.settings-switch-row input:checked+i:after{transform:translateX(24px)}.settings-switch-row input:disabled+i{opacity:.55}

/* v15 — compact, equal admin settings cards */
.admin-tools{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
  margin-top:16px!important;
}
.admin-tool-card,
.admin-tool-card.danger-zone{
  box-sizing:border-box!important;
  min-height:178px!important;
  height:100%!important;
  margin-top:0!important;
  padding:13px 14px!important;
  border-radius:12px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
}
.admin-tool-card h2{
  margin:0 0 7px!important;
  font-size:18px!important;
  line-height:1.2!important;
}
.admin-tool-card p{
  margin:0 0 10px!important;
  font-size:13px!important;
  line-height:1.38!important;
}
.admin-tool-card > button,
.admin-tool-card > .settings-switch-row{
  margin-top:auto!important;
}
.admin-tool-card > button{
  min-height:38px!important;
  padding:8px 12px!important;
  font-size:13px!important;
}
.admin-tool-card .settings-switch-row{
  min-height:48px!important;
  padding:8px 10px!important;
}
.admin-tool-card .settings-switch-row b{
  font-size:13px!important;
  line-height:1.25!important;
}
.admin-tool-card .settings-switch-row small{
  font-size:11px!important;
  line-height:1.25!important;
}
@media(max-width:1100px){
  .admin-tools{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
  .admin-tools{grid-template-columns:1fr!important}
  .admin-tool-card,.admin-tool-card.danger-zone{min-height:auto!important}
}

/* Waiter tables: six readable cards per row and unmistakable extra-payment alert */
@media (min-width:1200px){
  .waiter-active-grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:7px;
  }
  .waiter-compact-card{
    height:184px;
    min-height:184px;
    max-height:184px;
    padding:7px;
    border-radius:12px;
  }
  .waiter-compact-card .table-head{gap:5px;padding-bottom:5px;margin-bottom:5px}
  .waiter-compact-card .table-number{width:36px;height:36px;font-size:15px;flex:0 0 36px}
  .waiter-compact-card .table-person h3{font-size:12px;max-width:96px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .waiter-compact-card .table-sub{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .waiter-compact-card .status-badge{font-size:7px;padding:3px 4px}
  .waiter-compact-card .financial{grid-template-columns:1fr 1fr;gap:3px}
  .waiter-compact-card .financial>div{padding:4px}
  .waiter-compact-card .financial span{font-size:7.5px}
  .waiter-compact-card .financial b{font-size:10px}
  .waiter-compact-card .financial small{font-size:6.5px}
  .waiter-compact-card .order-meta{font-size:8px;margin:3px 0}
  .waiter-compact-card .table-actions{gap:3px}
  .waiter-compact-card .table-actions button{min-height:24px;padding:3px 2px;font-size:7.5px;line-height:1.05}
}
@media (min-width:900px) and (max-width:1199px){
  .waiter-active-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.table-status-stack{display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:0}
.extra-due-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#dc2626;color:#fff;font-size:7px;font-weight:900;padding:3px 5px;white-space:nowrap;box-shadow:0 0 0 2px rgba(220,38,38,.12)}
.waiter-compact-card.has-extra-due{border-color:#dc2626;background:linear-gradient(180deg,#fff 0%,#fff2f2 100%);box-shadow:0 0 0 3px rgba(220,38,38,.12),0 8px 22px rgba(220,38,38,.2);animation:waiterDuePulse 1.25s ease-in-out infinite}
.waiter-compact-card .extra-due-warning{display:flex;align-items:center;justify-content:space-between;gap:5px;background:#dc2626;color:#fff;border-color:#b91c1c;padding:5px 6px;font-size:8px;line-height:1.05;margin:3px 0}
.waiter-compact-card .extra-due-warning span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.waiter-compact-card .extra-due-warning strong{font-size:10px;white-space:nowrap}
@keyframes waiterDuePulse{0%,100%{box-shadow:0 0 0 2px rgba(220,38,38,.10),0 7px 18px rgba(220,38,38,.16)}50%{box-shadow:0 0 0 5px rgba(220,38,38,.22),0 10px 25px rgba(220,38,38,.28)}}
@media (prefers-reduced-motion:reduce){.waiter-compact-card.has-extra-due{animation:none}}

/* 2026-08-06 FINAL — waiter cards: compact, collision-free, all controls visible */
@media (min-width:1200px){
  #tables .waiter-workspace{
    grid-template-columns:minmax(0,1fr) 250px!important;
    gap:8px!important;
    min-height:0!important;
  }
  #tables .waiter-active-area,
  #tables .waiter-archive-panel{
    min-height:0!important;
    overflow:hidden!important;
  }
  #tables .waiter-active-grid{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
    align-content:start!important;
    align-items:start!important;
    gap:6px!important;
    height:calc(100% - 46px)!important;
    min-height:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    padding:1px 3px 8px 1px!important;
  }
  #tables .waiter-compact-card{
    box-sizing:border-box!important;
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:160px!important;
    max-height:none!important;
    padding:6px!important;
    border-radius:10px!important;
    overflow:hidden!important;
  }
  #tables .waiter-compact-card .table-head{
    flex:0 0 auto!important;
    gap:4px!important;
    padding-bottom:3px!important;
    margin-bottom:3px!important;
  }
  #tables .waiter-compact-card .table-identity{min-width:0!important;gap:4px!important}
  #tables .waiter-compact-card .table-number{
    width:30px!important;height:30px!important;min-width:30px!important;flex:0 0 30px!important;
    font-size:13px!important;border-radius:8px!important;
  }
  #tables .waiter-compact-card .table-person{min-width:0!important}
  #tables .waiter-compact-card .table-person h3{
    max-width:none!important;font-size:10px!important;line-height:1.05!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  #tables .waiter-compact-card .table-sub{
    max-width:110px!important;font-size:6.7px!important;line-height:1.05!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  #tables .waiter-compact-card .table-status-stack{gap:2px!important}
  #tables .waiter-compact-card .status-badge,
  #tables .waiter-compact-card .extra-due-badge{
    font-size:6px!important;line-height:1!important;padding:2px 3px!important;
  }
  #tables .waiter-compact-card .financial{
    flex:0 0 auto!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:2px!important;
    margin:0!important;
  }
  #tables .waiter-compact-card .financial>div{
    min-width:0!important;padding:3px 2px!important;border-radius:5px!important;
  }
  #tables .waiter-compact-card .financial span{font-size:5.8px!important;line-height:1!important;white-space:nowrap!important}
  #tables .waiter-compact-card .financial b{font-size:7.8px!important;line-height:1.05!important;white-space:nowrap!important}
  #tables .waiter-compact-card .financial small{font-size:5px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #tables .waiter-compact-card .order-meta{flex:0 0 auto!important;font-size:6.5px!important;line-height:1!important;margin:3px 0 2px!important}
  #tables .waiter-compact-card .warning{
    flex:0 0 auto!important;min-height:0!important;margin:2px 0 0!important;padding:3px 4px!important;
    font-size:6.2px!important;line-height:1!important;border-radius:5px!important;
  }
  #tables .waiter-compact-card .extra-due-warning strong{font-size:7.5px!important}
  #tables .waiter-compact-card .table-actions{
    flex:0 0 auto!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:2px!important;
    width:100%!important;
    margin-top:4px!important;
  }
  #tables .waiter-compact-card .table-actions button{
    box-sizing:border-box!important;
    width:100%!important;min-width:0!important;min-height:20px!important;height:20px!important;
    padding:2px 1px!important;font-size:6.2px!important;line-height:1!important;border-radius:5px!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  #tables .waiter-compact-card .table-actions button:first-child{grid-column:span 2!important}
  #tables .waiter-archive-panel{padding-left:7px!important}
}

@media (min-width:900px) and (max-width:1199px){
  #tables .waiter-active-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
    align-items:start!important;
    overflow-y:auto!important;
  }
  #tables .waiter-compact-card{
    height:auto!important;min-height:166px!important;max-height:none!important;overflow:hidden!important;
  }
}

/* v18 — waiter table cards: responsive, readable and non-overlapping */
.waiter-workspace{
  grid-template-columns:minmax(0,1fr) 250px;
  gap:14px;
  height:calc(100vh - 190px);
  min-height:560px;
}
.waiter-active-grid{
  height:calc(100% - 46px);
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(235px,1fr));
  grid-auto-rows:auto;
  gap:10px;
  align-content:start;
  overflow-y:auto;
  overflow-x:hidden;
  padding:2px 5px 10px 2px;
}
.waiter-compact-card{
  height:auto;
  min-height:270px;
  max-height:none;
  padding:11px;
  border-width:2px;
  border-radius:15px;
  display:flex;
  flex-direction:column;
  overflow:visible;
}
.waiter-compact-card .table-head{
  gap:8px;
  padding-bottom:8px;
  margin-bottom:8px;
}
.waiter-compact-card .table-number{
  width:46px;
  height:46px;
  min-width:46px;
  font-size:19px;
}
.waiter-compact-card .table-person h3{
  max-width:none;
  font-size:15px;
  line-height:1.2;
  margin:0 0 3px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.waiter-compact-card .table-sub{
  font-size:10.5px;
  line-height:1.35;
}
.waiter-compact-card .status-badge{
  font-size:9px;
  padding:4px 7px;
}
.waiter-compact-card .extra-due-badge{
  font-size:9px;
  padding:4px 7px;
  white-space:nowrap;
}
.waiter-compact-card .financial{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.waiter-compact-card .financial>div{
  min-width:0;
  padding:8px 9px;
  border-radius:9px;
}
.waiter-compact-card .financial span{
  font-size:9.5px;
  line-height:1.2;
  margin-bottom:4px;
}
.waiter-compact-card .financial b{
  display:block;
  font-size:14px;
  line-height:1.2;
  white-space:nowrap;
}
.waiter-compact-card .financial small{
  display:block;
  font-size:8px;
  line-height:1.2;
  margin-top:3px;
  white-space:normal;
}
.waiter-compact-card .order-meta{
  font-size:10px;
  margin:7px 0 3px;
}
.waiter-compact-card .warning{
  font-size:9.5px;
  line-height:1.25;
  padding:6px;
  margin:4px 0;
}
.waiter-compact-card .extra-due-warning{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.waiter-compact-card .extra-due-warning strong{
  font-size:14px;
  white-space:nowrap;
}
.waiter-compact-card .table-actions{
  margin-top:auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}
.waiter-compact-card .table-actions button{
  min-height:34px;
  padding:7px 5px;
  font-size:10.5px;
  line-height:1.2;
  border-width:1.5px;
  border-radius:8px;
  white-space:normal;
  overflow-wrap:anywhere;
}
.waiter-compact-card .table-actions button:first-child{
  grid-column:1 / -1;
}
.waiter-archive-panel{min-width:0}

@media(min-width:1650px){
  .waiter-active-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(min-width:1250px) and (max-width:1649px){
  .waiter-active-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(min-width:900px) and (max-width:1249px){
  .waiter-workspace{grid-template-columns:minmax(0,1fr) 220px}
  .waiter-active-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:899px){
  .waiter-workspace{height:auto;overflow:visible;grid-template-columns:1fr}
  .waiter-active-grid{height:auto;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}
  .waiter-compact-card{min-height:270px}
}
@media(max-width:560px){
  .waiter-active-grid{grid-template-columns:1fr}
}


/* v20 — ONLY waiter table-card visual design. Existing page layout/navigation stays unchanged. */
#tables .waiter-compact-card.waiter-card-modern{
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:285px!important;
  height:auto!important;
  padding:11px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #dfe5ed!important;
  border-top:3px solid #16a34a!important;
  border-radius:10px!important;
  box-shadow:0 3px 9px rgba(28,45,75,.08)!important;
}
#tables .waiter-card-modern.state-warning{border-top-color:#f59e0b!important}
#tables .waiter-card-modern.state-danger{border-top-color:#ef3340!important}
#tables .waiter-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:9px;min-width:0}
#tables .waiter-card-title{min-width:0}
#tables .waiter-card-title h3{margin:0 0 4px!important;font-size:16px!important;line-height:1.15!important;color:#111d36!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#tables .waiter-card-title p{margin:0!important;font-size:10px!important;line-height:1.25!important;color:#526077!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#tables .waiter-card-status{width:11px;height:11px;flex:0 0 11px;border-radius:50%;margin-top:3px;background:#16a34a}
#tables .state-warning .waiter-card-status{background:#f59e0b}
#tables .state-danger .waiter-card-status{background:#ef3340}
#tables .waiter-card-deposit{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:57px;margin-bottom:8px;padding:8px;background:#f0faf4;border:1px solid #d7eee0;border-radius:7px;text-align:center}
#tables .waiter-card-deposit small,#tables .waiter-card-money-grid small{font-size:8.5px!important;line-height:1.15!important;color:#5d6b7f!important;font-weight:800!important}
#tables .waiter-card-deposit b{font-size:14px!important;line-height:1.2!important;color:#159447!important;white-space:nowrap!important}
#tables .waiter-card-deposit em{font-size:7.5px!important;line-height:1.15!important;color:#159447!important;font-style:normal!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%}
#tables .waiter-card-money-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;margin-bottom:8px!important;min-width:0}
#tables .waiter-card-money-grid>div{box-sizing:border-box;min-width:0;padding:8px 5px;border:1px solid #e1e7ef;border-radius:7px;text-align:center;background:#f8fbff;overflow:hidden}
#tables .waiter-card-money-grid .spent{background:#f2f7ff;border-color:#dbe8fa}
#tables .waiter-card-money-grid .remaining{background:#fff9f1;border-color:#fae6c9}
#tables .waiter-card-money-grid .extra{grid-column:1/-1;background:#f1fbf5;border-color:#d9eee1}
#tables .state-danger .waiter-card-money-grid .extra{background:#fff1f2;border-color:#fecdd3}
#tables .waiter-card-money-grid b{display:block!important;margin-top:3px!important;font-size:12px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#tables .waiter-card-money-grid .spent b{color:#1764c0!important}
#tables .waiter-card-money-grid .remaining b{color:#e67e00!important}
#tables .waiter-card-money-grid .extra b{color:#159447!important}
#tables .state-danger .waiter-card-money-grid .extra b{color:#e11d48!important}
#tables .waiter-card-alert{margin:-1px 0 7px;padding:5px 7px;border-radius:6px;font-size:8.5px;font-weight:900;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tables .waiter-card-alert.danger{background:#fff0f1;color:#d71936;border:1px solid #ffc4cc}
#tables .waiter-card-alert.warning{background:#fff8e7;color:#b86b00;border:1px solid #f5d68e}
#tables .waiter-card-actions{margin-top:auto!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;width:100%!important;min-width:0}
#tables .waiter-card-actions button{box-sizing:border-box!important;min-width:0!important;width:100%!important;min-height:31px!important;height:auto!important;padding:6px 3px!important;border-radius:6px!important;font-size:8.5px!important;font-weight:900!important;line-height:1.05!important;background:#fff!important;box-shadow:none!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#tables .waiter-card-actions .order{color:#1262c3!important;border:1px solid #9cc5f5!important}
#tables .waiter-card-actions .deposit{color:#159447!important;border:1px solid #8dd4aa!important}
#tables .waiter-card-actions .info{color:#49576c!important;border:1px solid #cbd5e1!important}
#tables .waiter-card-actions .close{color:#e67e00!important;border:1px solid #f0bd77!important}
#tables .waiter-card-actions .delete{grid-column:1/-1!important;color:#e11d48!important;border:1px solid #f7a7b3!important;background:#fff7f8!important}
@media(max-width:1200px){#tables .waiter-compact-card.waiter-card-modern{min-height:280px!important}}
@media(max-width:800px){#tables .waiter-compact-card.waiter-card-modern{min-height:285px!important}}

/* v21 — responsive waiter cards + unmistakable unpaid-table warning */
#tables .waiter-workspace{
  min-width:0!important;
  grid-template-columns:minmax(0,1fr) clamp(210px,18vw,270px)!important;
}
#tables .waiter-active-area,
#tables .waiter-active-grid,
#tables .waiter-archive-panel{min-width:0!important}
#tables .waiter-active-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))!important;
  grid-auto-rows:auto!important;
  align-items:start!important;
  align-content:start!important;
  gap:10px!important;
  overflow-x:hidden!important;
}
#tables .waiter-compact-card.waiter-card-modern{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:292px!important;
  height:auto!important;
  contain:layout paint!important;
}
#tables .waiter-card-modern *{max-width:100%;box-sizing:border-box}
#tables .waiter-card-title,
#tables .waiter-card-deposit,
#tables .waiter-card-money-grid,
#tables .waiter-card-actions{min-width:0!important;width:100%!important}
#tables .waiter-card-title h3,
#tables .waiter-card-title p,
#tables .waiter-card-deposit em,
#tables .waiter-card-money-grid b,
#tables .waiter-card-actions button{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Entire card turns red when spending exceeds deposit. */
#tables .waiter-card-modern.state-danger{
  background:linear-gradient(180deg,#fff1f2 0%,#ffe4e6 100%)!important;
  border:3px solid #dc2626!important;
  box-shadow:0 0 0 3px rgba(220,38,38,.12),0 10px 26px rgba(220,38,38,.24)!important;
  animation:waiterDuePulse 1.35s ease-in-out infinite!important;
}
#tables .waiter-card-modern.state-danger .waiter-card-head{
  background:#dc2626!important;
  margin:-11px -11px 9px!important;
  padding:10px 11px!important;
  border-radius:7px 7px 0 0!important;
}
#tables .waiter-card-modern.state-danger .waiter-card-title h3,
#tables .waiter-card-modern.state-danger .waiter-card-title p{color:#fff!important}
#tables .waiter-card-modern.state-danger .waiter-card-status{
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(255,255,255,.28)!important;
}
#tables .waiter-card-modern.state-danger .waiter-card-deposit{
  background:#fff!important;
  border-color:#fecaca!important;
}
#tables .waiter-card-modern.state-danger .waiter-card-money-grid .extra{
  background:#dc2626!important;
  border-color:#991b1b!important;
}
#tables .waiter-card-modern.state-danger .waiter-card-money-grid .extra small,
#tables .waiter-card-modern.state-danger .waiter-card-money-grid .extra b{color:#fff!important}
#tables .waiter-card-modern.state-danger .waiter-card-money-grid .extra b{
  font-size:17px!important;
  white-space:normal!important;
  overflow:visible!important;
}
#tables .waiter-card-modern.state-danger .waiter-card-alert.danger{
  background:#991b1b!important;
  border:2px solid #7f1d1d!important;
  color:#fff!important;
  font-size:12px!important;
  line-height:1.3!important;
  padding:9px 7px!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
@keyframes waiterDuePulse{
  0%,100%{transform:translateZ(0);box-shadow:0 0 0 3px rgba(220,38,38,.10),0 10px 26px rgba(220,38,38,.18)}
  50%{transform:translateZ(0);box-shadow:0 0 0 6px rgba(220,38,38,.24),0 12px 30px rgba(220,38,38,.34)}
}
@media (prefers-reduced-motion:reduce){#tables .waiter-card-modern.state-danger{animation:none!important}}

@media(max-width:1050px){
  #tables .waiter-workspace{grid-template-columns:minmax(0,1fr) 210px!important}
  #tables .waiter-active-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,215px),1fr))!important}
}
@media(max-width:820px){
  #tables .waiter-workspace{grid-template-columns:1fr!important;height:auto!important;overflow:visible!important}
  #tables .waiter-active-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))!important;height:auto!important;overflow:visible!important}
  #tables .waiter-archive-panel{border-left:0!important;border-top:2px solid var(--y)!important;padding:10px 0 0!important}
}
@media(max-width:520px){
  #tables .waiter-active-grid{grid-template-columns:1fr!important}
  #tables .waiter-compact-card.waiter-card-modern{min-height:300px!important}
}

/* v22 — waiter cards: vertical responsiveness and zero overlap */
#tables .waiter-workspace{
  min-height:0!important;
  height:100%!important;
  overflow:hidden!important;
  align-items:stretch!important;
}
#tables .waiter-active-area{
  min-height:0!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
#tables .waiter-table-heading{
  flex:0 0 auto!important;
  height:auto!important;
  min-height:46px!important;
}
#tables .waiter-active-grid{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  grid-auto-rows:max-content!important;
  align-items:start!important;
  align-content:start!important;
  grid-auto-flow:row!important;
  gap:12px!important;
  padding:2px 4px 14px 0!important;
  scroll-padding-bottom:14px!important;
}
#tables .waiter-compact-card.waiter-card-modern{
  position:relative!important;
  align-self:start!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  contain:none!important;
  margin:0!important;
}
#tables .waiter-card-head,
#tables .waiter-card-deposit,
#tables .waiter-card-money-grid,
#tables .waiter-card-alert,
#tables .waiter-card-actions{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
}
#tables .waiter-card-actions{margin-top:8px!important}

/* Short browser windows: preserve readable cards and scroll only table list. */
@media (max-height:760px) and (min-width:821px){
  #tables .waiter-workspace{height:100%!important;min-height:0!important}
  #tables .waiter-active-grid{gap:10px!important;padding-bottom:12px!important}
  #tables .waiter-compact-card.waiter-card-modern{min-height:0!important;max-height:none!important}
}
@media (max-height:620px) and (min-width:821px){
  #tables .waiter-table-heading{min-height:38px!important}
  #tables .waiter-active-grid{gap:9px!important}
}

/* v23 — use the complete viewport and place waiter identity/logout in finance row */
html,body{width:100%;min-height:100%;overflow-x:hidden}
main#app{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:8px 10px 10px!important;
}
.page{width:100%;max-width:none;min-width:0}

/* Waiter no longer wastes a separate top navigation row. */
#adminTopbar.cashier-topbar-hidden{display:none!important}
#tables:not(.hidden){
  height:calc(100vh - 18px)!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
#tables>.waiter-finance-row{
  width:100%!important;
  display:flex!important;
  align-items:stretch!important;
  gap:6px!important;
  margin:0 0 7px!important;
  flex:0 0 auto!important;
  min-width:0!important;
}
#tables>.waiter-finance-row>.stats{
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
  grid-template-columns:repeat(9,minmax(72px,1fr))!important;
  gap:5px!important;
  margin:0!important;
}
#tables>.waiter-finance-row>.stats .stat{
  min-width:0!important;
  overflow:hidden!important;
  padding:5px 6px!important;
  border-radius:10px!important;
  font-size:7.5px!important;
  line-height:1.05!important;
}
#tables>.waiter-finance-row>.stats .money{
  font-size:13px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.waiter-role-label,
.waiter-finance-logout{
  flex:0 0 auto!important;
  min-width:86px!important;
  padding:0 12px!important;
}
.waiter-role-label{font-size:14px!important}
.waiter-finance-logout{min-width:82px!important}

#tables>.waiter-workspace{
  flex:1 1 auto!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  grid-template-columns:minmax(0,1fr) clamp(210px,17vw,260px)!important;
  gap:8px!important;
  overflow:hidden!important;
}
#tables .waiter-active-area,
#tables .waiter-archive-panel{min-width:0!important;min-height:0!important}
#tables .waiter-active-grid{
  width:100%!important;
  min-width:0!important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
  grid-auto-rows:max-content!important;
  gap:10px!important;
}

/* Universal anti-overlap rules for cards and grids throughout the application. */
.grid,.stats,.category-grid,.products,.tables-grid,.admin-tools,
.waiter-active-grid,.waiter-card-money-grid,.waiter-card-actions,
.cashier-workspace,.order-layout,.financial,.mini-stats{
  min-width:0!important;
}
.grid>*,.stats>*,.category-grid>*,.products>*,.tables-grid>*,.admin-tools>*,
.waiter-active-grid>*,.cashier-workspace>*,.order-layout>*,.financial>*,.mini-stats>*{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.card,.stat,.product,.category-card,.table-card,.waiter-archive-card,
.sales-history-card,.cart-panel,.admin-tool-card{
  overflow-wrap:anywhere;
  word-break:break-word;
}

@media(max-width:1280px){
  #tables>.waiter-finance-row>.stats{grid-template-columns:repeat(5,minmax(76px,1fr))!important}
  #tables>.waiter-workspace{grid-template-columns:minmax(0,1fr) 220px!important}
  #tables .waiter-active-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important}
}
@media(max-width:900px){
  main#app{padding:6px!important}
  #tables:not(.hidden){height:auto!important;min-height:100vh!important;overflow:visible!important}
  #tables>.waiter-finance-row{flex-wrap:wrap!important}
  #tables>.waiter-finance-row>.stats{order:1;flex-basis:100%!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .waiter-role-label{margin-left:auto!important}
  #tables>.waiter-workspace{grid-template-columns:1fr!important;height:auto!important;overflow:visible!important}
  #tables .waiter-active-grid{height:auto!important;overflow:visible!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))!important}
}
@media(max-width:520px){
  #tables>.waiter-finance-row>.stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .waiter-role-label,.waiter-finance-logout{min-height:42px!important}
}

/* v24 — symmetric waiter-card spacing and clean unpaid-card alignment */
#tables .waiter-active-grid{
  box-sizing:border-box!important;
  width:100%!important;
  padding:6px 8px 16px!important;
  column-gap:12px!important;
  row-gap:12px!important;
}
#tables .waiter-compact-card.waiter-card-modern{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  transform:none!important;
}
#tables .waiter-card-modern.state-danger{
  border:3px solid #dc2626!important;
  border-radius:10px!important;
  overflow:hidden!important;
  background:#fff1f2!important;
  box-shadow:0 5px 16px rgba(220,38,38,.22)!important;
  animation:waiterDuePulseClean 1.35s ease-in-out infinite!important;
}
#tables .waiter-card-modern.state-danger .waiter-card-head{
  box-sizing:border-box!important;
  width:calc(100% + 22px)!important;
  margin:-11px -11px 9px!important;
  padding:10px 11px!important;
  border-radius:7px 7px 0 0!important;
}
@keyframes waiterDuePulseClean{
  0%,100%{box-shadow:0 5px 16px rgba(220,38,38,.18)}
  50%{box-shadow:0 7px 22px rgba(220,38,38,.34)}
}
@media (prefers-reduced-motion:reduce){
  #tables .waiter-card-modern.state-danger{animation:none!important}
}
@media(max-width:900px){
  #tables .waiter-active-grid{padding:6px 6px 14px!important;gap:10px!important}
}

/* v25 — full-width unpaid header + reliable phone layout */
#tables .waiter-card-modern.state-danger .waiter-card-head{
  width:calc(100% + 22px)!important;
  max-width:none!important;
  min-width:calc(100% + 22px)!important;
  margin:-11px -11px 9px!important;
  padding:10px 11px!important;
  align-self:stretch!important;
  border-radius:7px 7px 0 0!important;
  background:#dc2626!important;
}
#tables .waiter-card-modern.state-danger{
  overflow:hidden!important;
}

/* Prevent any card/grid item from overlapping at every viewport size. */
#tables .waiter-active-grid{
  grid-auto-flow:row!important;
  grid-auto-rows:max-content!important;
  align-items:start!important;
}
#tables .waiter-active-grid > .waiter-card-modern{
  position:relative!important;
  inset:auto!important;
  float:none!important;
  height:auto!important;
  max-height:none!important;
}

@media (max-width: 700px){
  html,body{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  body{font-size:14px!important}
  main#app{
    width:100%!important;
    max-width:100%!important;
    min-height:100dvh!important;
    padding:6px!important;
    overflow-x:hidden!important;
  }
  .page{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  /* Waiter finance controls remain usable on phone. */
  #tables:not(.hidden){
    display:flex!important;
    flex-direction:column!important;
    height:auto!important;
    min-height:calc(100dvh - 12px)!important;
    overflow:visible!important;
  }
  #tables>.waiter-finance-row{
    display:grid!important;
    grid-template-columns:auto 1fr auto!important;
    gap:6px!important;
    width:100%!important;
    padding:0!important;
    margin:0 0 8px!important;
    align-items:center!important;
  }
  #tables>.waiter-finance-row>.bar-finance-toggle{
    grid-column:1!important;
    grid-row:1!important;
  }
  #tables>.waiter-finance-row>.waiter-role-label{
    grid-column:2!important;
    grid-row:1!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    text-align:right!important;
    padding:8px 6px!important;
    font-size:13px!important;
  }
  #tables>.waiter-finance-row>.waiter-finance-logout{
    grid-column:3!important;
    grid-row:1!important;
    width:auto!important;
    min-width:74px!important;
    min-height:40px!important;
    margin:0!important;
  }
  #tables>.waiter-finance-row>.stats{
    grid-column:1/-1!important;
    grid-row:2!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    width:100%!important;
    min-width:0!important;
  }
  #tables>.waiter-finance-row>.stats .stat{
    min-width:0!important;
    min-height:64px!important;
    padding:7px 5px!important;
    font-size:10px!important;
    overflow:hidden!important;
  }
  #tables>.waiter-finance-row>.stats .money{
    font-size:13px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  #tables>.waiter-workspace{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    gap:10px!important;
    overflow:visible!important;
  }
  #tables .waiter-active-area{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  #tables .waiter-table-heading{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    width:100%!important;
    min-height:0!important;
    padding:4px 2px!important;
  }
  #tables .waiter-table-heading h2{
    margin:0!important;
    font-size:18px!important;
  }
  #tables .waiter-table-heading button{
    min-height:42px!important;
    padding:8px 11px!important;
    font-size:12px!important;
  }
  #tables .waiter-active-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-auto-rows:max-content!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:4px 2px 14px!important;
    gap:12px!important;
    overflow:visible!important;
  }
  #tables .waiter-compact-card.waiter-card-modern{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:11px!important;
  }
  #tables .waiter-card-title h3{font-size:18px!important}
  #tables .waiter-card-title p{font-size:12px!important}
  #tables .waiter-card-deposit small,
  #tables .waiter-card-money-grid small{font-size:10px!important}
  #tables .waiter-card-deposit b{font-size:17px!important}
  #tables .waiter-card-money-grid b{font-size:15px!important}
  #tables .waiter-card-money-grid>div{padding:9px 6px!important}
  #tables .waiter-card-alert{font-size:12px!important;padding:8px!important;white-space:normal!important}
  #tables .waiter-card-actions{gap:7px!important}
  #tables .waiter-card-actions button{
    min-height:42px!important;
    padding:9px 5px!important;
    font-size:11px!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  #tables .waiter-card-modern.state-danger .waiter-card-head{
    width:calc(100% + 22px)!important;
    max-width:none!important;
    min-width:calc(100% + 22px)!important;
    margin:-11px -11px 10px!important;
    padding:11px!important;
  }

  #tables .waiter-archive-panel{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    padding:10px 0 0!important;
    border-left:0!important;
    border-top:2px solid var(--y)!important;
    overflow:visible!important;
  }
  #tables .waiter-archive-list{
    max-height:none!important;
    overflow:visible!important;
  }
  #tables .waiter-archive-card{width:100%!important}

  /* Full-screen, scrollable dialogs on phones. */
  #modal.overlay{padding:0!important;align-items:flex-end!important}
  #modal .modal{
    width:100%!important;
    max-width:100%!important;
    max-height:94dvh!important;
    margin:0!important;
    padding:16px 10px 20px!important;
    border-radius:16px 16px 0 0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  .form,.detail-grid,.mini-stats,.order-layout,.cashier-workspace{
    grid-template-columns:1fr!important;
    min-width:0!important;
  }
  input,select,textarea,button{max-width:100%!important}
}

@media (max-width: 380px){
  #tables>.waiter-finance-row>.stats{grid-template-columns:1fr!important}
  #tables .waiter-card-money-grid{grid-template-columns:1fr!important}
  #tables .waiter-card-money-grid .extra{grid-column:1!important}
  #tables .waiter-card-actions{grid-template-columns:1fr!important}
  #tables .waiter-card-actions .delete{grid-column:1!important}
}

/* === v26: real phone layout cleanup (2026-08-06) === */
@media (max-width:700px){
  :root{--mobile-gap:8px}
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body{font-size:13px!important;line-height:1.35!important}
  main#app{padding:8px!important}

  /* Top navigation: readable horizontal rail instead of squeezed buttons. */
  #adminTopbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    align-items:center!important;
    width:100%!important;
    margin:0 0 8px!important;
    padding:0!important;
  }
  #adminTopbar nav{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:7px!important;
    min-width:0!important;
    margin:0!important;
    padding:0 0 4px!important;
    overflow-x:auto!important;
    overscroll-behavior-x:contain!important;
    scrollbar-width:none!important;
  }
  #adminTopbar nav::-webkit-scrollbar{display:none!important}
  #adminTopbar nav button{
    flex:0 0 auto!important;
    min-width:max-content!important;
    min-height:42px!important;
    padding:9px 13px!important;
    border-radius:11px!important;
    font-size:12px!important;
    white-space:nowrap!important;
  }
  #adminTopbar .role-label{display:none!important}
  #adminTopbar #logout{
    min-width:76px!important;
    min-height:42px!important;
    padding:8px 10px!important;
    font-size:12px!important;
    margin:0!important;
  }

  /* Admin finances: 2 columns, readable labels and values. */
  #dashboard .admin-finance-stats{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    margin:0 0 10px!important;
  }
  #dashboard .admin-finance-stats .stat{
    min-width:0!important;
    min-height:82px!important;
    padding:9px 8px!important;
    border-radius:12px!important;
    font-size:10px!important;
    line-height:1.25!important;
    overflow:hidden!important;
  }
  #dashboard .admin-finance-stats .finance-icon{font-size:14px!important}
  #dashboard .admin-finance-stats .money{
    margin-top:5px!important;
    font-size:16px!important;
    line-height:1.15!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  /* Sales section: no oversized heading or crushed category buttons. */
  #dashboard .admin-product-sales{padding:12px!important;border-radius:14px!important}
  #dashboard .admin-sales-heading{display:block!important}
  #dashboard .admin-sales-heading h2{font-size:18px!important;line-height:1.3!important;margin:0 0 5px!important}
  #dashboard .admin-sales-heading p{font-size:11px!important;margin:0 0 8px!important}
  #dashboard .admin-sales-heading .pill{display:inline-flex!important;margin-bottom:8px!important}
  #dashboard .admin-sales-category-filters{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:7px!important;
    width:100%!important;
    overflow-x:auto!important;
    padding:3px 0 8px!important;
    scrollbar-width:none!important;
  }
  #dashboard .admin-sales-category-filters::-webkit-scrollbar{display:none!important}
  #dashboard .admin-sales-category-filter{
    flex:0 0 108px!important;
    min-width:108px!important;
    height:64px!important;
    padding:6px!important;
    border-radius:11px!important;
    overflow:hidden!important;
  }
  #dashboard .admin-sales-category-filter span{font-size:15px!important}
  #dashboard .admin-sales-category-filter b{font-size:10px!important;line-height:1.2!important;white-space:normal!important;overflow-wrap:anywhere!important}
  #dashboard .admin-sales-category-filter small{font-size:9px!important}
  #dashboard .admin-sales-columns{display:none!important}
  #dashboard .admin-sales-list{max-height:none!important;overflow:visible!important}
  #dashboard .admin-sales-category-title{padding:8px!important}
  #dashboard .admin-sales-row{
    display:grid!important;
    grid-template-columns:28px minmax(0,1fr) auto!important;
    gap:7px!important;
    align-items:center!important;
    padding:10px 5px!important;
  }
  #dashboard .admin-sales-row>strong{grid-column:2/4!important;justify-self:end!important;font-size:13px!important}
  #dashboard .sales-product-name b{font-size:13px!important;overflow-wrap:anywhere!important}
  #dashboard .sales-product-name small{font-size:9px!important}
  #dashboard .sales-qty{font-size:11px!important;white-space:nowrap!important}

  /* Admin settings become clear stacked cards. */
  #dashboard>h2{font-size:19px!important;line-height:1.3!important}
  #dashboard>.muted{font-size:11px!important;line-height:1.45!important}
  #dashboard .admin-tools{grid-template-columns:1fr!important;gap:10px!important;margin-top:14px!important}
  #dashboard .admin-tool-card{padding:13px!important;border-radius:13px!important;min-height:0!important}
  #dashboard .admin-tool-card h2{font-size:18px!important;margin:0 0 7px!important}
  #dashboard .admin-tool-card p{font-size:11px!important;line-height:1.45!important}
  #dashboard .admin-tool-card button{width:100%!important;min-height:44px!important}
  #dashboard .settings-switch-row{gap:10px!important;padding:10px!important}
  #dashboard .settings-switch-row b{font-size:12px!important}
  #dashboard .settings-switch-row small{font-size:10px!important}

  /* Waiter finance row: controls first, finances below in 2 columns. */
  #tables>.waiter-finance-row{
    grid-template-columns:auto minmax(0,1fr) auto!important;
    gap:7px!important;
    padding:0!important;
    margin-bottom:9px!important;
  }
  #tables>.waiter-finance-row>.bar-finance-toggle,
  #tables>.waiter-finance-row>.waiter-role-label,
  #tables>.waiter-finance-row>.waiter-finance-logout{min-height:42px!important}
  #tables>.waiter-finance-row>.waiter-role-label{
    display:flex!important;align-items:center!important;justify-content:center!important;
    border:1.5px solid var(--line)!important;border-radius:11px!important;background:var(--soft)!important;
    font-size:14px!important;text-align:center!important;
  }
  #tables>.waiter-finance-row>.stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  #tables>.waiter-finance-row>.stats .stat{
    min-height:76px!important;padding:8px!important;border-radius:11px!important;font-size:10px!important;
    display:flex!important;flex-direction:column!important;justify-content:center!important;
  }
  #tables>.waiter-finance-row>.stats .money{
    font-size:15px!important;line-height:1.15!important;white-space:normal!important;overflow-wrap:anywhere!important;text-overflow:clip!important;
  }

  /* Waiter cards stay within the phone width and remain readable. */
  #tables .waiter-active-grid{padding:3px 1px 16px!important;gap:12px!important}
  #tables .waiter-compact-card.waiter-card-modern{
    border-radius:14px!important;overflow:hidden!important;padding:11px!important;
  }
  #tables .waiter-card-modern .waiter-card-head{
    box-sizing:border-box!important;
    width:calc(100% + 22px)!important;
    min-width:calc(100% + 22px)!important;
    max-width:none!important;
    margin:-11px -11px 10px!important;
    padding:11px 12px!important;
    border-radius:12px 12px 0 0!important;
  }
  #tables .waiter-card-modern.state-danger .waiter-card-head{
    background:#d9342b!important;color:#fff!important;
  }
  #tables .waiter-card-money-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  #tables .waiter-card-money-grid>div{min-width:0!important;overflow:hidden!important}
  #tables .waiter-card-money-grid small{white-space:normal!important;overflow-wrap:anywhere!important}
  #tables .waiter-card-money-grid b{white-space:normal!important;overflow-wrap:anywhere!important}
  #tables .waiter-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #tables .waiter-card-actions .delete{grid-column:1/-1!important}

  /* Cashier/bar view stacks logically on phones. */
  #bar:not(.hidden){width:100%!important;overflow:visible!important}
  #bar .bar-finance-row{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:7px!important}
  #bar .bar-finance-row>.stats{grid-column:1/-1!important;grid-row:2!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  #bar .bar-finance-row>.stats .stat{min-height:74px!important;padding:8px!important;font-size:10px!important}
  #bar .bar-finance-row>.stats .money{font-size:15px!important;white-space:normal!important;overflow-wrap:anywhere!important}
  #bar .cashier-workspace{display:flex!important;flex-direction:column!important;gap:10px!important;height:auto!important;overflow:visible!important}
  #bar .sales-history-list{max-height:260px!important;overflow:auto!important}
  #bar .cashier-menu .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  #bar .cashier-menu .category-card{min-height:64px!important;padding:7px 4px!important}
  #bar .cashier-menu .products{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:54dvh!important;overflow:auto!important}
  #bar .cashier-menu .product{min-height:84px!important;padding:8px!important;font-size:11px!important}
  #bar .cashier-menu .cart-panel{position:static!important;width:100%!important;max-height:none!important}
}

@media (max-width:390px){
  #dashboard .admin-finance-stats,
  #tables>.waiter-finance-row>.stats,
  #bar .bar-finance-row>.stats{grid-template-columns:1fr 1fr!important}
  #adminTopbar nav button{padding-inline:11px!important}
  #tables .waiter-card-actions{grid-template-columns:1fr!important}
  #tables .waiter-card-actions .delete{grid-column:1!important}
}

/* === v27: final phone finance + table-card correction === */
@media screen and (max-width: 760px) {
  html, body { width:100%!important; max-width:100%!important; min-width:0!important; overflow-x:hidden!important; }
  body { margin:0!important; }
  main#app { width:100%!important; max-width:100%!important; min-width:0!important; padding:8px!important; box-sizing:border-box!important; }
  .page, #dashboard, #tables, #bar, #staff, #menuadmin { width:100%!important; max-width:100%!important; min-width:0!important; box-sizing:border-box!important; overflow-x:hidden!important; }

  /* Header stays readable and never compresses its buttons. */
  #adminTopbar { display:grid!important; grid-template-columns:minmax(0,1fr) auto!important; width:100%!important; gap:8px!important; }
  #adminTopbar nav { display:flex!important; flex-wrap:nowrap!important; overflow-x:auto!important; min-width:0!important; gap:7px!important; }
  #adminTopbar nav > button { flex:0 0 auto!important; width:auto!important; min-width:max-content!important; }

  /* Admin finance cards: true two-column phone grid, never the desktop 10-column row. */
  #dashboard > .stats.admin-finance-stats,
  #dashboard .stats.admin-finance-stats {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:8px!important;
    overflow:visible!important;
  }
  #dashboard > .stats.admin-finance-stats > .stat,
  #dashboard .stats.admin-finance-stats > .stat {
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:88px!important;
    height:auto!important;
    padding:10px 8px!important;
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:visible!important;
    font-size:11px!important;
    line-height:1.3!important;
  }
  #dashboard .admin-finance-stats > .stat .finance-icon { display:block!important; margin-bottom:3px!important; font-size:16px!important; }
  #dashboard .admin-finance-stats > .stat .money {
    display:block!important;
    width:100%!important;
    margin-top:5px!important;
    font-size:17px!important;
    line-height:1.15!important;
    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  /* Waiter finance cards: same readable grid on mobile. */
  #tables > .waiter-finance-row { display:grid!important; grid-template-columns:auto minmax(0,1fr) auto!important; width:100%!important; gap:8px!important; }
  #tables > .waiter-finance-row > .stats.waiter-stats {
    grid-column:1 / -1!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    width:100%!important;
    min-width:0!important;
    gap:8px!important;
  }
  #tables > .waiter-finance-row > .stats.waiter-stats > .stat {
    width:100%!important;
    min-width:0!important;
    min-height:84px!important;
    height:auto!important;
    padding:9px 7px!important;
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:visible!important;
    font-size:10px!important;
    line-height:1.3!important;
  }
  #tables .waiter-stats > .stat .money { width:100%!important; margin-top:5px!important; font-size:16px!important; white-space:normal!important; overflow:visible!important; overflow-wrap:anywhere!important; }

  /* Table cards are single-column and cannot overflow the phone viewport. */
  #tables .waiter-active-grid { display:grid!important; grid-template-columns:minmax(0,1fr)!important; width:100%!important; padding:3px 0 18px!important; gap:14px!important; }
  #tables .waiter-active-grid > .waiter-card-modern {
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    margin:0!important;
    padding:0 11px 11px!important;
    box-sizing:border-box!important;
    border-radius:14px!important;
    overflow:hidden!important;
  }
  /* Header color reaches both card walls exactly. */
  #tables .waiter-card-modern .waiter-card-head,
  #tables .waiter-card-modern.state-danger .waiter-card-head {
    position:relative!important;
    left:-11px!important;
    width:calc(100% + 22px)!important;
    min-width:0!important;
    max-width:none!important;
    margin:0 0 10px!important;
    padding:11px 12px!important;
    box-sizing:border-box!important;
    border-radius:0!important;
  }
  #tables .waiter-card-modern.state-danger .waiter-card-head { background:#d9342b!important; color:#fff!important; }
  #tables .waiter-card-modern.state-warning .waiter-card-head { background:#fff!important; }
  #tables .waiter-card-money-grid { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:8px!important; width:100%!important; }
  #tables .waiter-card-money-grid > div { width:100%!important; min-width:0!important; box-sizing:border-box!important; }
  #tables .waiter-card-actions { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:8px!important; width:100%!important; }
  #tables .waiter-card-actions button { width:100%!important; min-width:0!important; min-height:44px!important; white-space:normal!important; overflow-wrap:anywhere!important; }
  #tables .waiter-card-actions .delete { grid-column:1/-1!important; }

  /* Cashier finances use the same readable pattern. */
  #bar .bar-finance-row > .stats {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    width:100%!important;
    min-width:0!important;
    gap:8px!important;
  }
  #bar .bar-finance-row > .stats > .stat { width:100%!important; min-width:0!important; min-height:84px!important; height:auto!important; white-space:normal!important; overflow:visible!important; }
  #bar .bar-finance-row > .stats > .stat .money { font-size:16px!important; white-space:normal!important; overflow-wrap:anywhere!important; }
}

@media screen and (max-width: 360px) {
  #dashboard > .stats.admin-finance-stats,
  #tables > .waiter-finance-row > .stats.waiter-stats,
  #bar .bar-finance-row > .stats { grid-template-columns:1fr!important; }
}

/* === v29: phone finance cards in 5 columns === */
@media screen and (max-width: 760px) {
  #dashboard > .stats.admin-finance-stats,
  #dashboard .stats.admin-finance-stats,
  #tables > .waiter-finance-row > .stats.waiter-stats,
  #bar .bar-finance-row > .stats {
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:4px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:visible!important;
  }

  #dashboard .admin-finance-stats > .stat,
  #tables .waiter-stats > .stat,
  #bar .bar-finance-row > .stats > .stat {
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:64px!important;
    height:auto!important;
    padding:5px 2px!important;
    border-radius:9px!important;
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:7px!important;
    line-height:1.15!important;
    white-space:normal!important;
    overflow:hidden!important;
    overflow-wrap:anywhere!important;
  }

  #dashboard .admin-finance-stats > .stat .finance-icon,
  #tables .waiter-stats > .stat .finance-icon,
  #bar .bar-finance-row > .stats > .stat .finance-icon {
    display:block!important;
    font-size:10px!important;
    line-height:1!important;
    margin:0 0 2px!important;
  }

  #dashboard .admin-finance-stats > .stat .money,
  #tables .waiter-stats > .stat .money,
  #bar .bar-finance-row > .stats > .stat .money {
    display:block!important;
    width:100%!important;
    margin-top:3px!important;
    font-size:11px!important;
    line-height:1.05!important;
    font-weight:800!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}

@media screen and (max-width: 360px) {
  #dashboard > .stats.admin-finance-stats,
  #dashboard .stats.admin-finance-stats,
  #tables > .waiter-finance-row > .stats.waiter-stats,
  #bar .bar-finance-row > .stats {
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:3px!important;
  }
  #dashboard .admin-finance-stats > .stat,
  #tables .waiter-stats > .stat,
  #bar .bar-finance-row > .stats > .stat {
    min-height:58px!important;
    padding:4px 1px!important;
    font-size:6.5px!important;
  }
  #dashboard .admin-finance-stats > .stat .money,
  #tables .waiter-stats > .stat .money,
  #bar .bar-finance-row > .stats > .stat .money {
    font-size:9px!important;
  }
}

/* v32 — administrator sales are separated from cashier totals */
.admin-visible-finance{margin:8px 0 12px;padding:10px;border:1px solid #ead86c;border-radius:14px;background:#fffdf0}
.admin-visible-finance-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.admin-visible-finance-title b{font-size:15px}.admin-visible-finance-title span{font-size:11px;color:#756b35}
.admin-sales-finance{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;margin:0!important}
.admin-sales-finance .stat{min-width:0;padding:8px 9px!important}
.admin-history-title{margin-top:12px!important;border-top:2px solid #ead86c;padding-top:12px}
.admin-history-list{max-height:35vh!important}
.admin-sale-card{border-color:#e4bf38!important;background:#fffdf3}
.admin-own-sale{border-color:#d5aa13!important;background:#fff8d8!important}
@media(max-width:800px){.admin-sales-finance{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-visible-finance-title{align-items:flex-start;flex-direction:column}.admin-history-list{max-height:300px!important}}

/* v34 — ადმინისტრატორის გაყიდვების რაოდენობრივი შეჯამება */
.admin-sales-summary-pills{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.admin-sales-summary-pills .pill{white-space:nowrap}
@media(max-width:768px){.admin-sales-summary-pills{width:100%;justify-content:flex-start}.admin-sales-summary-pills .pill{font-size:11px}}


/* === v35 definitive mobile layout audit: all cabinets === */
@media screen and (max-width: 760px){
  *,*::before,*::after{box-sizing:border-box!important}
  html,body{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:hidden!important}
  body{margin:0!important}
  main#app{width:100%!important;max-width:100%!important;min-width:0!important;padding:6px!important;overflow-x:hidden!important}
  .page,#dashboard,#tables,#bar,#staff,#menuadmin{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;overflow-x:hidden!important}

  /* Top navigation remains readable and never compresses. */
  #adminTopbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:6px!important;width:100%!important;margin:0 0 7px!important}
  #adminTopbar nav{display:flex!important;flex-wrap:nowrap!important;gap:6px!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;padding:0 0 3px!important;scrollbar-width:none!important}
  #adminTopbar nav::-webkit-scrollbar{display:none!important}
  #adminTopbar nav button{flex:0 0 auto!important;width:auto!important;min-width:max-content!important;min-height:38px!important;padding:7px 10px!important;font-size:11px!important;white-space:nowrap!important}
  #adminTopbar #logout{flex:0 0 auto!important;min-width:66px!important;min-height:38px!important;padding:7px 9px!important;font-size:11px!important}
  #adminTopbar .role-label{display:none!important}

  /* All finance rails: exactly five compact cards per row on phones. */
  #dashboard .admin-finance-stats,
  #tables>.waiter-finance-row>.stats.waiter-stats,
  #bar .bar-finance-row>.stats,
  #bar>.stats{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:4px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  #dashboard .admin-finance-stats>.stat,
  #tables>.waiter-finance-row>.stats.waiter-stats>.stat,
  #bar .bar-finance-row>.stats>.stat,
  #bar>.stats>.stat{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:64px!important;
    height:auto!important;
    padding:5px 3px!important;
    border-radius:9px!important;
    font-size:7.5px!important;
    line-height:1.15!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:hidden!important;
    overflow-wrap:anywhere!important;
  }
  #dashboard .admin-finance-stats .finance-icon,
  #tables .waiter-stats .finance-icon,
  #bar .bar-finance-row .finance-icon{font-size:11px!important;line-height:1!important;margin:0 0 2px!important}
  #dashboard .admin-finance-stats .money,
  #tables .waiter-stats .money,
  #bar .bar-finance-row .money,
  #bar>.stats .money{
    display:block!important;
    width:100%!important;
    margin-top:3px!important;
    font-size:10.5px!important;
    line-height:1.1!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
  }

  /* Waiter finance header + content. */
  #tables>.waiter-finance-row,#bar>.bar-finance-row{display:grid!important;grid-template-columns:auto 1fr auto!important;gap:5px!important;align-items:center!important;width:100%!important;padding:0!important;margin:0 0 7px!important}
  #tables>.waiter-finance-row>.stats,#bar>.bar-finance-row>.stats{grid-column:1/-1!important;grid-row:2!important}
  #tables .waiter-role-label,#bar .cashier-role-label{grid-column:2!important;grid-row:1!important;min-width:0!important;text-align:right!important;font-size:11px!important;padding:6px 4px!important}
  #tables .waiter-finance-logout,#bar .cashier-finance-logout{grid-column:3!important;grid-row:1!important;min-width:66px!important;min-height:38px!important;padding:7px 8px!important;font-size:11px!important}

  /* Category cards: stable 3-column grid, automatic height, no overlap. */
  .category-grid,
  .admin-category-grid,
  #bar .cashier-menu .category-grid,
  #modal .order-modal .category-grid,
  #menuadmin .admin-category-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
    align-items:stretch!important;
    gap:6px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    overflow:visible!important;
    padding:2px!important;
  }
  .category-card,.admin-category-btn,
  #bar .cashier-menu .category-card,
  #modal .order-modal .category-card{
    position:relative!important;
    inset:auto!important;
    float:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:66px!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:7px 4px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;
    overflow:hidden!important;
  }
  .category-card b,.admin-category-btn b,
  #bar .cashier-menu .category-card b,
  #modal .order-modal .category-card b{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    font-size:10px!important;
    line-height:1.18!important;
    text-align:center!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    overflow:hidden!important;
  }
  .category-card span,.admin-category-btn span{font-size:17px!important;line-height:1!important}
  .category-card small,.admin-category-btn small{font-size:8px!important;line-height:1.1!important}

  /* Products and menu management. */
  .products,#bar .cashier-menu .products,#modal .order-modal .products{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
    gap:6px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .product-card,.product,.admin-product-card{
    width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;max-height:none!important;margin:0!important;overflow:hidden!important
  }
  .product-card,.product{min-height:72px!important;padding:8px 6px!important}
  .product-card b,.product b{font-size:11px!important;line-height:1.2!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .product-card .price,.product .price{font-size:13px!important}
  #menuadmin .admin-product-grid{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;width:100%!important}
  #menuadmin .admin-product-card{display:grid!important;grid-template-columns:minmax(0,1fr) 92px!important;gap:7px!important;padding:9px!important}
  #menuadmin .admin-product-main{min-width:0!important}
  #menuadmin .admin-product-main b{font-size:12px!important;overflow-wrap:anywhere!important}
  #menuadmin .admin-product-actions{width:92px!important;min-width:92px!important;flex-basis:92px!important}

  /* Cashier layout stacks naturally; no compressed side panels. */
  #bar:not(.hidden){height:auto!important;min-height:0!important;overflow:visible!important;display:block!important}
  #bar .cashier-workspace,#bar .order-layout,.order-layout,.cashier-workspace{display:flex!important;flex-direction:column!important;width:100%!important;min-width:0!important;height:auto!important;max-height:none!important;gap:8px!important;overflow:visible!important}
  #bar .sales-history-panel,#bar .cashier-sale-area,#barSell,#barSell>.cashier-menu,.cart-panel{width:100%!important;min-width:0!important;height:auto!important;max-height:none!important;overflow:visible!important}
  #bar .sales-history-list,.cart-lines{height:auto!important;max-height:42dvh!important;overflow-y:auto!important;overflow-x:hidden!important}

  /* Waiter tables: one full-width card, no clipping or overlap. */
  #tables .waiter-workspace{display:flex!important;flex-direction:column!important;width:100%!important;height:auto!important;gap:9px!important;overflow:visible!important}
  #tables .waiter-active-grid{display:grid!important;grid-template-columns:1fr!important;grid-auto-rows:max-content!important;align-items:start!important;width:100%!important;height:auto!important;gap:10px!important;padding:2px!important;overflow:visible!important}
  #tables .waiter-active-grid>.waiter-card-modern{position:relative!important;inset:auto!important;float:none!important;width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;overflow:hidden!important}
  #tables .waiter-card-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  #tables .waiter-card-actions button{width:100%!important;min-width:0!important;min-height:40px!important;font-size:10px!important;white-space:normal!important;overflow-wrap:anywhere!important}
  #tables .waiter-card-modern.state-danger .waiter-card-head{width:calc(100% + 22px)!important;min-width:calc(100% + 22px)!important;max-width:none!important;margin:-11px -11px 9px!important;padding:11px!important}
  #tables .waiter-archive-panel{width:100%!important;min-width:0!important;height:auto!important;max-height:none!important;border-left:0!important;border-top:2px solid var(--y)!important;padding:8px 0 0!important;overflow:visible!important}

  /* Admin dashboard, staff and tools stack without squeezed cards. */
  #dashboard .admin-tools,#staff .grid,#dashboard>.grid,#menuadmin>.grid{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;width:100%!important}
  #dashboard .admin-tool-card,#staff .card{width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;overflow:hidden!important}
  #staff .row.actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
  #staff .row.actions button{width:100%!important;min-width:0!important;white-space:normal!important}
  #dashboard .admin-sales-category-filters{display:flex!important;flex-wrap:nowrap!important;gap:6px!important;width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;padding-bottom:5px!important}
  #dashboard .admin-sales-category-filter{flex:0 0 98px!important;width:98px!important;min-width:98px!important;height:64px!important}
  #dashboard .admin-sales-columns,#dashboard .admin-sales-row{grid-template-columns:24px minmax(0,1fr) 62px 70px!important;gap:4px!important;min-width:0!important;font-size:9px!important}
  #dashboard .admin-sales-row>*{min-width:0!important;overflow-wrap:anywhere!important}

  /* Modals and forms stay inside the phone viewport. */
  #modal.overlay{padding:0!important;align-items:flex-end!important}
  #modal .modal{width:100%!important;max-width:100%!important;min-width:0!important;max-height:94dvh!important;margin:0!important;padding:15px 9px 18px!important;border-radius:15px 15px 0 0!important;overflow-y:auto!important;overflow-x:hidden!important}
  .form,.detail-grid,.mini-stats{display:grid!important;grid-template-columns:1fr!important;width:100%!important;min-width:0!important;gap:7px!important}
  input,select,textarea,button{max-width:100%!important}
}

@media screen and (max-width: 360px){
  /* Preserve legibility on extremely narrow devices. */
  #dashboard .admin-finance-stats,
  #tables>.waiter-finance-row>.stats.waiter-stats,
  #bar .bar-finance-row>.stats,
  #bar>.stats{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:2px!important}
  #dashboard .admin-finance-stats>.stat,
  #tables>.waiter-finance-row>.stats.waiter-stats>.stat,
  #bar .bar-finance-row>.stats>.stat,
  #bar>.stats>.stat{padding:4px 2px!important;font-size:6.5px!important;min-height:60px!important}
  #dashboard .admin-finance-stats .money,
  #tables .waiter-stats .money,
  #bar .bar-finance-row .money,
  #bar>.stats .money{font-size:9px!important}
  .category-grid,.admin-category-grid,#bar .cashier-menu .category-grid,#modal .order-modal .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* === v36 phone/tablet category hard-fix — all cabinets ===
   The previous desktop category rules could still win on iPhone/Safari or cached layouts.
   This final block forces a true responsive grid for admin bar, cashier and waiter order modals. */
@media screen and (max-width: 900px), screen and (max-device-width: 900px), screen and (pointer: coarse) and (max-width: 1100px) {
  #bar .cashier-menu .category-grid,
  #barSell .cashier-menu .category-grid,
  #modal .modal.order-modal .category-grid,
  #modalBody .cashier-menu .category-grid,
  #modalBody .waiter-menu .category-grid,
  #menuadmin .admin-category-grid,
  #maCategories.admin-category-grid,
  .page .category-grid,
  .page .admin-category-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-rows: minmax(76px, auto) !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    gap: 7px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 7px 0 10px !important;
    padding: 1px !important;
    overflow: visible !important;
    transform: none !important;
  }

  #bar .cashier-menu .category-card,
  #barSell .cashier-menu .category-card,
  #modal .modal.order-modal .category-card,
  #modalBody .cashier-menu .category-card,
  #modalBody .waiter-menu .category-card,
  #menuadmin .admin-category-btn,
  #maCategories .admin-category-btn,
  .page .category-card,
  .page .admin-category-btn {
    position: relative !important;
    inset: auto !important;
    float: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 76px !important;
    height: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 8px 4px !important;
    border-radius: 11px !important;
    overflow: hidden !important;
    transform: none !important;
    writing-mode: horizontal-tb !important;
  }

  #bar .cashier-menu .category-card span,
  #barSell .cashier-menu .category-card span,
  #modal .modal.order-modal .category-card span,
  #modalBody .category-card span,
  #menuadmin .admin-category-btn span,
  #maCategories .admin-category-btn span,
  .page .category-card span,
  .page .admin-category-btn span {
    flex: 0 0 auto !important;
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    font-size: 19px !important;
    line-height: 1 !important;
  }

  #bar .cashier-menu .category-card b,
  #barSell .cashier-menu .category-card b,
  #modal .modal.order-modal .category-card b,
  #modalBody .category-card b,
  #menuadmin .admin-category-btn b,
  #maCategories .admin-category-btn b,
  .page .category-card b,
  .page .admin-category-btn b {
    display: -webkit-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 1px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: auto !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    writing-mode: horizontal-tb !important;
  }

  #menuadmin .admin-category-btn small,
  #maCategories .admin-category-btn small,
  .page .admin-category-btn small {
    display: block !important;
    font-size: 9px !important;
    line-height: 1 !important;
  }

  /* Keep the surrounding menu panel inside the viewport. */
  #bar .cashier-menu,
  #barSell .cashier-menu,
  #modal .modal.order-modal,
  #modalBody .cashier-menu,
  #modalBody .waiter-menu,
  #menuadmin .admin-menu-tools {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
}

/* Very narrow phones still keep readable, non-overlapping cards. */
@media screen and (max-width: 370px), screen and (max-device-width: 370px) {
  #bar .cashier-menu .category-grid,
  #barSell .cashier-menu .category-grid,
  #modal .modal.order-modal .category-grid,
  #modalBody .category-grid,
  #menuadmin .admin-category-grid,
  #maCategories.admin-category-grid,
  .page .category-grid,
  .page .admin-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* 2026-08-06 — reliable finance visibility control in every cabinet */
#dashboard .admin-finance-toggle{
  display:flex!important;
  justify-content:flex-end!important;
  height:28px!important;
  min-height:28px!important;
  margin:0 0 4px!important;
}
#dashboard .admin-finance-toggle .finance-visibility-toggle{
  display:inline-flex!important;
  min-width:84px!important;
  width:auto!important;
  height:26px!important;
  min-height:26px!important;
  padding:3px 8px!important;
  font-size:9px!important;
}
.finance-stats.finance-hidden .private-finance-stat .money,
.finance-stats.finance-hidden.admin-finance-stats .stat .money{
  visibility:hidden!important;
}
.finance-stats.finance-hidden .private-finance-stat::after,
.finance-stats.finance-hidden.admin-finance-stats .stat::after{
  content:'••••';
  display:block!important;
  position:absolute;
  left:4px;
  right:4px;
  bottom:7px;
  text-align:center;
  color:#8a7600;
  font-size:14px;
  line-height:1;
  font-weight:900;
  letter-spacing:2px;
}
.finance-stats.finance-visible .private-finance-stat::after,
.finance-stats.finance-visible.admin-finance-stats .stat::after{display:none!important}
.finance-stats.finance-visible .private-finance-stat .money,
.finance-stats.finance-visible.admin-finance-stats .stat .money{visibility:visible!important}
@media(max-width:700px){
  #dashboard .admin-finance-toggle{height:30px!important;min-height:30px!important;margin-bottom:5px!important}
  #dashboard .admin-finance-toggle .finance-visibility-toggle{height:28px!important;min-height:28px!important;font-size:8px!important}
}

/* v41 — fixed waiter table layout; administrator size controls removed. */
@media (min-width: 1400px){
  #tables .waiter-active-grid{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    grid-auto-rows:max-content!important;
    align-items:start!important;
    gap:8px!important;
    width:100%!important;
    height:auto!important;
    overflow:visible!important;
  }
  #tables .waiter-active-grid>.waiter-card-modern{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  #tables .waiter-card-modern .waiter-card-title h3{font-size:13px!important}
  #tables .waiter-card-modern .waiter-card-title p{font-size:8.5px!important}
  #tables .waiter-card-modern .waiter-card-deposit b{font-size:14px!important}
  #tables .waiter-card-modern .waiter-card-money-grid b{font-size:11px!important}
  #tables .waiter-card-modern .waiter-card-actions button{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    font-size:8.5px!important;
  }
}
@media (min-width: 1100px) and (max-width: 1399px){
  #tables .waiter-active-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-auto-rows:max-content!important;align-items:start!important}
}
@media (min-width: 760px) and (max-width: 1099px){
  #tables .waiter-active-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:max-content!important;align-items:start!important}
}
@media (max-width: 759px){
  #tables .waiter-active-grid{grid-template-columns:1fr!important;grid-auto-rows:max-content!important;align-items:start!important}
}

/* v42 — waiter cards always equal size; unpaid state never enlarges a card. */
#tables .waiter-active-grid{
  align-items:stretch!important;
}
#tables .waiter-active-grid > .waiter-card-modern{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:292px!important;
  min-height:292px!important;
  max-height:292px!important;
  margin:0!important;
  overflow:hidden!important;
  transform:none!important;
  animation:none!important;
}
#tables .waiter-card-modern.state-danger,
#tables .waiter-card-modern.state-warning,
#tables .waiter-card-modern.state-ok{
  width:100%!important;
  height:292px!important;
  min-height:292px!important;
  max-height:292px!important;
  margin:0!important;
  transform:none!important;
  animation:none!important;
}
#tables .waiter-card-modern.state-danger:hover,
#tables .waiter-card-modern.state-warning:hover,
#tables .waiter-card-modern.state-ok:hover{
  transform:none!important;
}
#tables .waiter-card-modern .waiter-card-actions{
  margin-top:auto!important;
}
#tables .waiter-card-modern.state-danger .waiter-card-head{
  box-sizing:border-box!important;
  width:calc(100% + 22px)!important;
  min-width:calc(100% + 22px)!important;
  max-width:none!important;
  margin:-11px -11px 9px!important;
  padding:11px!important;
  flex:0 0 auto!important;
}
@media (min-width:1400px){
  #tables .waiter-active-grid{grid-auto-rows:292px!important}
}
@media (min-width:1100px) and (max-width:1399px){
  #tables .waiter-active-grid{grid-auto-rows:300px!important}
  #tables .waiter-active-grid > .waiter-card-modern,
  #tables .waiter-card-modern.state-danger,
  #tables .waiter-card-modern.state-warning,
  #tables .waiter-card-modern.state-ok{height:300px!important;min-height:300px!important;max-height:300px!important}
}
@media (min-width:760px) and (max-width:1099px){
  #tables .waiter-active-grid{grid-auto-rows:310px!important}
  #tables .waiter-active-grid > .waiter-card-modern,
  #tables .waiter-card-modern.state-danger,
  #tables .waiter-card-modern.state-warning,
  #tables .waiter-card-modern.state-ok{height:310px!important;min-height:310px!important;max-height:310px!important}
}
@media (max-width:759px){
  #tables .waiter-active-grid{grid-auto-rows:320px!important}
  #tables .waiter-active-grid > .waiter-card-modern,
  #tables .waiter-card-modern.state-danger,
  #tables .waiter-card-modern.state-warning,
  #tables .waiter-card-modern.state-ok{height:320px!important;min-height:320px!important;max-height:320px!important}
}

/* v43 — keep every waiter-card control visible, including unpaid tables. */
#tables .waiter-active-grid{
  align-items:stretch!important;
}
#tables .waiter-active-grid > .waiter-card-modern,
#tables .waiter-card-modern.state-danger,
#tables .waiter-card-modern.state-warning,
#tables .waiter-card-modern.state-ok{
  height:340px!important;
  min-height:340px!important;
  max-height:340px!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
#tables .waiter-card-modern .waiter-card-actions{
  margin-top:auto!important;
  flex:0 0 auto!important;
  position:relative!important;
  z-index:2!important;
}
#tables .waiter-card-modern .waiter-card-alert{
  flex:0 0 auto!important;
  margin:5px 0!important;
}
#tables .waiter-card-modern.state-danger .waiter-card-head{
  flex:0 0 auto!important;
}
@media (min-width:1400px){
  #tables .waiter-active-grid{grid-auto-rows:340px!important}
}
@media (min-width:1100px) and (max-width:1399px){
  #tables .waiter-active-grid{grid-auto-rows:355px!important}
  #tables .waiter-active-grid > .waiter-card-modern,
  #tables .waiter-card-modern.state-danger,
  #tables .waiter-card-modern.state-warning,
  #tables .waiter-card-modern.state-ok{height:355px!important;min-height:355px!important;max-height:355px!important}
}
@media (min-width:760px) and (max-width:1099px){
  #tables .waiter-active-grid{grid-auto-rows:370px!important}
  #tables .waiter-active-grid > .waiter-card-modern,
  #tables .waiter-card-modern.state-danger,
  #tables .waiter-card-modern.state-warning,
  #tables .waiter-card-modern.state-ok{height:370px!important;min-height:370px!important;max-height:370px!important}
}
@media (max-width:759px){
  #tables .waiter-active-grid{grid-auto-rows:390px!important}
  #tables .waiter-active-grid > .waiter-card-modern,
  #tables .waiter-card-modern.state-danger,
  #tables .waiter-card-modern.state-warning,
  #tables .waiter-card-modern.state-ok{height:390px!important;min-height:390px!important;max-height:390px!important}
  #tables .waiter-card-modern .waiter-card-actions button{min-height:40px!important;font-size:11px!important}
}

/* v44 — all waiter card buttons are permanently visible; equal height is set after render. */
#tables .waiter-active-grid{
  grid-auto-rows:auto!important;
  align-items:stretch!important;
}
#tables .waiter-active-grid > .waiter-card-modern,
#tables .waiter-card-modern.state-danger,
#tables .waiter-card-modern.state-warning,
#tables .waiter-card-modern.state-ok{
  box-sizing:border-box!important;
  height:auto!important;
  min-height:360px!important;
  max-height:none!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
#tables .waiter-card-modern .waiter-card-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:6px!important;
  width:100%!important;
  margin-top:auto!important;
  padding-top:7px!important;
  flex:0 0 auto!important;
  visibility:visible!important;
  opacity:1!important;
  overflow:visible!important;
}
#tables .waiter-card-modern .waiter-card-actions button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:36px!important;
  height:auto!important;
  padding:7px 5px!important;
  line-height:1.15!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  visibility:visible!important;
  opacity:1!important;
}
#tables .waiter-card-modern .waiter-card-actions .delete{
  grid-column:1 / -1!important;
}
#tables .waiter-card-modern .waiter-card-alert{
  min-height:28px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 28px!important;
  box-sizing:border-box!important;
  margin:5px 0!important;
}
#tables .waiter-card-modern .waiter-card-alert.is-empty{
  background:transparent!important;
  border-color:transparent!important;
  color:transparent!important;
  box-shadow:none!important;
}
@media (min-width:1400px){
  #tables .waiter-card-modern .waiter-card-actions button{font-size:8.2px!important;padding:6px 3px!important;min-height:34px!important}
}
@media (max-width:759px){
  #tables .waiter-active-grid > .waiter-card-modern,
  #tables .waiter-card-modern.state-danger,
  #tables .waiter-card-modern.state-warning,
  #tables .waiter-card-modern.state-ok{min-height:400px!important}
  #tables .waiter-card-modern .waiter-card-actions button{font-size:11px!important;min-height:42px!important}
}

/* v45 — waiter table cards: shorter height and tighter action spacing, while keeping every control visible. */
#tables .waiter-active-grid > .waiter-card-modern,
#tables .waiter-card-modern.state-danger,
#tables .waiter-card-modern.state-warning,
#tables .waiter-card-modern.state-ok{
  min-height:330px!important;
}
#tables .waiter-card-modern .waiter-card-actions{
  gap:3px!important;
  padding-top:4px!important;
}
#tables .waiter-card-modern .waiter-card-actions button{
  min-height:31px!important;
  padding:5px 4px!important;
  line-height:1.08!important;
}
#tables .waiter-card-modern .waiter-card-alert{
  min-height:24px!important;
  flex-basis:24px!important;
  margin:3px 0!important;
}
#tables .waiter-card-modern .waiter-card-head{
  margin-bottom:6px!important;
}
#tables .waiter-card-modern .waiter-card-finance{
  gap:4px!important;
}
@media (min-width:1400px){
  #tables .waiter-active-grid > .waiter-card-modern,
  #tables .waiter-card-modern.state-danger,
  #tables .waiter-card-modern.state-warning,
  #tables .waiter-card-modern.state-ok{min-height:320px!important}
  #tables .waiter-card-modern .waiter-card-actions button{min-height:29px!important;padding:4px 3px!important}
}
@media (min-width:760px) and (max-width:1099px){
  #tables .waiter-active-grid > .waiter-card-modern,
  #tables .waiter-card-modern.state-danger,
  #tables .waiter-card-modern.state-warning,
  #tables .waiter-card-modern.state-ok{min-height:345px!important}
}
@media (max-width:759px){
  #tables .waiter-active-grid > .waiter-card-modern,
  #tables .waiter-card-modern.state-danger,
  #tables .waiter-card-modern.state-warning,
  #tables .waiter-card-modern.state-ok{min-height:370px!important}
  #tables .waiter-card-modern .waiter-card-actions{gap:4px!important;padding-top:5px!important}
  #tables .waiter-card-modern .waiter-card-actions button{min-height:38px!important;padding:6px 5px!important}
}

/* v46 — waiter space map + full-screen table workspace */
.waiter-space-map-shell{height:calc(100vh - 96px);min-height:620px;display:flex;flex-direction:column;gap:8px;padding:0 6px 6px}
.waiter-map-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto}
.waiter-map-head h2{margin:0}.waiter-map-head p{margin:2px 0 0;color:#766a3f;font-size:12px}
.waiter-map-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;align-items:center}.waiter-map-legend span{display:flex;align-items:center;gap:5px}.waiter-map-legend i{width:9px;height:9px;border-radius:50%;display:inline-block;background:#cbd5e1}.waiter-map-legend i.active{background:#16a34a}.waiter-map-legend i.warning{background:#f59e0b}.waiter-map-legend i.danger{background:#dc2626}
.waiter-space-map{position:relative;flex:1;min-height:0;border:2px solid #efbf12;border-radius:18px;background:radial-gradient(circle at 50% 45%,#fffdf2 0,#fff 66%);overflow:auto}
.space-table{position:absolute;transform:translate(-50%,-50%);width:78px;min-height:64px;border:2px solid #a9b3c6;border-radius:12px;background:#fff;color:#17213a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:5px;box-shadow:0 4px 12px rgba(15,23,42,.08);transition:.15s;z-index:2}
.space-table:hover{transform:translate(-50%,-50%) scale(1.04);z-index:4}.space-table b{font-size:17px;line-height:1}.space-table small{font-size:8px;line-height:1.1;max-width:76px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.space-table.state-active{border-color:#16a34a;background:#f0fdf4}.space-table.state-warning{border-color:#f59e0b;background:#fffbeb}.space-table.state-danger{border-color:#dc2626;background:#fff1f2;box-shadow:0 0 0 3px rgba(220,38,38,.10),0 6px 18px rgba(220,38,38,.15)}
.space-table-symbol{position:relative;display:grid;grid-template-columns:repeat(3,8px);gap:3px;padding:5px 8px;border:2px solid currentColor;border-radius:5px;color:#6b7a99}.shape-wide .space-table-symbol{grid-template-columns:repeat(5,8px)}.shape-small .space-table-symbol{grid-template-columns:repeat(2,8px)}.shape-round .space-table-symbol{width:38px;height:38px;border-radius:50%;display:block;padding:0}.space-table-symbol i{width:7px;height:7px;border:2px solid currentColor;border-radius:50%;display:block}.shape-round .space-table-symbol i{position:absolute;left:50%;top:50%;margin:-4px;transform:rotate(calc(var(--i)*45deg)) translateY(-26px)}
.waiter-full-page{min-height:calc(100vh - 12px);display:flex;flex-direction:column;gap:10px;padding:8px}.waiter-full-head{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:12px;padding:8px 10px;border:1px solid #efd056;border-radius:14px;background:#fffdf4}.waiter-full-head h2{margin:0;font-size:22px}.waiter-full-head p{margin:3px 0 0;color:#6b7280}.waiter-full-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.waiter-full-actions button{min-height:34px;padding:7px 10px}.waiter-back{white-space:nowrap}
.waiter-full-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.waiter-full-stats>div{border:1px solid #ead47c;border-radius:12px;padding:8px;text-align:center;background:#fff}.waiter-full-stats span{display:block;font-size:11px;color:#6b7280}.waiter-full-stats b{display:block;font-size:18px;margin-top:3px}.waiter-full-stats .due-stat{border-color:#ef4444;background:#fff1f2}.waiter-full-stats .due-stat b{color:#dc2626}.waiter-full-due{background:#dc2626;color:#fff;border-radius:10px;padding:9px 12px;text-align:center;font-weight:700;font-size:15px}.waiter-full-content{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.5fr);gap:10px;min-height:0;flex:1}.waiter-full-info{display:grid;grid-template-columns:1fr;gap:10px;align-content:start}.waiter-detail-panel{border:1px solid #ead47c;border-radius:12px;padding:10px;background:#fff;min-height:0}.waiter-detail-panel h3{margin:0 0 8px}.waiter-detail-order-line,.waiter-detail-history-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:7px 4px;border-bottom:1px solid #f3e8b0}.waiter-detail-history-line{grid-template-columns:minmax(0,1fr) auto}.waiter-detail-order-line small{display:block;color:#7c6f43;font-size:10px}.waiter-full-order{min-width:0}.waiter-order-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.waiter-inline-menu{height:calc(100vh - 260px);min-height:470px;overflow:hidden}.waiter-inline-menu .order-layout{height:calc(100% - 120px)}.waiter-inline-menu .products{overflow:auto}.waiter-inline-menu .cart-panel{overflow:auto}
@media(max-width:900px){.waiter-space-map-shell{height:auto;min-height:760px}.waiter-space-map{min-height:720px}.space-table{width:66px;min-height:58px}.space-table b{font-size:15px}.waiter-map-legend{display:none}.waiter-full-head{grid-template-columns:1fr}.waiter-full-actions{justify-content:flex-start}.waiter-full-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.waiter-full-stats>div:last-child{grid-column:span 2}.waiter-full-content{grid-template-columns:1fr}.waiter-inline-menu{height:auto;min-height:0}.waiter-inline-menu .order-layout{height:auto}.waiter-full-page{padding:4px}.waiter-full-actions button{flex:1 1 calc(50% - 6px)}}
@media(max-width:520px){.waiter-space-map-shell{padding:0;min-height:700px}.waiter-map-head p{display:none}.waiter-space-map{min-height:660px;border-radius:12px}.space-table{width:58px;min-height:52px;padding:3px}.space-table-symbol{transform:scale(.78)}.space-table b{font-size:13px}.space-table small{display:none}.waiter-full-stats b{font-size:15px}.waiter-full-head h2{font-size:19px}.waiter-detail-order-line{grid-template-columns:minmax(0,1fr) auto}.waiter-detail-order-line strong{grid-column:2}.waiter-full-actions button{font-size:11px;padding:6px}}

/* v48 — waiter table page: finances on top, compact order list, large menu on demand */
.waiter-info-layout{
  grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr)!important;
  gap:8px!important;
  flex:0 0 auto!important;
}
.waiter-order-summary-compact,.waiter-deposit-summary-compact{
  padding:8px 10px!important;
  min-height:0!important;
  max-height:190px;
  overflow:hidden;
}
.waiter-order-summary-compact .waiter-order-title{margin-bottom:4px}
.waiter-order-summary-compact h3,.waiter-deposit-summary-compact h3{font-size:14px!important;margin:0 0 5px!important}
.waiter-compact-scroll{max-height:142px;overflow-y:auto;padding-right:3px}
.waiter-order-summary-compact .waiter-detail-order-line,
.waiter-deposit-summary-compact .waiter-detail-history-line{
  padding:4px 3px!important;
  min-height:27px;
  font-size:10px;
  gap:6px!important;
}
.waiter-order-summary-compact .waiter-detail-order-line b{font-size:11px}
.waiter-order-summary-compact .waiter-detail-order-line small{font-size:8px!important}
.waiter-order-summary-compact .waiter-detail-order-line strong{font-size:11px}
.waiter-bottom-orderbar{
  position:sticky;
  bottom:0;
  z-index:20;
  margin-top:auto;
  padding:8px 0 2px;
  background:linear-gradient(to top,#fff 70%,rgba(255,255,255,.7),transparent);
}
.waiter-big-order-button{
  width:100%;
  min-height:52px;
  font-size:17px!important;
  font-weight:900;
  border-radius:14px!important;
  box-shadow:0 8px 18px rgba(234,179,8,.2);
}
.waiter-order-mode{height:calc(100vh - 6px);min-height:620px;overflow:hidden}
.waiter-order-mode .waiter-full-stats{flex:0 0 auto}
.waiter-order-mode .waiter-full-due{flex:0 0 auto}
.waiter-full-order-large{display:flex;flex:1;min-height:0;overflow:hidden}
.waiter-menu-large{
  width:100%;
  height:100%!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  padding:8px!important;
}
.waiter-menu-large .category-grid{flex:0 0 auto!important;gap:6px!important}
.waiter-menu-large .category-card{min-height:58px!important;padding:6px 5px!important}
.waiter-menu-large .category-card b{font-size:12px!important}
.waiter-menu-large .menu-toolbar{flex:0 0 auto!important;margin:6px 0!important}
.waiter-menu-large .order-layout{
  flex:1!important;
  min-height:0!important;
  height:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 300px!important;
  gap:8px!important;
  overflow:hidden!important;
}
.waiter-menu-large .products{
  height:100%!important;
  min-height:0!important;
  overflow-y:auto!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  align-content:start!important;
  gap:7px!important;
}
.waiter-menu-large .product{min-height:88px!important;padding:9px!important}
.waiter-menu-large .product span{font-size:13px!important;line-height:1.15!important}
.waiter-menu-large .product b{font-size:15px!important}
.waiter-menu-large .cart-panel{height:100%!important;min-height:0!important;overflow:auto!important;position:static!important}
@media(max-width:1200px){
 .waiter-menu-large .products{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 .waiter-menu-large .order-layout{grid-template-columns:minmax(0,1fr) 270px!important}
}
@media(max-width:900px){
 .waiter-info-layout{grid-template-columns:1fr!important}
 .waiter-order-summary-compact,.waiter-deposit-summary-compact{max-height:170px}
 .waiter-compact-scroll{max-height:124px}
 .waiter-order-mode{height:auto;min-height:100dvh;overflow:visible}
 .waiter-full-order-large{overflow:visible;min-height:65dvh}
 .waiter-menu-large{height:auto!important;min-height:65dvh!important;overflow:visible!important}
 .waiter-menu-large .order-layout{grid-template-columns:1fr!important;overflow:visible!important}
 .waiter-menu-large .products{height:52dvh!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .waiter-menu-large .cart-panel{height:auto!important;max-height:none!important}
}
@media(max-width:520px){
 .waiter-full-stats{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:3px!important}
 .waiter-full-stats>div,.waiter-full-stats>div:last-child{grid-column:auto!important;padding:5px 2px!important}
 .waiter-full-stats span{font-size:7px!important;line-height:1.05!important}
 .waiter-full-stats b{font-size:10px!important;white-space:nowrap!important}
 .waiter-full-due{font-size:11px!important;padding:6px 8px!important}
 .waiter-info-layout{gap:6px!important}
 .waiter-order-summary-compact,.waiter-deposit-summary-compact{max-height:155px;padding:7px!important}
 .waiter-compact-scroll{max-height:112px}
 .waiter-big-order-button{min-height:48px;font-size:15px!important}
 .waiter-menu-large .category-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 .waiter-menu-large .category-card{min-height:52px!important;font-size:9px!important}
 .waiter-menu-large .category-card b{font-size:9px!important;line-height:1.05!important}
 .waiter-menu-large .products{grid-template-columns:repeat(2,minmax(0,1fr))!important;height:54dvh!important}
 .waiter-menu-large .product{min-height:80px!important}
}

/* v49 — waiter adaptive viewport layout for small touch POS and desktop screens.
   Goal: the 1–20 table map always fits the visible screen without page scrolling,
   and table detail/order screens keep the important information above the fold. */
#tables:has(.waiter-space-map-shell),
#tables:has(.waiter-full-page){
  height:100dvh!important;
  min-height:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
#tables:has(.waiter-space-map-shell){
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
}
#tables:has(.waiter-space-map-shell) > .waiter-finance-row{
  flex:0 0 auto!important;
  margin:0!important;
}
.waiter-space-map-shell{
  flex:1 1 auto!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:0 5px 5px!important;
  gap:4px!important;
}
.waiter-map-head{
  min-height:28px!important;
  gap:6px!important;
}
.waiter-map-head h2{font-size:17px!important;line-height:1.05!important}
.waiter-map-head p{font-size:10px!important;line-height:1.1!important}
.waiter-map-legend{font-size:9px!important;gap:7px!important}
.waiter-space-map{
  flex:1 1 auto!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  border-radius:12px!important;
}
.space-table{
  width:clamp(44px,5.4vw,72px)!important;
  min-height:clamp(38px,7.2vh,60px)!important;
  height:auto!important;
  padding:clamp(2px,.45vh,5px)!important;
  gap:1px!important;
  border-radius:9px!important;
}
.space-table b{font-size:clamp(11px,1.25vw,16px)!important}
.space-table small{font-size:clamp(6px,.62vw,8px)!important;max-width:100%!important}
.space-table-symbol{
  transform:scale(clamp(.55,calc(100dvh / 850),1))!important;
  transform-origin:center!important;
}

/* Full table workspace must itself fit the viewport. */
.waiter-full-page{
  height:100%!important;
  min-height:0!important;
  max-height:100dvh!important;
  overflow:hidden!important;
  padding:4px!important;
  gap:5px!important;
  box-sizing:border-box!important;
}
.waiter-full-head{
  flex:0 0 auto!important;
  min-height:0!important;
  padding:5px 7px!important;
  gap:7px!important;
  border-radius:10px!important;
}
.waiter-full-head h2{font-size:clamp(16px,1.5vw,20px)!important;line-height:1.05!important}
.waiter-full-head p{font-size:clamp(9px,.85vw,12px)!important;margin:1px 0 0!important;line-height:1.05!important}
.waiter-full-actions{gap:4px!important}
.waiter-full-actions button,.waiter-back{
  min-height:28px!important;
  padding:4px 7px!important;
  font-size:clamp(9px,.8vw,12px)!important;
}
.waiter-full-stats{
  flex:0 0 auto!important;
  gap:4px!important;
}
.waiter-full-stats>div{
  padding:4px 5px!important;
  border-radius:8px!important;
  min-width:0!important;
}
.waiter-full-stats span{font-size:clamp(7px,.7vw,10px)!important;line-height:1!important}
.waiter-full-stats b{font-size:clamp(11px,1.05vw,15px)!important;margin-top:1px!important;line-height:1.05!important;white-space:nowrap!important}
.waiter-full-due{flex:0 0 auto!important;padding:5px 8px!important;font-size:11px!important;border-radius:8px!important}
.waiter-info-layout{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  grid-template-columns:minmax(0,1.5fr) minmax(220px,.5fr)!important;
  gap:5px!important;
}
.waiter-order-summary-compact,.waiter-deposit-summary-compact{
  height:100%!important;
  max-height:none!important;
  min-height:0!important;
  padding:6px 7px!important;
  overflow:hidden!important;
}
.waiter-compact-scroll{
  height:calc(100% - 24px)!important;
  max-height:none!important;
  min-height:0!important;
  overflow-y:auto!important;
}
.waiter-order-summary-compact .waiter-detail-order-line,
.waiter-deposit-summary-compact .waiter-detail-history-line{
  min-height:22px!important;
  padding:3px 2px!important;
  font-size:9px!important;
  line-height:1.05!important;
}
.waiter-order-summary-compact .waiter-detail-order-line b,
.waiter-order-summary-compact .waiter-detail-order-line strong{font-size:10px!important}
.waiter-bottom-orderbar{
  position:static!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:2px 0 0!important;
  background:#fff!important;
}
.waiter-big-order-button{
  min-height:40px!important;
  height:40px!important;
  font-size:14px!important;
  border-radius:10px!important;
}

/* Order-entry screen: maximize menu area and keep cart visible on touch displays. */
.waiter-order-mode{height:100%!important;min-height:0!important;overflow:hidden!important}
.waiter-order-mode .waiter-full-head{padding:4px 6px!important}
.waiter-full-order-large{flex:1 1 auto!important;min-height:0!important;overflow:hidden!important}
.waiter-menu-large{height:100%!important;min-height:0!important;padding:5px!important;overflow:hidden!important}
.waiter-menu-large .category-grid{
  gap:4px!important;
  grid-auto-rows:minmax(38px,auto)!important;
}
.waiter-menu-large .category-card{
  min-height:38px!important;
  height:auto!important;
  padding:3px 4px!important;
}
.waiter-menu-large .category-card b{font-size:clamp(8px,.75vw,11px)!important;line-height:1.05!important}
.waiter-menu-large .menu-toolbar{margin:3px 0!important;min-height:30px!important}
.waiter-menu-large .order-layout{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  grid-template-columns:minmax(0,1fr) clamp(220px,24vw,300px)!important;
  gap:5px!important;
  overflow:hidden!important;
}
.waiter-menu-large .products{
  height:100%!important;
  min-height:0!important;
  overflow-y:auto!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:5px!important;
}
.waiter-menu-large .product{
  min-height:clamp(58px,10vh,82px)!important;
  padding:5px!important;
}
.waiter-menu-large .product span{font-size:clamp(9px,.8vw,12px)!important;line-height:1.08!important}
.waiter-menu-large .product b{font-size:clamp(11px,.95vw,14px)!important}
.waiter-menu-large .cart-panel{height:100%!important;min-height:0!important;overflow-y:auto!important}

/* Short-height POS terminals (for example 1024x600 / 1366x600). */
@media (max-height:700px) and (min-width:700px){
  #tables:has(.waiter-space-map-shell) > .waiter-finance-row .stat{min-height:38px!important;padding:3px 4px!important}
  #tables:has(.waiter-space-map-shell) > .waiter-finance-row .stat .money{font-size:11px!important}
  #tables:has(.waiter-space-map-shell) > .waiter-finance-row .stat{font-size:7px!important}
  .waiter-map-head{min-height:22px!important}
  .waiter-map-head p,.waiter-map-legend{display:none!important}
  .space-table{width:clamp(40px,4.8vw,60px)!important;min-height:clamp(33px,6.4vh,46px)!important;border-width:1px!important}
  .space-table-symbol{transform:scale(.58)!important;margin:-4px 0!important}
  .space-table b{font-size:11px!important}
  .space-table small{font-size:6px!important}
  .waiter-full-head{padding:3px 5px!important}
  .waiter-full-actions button,.waiter-back{min-height:25px!important;padding:3px 5px!important}
  .waiter-full-stats>div{padding:3px!important}
  .waiter-full-stats span{font-size:7px!important}.waiter-full-stats b{font-size:11px!important}
  .waiter-order-summary-compact .waiter-detail-order-line,
  .waiter-deposit-summary-compact .waiter-detail-history-line{min-height:19px!important;padding:2px!important}
  .waiter-big-order-button{height:34px!important;min-height:34px!important;font-size:12px!important}
  .waiter-menu-large .category-card{min-height:32px!important}
  .waiter-menu-large .product{min-height:52px!important}
}

/* Narrow touch screens: the layout still uses the viewport efficiently without card overlap. */
@media(max-width:900px){
  #tables:has(.waiter-space-map-shell){height:100dvh!important;overflow:hidden!important}
  .waiter-space-map-shell{min-height:0!important;height:auto!important}
  .waiter-space-map{min-height:0!important;height:auto!important}
  .waiter-map-legend{display:none!important}
  .space-table{width:clamp(40px,8vw,58px)!important;min-height:clamp(36px,7vh,50px)!important}
  .waiter-full-head{grid-template-columns:auto minmax(0,1fr) auto!important}
  .waiter-full-actions{justify-content:flex-end!important;flex-wrap:nowrap!important}
  .waiter-full-actions button{flex:0 1 auto!important}
  .waiter-full-stats{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  .waiter-full-stats>div,.waiter-full-stats>div:last-child{grid-column:auto!important}
  .waiter-info-layout{grid-template-columns:minmax(0,1.45fr) minmax(180px,.55fr)!important}
  .waiter-order-mode{height:100%!important;min-height:0!important;overflow:hidden!important}
  .waiter-full-order-large,.waiter-menu-large{height:auto!important;min-height:0!important;overflow:hidden!important}
  .waiter-menu-large .order-layout{grid-template-columns:minmax(0,1fr) 220px!important;overflow:hidden!important}
  .waiter-menu-large .products{height:100%!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .waiter-menu-large .cart-panel{height:100%!important;max-height:none!important;overflow-y:auto!important}
}

/* Phones: allow vertical page flow because the physical screen is too narrow, but never overlap elements. */
@media(max-width:620px){
  #tables:has(.waiter-full-page){height:auto!important;min-height:100dvh!important;overflow:visible!important}
  .waiter-full-page{height:auto!important;max-height:none!important;min-height:100dvh!important;overflow:visible!important}
  .waiter-full-head{grid-template-columns:1fr!important}
  .waiter-full-actions{flex-wrap:wrap!important;justify-content:flex-start!important}
  .waiter-full-stats{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  .waiter-info-layout{grid-template-columns:1fr!important;overflow:visible!important}
  .waiter-order-summary-compact,.waiter-deposit-summary-compact{height:auto!important;max-height:180px!important}
  .waiter-compact-scroll{height:auto!important;max-height:138px!important}
  .waiter-bottom-orderbar{position:sticky!important;bottom:0!important;z-index:20!important;padding:5px 0!important}
  .waiter-order-mode{height:auto!important;min-height:100dvh!important;overflow:visible!important}
  .waiter-full-order-large,.waiter-menu-large{overflow:visible!important;height:auto!important;min-height:70dvh!important}
  .waiter-menu-large .order-layout{grid-template-columns:1fr!important;overflow:visible!important}
  .waiter-menu-large .products{height:52dvh!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .waiter-menu-large .cart-panel{height:auto!important;min-height:180px!important;max-height:none!important}
}

/* v50 — waiter table workspace: no page scroll, compact existing order, menu always visible */
#tables:has(.waiter-operating-page){height:calc(100dvh - 8px)!important;min-height:0!important;overflow:hidden!important}
.waiter-operating-page{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;gap:5px!important;padding:4px!important;overflow:hidden!important}
.waiter-operating-head{flex:0 0 auto!important;min-height:42px!important;padding:4px 7px!important;gap:7px!important;border-radius:10px!important}
.waiter-operating-head h2{font-size:17px!important;line-height:1!important}
.waiter-operating-head p{font-size:9px!important;margin:2px 0 0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.waiter-operating-head .waiter-full-actions{gap:4px!important;flex-wrap:nowrap!important}
.waiter-operating-head .waiter-full-actions button,.waiter-operating-head .waiter-back{min-height:30px!important;padding:4px 7px!important;font-size:10px!important;white-space:nowrap!important}
.waiter-operating-page .waiter-full-stats{flex:0 0 auto!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important}
.waiter-operating-page .waiter-full-stats>div,.waiter-operating-page .waiter-full-stats>div:last-child{grid-column:auto!important;padding:4px 3px!important;border-radius:8px!important;min-height:42px!important}
.waiter-operating-page .waiter-full-stats span{font-size:8px!important;line-height:1!important}
.waiter-operating-page .waiter-full-stats b{font-size:12px!important;line-height:1.1!important;margin-top:2px!important;white-space:nowrap!important}
.waiter-operating-page .waiter-full-due{flex:0 0 auto!important;padding:4px 7px!important;font-size:10px!important;border-radius:7px!important}
.waiter-existing-orders{flex:0 0 auto!important;display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;gap:5px!important;align-items:stretch!important;border:1px solid #ead47c!important;border-radius:9px!important;background:#fff!important;padding:4px!important;max-height:76px!important;overflow:hidden!important}
.waiter-existing-title{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;padding:2px 5px!important;border-right:1px solid #f3e8b0!important}
.waiter-existing-title h3{font-size:11px!important;margin:0 0 3px!important;white-space:nowrap!important}
.waiter-existing-title .pill{font-size:9px!important;padding:2px 5px!important}
.waiter-existing-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:minmax(26px,1fr)!important;gap:2px 5px!important;overflow:hidden!important;min-width:0!important}
.waiter-existing-line{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:4px!important;align-items:center!important;min-width:0!important;padding:1px 3px!important;border-bottom:1px solid #f6edc8!important;font-size:9px!important}
.waiter-existing-line span{min-width:0!important;overflow:hidden!important}
.waiter-existing-line b{display:block!important;font-size:9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.waiter-existing-line small{display:block!important;font-size:7px!important;color:#8a7d52!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.waiter-existing-line strong,.waiter-existing-line em{font-size:9px!important;white-space:nowrap!important;font-style:normal!important}
.waiter-main-menu{flex:1 1 auto!important;min-height:0!important;overflow:hidden!important}
.waiter-menu-live{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;padding:5px!important;overflow:hidden!important}
.waiter-menu-live .category-grid{flex:0 0 auto!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(72px,1fr))!important;gap:4px!important;margin-bottom:4px!important;max-height:92px!important;overflow:hidden!important}
.waiter-menu-live .category-card{min-height:40px!important;height:40px!important;padding:3px!important;border-radius:8px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:3px!important}
.waiter-menu-live .category-card span{font-size:13px!important;line-height:1!important}
.waiter-menu-live .category-card b{font-size:9px!important;line-height:1.05!important;white-space:normal!important;overflow:hidden!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important}
.waiter-menu-live .menu-toolbar{flex:0 0 31px!important;min-height:31px!important;margin:0 0 4px!important;gap:5px!important}
.waiter-menu-live .menu-toolbar input{height:31px!important;min-height:31px!important;padding:4px 8px!important;font-size:11px!important}
.waiter-menu-live .cart-badge{min-height:31px!important;padding:5px 7px!important;font-size:10px!important}
.waiter-menu-live .order-layout{flex:1 1 auto!important;min-height:0!important;height:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(190px,24%)!important;gap:5px!important;overflow:hidden!important}
.waiter-menu-live .products{height:100%!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-auto-rows:minmax(60px,1fr)!important;align-content:start!important;gap:4px!important;padding:0 2px 0 0!important}
.waiter-menu-live .product{min-height:60px!important;height:auto!important;padding:5px!important;border-radius:8px!important;overflow:hidden!important}
.waiter-menu-live .product span{font-size:10px!important;line-height:1.05!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
.waiter-menu-live .product b{font-size:12px!important;line-height:1!important;margin-top:2px!important}
.waiter-menu-live .product small{font-size:8px!important}
.waiter-menu-live .cart-panel{height:100%!important;min-height:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;padding:6px!important;border-radius:9px!important;position:static!important}
.waiter-menu-live .cart-panel h3{font-size:11px!important;margin:0 0 4px!important}
.waiter-menu-live .cart-lines{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;font-size:9px!important}
.waiter-menu-live .cart-line{padding:3px 0!important;gap:3px!important}
.waiter-menu-live .cart-line button{min-width:24px!important;min-height:24px!important;padding:2px!important;font-size:10px!important}
.waiter-menu-live .cart-total{flex:0 0 auto!important;font-size:14px!important;padding:5px 0!important;margin:2px 0!important}
.waiter-menu-live .cart-panel>button:last-child{flex:0 0 auto!important;min-height:36px!important;padding:5px!important;font-size:11px!important}
.waiter-closed-info{display:grid;grid-template-columns:1fr 1fr;gap:6px;min-height:0;overflow:auto}

@media(max-width:1250px){
 .waiter-menu-live .products{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 .waiter-existing-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
 #tables:has(.waiter-operating-page){height:calc(100dvh - 4px)!important}
 .waiter-operating-page{gap:3px!important;padding:2px!important}
 .waiter-operating-head{grid-template-columns:auto minmax(0,1fr) auto!important;min-height:36px!important;padding:3px 5px!important}
 .waiter-operating-head h2{font-size:14px!important}.waiter-operating-head p{font-size:8px!important}
 .waiter-operating-head .waiter-full-actions button,.waiter-operating-head .waiter-back{min-height:27px!important;padding:3px 5px!important;font-size:8px!important}
 .waiter-operating-page .waiter-full-stats>div{min-height:35px!important;padding:3px 1px!important}.waiter-operating-page .waiter-full-stats span{font-size:7px!important}.waiter-operating-page .waiter-full-stats b{font-size:9px!important}
 .waiter-existing-orders{grid-template-columns:86px minmax(0,1fr)!important;max-height:62px!important;padding:3px!important}
 .waiter-existing-title h3{font-size:9px!important}.waiter-existing-title .pill{font-size:7px!important}
 .waiter-existing-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.waiter-existing-line{font-size:8px!important}.waiter-existing-line b,.waiter-existing-line strong,.waiter-existing-line em{font-size:8px!important}.waiter-existing-line small{font-size:6px!important}
 .waiter-menu-live{padding:3px!important}.waiter-menu-live .category-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;max-height:78px!important;gap:3px!important}.waiter-menu-live .category-card{height:36px!important;min-height:36px!important}.waiter-menu-live .category-card span{font-size:11px!important}.waiter-menu-live .category-card b{font-size:8px!important}
 .waiter-menu-live .order-layout{grid-template-columns:minmax(0,1fr) 180px!important;gap:3px!important}.waiter-menu-live .products{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:3px!important}.waiter-menu-live .product{min-height:54px!important;padding:4px!important}.waiter-menu-live .product span{font-size:9px!important}.waiter-menu-live .product b{font-size:10px!important}
}
@media(max-width:650px){
 .waiter-operating-head .waiter-full-actions button:nth-child(n+2){display:none!important}
 .waiter-existing-orders{grid-template-columns:74px minmax(0,1fr)!important;max-height:58px!important}
 .waiter-existing-grid{grid-template-columns:1fr!important;grid-auto-rows:24px!important}
 .waiter-menu-live .category-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;max-height:78px!important}
 .waiter-menu-live .order-layout{grid-template-columns:minmax(0,1fr) 145px!important}
 .waiter-menu-live .products{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .waiter-menu-live .cart-panel{padding:4px!important}.waiter-menu-live .cart-line{font-size:8px!important}
}
@media(max-height:700px) and (min-width:700px){
 .waiter-operating-head{min-height:34px!important;padding:2px 5px!important}.waiter-operating-head h2{font-size:13px!important}.waiter-operating-head p{display:none!important}
 .waiter-operating-page .waiter-full-stats>div{min-height:32px!important;padding:2px!important}.waiter-operating-page .waiter-full-stats span{font-size:7px!important}.waiter-operating-page .waiter-full-stats b{font-size:9px!important}
 .waiter-existing-orders{max-height:52px!important;grid-template-columns:92px minmax(0,1fr)!important}.waiter-existing-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.waiter-existing-line{min-height:21px!important}.waiter-existing-line small{display:none!important}
 .waiter-menu-live .category-grid{max-height:70px!important}.waiter-menu-live .category-card{height:32px!important;min-height:32px!important}.waiter-menu-live .category-card span{font-size:10px!important}.waiter-menu-live .category-card b{font-size:7px!important}
 .waiter-menu-live .menu-toolbar{flex-basis:27px!important;min-height:27px!important}.waiter-menu-live .menu-toolbar input,.waiter-menu-live .cart-badge{height:27px!important;min-height:27px!important;font-size:9px!important}
 .waiter-menu-live .product{min-height:48px!important}.waiter-menu-live .product span{font-size:8px!important}.waiter-menu-live .product b{font-size:9px!important}.waiter-menu-live .product small{display:none!important}
}

/* ===== v51 waiter map: fixed viewport + visual layout manager ===== */
#tables:has(.waiter-space-map-shell),#tables:has(.waiter-layout-managed){height:calc(100dvh - var(--adminbar-h,52px))!important;max-height:calc(100dvh - var(--adminbar-h,52px))!important;overflow:hidden!important;padding-bottom:0!important}
.cashier-topbar-hidden + #dashboard + #tables:has(.waiter-space-map-shell),.cashier-topbar-hidden ~ #tables:has(.waiter-space-map-shell),.cashier-topbar-hidden ~ #tables:has(.waiter-layout-managed){height:100dvh!important;max-height:100dvh!important}
.waiter-space-map-shell{height:100%!important;min-height:0!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;overflow:hidden!important;margin:0!important;padding:4px 6px 6px!important;box-sizing:border-box!important}
.waiter-map-head{min-height:0!important;padding:2px 4px 4px!important;margin:0!important;gap:6px!important}
.waiter-map-head h2{font-size:clamp(14px,1.5vw,22px)!important;margin:0!important}.waiter-map-head p{font-size:clamp(8px,.85vw,12px)!important;margin:0!important}.waiter-map-legend{font-size:clamp(7px,.75vw,11px)!important;gap:5px 8px!important}
.waiter-space-map{position:relative!important;min-height:0!important;height:100%!important;overflow:hidden!important;margin:0!important;border-radius:12px!important;box-sizing:border-box!important}
.waiter-space-map .space-table{position:absolute!important;left:calc(var(--tx)*1%)!important;top:calc(var(--ty)*1%)!important;width:calc(var(--tw)*1%)!important;height:calc(var(--th)*1%)!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;transform:translate(-50%,-50%)!important;box-sizing:border-box!important;font-size:calc(clamp(7px,.75vw,12px)*var(--tts,1)*var(--global-text-scale,1))!important;overflow:visible!important}
.waiter-space-map .space-table b{font-size:calc(clamp(11px,1.3vw,21px)*var(--tts,1))!important;line-height:1!important}.waiter-space-map .space-table small{font-size:calc(clamp(6px,.62vw,10px)*var(--tts,1))!important;line-height:1.05!important;max-width:120%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.waiter-space-map .space-table-symbol{transform:scale(clamp(.62,calc((var(--tw) + var(--th))/18),1.05))!important}

/* detail page uses percentages inside one fixed viewport */
.waiter-layout-managed{position:relative!important;height:100%!important;min-height:0!important;overflow:hidden!important;padding:0!important;margin:0!important;box-sizing:border-box!important}
.waiter-layout-managed .waiter-managed-block{position:absolute!important;left:calc(var(--dx)*1%)!important;top:calc(var(--dy)*1%)!important;width:calc(var(--dw)*1%)!important;height:calc(var(--dh)*1%)!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;margin:0!important;box-sizing:border-box!important;overflow:hidden!important;font-size:calc(1em*var(--dts,1))!important}
.waiter-layout-managed .detail-header{display:grid!important;align-items:center!important;overflow:hidden!important}.waiter-layout-managed .detail-finance{display:block!important}.waiter-layout-managed .detail-finance .waiter-full-stats{height:100%!important;min-height:0!important;margin:0!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important}.waiter-layout-managed .detail-finance .waiter-full-stats>div{height:100%!important;min-height:0!important;padding:clamp(2px,.45vh,6px)!important;overflow:hidden!important}.waiter-layout-managed .detail-finance .waiter-full-due{position:absolute!important;right:4px!important;bottom:2px!important;z-index:2!important;font-size:clamp(8px,.85vw,12px)!important;padding:2px 6px!important}
.waiter-layout-managed .detail-orders{height:100%!important;max-height:none!important;overflow:hidden!important}.waiter-layout-managed .detail-orders .waiter-existing-grid{height:100%!important;max-height:none!important;overflow:auto!important;align-content:start!important}.waiter-layout-managed .detail-menu{height:100%!important;min-height:0!important;overflow:hidden!important}.waiter-layout-managed .detail-menu .waiter-menu-live{height:100%!important;min-height:0!important;overflow:hidden!important}.waiter-layout-managed .detail-menu .category-grid{grid-template-columns:repeat(auto-fit,minmax(clamp(58px,6vw,100px),1fr))!important;max-height:22%!important;overflow:hidden!important}.waiter-layout-managed .detail-menu .order-layout{height:calc(78% - 35px)!important;min-height:0!important;overflow:hidden!important}.waiter-layout-managed .detail-menu .products{grid-template-columns:repeat(auto-fit,minmax(clamp(76px,8vw,130px),1fr))!important;grid-auto-rows:minmax(clamp(48px,8vh,88px),auto)!important;overflow:auto!important}.waiter-layout-managed .detail-menu .product{font-size:calc(clamp(8px,.85vw,12px)*var(--dts,1))!important}.waiter-layout-managed .detail-menu .cart-panel{min-width:170px!important;overflow:hidden!important}.waiter-layout-managed .detail-menu .cart-lines{overflow:auto!important}

/* editor */
#layoutadmin{overflow:hidden!important;height:calc(100dvh - 54px)!important;padding:8px!important;box-sizing:border-box!important}.layout-admin-page{height:100%!important;display:grid!important;grid-template-rows:auto auto minmax(0,1fr)!important;gap:7px!important;overflow:hidden!important}.layout-admin-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border:1px solid #eadb8c;border-radius:12px;background:#fff}.layout-admin-head h2{margin:0;font-size:18px}.layout-admin-head p{margin:2px 0 0;font-size:11px;color:#706743}.layout-save-actions{display:flex;gap:6px}.layout-tabs{display:flex;gap:5px}.layout-tabs button{padding:7px 12px}.layout-tabs button.active{background:#ffd740;color:#17130a;border-color:#e6bd00}.layout-work{display:grid;grid-template-columns:240px minmax(0,1fr);gap:8px;min-height:0;overflow:hidden}.layout-controls{overflow:auto;border:1px solid #eadb8c;border-radius:12px;background:#fff;padding:10px}.layout-controls h3{margin:0 0 8px}.layout-controls label{display:grid;gap:4px;font-size:11px;font-weight:700;margin:7px 0}.layout-number-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.layout-controls input[type=number]{width:100%;min-width:0;padding:6px}.layout-controls input[type=range]{width:100%}.layout-arrow-pad{display:grid;grid-template-columns:repeat(3,34px);grid-template-areas:'. up .' 'left . right' '. down .';gap:3px;justify-content:center;margin:10px 0}.layout-arrow-pad button{min-width:34px;min-height:30px;padding:3px}.layout-arrow-pad button:nth-child(1){grid-area:up}.layout-arrow-pad button:nth-child(2){grid-area:left}.layout-arrow-pad button:nth-child(3){grid-area:right}.layout-arrow-pad button:nth-child(4){grid-area:down}.layout-preview-wrap{min-width:0;min-height:0;overflow:hidden;border:1px solid #eadb8c;border-radius:12px;background:#f7f3e8;padding:5px}.layout-preview{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;border-radius:9px;background:linear-gradient(#fffdf7,#fff);box-shadow:inset 0 0 0 1px #eee1aa}.layout-safe-label{position:absolute;left:7px;top:5px;z-index:30;font-size:9px;color:#786d45;background:#fff9;padding:2px 5px;border-radius:5px;pointer-events:none}.layout-edit-item{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:2px solid #d3bc58;background:#fff9d8;border-radius:9px;box-sizing:border-box;cursor:move;touch-action:none;user-select:none;overflow:hidden;outline:none;font-size:calc(12px*var(--ets,1))}.layout-edit-item.table-edit b{font-size:calc(20px*var(--ets,1));line-height:1}.layout-edit-item small{font-size:calc(9px*var(--ets,1));line-height:1;text-align:center;max-width:95%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout-edit-item.selected{border-color:#ff9800;box-shadow:0 0 0 3px #ff980033;background:#fff2b0;z-index:20}.layout-edit-item.detail-edit{align-items:flex-start;padding:8px;background:#fff7cf}.layout-edit-item.detail-edit b{font-size:calc(13px*var(--ets,1))}.resize-handle{position:absolute!important;right:0!important;bottom:0!important;width:18px!important;height:18px!important;background:linear-gradient(135deg,transparent 48%,#ef9a00 50%)!important;cursor:nwse-resize!important;touch-action:none!important}.layout-map-editor .table-edit{transform:translate(0,0)}

@media(max-width:900px){.layout-work{grid-template-columns:190px minmax(0,1fr)}.layout-controls{padding:7px}.layout-admin-head h2{font-size:15px}.layout-admin-head p{display:none}}
@media(max-width:650px){#layoutadmin{height:calc(100dvh - 48px)!important;padding:4px!important}.layout-work{grid-template-columns:1fr;grid-template-rows:155px minmax(0,1fr)}.layout-controls{order:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px}.layout-preview-wrap{order:1}.layout-number-grid{grid-template-columns:repeat(4,1fr)}.layout-arrow-pad,.layout-controls .small{display:none}.layout-admin-head{padding:5px}.layout-tabs button{padding:5px 8px;font-size:10px}}

/* v52 — opened waiter table: readable menu + submit button always visible */
.waiter-layout-managed .detail-menu .waiter-menu-live{
  display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important;
}
.waiter-layout-managed .detail-menu .category-grid{
  flex:0 0 calc(var(--wm-cat-h,20)*1%)!important;
  height:calc(var(--wm-cat-h,20)*1%)!important;
  max-height:none!important;min-height:0!important;overflow:auto hidden!important;
  align-content:stretch!important;grid-auto-rows:minmax(30px,1fr)!important;
}
.waiter-layout-managed .detail-menu .category-card b{
  font-size:calc(clamp(8px,.8vw,12px)*var(--wm-cat-text,1)*var(--dts,1))!important;
  line-height:1.05!important;overflow-wrap:anywhere!important;
}
.waiter-layout-managed .detail-menu .menu-toolbar{flex:0 0 34px!important;min-height:30px!important;margin:3px 0!important}
.waiter-layout-managed .detail-menu .order-layout{
  flex:1 1 auto!important;height:auto!important;min-height:0!important;
  grid-template-columns:minmax(0,1fr) minmax(180px,calc(var(--wm-cart-w,24)*1%))!important;
  gap:5px!important;overflow:hidden!important;
}
.waiter-layout-managed .detail-menu .products{height:100%!important;min-height:0!important;overflow-y:auto!important;align-content:start!important}
.waiter-layout-managed .detail-menu .product span,
.waiter-layout-managed .detail-menu .product b,
.waiter-layout-managed .detail-menu .product small{
  font-size:calc(clamp(8px,.82vw,12px)*var(--wm-product-text,1)*var(--dts,1))!important;
  line-height:1.08!important;overflow-wrap:anywhere!important;
}
.waiter-layout-managed .detail-menu .cart-panel{
  height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;
  overflow:hidden!important;padding:6px!important;font-size:calc(1em*var(--wm-cart-text,1))!important;
}
.waiter-layout-managed .detail-menu .cart-panel h3{flex:0 0 auto!important;margin:0 0 4px!important;font-size:calc(14px*var(--wm-cart-text,1))!important}
.waiter-layout-managed .detail-menu .cart-lines{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;padding-right:2px!important}
.waiter-layout-managed .detail-menu .cart-total{flex:0 0 auto!important;margin:4px 0!important;padding:5px!important;font-size:calc(14px*var(--wm-cart-text,1))!important}
.waiter-layout-managed .detail-menu .cart-panel > button[id$="Submit"]{
  flex:0 0 auto!important;display:block!important;visibility:visible!important;opacity:1!important;
  position:sticky!important;bottom:0!important;z-index:50!important;width:100%!important;
  min-height:40px!important;height:auto!important;margin-top:4px!important;padding:8px 6px!important;
  font-size:calc(13px*var(--wm-cart-text,1))!important;font-weight:900!important;
}
.waiter-layout-managed .detail-menu .cart-panel > button[id$="Submit"]:disabled{display:block!important;visibility:visible!important;opacity:.45!important}
.layout-menu-controls{margin-top:10px;padding-top:8px;border-top:1px solid #e5e7eb;display:grid;gap:7px}
.layout-menu-controls h4{margin:0}.layout-menu-controls label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;font-size:11px}.layout-menu-controls input{grid-column:1/-1;width:100%}

@media(max-width:900px){
  .waiter-layout-managed .detail-menu .order-layout{grid-template-columns:minmax(0,1fr) minmax(165px,30%)!important}
  .waiter-layout-managed .detail-menu .products{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:620px){
  .waiter-layout-managed .detail-menu .order-layout{grid-template-columns:minmax(0,1fr) minmax(135px,36%)!important}
  .waiter-layout-managed .detail-menu .products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .waiter-layout-managed .detail-menu .cart-panel{padding:4px!important}
  .waiter-layout-managed .detail-menu .cart-panel > button[id$="Submit"]{min-height:38px!important;font-size:11px!important}
}


/* v53 — opened waiter table: finance first, actions below, no-page-scroll compact workspace */
#tables:has(.waiter-layout-managed){height:calc(100dvh - 6px)!important;min-height:0!important;overflow:hidden!important}
.waiter-layout-managed{position:relative!important;height:100%!important;min-height:0!important;overflow:hidden!important;padding:0!important;gap:0!important}
.waiter-layout-managed .detail-finance{z-index:5!important;border:0!important;background:transparent!important}
.waiter-layout-managed .detail-finance .waiter-full-stats{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:2px!important}
.waiter-layout-managed .detail-finance .waiter-full-stats>div{border-radius:7px!important;padding:2px 3px!important;min-height:0!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.waiter-layout-managed .detail-finance .waiter-full-stats span{font-size:calc(clamp(7px,.64vw,10px)*var(--dts,1))!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.waiter-layout-managed .detail-finance .waiter-full-stats b{font-size:calc(clamp(10px,.92vw,14px)*var(--dts,1))!important;line-height:1.02!important;margin-top:1px!important;white-space:nowrap!important}
.waiter-layout-managed .detail-finance .waiter-full-due{bottom:1px!important;right:2px!important;padding:1px 5px!important;font-size:calc(clamp(7px,.65vw,10px)*var(--dts,1))!important;border-radius:5px!important}
.waiter-layout-managed .detail-header{grid-template-columns:auto minmax(115px,1fr) auto!important;gap:5px!important;padding:3px 5px!important;border-radius:8px!important}
.waiter-layout-managed .detail-header .waiter-back{min-height:28px!important;padding:4px 7px!important;font-size:calc(clamp(8px,.75vw,11px)*var(--dts,1))!important}
.waiter-layout-managed .detail-header h2{font-size:calc(clamp(12px,1.05vw,17px)*var(--dts,1))!important;line-height:1!important;margin:0!important}
.waiter-layout-managed .detail-header p{font-size:calc(clamp(8px,.7vw,10px)*var(--dts,1))!important;line-height:1!important;margin:1px 0 0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.waiter-layout-managed .detail-header .waiter-full-actions{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:max-content!important;gap:3px!important;align-items:center!important;justify-content:end!important;overflow:hidden!important}
.waiter-layout-managed .detail-header .waiter-full-actions button{min-height:27px!important;height:27px!important;padding:3px 6px!important;font-size:calc(clamp(7px,.68vw,10px)*var(--dts,1))!important;white-space:nowrap!important}
.waiter-layout-managed .detail-orders{padding:2px 4px!important;border-radius:7px!important;grid-template-columns:minmax(86px,12%) minmax(0,1fr)!important;gap:3px!important}
.waiter-layout-managed .detail-orders .waiter-existing-title{padding:1px!important;align-self:center!important}
.waiter-layout-managed .detail-orders .waiter-existing-title h3{font-size:calc(clamp(9px,.8vw,12px)*var(--dts,1))!important;margin:0!important}
.waiter-layout-managed .detail-orders .pill{font-size:calc(clamp(7px,.65vw,9px)*var(--dts,1))!important;padding:2px 4px!important}
.waiter-layout-managed .detail-orders .waiter-existing-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important;gap:2px!important;overflow-y:auto!important;overflow-x:hidden!important}
.waiter-layout-managed .detail-orders .waiter-existing-line{min-height:23px!important;padding:2px 4px!important;font-size:calc(clamp(7px,.68vw,10px)*var(--dts,1))!important;overflow:hidden!important}
.waiter-layout-managed .detail-orders .waiter-existing-line span,.waiter-layout-managed .detail-orders .waiter-existing-line strong,.waiter-layout-managed .detail-orders .waiter-existing-line em{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.waiter-layout-managed .detail-menu{border-radius:8px!important}
.waiter-layout-managed .detail-menu .waiter-menu-live{padding:3px!important;border-radius:8px!important}
.waiter-layout-managed .detail-menu .category-grid{flex-basis:calc(var(--wm-cat-h,15)*1%)!important;height:calc(var(--wm-cat-h,15)*1%)!important;gap:var(--wm-gap,4px)!important;grid-template-columns:repeat(auto-fit,minmax(64px,1fr))!important}
.waiter-layout-managed .detail-menu .category-card{min-width:0!important;min-height:28px!important;padding:2px 4px!important;overflow:hidden!important}
.waiter-layout-managed .detail-menu .menu-toolbar{flex:0 0 calc(var(--wm-toolbar-h,29)*1px)!important;height:calc(var(--wm-toolbar-h,29)*1px)!important;min-height:24px!important;margin:2px 0!important;gap:var(--wm-gap,4px)!important}
.waiter-layout-managed .detail-menu .menu-toolbar input{min-height:0!important;height:100%!important;padding:3px 7px!important;font-size:11px!important}
.waiter-layout-managed .detail-menu .order-layout{grid-template-columns:minmax(0,1fr) minmax(150px,calc(var(--wm-cart-w,23)*1%))!important;gap:var(--wm-gap,4px)!important}
.waiter-layout-managed .detail-menu .products{grid-template-columns:repeat(auto-fit,minmax(calc(var(--wm-product-min-w,88)*1px),1fr))!important;grid-auto-rows:minmax(calc(var(--wm-product-min-h,50)*1px),auto)!important;gap:var(--wm-gap,4px)!important;padding-right:1px!important}
.waiter-layout-managed .detail-menu .product{min-width:0!important;min-height:0!important;padding:4px!important;overflow:hidden!important}
.waiter-layout-managed .detail-menu .product span{display:block!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:normal!important;line-height:1.05!important;max-height:2.15em!important}
.waiter-layout-managed .detail-menu .cart-panel{padding:4px!important;gap:2px!important;border-radius:7px!important}
.waiter-layout-managed .detail-menu .cart-line{padding:2px!important;gap:2px!important;font-size:calc(clamp(7px,.68vw,10px)*var(--wm-cart-text,1))!important}
.waiter-layout-managed .detail-menu .cart-panel > button[id$="Submit"]{min-height:calc(var(--wm-submit-h,38)*1px)!important;height:calc(var(--wm-submit-h,38)*1px)!important;padding:4px!important;margin-top:2px!important}

@media(max-width:900px){
 .waiter-layout-managed .detail-header{grid-template-columns:auto minmax(90px,1fr) auto!important}
 .waiter-layout-managed .detail-header .waiter-full-actions{grid-auto-flow:column!important;grid-auto-columns:max-content!important;overflow-x:auto!important;scrollbar-width:none!important}
 .waiter-layout-managed .detail-header .waiter-full-actions::-webkit-scrollbar{display:none}
 .waiter-layout-managed .detail-orders .waiter-existing-grid{grid-template-columns:repeat(auto-fit,minmax(105px,1fr))!important}
 .waiter-layout-managed .detail-menu .order-layout{grid-template-columns:minmax(0,1fr) minmax(145px,32%)!important}
}
@media(max-width:620px){
 #tables:has(.waiter-layout-managed){height:100dvh!important}
 .waiter-layout-managed .detail-finance .waiter-full-stats span{font-size:6.5px!important}.waiter-layout-managed .detail-finance .waiter-full-stats b{font-size:9px!important}
 .waiter-layout-managed .detail-header{grid-template-columns:auto minmax(70px,1fr) minmax(145px,auto)!important;padding:2px!important;gap:2px!important}
 .waiter-layout-managed .detail-header .waiter-full-actions button{height:24px!important;min-height:24px!important;padding:2px 4px!important;font-size:7px!important}
 .waiter-layout-managed .detail-orders{grid-template-columns:72px minmax(0,1fr)!important;padding:2px!important}
 .waiter-layout-managed .detail-orders .waiter-existing-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .waiter-layout-managed .detail-menu .category-grid{grid-template-columns:repeat(auto-fit,minmax(52px,1fr))!important}
 .waiter-layout-managed .detail-menu .order-layout{grid-template-columns:minmax(0,1fr) minmax(125px,36%)!important}
 .waiter-layout-managed .detail-menu .products{grid-template-columns:repeat(auto-fit,minmax(66px,1fr))!important}
}

/* v54 — opened waiter table fits the complete working UI into one viewport */
#tables:has(.waiter-layout-managed){height:100dvh!important;max-height:100dvh!important;min-height:0!important;overflow:hidden!important;padding:0!important}
.waiter-layout-managed{position:relative!important;width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important;padding:0!important;margin:0!important}
.waiter-layout-managed .waiter-managed-block{overflow:hidden!important}
.waiter-layout-managed .detail-finance .waiter-full-stats{height:100%!important;gap:2px!important}
.waiter-layout-managed .detail-finance .waiter-full-stats>div{padding:1px 3px!important;border-radius:6px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.waiter-layout-managed .detail-finance .waiter-full-stats span{font-size:clamp(6px,.58vw,9px)!important;line-height:1!important}
.waiter-layout-managed .detail-finance .waiter-full-stats b{font-size:clamp(9px,.82vw,13px)!important;line-height:1!important;margin-top:0!important}
.waiter-layout-managed .detail-finance .waiter-full-due{font-size:clamp(6px,.58vw,9px)!important;padding:1px 4px!important}
.waiter-layout-managed .detail-header{padding:2px 4px!important;gap:3px!important;grid-template-columns:auto minmax(90px,1fr) auto!important}
.waiter-layout-managed .detail-header h2{font-size:clamp(11px,.95vw,15px)!important}.waiter-layout-managed .detail-header p{font-size:clamp(7px,.62vw,9px)!important}
.waiter-layout-managed .detail-header .waiter-full-actions{gap:2px!important}.waiter-layout-managed .detail-header .waiter-full-actions button,.waiter-layout-managed .detail-header .waiter-back{height:24px!important;min-height:24px!important;padding:2px 5px!important;font-size:clamp(7px,.62vw,9px)!important}
.waiter-layout-managed .detail-orders{padding:2px 3px!important;grid-template-columns:72px minmax(0,1fr)!important;gap:2px!important}.waiter-layout-managed .detail-orders .waiter-existing-title h3{font-size:9px!important}.waiter-layout-managed .detail-orders .pill{font-size:7px!important;padding:1px 3px!important}
.waiter-layout-managed .detail-orders .waiter-existing-grid{height:100%!important;display:flex!important;gap:2px!important;overflow-x:auto!important;overflow-y:hidden!important;align-items:stretch!important;scrollbar-width:thin}.waiter-layout-managed .detail-orders .waiter-existing-line{flex:0 0 clamp(118px,15vw,180px)!important;min-height:0!important;height:100%!important;padding:2px 4px!important;font-size:8px!important}
.waiter-layout-managed .detail-menu .waiter-menu-live{height:100%!important;display:flex!important;flex-direction:column!important;padding:2px!important;gap:2px!important}.waiter-layout-managed .detail-menu .category-grid{flex:0 0 calc(var(--wm-cat-h,11)*1%)!important;height:calc(var(--wm-cat-h,11)*1%)!important;min-height:30px!important;max-height:56px!important;gap:2px!important;grid-template-columns:repeat(auto-fit,minmax(58px,1fr))!important;overflow:hidden!important}
.waiter-layout-managed .detail-menu .category-card{min-height:0!important;height:100%!important;padding:2px 3px!important;border-radius:7px!important}.waiter-layout-managed .detail-menu .category-card b{font-size:calc(clamp(7px,.62vw,10px)*var(--wm-cat-text,.88))!important;line-height:1.02!important;max-height:2.05em!important;overflow:hidden!important}
.waiter-layout-managed .detail-menu .menu-toolbar{flex:0 0 24px!important;height:24px!important;min-height:24px!important;margin:0!important}.waiter-layout-managed .detail-menu .menu-toolbar input{font-size:10px!important;padding:2px 6px!important}
.waiter-layout-managed .detail-menu .order-layout{flex:1 1 auto!important;height:auto!important;min-height:0!important;grid-template-columns:minmax(0,1fr) minmax(180px,27%)!important;gap:3px!important;overflow:hidden!important}.waiter-layout-managed .detail-menu .products{height:100%!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(72px,1fr))!important;grid-auto-rows:minmax(38px,1fr)!important;gap:3px!important;align-content:stretch!important}
.waiter-layout-managed .detail-menu .product{min-height:38px!important;height:auto!important;padding:3px!important;border-radius:7px!important}.waiter-layout-managed .detail-menu .product span{font-size:calc(clamp(7px,.65vw,10px)*var(--wm-product-text,.9))!important;line-height:1.02!important;max-height:2.05em!important;overflow:hidden!important}.waiter-layout-managed .detail-menu .product b{font-size:calc(clamp(9px,.78vw,12px)*var(--wm-product-text,.9))!important}
.waiter-layout-managed .detail-menu .cart-panel{height:100%!important;min-height:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;padding:3px!important;gap:2px!important}.waiter-layout-managed .detail-menu .cart-panel h3{margin:0!important;font-size:11px!important;line-height:1!important}.waiter-layout-managed .detail-menu .cart-lines{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important}.waiter-layout-managed .detail-menu .cart-line{padding:2px!important;font-size:8px!important;line-height:1!important}.waiter-layout-managed .detail-menu .cart-total{flex:0 0 auto!important;margin:1px 0!important;padding:3px!important;font-size:11px!important}.waiter-layout-managed .detail-menu .cart-panel>button[id$="Submit"]{display:block!important;visibility:visible!important;flex:0 0 32px!important;height:32px!important;min-height:32px!important;margin:0!important;padding:3px!important;font-size:11px!important}
@media (max-height:720px) and (min-width:621px){.waiter-layout-managed .detail-finance .waiter-full-stats span{font-size:6px!important}.waiter-layout-managed .detail-finance .waiter-full-stats b{font-size:9px!important}.waiter-layout-managed .detail-header .waiter-full-actions button,.waiter-layout-managed .detail-header .waiter-back{height:21px!important;min-height:21px!important;font-size:6.5px!important;padding:1px 4px!important}.waiter-layout-managed .detail-header h2{font-size:11px!important}.waiter-layout-managed .detail-header p{font-size:6.5px!important}.waiter-layout-managed .detail-orders{grid-template-columns:58px minmax(0,1fr)!important}.waiter-layout-managed .detail-orders .waiter-existing-title h3{font-size:8px!important}.waiter-layout-managed .detail-orders .waiter-existing-line{flex-basis:110px!important;font-size:7px!important}.waiter-layout-managed .detail-menu .category-grid{min-height:26px!important;max-height:40px!important}.waiter-layout-managed .detail-menu .category-card b{font-size:7px!important}.waiter-layout-managed .detail-menu .menu-toolbar{height:21px!important;min-height:21px!important;flex-basis:21px!important}.waiter-layout-managed .detail-menu .order-layout{grid-template-columns:minmax(0,1fr) minmax(155px,28%)!important}.waiter-layout-managed .detail-menu .products{grid-template-columns:repeat(auto-fit,minmax(62px,1fr))!important;grid-auto-rows:minmax(34px,1fr)!important}.waiter-layout-managed .detail-menu .product{min-height:34px!important;padding:2px!important}.waiter-layout-managed .detail-menu .product span{font-size:7px!important}.waiter-layout-managed .detail-menu .product b{font-size:9px!important}.waiter-layout-managed .detail-menu .cart-panel{padding:2px!important}.waiter-layout-managed .detail-menu .cart-line{font-size:7px!important;padding:1px!important}.waiter-layout-managed .detail-menu .cart-total{font-size:9px!important;padding:2px!important}.waiter-layout-managed .detail-menu .cart-panel>button[id$="Submit"]{height:28px!important;min-height:28px!important;flex-basis:28px!important;font-size:9px!important}}
@media (max-width:850px) and (min-width:621px){.waiter-layout-managed .detail-header{grid-template-columns:auto minmax(70px,1fr) minmax(145px,auto)!important}.waiter-layout-managed .detail-header .waiter-full-actions{overflow-x:auto!important;scrollbar-width:none!important}.waiter-layout-managed .detail-menu .order-layout{grid-template-columns:minmax(0,1fr) minmax(145px,34%)!important}.waiter-layout-managed .detail-menu .products{grid-template-columns:repeat(auto-fit,minmax(58px,1fr))!important}}

/* v55 — waiter open-table workspace: usable without page scrolling */
.waiter-operating-page,.waiter-operating-page *{box-sizing:border-box!important}
.waiter-operating-page{height:calc(100dvh - 8px)!important;min-height:0!important;overflow:hidden!important;padding:4px!important}
.waiter-layout-managed .detail-finance{top:.4%!important;height:5%!important}
.waiter-layout-managed .detail-header{top:5.8%!important;height:6.2%!important}
.waiter-layout-managed .detail-orders{top:12.5%!important;height:6.5%!important}
.waiter-layout-managed .detail-menu{top:19.5%!important;height:80%!important;bottom:.5%!important;overflow:hidden!important}
.waiter-layout-managed .detail-menu .waiter-menu-live{height:100%!important;min-height:0!important;overflow:hidden!important}
.waiter-layout-managed .detail-menu .category-grid{flex:0 0 48px!important;height:48px!important;min-height:48px!important;max-height:48px!important;grid-template-columns:repeat(auto-fit,minmax(92px,1fr))!important;overflow:hidden!important}
.waiter-layout-managed .detail-menu .category-card b{font-size:10px!important;line-height:1.05!important}
.waiter-layout-managed .detail-menu .menu-toolbar{flex:0 0 28px!important;height:28px!important;min-height:28px!important}
.waiter-layout-managed .detail-menu .order-layout{flex:1 1 0!important;height:0!important;min-height:0!important;overflow:hidden!important;grid-template-columns:minmax(0,1fr) minmax(260px,28%)!important}
.waiter-layout-managed .detail-menu .products{min-height:0!important;height:100%!important;overflow-y:auto!important;grid-template-columns:repeat(auto-fill,minmax(105px,1fr))!important;grid-auto-rows:58px!important;align-content:start!important;padding-bottom:2px!important}
.waiter-layout-managed .detail-menu .product{height:58px!important;min-height:58px!important;padding:4px!important}
.waiter-layout-managed .detail-menu .product span{font-size:10px!important;line-height:1.05!important;max-height:2.1em!important}.waiter-layout-managed .detail-menu .product b{font-size:12px!important}
.waiter-layout-managed .detail-menu .cart-panel{position:relative!important;height:100%!important;min-height:0!important;padding:4px 4px 42px!important;overflow:hidden!important}
.waiter-layout-managed .detail-menu .cart-panel h3{flex:0 0 18px!important;font-size:12px!important}
.waiter-layout-managed .detail-menu .cart-lines{flex:1 1 0!important;height:0!important;min-height:0!important;overflow-y:auto!important;padding-bottom:2px!important}
.waiter-layout-managed .detail-menu .cart-line{font-size:9px!important;min-height:30px!important;padding:3px!important}
.waiter-layout-managed .detail-menu .cart-total{flex:0 0 25px!important;height:25px!important;font-size:12px!important;padding:3px!important;margin:0!important}
.waiter-layout-managed .detail-menu .cart-panel>button[id$="Submit"]{position:absolute!important;left:4px!important;right:4px!important;bottom:4px!important;width:calc(100% - 8px)!important;height:34px!important;min-height:34px!important;display:block!important;visibility:visible!important;z-index:20!important;font-size:11px!important}
@media (max-height:760px) and (min-width:621px){
 .waiter-layout-managed .detail-orders{height:5.5%!important}.waiter-layout-managed .detail-menu{top:18.5%!important;height:81%!important}
 .waiter-layout-managed .detail-menu .category-grid{flex-basis:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important;grid-template-columns:repeat(auto-fit,minmax(82px,1fr))!important}
 .waiter-layout-managed .detail-menu .order-layout{grid-template-columns:minmax(0,1fr) minmax(230px,30%)!important}
 .waiter-layout-managed .detail-menu .products{grid-template-columns:repeat(auto-fill,minmax(95px,1fr))!important;grid-auto-rows:52px!important}.waiter-layout-managed .detail-menu .product{height:52px!important;min-height:52px!important}
}

/* v56 — waiter open-table layout: clear finance, readable existing orders, all categories visible */
.waiter-operating-page{height:calc(100dvh - 6px)!important;overflow:hidden!important;padding:3px!important}
.waiter-layout-managed .detail-finance{top:.4%!important;height:6.2%!important;overflow:hidden!important}
.waiter-layout-managed .detail-finance .waiter-full-stats{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:5px!important;height:100%!important}
.waiter-layout-managed .detail-finance .waiter-full-stats>div{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;min-width:0!important;padding:2px 5px!important;border-radius:8px!important;overflow:hidden!important}
.waiter-layout-managed .detail-finance .waiter-full-stats span{font-size:clamp(7px,.62vw,10px)!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important}
.waiter-layout-managed .detail-finance .waiter-full-stats b{font-size:clamp(10px,.95vw,15px)!important;line-height:1.05!important;white-space:nowrap!important}
.waiter-layout-managed .detail-finance .due-stat{background:#fff0f0!important;border-color:#dc2626!important}
.waiter-layout-managed .detail-finance .waiter-full-due{display:none!important}

.waiter-layout-managed .detail-header{top:7%!important;height:6.3%!important;min-height:0!important;padding:3px 5px!important;overflow:hidden!important}
.waiter-layout-managed .detail-header h2{font-size:clamp(12px,1vw,16px)!important;line-height:1!important;margin:0!important}
.waiter-layout-managed .detail-header p{font-size:clamp(7px,.68vw,10px)!important;line-height:1.05!important;margin:1px 0 0!important}
.waiter-layout-managed .detail-header .waiter-back,.waiter-layout-managed .detail-header .waiter-full-actions button{height:clamp(24px,3.2vh,32px)!important;min-height:0!important;padding:2px 8px!important;font-size:clamp(7px,.65vw,10px)!important;border-radius:8px!important}
.waiter-layout-managed .detail-header .waiter-full-actions{display:flex!important;gap:4px!important;flex-wrap:nowrap!important;min-width:0!important;overflow-x:auto!important;scrollbar-width:none!important}

.waiter-layout-managed .detail-orders{top:13.7%!important;height:10.3%!important;display:grid!important;grid-template-columns:120px minmax(0,1fr)!important;gap:5px!important;padding:4px!important;overflow:hidden!important;background:#fffdf4!important;border:1px solid #efd244!important;border-radius:10px!important}
.waiter-layout-managed .detail-orders .waiter-existing-title{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;gap:4px!important;min-width:0!important;padding:4px 6px!important;border-right:1px solid #efd244!important}
.waiter-layout-managed .detail-orders .waiter-existing-title h3{font-size:clamp(9px,.8vw,12px)!important;line-height:1.05!important;margin:0!important;white-space:normal!important}
.waiter-layout-managed .detail-orders .waiter-existing-title .pill{font-size:clamp(7px,.62vw,9px)!important;padding:3px 6px!important}
.waiter-layout-managed .detail-orders .waiter-existing-grid{display:grid!important;grid-auto-flow:column!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;grid-auto-columns:minmax(165px,210px)!important;gap:4px!important;height:100%!important;overflow-x:auto!important;overflow-y:hidden!important;align-items:stretch!important;padding:0 2px!important;scrollbar-width:thin!important}
.waiter-layout-managed .detail-orders .waiter-existing-line{height:auto!important;min-height:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;align-items:center!important;gap:0 6px!important;padding:4px 7px!important;border:1px solid #efd244!important;border-radius:8px!important;background:#fff!important;font-size:clamp(8px,.7vw,10px)!important;overflow:hidden!important}
.waiter-layout-managed .detail-orders .waiter-existing-line span{min-width:0!important;overflow:hidden!important}
.waiter-layout-managed .detail-orders .waiter-existing-line b{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:clamp(8px,.72vw,10px)!important;line-height:1.05!important}
.waiter-layout-managed .detail-orders .waiter-existing-line small{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:clamp(6px,.55vw,8px)!important;line-height:1!important;color:#7d6d23!important}
.waiter-layout-managed .detail-orders .waiter-existing-line strong{font-size:clamp(8px,.7vw,10px)!important;white-space:nowrap!important}
.waiter-layout-managed .detail-orders .waiter-existing-line em{grid-column:2!important;font-style:normal!important;font-weight:900!important;color:#a77f00!important;font-size:clamp(8px,.72vw,10px)!important;white-space:nowrap!important}

.waiter-layout-managed .detail-menu{top:24.5%!important;height:75%!important;bottom:.5%!important;overflow:hidden!important}
.waiter-layout-managed .detail-menu .waiter-menu-live{display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important;padding:4px!important;gap:4px!important;overflow:hidden!important}
.waiter-layout-managed .detail-menu .category-grid{flex:0 0 clamp(76px,10.5vh,106px)!important;height:clamp(76px,10.5vh,106px)!important;min-height:76px!important;max-height:106px!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(82px,1fr))!important;grid-auto-rows:minmax(22px,1fr)!important;gap:4px!important;align-content:stretch!important;overflow:hidden!important;margin:0!important}
.waiter-layout-managed .detail-menu .category-card{height:100%!important;min-height:0!important;padding:2px 4px!important;border-radius:8px!important;display:flex!important;flex-direction:row!important;gap:4px!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
.waiter-layout-managed .detail-menu .category-card span{font-size:clamp(10px,.9vw,14px)!important;line-height:1!important;flex:0 0 auto!important}
.waiter-layout-managed .detail-menu .category-card b{font-size:clamp(7px,.66vw,10px)!important;line-height:1.02!important;max-height:2.04em!important;white-space:normal!important;overflow:hidden!important;text-overflow:clip!important;overflow-wrap:anywhere!important;text-align:center!important}
.waiter-layout-managed .detail-menu .menu-toolbar{flex:0 0 30px!important;height:30px!important;min-height:30px!important;margin:0!important;gap:5px!important}
.waiter-layout-managed .detail-menu .menu-toolbar input{height:30px!important;padding:3px 8px!important;font-size:10px!important}
.waiter-layout-managed .detail-menu .cart-badge{height:30px!important;display:flex!important;align-items:center!important;padding:2px 8px!important;font-size:9px!important}
.waiter-layout-managed .detail-menu .order-layout{flex:1 1 0!important;height:0!important;min-height:0!important;grid-template-columns:minmax(0,1fr) minmax(250px,29%)!important;gap:5px!important;overflow:hidden!important}
.waiter-layout-managed .detail-menu .products{height:100%!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;display:grid!important;grid-template-columns:repeat(auto-fill,minmax(118px,1fr))!important;grid-auto-rows:64px!important;gap:5px!important;align-content:start!important;padding:0 1px 2px!important}
.waiter-layout-managed .detail-menu .product{height:64px!important;min-height:64px!important;padding:5px 6px!important;border-radius:9px!important;overflow:hidden!important}
.waiter-layout-managed .detail-menu .product span{font-size:clamp(9px,.74vw,11px)!important;line-height:1.05!important;max-height:2.1em!important;overflow:hidden!important;overflow-wrap:anywhere!important}
.waiter-layout-managed .detail-menu .product b{font-size:clamp(11px,.9vw,14px)!important;line-height:1!important;margin-top:3px!important;white-space:nowrap!important}
.waiter-layout-managed .detail-menu .product small{font-size:7px!important;line-height:1!important;margin-top:2px!important}
.waiter-layout-managed .detail-menu .cart-panel{position:relative!important;height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;padding:6px 6px 46px!important;gap:3px!important;overflow:hidden!important}
.waiter-layout-managed .detail-menu .cart-panel h3{flex:0 0 auto!important;font-size:13px!important;line-height:1.1!important;margin:0 0 2px!important}
.waiter-layout-managed .detail-menu .cart-lines{flex:1 1 0!important;height:0!important;min-height:0!important;overflow-y:auto!important;padding-right:2px!important}
.waiter-layout-managed .detail-menu .cart-line{min-height:38px!important;padding:4px 2px!important;font-size:9px!important;line-height:1.05!important;gap:4px!important}
.waiter-layout-managed .detail-menu .qty-control{grid-template-columns:30px 24px 30px!important}
.waiter-layout-managed .detail-menu .qty-control button{height:27px!important;padding:2px!important}
.waiter-layout-managed .detail-menu .cart-total{flex:0 0 28px!important;height:28px!important;font-size:13px!important;padding:4px!important;margin:0!important}
.waiter-layout-managed .detail-menu .cart-panel>button[id$="Submit"]{position:absolute!important;left:6px!important;right:6px!important;bottom:6px!important;width:calc(100% - 12px)!important;height:36px!important;min-height:36px!important;display:block!important;visibility:visible!important;z-index:30!important;padding:4px!important;font-size:11px!important}

@media (max-height:760px) and (min-width:621px){
 .waiter-layout-managed .detail-finance{height:5.8%!important}.waiter-layout-managed .detail-header{top:6.6%!important;height:6%!important}.waiter-layout-managed .detail-orders{top:13%!important;height:9.5%!important;grid-template-columns:100px minmax(0,1fr)!important}.waiter-layout-managed .detail-menu{top:23%!important;height:76.5%!important}
 .waiter-layout-managed .detail-orders .waiter-existing-grid{grid-auto-columns:minmax(145px,185px)!important}
 .waiter-layout-managed .detail-menu .category-grid{flex-basis:72px!important;height:72px!important;min-height:72px!important;max-height:72px!important;grid-template-columns:repeat(auto-fit,minmax(74px,1fr))!important}
 .waiter-layout-managed .detail-menu .products{grid-template-columns:repeat(auto-fill,minmax(105px,1fr))!important;grid-auto-rows:58px!important}.waiter-layout-managed .detail-menu .product{height:58px!important;min-height:58px!important}
 .waiter-layout-managed .detail-menu .order-layout{grid-template-columns:minmax(0,1fr) minmax(220px,31%)!important}
}
@media (max-width:900px) and (min-width:621px){
 .waiter-layout-managed .detail-orders{grid-template-columns:92px minmax(0,1fr)!important}
 .waiter-layout-managed .detail-menu .category-grid{grid-template-columns:repeat(auto-fit,minmax(68px,1fr))!important}
 .waiter-layout-managed .detail-menu .order-layout{grid-template-columns:minmax(0,1fr) minmax(190px,34%)!important}
 .waiter-layout-managed .detail-menu .products{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))!important}
}


/* v58 — reclaim removed ordered-products area completely */
.waiter-layout-managed .detail-orders{
  display:none!important;
  position:absolute!important;
  width:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}
.waiter-layout-managed .detail-menu{
  top:13.55%!important;
  height:85.95%!important;
  bottom:.5%!important;
  margin:0!important;
}
/* Use every pixel of the reclaimed area for categories, products and current cart. */
.waiter-layout-managed .detail-menu .waiter-menu-live{
  height:100%!important;
  min-height:0!important;
  margin:0!important;
}
@media (max-height:760px) and (min-width:621px){
  .waiter-layout-managed .detail-menu{
    top:12.9%!important;
    height:86.6%!important;
    bottom:.5%!important;
  }
}

/* v59 — waiter categories/search spacing + one-screen table information */
.waiter-layout-managed .detail-menu .waiter-menu-live{
  gap:2px!important;
}
.waiter-layout-managed .detail-menu .category-grid{
  /* productPicker calculates exactly how many columns are needed for three rows */
  display:grid!important;
  grid-template-columns:repeat(var(--category-cols),minmax(0,1fr))!important;
  grid-template-rows:repeat(3,minmax(0,1fr))!important;
  grid-auto-flow:column!important;
  grid-auto-rows:unset!important;
  flex:0 0 clamp(66px,9vh,84px)!important;
  height:clamp(66px,9vh,84px)!important;
  min-height:66px!important;
  max-height:84px!important;
  gap:2px!important;
  margin:0 0 1px!important;
  padding:1px!important;
  overflow:hidden!important;
}
.waiter-layout-managed .detail-menu .category-card{
  min-width:0!important;
  min-height:0!important;
  height:100%!important;
  margin:0!important;
  padding:1px 3px!important;
  gap:3px!important;
}
.waiter-layout-managed .detail-menu .category-card span{
  font-size:clamp(9px,.75vw,12px)!important;
}
.waiter-layout-managed .detail-menu .category-card b{
  font-size:clamp(7px,.62vw,9.5px)!important;
  line-height:1!important;
  max-height:2em!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
}
.waiter-layout-managed .detail-menu .menu-toolbar{
  flex:0 0 27px!important;
  height:27px!important;
  min-height:27px!important;
  margin:0 0 2px!important;
  gap:3px!important;
  position:relative!important;
  z-index:2!important;
}
.waiter-layout-managed .detail-menu .menu-toolbar input{
  height:27px!important;
  min-height:27px!important;
  margin:0!important;
  padding:2px 7px!important;
}
.waiter-layout-managed .detail-menu .cart-badge{
  height:27px!important;
  min-height:27px!important;
  margin:0!important;
}

/* Information modal: all major sections stay visible in one viewport; only dense lists scroll internally. */
#modal .modal.table-info-modal{
  width:min(1180px,97vw)!important;
  height:min(88dvh,820px)!important;
  max-height:88dvh!important;
  overflow:hidden!important;
  padding:48px 12px 10px!important;
}
#modal .modal.table-info-modal #modalBody{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
.table-detail-compact{
  height:100%!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto auto auto minmax(0,1fr)!important;
  gap:5px!important;
  overflow:hidden!important;
}
.table-detail-compact .modal-title-row{
  margin:0!important;
  padding:0 44px 5px 0!important;
  min-height:34px!important;
  align-items:center!important;
}
.table-detail-compact .modal-title-row h2{font-size:17px!important;margin:0!important;line-height:1!important}
.table-detail-compact .modal-title-row p{font-size:10px!important;margin:2px 0 0!important;line-height:1!important}
.table-detail-compact .modal-title-row button{min-height:28px!important;height:28px!important;padding:3px 10px!important;font-size:10px!important}
.table-detail-compact .detail-payment{
  margin:0!important;
  padding:3px 7px!important;
  font-size:10px!important;
  min-height:24px!important;
}
.table-detail-compact .mini-stats{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:4px!important;
  margin:0!important;
}
.table-detail-compact .mini-stats>div{padding:4px 6px!important;border-radius:8px!important;min-width:0!important}
.table-detail-compact .mini-stats span{font-size:8px!important;margin:0 0 1px!important;line-height:1!important}
.table-detail-compact .mini-stats b{font-size:12px!important;line-height:1!important;white-space:nowrap!important}
.table-detail-body{
  min-height:0!important;
  display:grid!important;
  grid-template-columns:minmax(170px,.72fr) minmax(220px,1fr) minmax(300px,1.35fr)!important;
  gap:6px!important;
  overflow:hidden!important;
}
.table-detail-section{
  min-width:0!important;
  min-height:0!important;
  border:1px solid var(--line)!important;
  border-radius:9px!important;
  background:#fff!important;
  padding:5px!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.table-detail-section h3{
  flex:0 0 auto!important;
  font-size:11px!important;
  line-height:1!important;
  margin:0 0 4px!important;
  padding-bottom:4px!important;
  border-bottom:1px solid #f4e8a8!important;
}
.table-detail-scroll{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  scrollbar-width:thin!important;
}
.table-detail-compact .history-row,.table-detail-compact .order-line{
  padding:4px 2px!important;
  gap:5px!important;
  font-size:9px!important;
  line-height:1.05!important;
  align-items:center!important;
}
.table-detail-compact .order-line small{font-size:7px!important;line-height:1!important}
.table-detail-compact .qty{font-size:11px!important}
.table-detail-compact .tiny{padding:3px 5px!important;font-size:8px!important;min-height:22px!important}

@media (max-height:700px) and (min-width:621px){
  .waiter-layout-managed .detail-menu .category-grid{flex-basis:60px!important;height:60px!important;min-height:60px!important;max-height:60px!important}
  .waiter-layout-managed .detail-menu .menu-toolbar{flex-basis:24px!important;height:24px!important;min-height:24px!important}
  .waiter-layout-managed .detail-menu .menu-toolbar input,.waiter-layout-managed .detail-menu .cart-badge{height:24px!important;min-height:24px!important}
  #modal .modal.table-info-modal{height:92dvh!important;max-height:92dvh!important;padding-top:42px!important}
  .table-detail-compact .modal-title-row{min-height:28px!important}.table-detail-compact .modal-title-row h2{font-size:14px!important}
  .table-detail-compact .mini-stats b{font-size:10px!important}.table-detail-compact .mini-stats span{font-size:7px!important}
  .table-detail-compact .history-row,.table-detail-compact .order-line{padding:3px 1px!important;font-size:8px!important}
}

@media (max-width:620px){
  /* Mobile/tablet keeps categories complete without overlap; two rows are allowed when necessary. */
  .waiter-layout-managed .detail-menu .category-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-template-rows:none!important;
    grid-auto-flow:row!important;
    grid-auto-rows:44px!important;
    height:auto!important;
    min-height:0!important;
    max-height:136px!important;
    flex:0 0 auto!important;
    overflow-y:auto!important;
  }
  #modal .modal.table-info-modal{
    width:100%!important;
    height:94dvh!important;
    max-height:94dvh!important;
    padding:44px 7px 8px!important;
    border-radius:14px 14px 0 0!important;
  }
  .table-detail-body{grid-template-columns:1fr 1fr!important;grid-template-rows:minmax(120px,.7fr) minmax(0,1.3fr)!important}
  .table-detail-section.chronology{grid-column:1/-1!important}
  .table-detail-compact .mini-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .table-detail-compact .mini-stats>div{padding:3px!important}.table-detail-compact .mini-stats span{font-size:6.5px!important}.table-detail-compact .mini-stats b{font-size:9px!important}
}

/* Terrace workspace switch — keeps the existing waiter flow unchanged. */
.terrace-switch{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.terrace-switch button{min-width:108px;padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#5c5100;font-weight:900}
.terrace-switch button.active{background:var(--yellow);border-color:var(--yellow);color:#241f00;box-shadow:0 2px 7px #d5b90038}
.waiter-map-head{gap:10px;flex-wrap:wrap}
.waiter-map-head>.terrace-switch{margin-left:auto}
.terrace-admin-head>div{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
@media(max-width:700px){.terrace-switch{width:100%;display:grid;grid-template-columns:1fr 1fr}.terrace-switch button{min-width:0;width:100%;padding:9px 8px}.waiter-map-head>.terrace-switch{margin-left:0}}

/* Terrace closed-table history: additive UI only. */
.terrace-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.terrace-closed-btn{white-space:nowrap}
.closed-tables-modal{min-width:min(980px,92vw);max-width:1100px}
.closed-tables-modal-head{gap:16px;align-items:flex-start;margin-bottom:14px}
.closed-tables-modal-head h2{margin:0 0 4px}
.closed-tables-section{margin-top:14px}
.closed-tables-title{margin-bottom:8px}
.closed-tables-title h3{margin:0}
.closed-tables-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
.closed-tables-grid .waiter-archive-card{margin:0;min-width:0}
@media(max-width:768px){
 .terrace-head-actions{width:100%;align-items:stretch}
 .terrace-head-actions .terrace-switch{flex:1 1 auto}
 .terrace-closed-btn{flex:0 0 auto;padding-left:10px;padding-right:10px}
 .closed-tables-modal{min-width:0;width:100%;max-width:100%}
 .closed-tables-modal-head{flex-direction:column}
 .closed-tables-grid{grid-template-columns:1fr}
}

/* === v50 final mobile safety pass (all cabinets) === */
@media screen and (max-width:760px){
  html,body,#app,main,.page,#dashboard,#tables,#bar,#staff,#menuadmin{max-width:100%!important;min-width:0!important;overflow-x:hidden!important}
  .stats,.admin-finance-stats,.waiter-stats,.bar-finance-row>.stats{min-width:0!important}
  .category-grid,.admin-category-grid,#bar .category-grid,#modal .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:auto!important;height:auto!important;max-height:none!important;gap:6px!important;overflow:visible!important}
  .category-card,.admin-category-btn{width:100%!important;min-width:0!important;height:auto!important;min-height:64px!important;max-height:none!important;overflow:hidden!important}
  .category-card b,.admin-category-btn b{white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;line-height:1.15!important}
  .products,#bar .products,#modal .products{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;min-width:0!important;height:auto!important;max-height:none!important;overflow:visible!important}
  .waiter-space-map-shell,.waiter-space-map,.waiter-workspace,.waiter-active-grid,.closed-tables-grid{max-width:100%!important;min-width:0!important}
  .waiter-active-grid,.closed-tables-grid{grid-template-columns:1fr!important;grid-auto-rows:auto!important}
  .waiter-compact-card,.table-card{width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;max-height:none!important;overflow:visible!important}
  .table-actions{width:100%!important;min-width:0!important;gap:5px!important}
  .table-actions button{min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .modal,.login{width:calc(100vw - 12px)!important;max-width:calc(100vw - 12px)!important;margin:0!important;overflow-x:hidden!important}
  .admin-tools{grid-template-columns:1fr!important}
}
@media screen and (max-width:380px){
  .category-grid,.admin-category-grid,#bar .category-grid,#modal .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #dashboard .admin-finance-stats,#tables>.waiter-finance-row>.stats.waiter-stats,#bar .bar-finance-row>.stats,#bar>.stats{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:3px!important}
  #dashboard .admin-finance-stats>.stat,#tables>.waiter-finance-row>.stats.waiter-stats>.stat,#bar .bar-finance-row>.stats>.stat,#bar>.stats>.stat{padding:4px 2px!important;font-size:7px!important;min-height:60px!important}
  #dashboard .admin-finance-stats .money,#tables .waiter-stats .money,#bar .bar-finance-row .money,#bar>.stats .money{font-size:9.5px!important}
}

/* Final: closed table occurrence marker */
.waiter-archive-head>div{min-width:0;display:flex;flex-direction:column;gap:3px}
.closure-sequence{display:block;font-size:11px;line-height:1.2;font-weight:800;color:#7a5b00;white-space:normal}
@media (max-width:768px){.closure-sequence{font-size:10px}}

/* v54: closed-table terrace badge */
.archive-table-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.archive-terrace-badge{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:#fff7cc;border:1px solid #e4c95b;color:#5b4a00;font-size:11px;font-weight:800;line-height:1.2;white-space:nowrap}


/* 2026-08-17 — admin receipt controls + top navigation no-overlap fix */
#adminTopbar.admin-topbar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:10px!important;
  overflow:visible!important;
}
#adminTopbar.admin-topbar > #nav{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(118px,1fr))!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
}
#adminTopbar.admin-topbar > #nav button{
  min-width:0!important;
  width:100%!important;
  padding:9px 8px!important;
  font-size:11px!important;
  line-height:1.15!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-align:center!important;
}
#adminTopbar.admin-topbar > #logout{
  margin:0!important;
  min-height:40px!important;
  align-self:start!important;
}
.admin-receipt-actions{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important;
  gap:6px!important;
}
.admin-receipt-actions button{width:100%!important;white-space:normal!important;line-height:1.15!important;}
@media(max-width:800px){
  #adminTopbar.admin-topbar{grid-template-columns:1fr!important;}
  #adminTopbar.admin-topbar > #nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #adminTopbar.admin-topbar > #logout{width:100%!important;position:static!important;}
}


/* 2026-08-17 — compact admin navigation; keep role label visible at the end. */
#adminTopbar.admin-topbar{
  display:flex!important; align-items:center!important; flex-wrap:nowrap!important;
  gap:5px!important; width:100%!important; margin:0 0 9px!important; padding:0!important;
}
#adminTopbar.admin-topbar > #nav{
  display:grid!important; grid-template-columns:repeat(7,minmax(0,1fr))!important;
  align-items:center!important; gap:5px!important; flex:1 1 auto!important;
  width:auto!important; min-width:0!important; margin:0!important; padding:0!important; overflow:visible!important;
}
#adminTopbar.admin-topbar > #nav > button{
  width:100%!important; min-width:0!important; min-height:36px!important; height:36px!important;
  padding:5px 7px!important; margin:0!important; border-radius:10px!important;
  font-size:11px!important; line-height:1.05!important; white-space:nowrap!important;
  overflow:hidden!important; text-overflow:ellipsis!important; box-sizing:border-box!important;
}
#adminTopbar.admin-topbar > #roleLabel{
  position:static!important; display:inline-flex!important; align-items:center!important; justify-content:center!important;
  flex:0 0 auto!important; min-width:108px!important; height:36px!important; padding:0 10px!important;
  margin:0!important; border-radius:10px!important; font-size:12px!important; line-height:1!important;
  white-space:nowrap!important; z-index:auto!important; transform:none!important;
}
#adminTopbar.admin-topbar > #roleLabel.hidden{display:none!important;}
#adminTopbar.admin-topbar > #logout{
  flex:0 0 auto!important; min-height:36px!important; height:36px!important; padding:5px 10px!important;
  margin:0!important; font-size:11px!important; border-radius:10px!important; box-sizing:border-box!important;
}
@media(max-width:1100px){
  #adminTopbar.admin-topbar{overflow-x:auto!important; align-items:center!important;}
  #adminTopbar.admin-topbar > #nav{display:flex!important; flex:0 0 auto!important;}
  #adminTopbar.admin-topbar > #nav > button{width:auto!important; min-width:112px!important;}
  #adminTopbar.admin-topbar > #roleLabel{position:sticky!important; right:57px!important; background:#fff!important;}
  #adminTopbar.admin-topbar > #logout{position:sticky!important; right:0!important; background:#fff!important;}
}


/* 2026-08-17 v54 — Finance switch in admin top bar; hide finance only, never orders/cards. */
#adminTopbar.admin-topbar > #nav{grid-template-columns:repeat(7,minmax(0,1fr))!important;}
#adminTopbar .top-finance-toggle{
  flex:0 0 auto!important; display:flex!important; align-items:center!important; justify-content:center!important;
  height:36px!important; min-height:36px!important; margin:0!important; padding:0!important;
}
#adminTopbar .top-finance-toggle.hidden{display:none!important;}
#adminTopbar .top-finance-toggle .finance-visibility-toggle{
  display:inline-flex!important; align-items:center!important; justify-content:center!important; gap:5px!important;
  min-width:92px!important; width:92px!important; height:36px!important; min-height:36px!important;
  padding:4px 8px!important; margin:0!important; border-radius:10px!important; font-size:10px!important;
  font-weight:900!important; white-space:nowrap!important;
}
#adminTopbar .top-finance-toggle .finance-visibility-toggle.is-on{background:#22a447!important;color:#fff!important;border-color:#16883a!important;}
#adminTopbar .top-finance-toggle .finance-visibility-toggle.is-off{background:#dfe4df!important;color:#334033!important;border-color:#c5ccc5!important;}
#adminTopbar .top-finance-toggle .toggle-dot{width:8px!important;height:8px!important;border-radius:50%!important;background:currentColor!important;display:inline-block!important;}
/* Admin dashboard no longer reserves a separate row for the finance switch. */
#dashboard>.finance-summary-head.admin-finance-toggle{display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;}

/* OFF means financial information is closed everywhere, while operational cards/orders stay intact. */
body.finance-off .finance-stats{display:none!important;}
body.finance-off .private-sale-values,
body.finance-off .sale-payment,
body.finance-off .detail-payment,
body.finance-off .mixed-breakdown,
body.finance-off .waiter-archive-card .payment-method-line,
body.finance-off .admin-sales-summary-pills,
body.finance-off .admin-sales-columns>span:last-child,
body.finance-off .admin-sales-row>strong{
  display:none!important;
}
/* Keep order/table cards, product lines, quantities, statuses and action buttons visible. */
body.finance-off .sale-history-card,
body.finance-off .waiter-archive-card,
body.finance-off .sale-order-items,
body.finance-off .sale-meta,
body.finance-off .sale-status,
body.finance-off .sale-history-actions,
body.finance-off .admin-sales-row{visibility:visible!important;}

@media(max-width:1100px){
  #adminTopbar .top-finance-toggle{position:sticky!important;right:174px!important;background:#fff!important;z-index:3!important;}
  #adminTopbar .top-finance-toggle .finance-visibility-toggle{min-width:86px!important;width:86px!important;font-size:9px!important;}
}


/* 2026-08-17 FINAL finance switch normalization
   One switch only: top bar in every cabinet. It hides ONLY the top finance strip. */
#adminTopbar.cashier-topbar-hidden{display:flex!important}
#adminTopbar.admin-topbar{min-height:36px!important;height:36px!important;margin-bottom:6px!important}
#adminTopbar .top-finance-toggle{display:flex!important;align-items:center!important;flex:0 0 auto!important}
#adminTopbar .top-finance-toggle.hidden{display:none!important}
#adminTopbar .top-finance-toggle .finance-visibility-toggle{
  min-width:88px!important;width:88px!important;height:36px!important;min-height:36px!important;
  padding:4px 8px!important;margin:0!important;font-size:9px!important;border-radius:10px!important;
}
#adminTopbar > #roleLabel.hidden{display:none!important}
#bar>.bar-finance-row>.bar-finance-toggle,
#tables>.waiter-finance-row>.bar-finance-toggle{display:none!important}

/* OFF affects only finance summary strips. Order/history cards and their payment data stay visible. */
body.finance-off .finance-stats{display:none!important}
body.finance-off .private-sale-values,
body.finance-off .sale-payment,
body.finance-off .detail-payment,
body.finance-off .mixed-breakdown,
body.finance-off .waiter-archive-card .payment-method-line,
body.finance-off .admin-sales-summary-pills,
body.finance-off .admin-sales-columns>span:last-child,
body.finance-off .admin-sales-row>strong{
  display:revert!important;
}
.finance-history-section.finance-history-hidden .finance-history-content{display:block!important}
.finance-history-section .finance-history-hidden-message{display:none!important}
body.finance-off .sale-history-card,
body.finance-off .waiter-archive-card,
body.finance-off .sale-order-items,
body.finance-off .sale-meta,
body.finance-off .sale-status,
body.finance-off .sale-history-actions,
body.finance-off .admin-sales-row{display:revert;visibility:visible!important}
@media(max-width:1100px){
 #adminTopbar .top-finance-toggle{position:static!important;right:auto!important;background:transparent!important}
}


/* 2026-08-17 — ONE unified top row for ADMIN / CASHIER / WAITER.
   Never show duplicate finance/logout controls inside page content. */
#adminTopbar.cashier-topbar-hidden{display:flex!important}
#adminTopbar.admin-topbar{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  width:100%!important;
  min-height:38px!important;
  height:38px!important;
  margin:0 0 6px!important;
  padding:0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
#adminTopbar.admin-topbar > #nav{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
#adminTopbar.admin-topbar > #nav.hidden{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
}
#adminTopbar.admin-topbar > #nav > button{
  flex:1 1 0!important;
  min-width:0!important;
  width:auto!important;
  min-height:36px!important;
  height:36px!important;
  margin:0!important;
  padding:4px 6px!important;
  border-radius:10px!important;
  font-size:10px!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#adminTopbar.admin-topbar > #topFinanceToggle{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 90px!important;
  width:90px!important;
  min-width:90px!important;
  height:36px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
#adminTopbar.admin-topbar > #topFinanceToggle.hidden{display:flex!important}
#adminTopbar.admin-topbar > #topFinanceToggle .finance-visibility-toggle{
  width:90px!important;
  min-width:90px!important;
  height:36px!important;
  min-height:36px!important;
  margin:0!important;
  padding:4px 8px!important;
  border-radius:10px!important;
  font-size:9px!important;
}
#adminTopbar.admin-topbar > #roleLabel{
  position:static!important;
  flex:0 0 auto!important;
  min-width:104px!important;
  height:36px!important;
  margin:0!important;
  padding:0 9px!important;
}
#adminTopbar.admin-topbar > #roleLabel.hidden{display:none!important}
#adminTopbar.admin-topbar > #logout{
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 70px!important;
  width:70px!important;
  min-width:70px!important;
  height:36px!important;
  min-height:36px!important;
  margin:0!important;
  padding:4px 8px!important;
  border-radius:10px!important;
  font-size:10px!important;
}
#adminTopbar.admin-topbar > #logout.hidden{display:inline-flex!important}

/* Strictly eliminate old per-page duplicates. */
#bar .bar-finance-toggle,
#tables .bar-finance-toggle,
#bar .cashier-finance-logout,
#tables .cashier-finance-logout{
  display:none!important;
}

/* Cashier/waiter: nav area becomes flexible empty spacer so finance + logout remain at right,
   aligned exactly like admin top row. */
body:not(.finance-off) #adminTopbar.admin-topbar > #nav.hidden,
body.finance-off #adminTopbar.admin-topbar > #nav.hidden{visibility:hidden!important}

/* Finance switch still affects only the top financial summary strip. */
body.finance-off .finance-stats{display:none!important}


/* 2026-08-17 — EXACT ADMIN TOPBAR COPY FOR ALL CABINETS */
#adminTopbar.cashier-topbar-hidden{display:flex!important}
#adminTopbar.admin-topbar{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  width:100%!important;
  min-height:38px!important;
  height:38px!important;
  margin:0 0 6px!important;
  padding:0!important;
  box-sizing:border-box!important;
}
#adminTopbar.admin-topbar > #nav{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
}
#adminTopbar.admin-topbar > #nav.hidden{
  display:block!important;
  visibility:hidden!important;
  flex:1 1 auto!important;
  min-width:0!important;
}
#adminTopbar.admin-topbar > #topFinanceToggle{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 90px!important;
  width:90px!important;
  min-width:90px!important;
  height:36px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
#adminTopbar.admin-topbar > #topFinanceToggle.hidden{display:flex!important}
#adminTopbar.admin-topbar > #topFinanceToggle .finance-visibility-toggle{
  width:90px!important;
  min-width:90px!important;
  height:36px!important;
  min-height:36px!important;
  margin:0!important;
  padding:4px 8px!important;
  border-radius:10px!important;
  font-size:9px!important;
}
#adminTopbar.admin-topbar > #roleLabel,
#adminTopbar.admin-topbar > #roleLabel.hidden{
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 108px!important;
  width:108px!important;
  min-width:108px!important;
  height:36px!important;
  margin:0!important;
  padding:0 8px!important;
  border-radius:10px!important;
  font-size:11px!important;
  white-space:nowrap!important;
}
#adminTopbar.admin-topbar > #logout,
#adminTopbar.admin-topbar > #logout.hidden{
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 70px!important;
  width:70px!important;
  min-width:70px!important;
  height:36px!important;
  min-height:36px!important;
  margin:0!important;
  padding:4px 8px!important;
  border-radius:10px!important;
  font-size:10px!important;
}
/* No duplicate controls/role labels inside cashier or waiter pages. */
#bar .bar-finance-toggle,
#tables .bar-finance-toggle,
#bar .cashier-finance-logout,
#tables .cashier-finance-logout,
#bar .cashier-role-label,
#tables .cashier-role-label,
#tables .waiter-role-label{
  display:none!important;
}
/* Finance summary occupies the full row below the common topbar. */
#bar>.bar-finance-row,
#tables>.waiter-finance-row{width:100%!important;display:flex!important;align-items:stretch!important;gap:0!important}
#bar>.bar-finance-row>.stats,
#tables>.waiter-finance-row>.stats{flex:1 1 100%!important;width:100%!important;min-width:0!important}


/* 2026-08-17 — CASHIER + WAITER: finance cards and controls in ONE ROW */
#adminTopbar.cashier-topbar-hidden{display:none!important}

#bar>.bar-finance-row,
#tables>.waiter-finance-row{
  display:flex!important;
  align-items:stretch!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  margin:0 0 7px!important;
  padding:0!important;
  box-sizing:border-box!important;
}

#bar>.bar-finance-row>.stats,
#tables>.waiter-finance-row>.stats{
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
  margin:0!important;
}

.inline-finance-controls{
  display:flex!important;
  align-items:stretch!important;
  gap:5px!important;
  flex:0 0 auto!important;
  min-width:max-content!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
}

.inline-finance-toggle{
  display:flex!important;
  align-items:stretch!important;
}
.inline-finance-toggle .finance-visibility-toggle{
  width:88px!important;
  min-width:88px!important;
  height:100%!important;
  min-height:42px!important;
  margin:0!important;
  padding:5px 7px!important;
  border-radius:10px!important;
  font-size:9px!important;
}

.inline-role-label{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:92px!important;
  padding:5px 9px!important;
  border:1px solid #e6c200!important;
  border-radius:10px!important;
  background:#fffbea!important;
  color:#5c4800!important;
  font-size:10px!important;
  font-weight:800!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}

.inline-logout{
  min-width:68px!important;
  padding:5px 9px!important;
  margin:0!important;
  border-radius:10px!important;
  font-size:10px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}

/* Never show any old duplicate controls in cashier/waiter pages. */
#bar .bar-finance-toggle,
#tables .bar-finance-toggle,
#bar .cashier-finance-logout,
#tables .cashier-finance-logout,
#bar .cashier-role-label,
#tables .cashier-role-label,
#tables .waiter-role-label{
  display:none!important;
}

/* If finance is OFF, keep the controls visible while hiding only finance cards. */
body.finance-off #bar>.bar-finance-row>.stats,
body.finance-off #tables>.waiter-finance-row>.stats{
  display:none!important;
}
body.finance-off #bar>.bar-finance-row,
body.finance-off #tables>.waiter-finance-row{
  justify-content:flex-end!important;
}


/* 2026-08-17 — FINANCE SWITCH FINAL BEHAVIOR
   OFF = blur ONLY finance cards. Never hide them.
   Sales history, bar sales, cashier sales, admin sales, orders and receipts remain fully visible. */
body.finance-off .finance-stats{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
}
body.finance-off .finance-stats .stat,
body.finance-off .finance-stats .money,
body.finance-off .finance-stats .finance-card{
  filter:blur(7px)!important;
  user-select:none!important;
  pointer-events:none!important;
}
body.finance-on .finance-stats .stat,
body.finance-on .finance-stats .money,
body.finance-on .finance-stats .finance-card{
  filter:none!important;
  user-select:auto!important;
  pointer-events:auto!important;
}

/* Cashier/waiter finance strip remains in place when OFF so layout does not jump. */
body.finance-off #bar>.bar-finance-row>.stats,
body.finance-off #tables>.waiter-finance-row>.stats{
  display:grid!important;
  visibility:visible!important;
  flex:1 1 auto!important;
}
body.finance-off #bar>.bar-finance-row,
body.finance-off #tables>.waiter-finance-row{
  justify-content:stretch!important;
}

/* Explicit protection: finance toggle must NOT affect any sales/order/history content. */
body.finance-off .sales-history-panel,
body.finance-off .sales-history-list,
body.finance-off .sale-history-card,
body.finance-off .waiter-archive-card,
body.finance-off .sale-order-items,
body.finance-off .sale-meta,
body.finance-off .sale-status,
body.finance-off .sale-history-actions,
body.finance-off .admin-product-sales,
body.finance-off .admin-sales-row,
body.finance-off .admin-sales-summary-pills,
body.finance-off .cashier-workspace,
body.finance-off .cashier-sale-area,
body.finance-off .order-card,
body.finance-off .table-card{
  display:revert!important;
  visibility:visible!important;
  opacity:1!important;
  filter:none!important;
  pointer-events:auto!important;
}


/* ===== FINAL STRICT FINANCE VISIBILITY RULE =====
   Finance OFF changes ONLY the visual readability of top finance cards.
   It must never hide, resize, reposition, or affect sales/history/menu/order/table UI. */

/* Keep finance rows and their stats containers in their normal layout. */
body.finance-off .finance-stats,
body.finance-on .finance-stats{
  visibility:visible!important;
  opacity:1!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  pointer-events:auto!important;
}

/* Admin finance strip uses the same layout as when ON. */
body.finance-off #dashboard > .finance-stats,
body.finance-on  #dashboard > .finance-stats{
  display:grid!important;
}

/* Cashier/bar and waiter finance strips stay on their original one-line row. */
body.finance-off #bar > .bar-finance-row > .finance-stats,
body.finance-on  #bar > .bar-finance-row > .finance-stats,
body.finance-off #tables > .waiter-finance-row > .finance-stats,
body.finance-on  #tables > .waiter-finance-row > .finance-stats{
  display:grid!important;
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
}

/* OFF: blur ONLY the top finance cards themselves. */
body.finance-off .finance-stats > .stat{
  filter:blur(6px)!important;
  opacity:0.78!important;
  user-select:none!important;
  pointer-events:none!important;
}

/* ON: fully restore those same finance cards. */
body.finance-on .finance-stats > .stat{
  filter:none!important;
  opacity:1!important;
  user-select:auto!important;
  pointer-events:auto!important;
}

/* Controls always remain readable/clickable. */
body.finance-off .finance-visibility-toggle,
body.finance-off .inline-finance-controls,
body.finance-off #topFinanceToggle{
  filter:none!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* Explicitly protect every operational / sales area from finance-off. */
body.finance-off .cashier-workspace,
body.finance-off .sales-history-panel,
body.finance-off .sales-history-list,
body.finance-off .sales-history-title,
body.finance-off .sale-history-card,
body.finance-off .sale-order-items,
body.finance-off .sale-meta,
body.finance-off .sale-status,
body.finance-off .sale-history-actions,
body.finance-off .cashier-sale-area,
body.finance-off #barSell,
body.finance-off .cashier-menu,
body.finance-off .category-grid,
body.finance-off .products,
body.finance-off .product-card,
body.finance-off .order-modal,
body.finance-off .order-card,
body.finance-off .table-card,
body.finance-off .waiter-space-map-shell,
body.finance-off .waiter-space-map,
body.finance-off .waiter-map-head,
body.finance-off .admin-product-sales,
body.finance-off .admin-sales-row,
body.finance-off .admin-sales-summary-pills{
  display:revert!important;
  visibility:visible!important;
  opacity:1!important;
  filter:none!important;
  pointer-events:auto!important;
}

/* Preserve the bar/waiter finance row geometry even when OFF. */
body.finance-off #bar > .bar-finance-row,
body.finance-on  #bar > .bar-finance-row,
body.finance-off #tables > .waiter-finance-row,
body.finance-on  #tables > .waiter-finance-row{
  display:flex!important;
  align-items:stretch!important;
  flex-wrap:nowrap!important;
  justify-content:flex-start!important;
}

/* Never let finance-off hide finance-card values via older selectors. */
body.finance-off .finance-stats .money,
body.finance-off .finance-stats .finance-icon{
  visibility:visible!important;
  display:block!important;
}


/* 2026-08-18 — Finance privacy must NEVER hide/blurr operational or sales-list prices.
   Only .finance-stats > .stat cards are blurred. */
body.finance-off .admin-product-sales,
body.finance-off .admin-product-sales *,
body.finance-off .admin-sales-row,
body.finance-off .admin-sales-row *,
body.finance-off .admin-sales-row > strong,
body.finance-off .admin-sales-summary-pills,
body.finance-off .admin-sales-summary-pills *,
body.finance-off .cashier-menu,
body.finance-off .cashier-menu *,
body.finance-off .products,
body.finance-off .products *,
body.finance-off .product-card,
body.finance-off .product-card *,
body.finance-off .sale-history-card,
body.finance-off .sale-history-card *,
body.finance-off .sales-history-list,
body.finance-off .sales-history-list *,
body.finance-off .order-card,
body.finance-off .order-card *,
body.finance-off .table-card,
body.finance-off .table-card *{
  filter:none!important;
  opacity:1!important;
  visibility:visible!important;
}

/* Explicitly restore price/amount text outside the top finance strip. */
body.finance-off .admin-product-sales strong,
body.finance-off .admin-product-sales .money,
body.finance-off .cashier-menu .money,
body.finance-off .products .money,
body.finance-off .product-card .money,
body.finance-off .sale-history-card .money,
body.finance-off .order-card .money,
body.finance-off .table-card .money{
  display:revert!important;
  visibility:visible!important;
  opacity:1!important;
  filter:none!important;
}

/* The ONLY blurred targets when finance is OFF. */
body.finance-off .finance-stats > .stat{
  filter:blur(6px)!important;
  opacity:.78!important;
}


/* ===== 2026-08-18 ABSOLUTE FINAL: ONLY TOP FINANCE CARDS BLUR ===== */

/* Keep all operational/admin sales areas completely untouched by finance toggle. */
body.finance-off .admin-product-sales,
body.finance-off .admin-product-sales *,
body.finance-off .admin-sales-row,
body.finance-off .admin-sales-row *,
body.finance-off .admin-sales-summary-pills,
body.finance-off .admin-sales-summary-pills *,
body.finance-off .sales-history-panel,
body.finance-off .sales-history-panel *,
body.finance-off .sales-history-list,
body.finance-off .sales-history-list *,
body.finance-off .sale-history-card,
body.finance-off .sale-history-card *,
body.finance-off .cashier-workspace,
body.finance-off .cashier-workspace *,
body.finance-off .cashier-menu,
body.finance-off .cashier-menu *,
body.finance-off .products,
body.finance-off .products *,
body.finance-off .product-card,
body.finance-off .product-card *,
body.finance-off .order-card,
body.finance-off .order-card *,
body.finance-off .table-card,
body.finance-off .table-card *,
body.finance-off .waiter-space-map-shell,
body.finance-off .waiter-space-map-shell *{
  filter:none!important;
  opacity:1!important;
  visibility:visible!important;
}

/* Undo any old finance-off hiding rules outside the finance summary strip. */
body.finance-off .admin-sales-row>strong,
body.finance-off .admin-sales-summary-pills,
body.finance-off .admin-sales-columns>span:last-child,
body.finance-off .private-sale-values,
body.finance-off .sale-payment,
body.finance-off .detail-payment,
body.finance-off .mixed-breakdown,
body.finance-off .waiter-archive-card .payment-method-line{
  display:revert!important;
  visibility:visible!important;
  opacity:1!important;
  filter:none!important;
}

/* The finance row/container always remains exactly in place. */
body.finance-off .finance-stats,
body.finance-on .finance-stats{
  visibility:visible!important;
  opacity:1!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  pointer-events:auto!important;
}

/* Preserve exact layout in every cabinet. */
body.finance-off #dashboard>.finance-stats,
body.finance-on #dashboard>.finance-stats{
  display:grid!important;
}
body.finance-off #bar>.bar-finance-row>.finance-stats,
body.finance-on #bar>.bar-finance-row>.finance-stats,
body.finance-off #tables>.waiter-finance-row>.finance-stats,
body.finance-on #tables>.waiter-finance-row>.finance-stats{
  display:grid!important;
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
}
body.finance-off #bar>.bar-finance-row,
body.finance-on #bar>.bar-finance-row,
body.finance-off #tables>.waiter-finance-row,
body.finance-on #tables>.waiter-finance-row{
  display:flex!important;
  align-items:stretch!important;
  flex-wrap:nowrap!important;
  justify-content:flex-start!important;
}

/* ONLY THESE TOP FINANCE CARDS ARE AFFECTED. */
body.finance-off .finance-stats > .stat{
  filter:blur(7px)!important;
  opacity:.80!important;
  visibility:visible!important;
  user-select:none!important;
  pointer-events:none!important;
}
body.finance-on .finance-stats > .stat{
  filter:none!important;
  opacity:1!important;
  visibility:visible!important;
  user-select:auto!important;
  pointer-events:auto!important;
}

/* Controls always stay sharp and clickable. */
body.finance-off .finance-visibility-toggle,
body.finance-off .inline-finance-controls,
body.finance-off #topFinanceToggle{
  filter:none!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}


/* ===== 2026-08-18 ROOT FIX =====
   Finance privacy is now isolated from page layout.
   No body.finance-off/on classes are used anymore.
   ONLY direct top finance cards get this class. */
.finance-stats > .stat.finance-card-blurred{
  filter:blur(7px)!important;
  opacity:.80!important;
  user-select:none!important;
  pointer-events:none!important;
}
.finance-stats > .stat:not(.finance-card-blurred){
  filter:none!important;
  opacity:1!important;
  user-select:auto!important;
  pointer-events:auto!important;
}

/* Layout must never change because of finance privacy. */
.finance-stats{
  visibility:visible!important;
  opacity:1!important;
}

/* Operational/sales/menu/order/table content is explicitly untouched. */
.admin-product-sales,
.admin-sales-row,
.sales-history-panel,
.sales-history-list,
.sale-history-card,
.cashier-workspace,
.cashier-menu,
.products,
.product-card,
.order-card,
.table-card,
.waiter-space-map-shell,
.waiter-space-map,
.waiter-map-head{
  filter:none!important;
  opacity:1!important;
  visibility:visible!important;
}
