:root{
  --cb-bg:#f7f7fc;
  --cb-surface:#ffffff;
  --cb-surface-soft:#fafafa;
  --cb-heading:#1f1f39;
  --cb-text:#52536b;
  --cb-muted:#8f90a6;
  --cb-line:#eff0f6;
  --cb-line-strong:#e4e5ef;
  --cb-primary:#1ab759;
  --cb-primary-rgb:26,183,89;
  --cb-primary-dark:#118943;
  --cb-primary-light:#e9fff2;
  --cb-orange:#ff8a26;
  --cb-danger:#fb4e4e;
  --cb-warning:#f6a609;
  --cb-info:#4d7cf7;
  --cb-purple:#8262fe;
  --cb-pink:#ff4f99;
  --cb-radius:16px;
  --cb-radius-lg:22px;
  --cb-shadow:0 14px 38px rgba(31,31,57,.08);
  --cb-shadow-soft:0 8px 28px rgba(31,31,57,.055);
  --sidebar:268px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cb-bg);color:var(--cb-heading);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px;min-height:100vh}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.text-secondary{color:var(--cb-muted)!important}
.small{font-size:.79rem!important}

/* ===== APP SHELL ===== */
.cb-shell{min-height:100vh}
.cb-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#fff;border-right:1px solid var(--cb-line);z-index:1035;display:flex;flex-direction:column;overflow:hidden}
.cb-sidebar-scroll{padding:12px 14px 22px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ddd transparent}
.cb-brand{height:82px;display:flex;align-items:center;gap:12px;padding:0 20px;border-bottom:1px solid var(--cb-line);flex-shrink:0}
.cb-logo{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#1ab759,#0d8d43);display:grid;place-items:center;color:#fff;font-size:.9rem;font-weight:900;letter-spacing:.03em;box-shadow:0 8px 22px rgba(var(--cb-primary-rgb),.24)}
.cb-brand-name{font-size:1rem;font-weight:800;color:var(--cb-heading);line-height:1.15}
.cb-brand-sub{font-size:.68rem;color:var(--cb-muted);font-weight:600;margin-top:3px;letter-spacing:.02em}
.cb-nav-title{margin:18px 10px 7px;font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.105em;color:#b0b1c1}
.cb-nav{display:flex;flex-direction:column;gap:2px}
.cb-nav a{height:44px;display:flex;align-items:center;gap:11px;padding:0 11px;border-radius:11px;color:#65667c;font-weight:650;transition:.18s ease;position:relative}
.cb-nav a>span:first-child{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;font-size:1rem;color:#8d8ea3;transition:.18s ease}
.cb-nav a:hover{background:#f7f7fc;color:var(--cb-heading);transform:translateX(2px)}
.cb-nav a:hover>span:first-child{color:var(--cb-primary);background:var(--cb-primary-light)}
.cb-nav a.active{background:var(--cb-primary-light);color:var(--cb-primary-dark);font-weight:800}
.cb-nav a.active>span:first-child{background:#fff;color:var(--cb-primary);box-shadow:0 3px 9px rgba(var(--cb-primary-rgb),.12)}
.cb-nav a.active:after{content:"";position:absolute;right:-14px;width:4px;height:24px;border-radius:6px 0 0 6px;background:var(--cb-primary)}
.cb-sidebar-foot{margin-top:auto;padding:14px;border-top:1px solid var(--cb-line);background:#fff}
.cb-role-card{display:flex;align-items:center;gap:10px;padding:10px;background:#f8f8fb;border:1px solid var(--cb-line);border-radius:13px}
.cb-role-avatar{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--cb-primary-light);color:var(--cb-primary-dark);font-weight:900}

.cb-main{margin-left:var(--sidebar);min-height:100vh}
.cb-topbar{height:82px;position:sticky;top:0;z-index:1025;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--cb-line);display:flex;align-items:center;justify-content:space-between;padding:0 28px}
.cb-top-left{display:flex;align-items:center;gap:14px}
.mobile-menu{display:none!important}
.cb-top-title{font-size:1rem;font-weight:800;color:var(--cb-heading);line-height:1.15}
.cb-top-date{font-size:.72rem;color:var(--cb-muted);margin-top:4px}
.cb-top-actions{display:flex;align-items:center;gap:10px}
.top-icon{width:40px;height:40px;border:1px solid var(--cb-line);border-radius:12px;background:#fff;color:#6d6e82;display:grid;place-items:center;position:relative;transition:.18s}
.top-icon:hover{background:#f8f8fc;border-color:#e0e1ea;color:var(--cb-primary)}
.top-icon .dot{position:absolute;right:7px;top:7px;width:8px;height:8px;border-radius:999px;background:var(--cb-danger);border:2px solid #fff}
.user-chip{height:46px;display:flex;align-items:center;gap:10px;border:1px solid var(--cb-line);border-radius:13px;background:#fff;padding:4px 9px 4px 5px;color:var(--cb-heading)}
.user-chip:hover{background:#fafafd}
.user-avatar{width:35px;height:35px;border-radius:10px;background:linear-gradient(145deg,#e8fff1,#d6f6e3);display:grid;place-items:center;color:var(--cb-primary-dark);font-weight:900}
.user-meta{text-align:left;line-height:1.05}.user-meta strong{display:block;font-size:.78rem}.user-meta span{font-size:.67rem;color:var(--cb-muted);text-transform:capitalize}
.cb-content{max-width:1760px;margin:0 auto;padding:24px 28px 40px}
.cb-pagehead{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin:2px 0 20px}
.cb-pagehead h1{font-size:1.62rem;line-height:1.15;margin:0;font-weight:850;letter-spacing:-.025em;color:var(--cb-heading)}
.cb-pagehead p{margin:6px 0 0;color:var(--cb-muted);font-size:.83rem}
.cb-breadcrumb{display:flex;align-items:center;gap:7px;color:#a2a3b3;font-size:.75rem;font-weight:600}.cb-breadcrumb i{font-size:.62rem}

/* ===== SURFACES ===== */
.cb-card{background:#fff;border:1px solid var(--cb-line);border-radius:var(--cb-radius);box-shadow:var(--cb-shadow-soft)}
.cb-card.soft{background:#fbfbfd;box-shadow:none}
.panel{background:#fff;border:1px solid var(--cb-line);border-radius:var(--cb-radius);box-shadow:var(--cb-shadow-soft);overflow:hidden}
.panel-head{padding:18px 20px;border-bottom:1px solid var(--cb-line);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h3{font-size:.98rem;font-weight:800;margin:0}.panel-head p{font-size:.75rem;color:var(--cb-muted);margin:3px 0 0}.panel-body{padding:20px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.section-head h2{margin:0;font-size:1.02rem;font-weight:800}.section-head p{margin:4px 0 0;color:var(--cb-muted);font-size:.78rem}

/* ===== METRICS ===== */
.metric{min-height:126px;padding:20px;display:flex;align-items:center;gap:15px;position:relative;overflow:hidden;border:0;color:#fff;box-shadow:none}
.metric:before{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-37px;bottom:-45px;background:rgba(255,255,255,.13)}
.metric:after{content:"";position:absolute;width:68px;height:68px;border-radius:50%;right:10px;top:-35px;background:rgba(255,255,255,.09)}
.metric:nth-child(1),.metric-pink{background:linear-gradient(135deg,#ff4f99,#ff6ca8)}
.metric-purple{background:linear-gradient(135deg,#8262fe,#9c84ff)}
.metric-blue{background:linear-gradient(135deg,#567dff,#7395ff)}
.metric-violet{background:linear-gradient(135deg,#a953ff,#bd78ff)}
.metric-green{background:linear-gradient(135deg,#14b85a,#33ca74)}
.metric-orange{background:linear-gradient(135deg,#ff8a26,#ffa452)}
.metric-icon{width:48px;height:48px;border-radius:50%;background:#fff;display:grid;place-items:center;flex:0 0 auto;font-size:1.25rem;color:inherit;box-shadow:0 8px 20px rgba(0,0,0,.08)}
.metric-copy{position:relative;z-index:1}.metric-label{font-size:.76rem;font-weight:650;opacity:.92;text-transform:none;letter-spacing:0}.metric-value{font-size:1.55rem;font-weight:850;margin-top:3px;letter-spacing:-.02em;color:#fff}

/* ===== BUTTONS ===== */
.btn{min-height:39px;border-radius:9px;font-weight:700;font-size:.82rem;padding:.55rem .9rem;box-shadow:none!important;transition:.18s ease}
.btn-sm{min-height:34px;padding:.42rem .72rem;font-size:.75rem}
.btn-lg{min-height:48px;border-radius:11px;font-size:.9rem}
.btn-dark{background:var(--cb-heading);border-color:var(--cb-heading)}.btn-dark:hover{background:#31314d;border-color:#31314d;transform:translateY(-1px)}
.btn-success{background:var(--cb-primary);border-color:var(--cb-primary)}.btn-success:hover{background:var(--cb-primary-dark);border-color:var(--cb-primary-dark);transform:translateY(-1px)}
.btn-soft{background:#f7f7fb;border:1px solid var(--cb-line);color:#64657a}.btn-soft:hover{background:#f0f1f7;color:var(--cb-heading)}
.btn-light{background:#fff;border-color:var(--cb-line)!important}.btn-light:hover{background:#f8f8fb}
.icon-btn{width:36px;height:36px;min-height:36px;padding:0;display:inline-grid;place-items:center;border-radius:9px;font-size:.9rem}
.btn-view{background:#eef3ff;color:#4d7cf7;border:1px solid #e0e8ff}.btn-edit{background:#fff7e8;color:#df8a00;border:1px solid #ffedc7}.btn-delete{background:#fff0f0;color:#e94343;border:1px solid #ffdada}.btn-view:hover,.btn-edit:hover,.btn-delete:hover{transform:translateY(-1px);filter:saturate(1.08)}
.action-group{display:flex;gap:6px;justify-content:flex-end;align-items:center;flex-wrap:wrap}

/* ===== FORMS ===== */
.form-label{font-size:.77rem;font-weight:700;color:#52536b;margin-bottom:.43rem}
.form-control,.form-select{min-height:42px;border:1px solid #d9dbe9;border-radius:9px;background:#fff;color:var(--cb-heading);font-size:.82rem;padding:.62rem .78rem;box-shadow:none!important;transition:.16s}
.form-control::placeholder{color:#b2b3c1}.form-control:focus,.form-select:focus{border-color:rgba(var(--cb-primary-rgb),.7);box-shadow:0 0 0 3px rgba(var(--cb-primary-rgb),.09)!important}
.form-check-input:checked{background-color:var(--cb-primary);border-color:var(--cb-primary)}
.search-box{position:relative}.search-box i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#a1a2b2;font-size:.9rem;z-index:1}.search-box input{padding-left:39px;background:#fbfbfd}

/* ===== TABLES ===== */
.table-responsive{border-radius:12px}
.table{--bs-table-bg:transparent;color:var(--cb-heading)}
.table>:not(caption)>*>*{padding:.85rem .9rem;border-color:var(--cb-line);vertical-align:middle}
.table thead th{font-size:.68rem;text-transform:uppercase;letter-spacing:.045em;color:#9293a5;font-weight:800;background:#fafafd;border-bottom:1px solid var(--cb-line);white-space:nowrap}
.table tbody td{font-size:.8rem}.table tbody tr{transition:.15s}.table tbody tr:hover{background:#fcfcfe}
.table-modern{border-collapse:separate;border-spacing:0!important;border:1px solid var(--cb-line);border-radius:12px;overflow:hidden}
.table-modern tbody tr{box-shadow:none}.table-modern tbody td:first-child,.table-modern tbody td:last-child{border-radius:0;border-left:0;border-right:0}
.avatar-sm{width:42px;height:42px;border-radius:11px;background:linear-gradient(145deg,#f0fff6,#e8f6ee);display:grid;place-items:center;color:var(--cb-primary-dark);font-weight:850;border:1px solid #e6f4eb;overflow:hidden}.avatar-sm img{width:100%;height:100%;object-fit:cover}
.item-thumb{width:54px;height:54px;border-radius:11px;object-fit:cover;background:#f4f4f8;border:1px solid var(--cb-line)}.item-thumb.placeholder{display:grid;place-items:center;color:#9ea0b2;font-size:1.05rem}

/* ===== BADGES / STATUS ===== */
.cb-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:.38rem .63rem;font-size:.68rem;font-weight:800;line-height:1}.cb-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.72}
.status-submitted{background:#fff6dd;color:#a66c00}.status-preparing{background:#edf3ff;color:#4d70c9}.status-ready{background:#e9fff2;color:#128947}.status-served{background:#f2efff;color:#715bc5}.status-completed{background:#f1f2f5;color:#64657a}.status-cancelled{background:#fff0f0;color:#d83f3f}.status-billing{background:#fff1e4;color:#c46c16}

/* ===== ITEMS / POS ===== */
.pos-wrap{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:20px;align-items:start}
.pos-toolbar{background:#fff;border:1px solid var(--cb-line);border-radius:14px;padding:16px;box-shadow:var(--cb-shadow-soft)}
.category-chip{border:1px solid var(--cb-line);background:#fff;border-radius:999px;padding:9px 15px;white-space:nowrap;cursor:pointer;font-weight:700;color:#73748a;font-size:.76rem;transition:.16s}.category-chip:hover{border-color:#cfd1dd;background:#fbfbfd}.category-chip.active{background:var(--cb-primary);border-color:var(--cb-primary);color:#fff;box-shadow:0 6px 16px rgba(var(--cb-primary-rgb),.22)}
.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:14px}
.item-card{border:1px solid var(--cb-line);background:#fff;border-radius:14px;padding:0;cursor:default;transition:.18s;overflow:hidden;min-height:220px;box-shadow:0 4px 18px rgba(31,31,57,.035);position:relative}.item-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(31,31,57,.09);border-color:#dfe1ea}.item-card:active{transform:scale(.99)}
.item-card-image{width:100%;height:132px;object-fit:cover;background:#f4f4f8}.item-card-image.placeholder{display:grid;place-items:center;font-size:2rem;color:#a1a2b2;background:linear-gradient(135deg,#f3f5f9,#f9f9fb)}
.item-card:after{display:none!important}
.item-card-body{padding:13px 14px 14px}.item-name{font-weight:800;line-height:1.2;font-size:.9rem;color:var(--cb-heading);padding-right:8px}.item-price{color:var(--cb-primary-dark);font-weight:850;margin-top:8px;font-size:.9rem}
.cart-panel{position:sticky;top:102px;align-self:start;border:1px solid var(--cb-line);box-shadow:var(--cb-shadow)}
.cart-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:11px 0;border-bottom:1px dashed #e5e6ef}.qty-controls{display:flex;align-items:center;gap:7px}.qty-btn{border:1px solid var(--cb-line);background:#f8f8fb;width:28px;height:28px;border-radius:8px;font-weight:900;color:#65667c;display:grid;place-items:center}.qty-btn:hover{background:var(--cb-primary-light);border-color:#d9f4e3;color:var(--cb-primary-dark)}

/* ===== DINING TABLES ===== */
.table-card{border:1px solid var(--cb-line);border-radius:14px;padding:16px;background:#fff;box-shadow:0 6px 22px rgba(31,31,57,.045);transition:.18s;position:relative;overflow:hidden}.table-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:#dfe1e8}.table-card:hover{transform:translateY(-2px);box-shadow:0 13px 28px rgba(31,31,57,.085)}.table-card.busy:before{background:var(--cb-orange)}.table-card:not(.busy):before{background:var(--cb-primary)}.table-card.inactive{opacity:.62;filter:saturate(.25)}

/* ===== KDS ===== */
.kds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px}.kds-ticket{border-radius:14px;background:#fff;border:1px solid var(--cb-line);overflow:hidden;box-shadow:var(--cb-shadow-soft)}.kds-head{padding:14px 16px;background:var(--cb-heading);color:#fff;display:flex;justify-content:space-between;align-items:center}.kds-body{padding:16px}.kds-ticket .list-group-item{border-color:var(--cb-line)}
.timeline{border-left:2px solid #e5e6ef;padding-left:18px;margin-left:6px}.timeline-item{position:relative;margin-bottom:18px}.timeline-item:before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--cb-primary);left:-23px;top:5px;box-shadow:0 0 0 4px var(--cb-primary-light)}

/* ===== MODALS ===== */
.modal-backdrop.show{opacity:.38}.modal-content{border:0;border-radius:18px;box-shadow:0 30px 90px rgba(31,31,57,.22);overflow:hidden}.modal-header{padding:18px 20px;border-bottom:1px solid var(--cb-line);background:#fff}.modal-body{padding:20px}.modal-footer{padding:14px 20px;border-top:1px solid var(--cb-line);background:#fcfcfe}.modal-title{font-size:1rem;font-weight:850;color:var(--cb-heading)}.modal-icon{width:40px;height:40px;border-radius:11px;background:var(--cb-primary-light);color:var(--cb-primary-dark);display:grid;place-items:center;font-size:1rem}.modal-dialog{padding:10px}.data-card{border:1px solid var(--cb-line);border-radius:11px;padding:13px;background:#fafafd}.dropzone-lite{border:1.5px dashed #d5d7e3;border-radius:12px;padding:14px;background:#fafafd;text-align:center}.preview-box{width:100%;height:185px;border-radius:13px;overflow:hidden;background:#f3f4f8;display:grid;place-items:center;border:1px solid var(--cb-line)}.preview-box img{width:100%;height:100%;object-fit:cover}

/* ===== ALERTS / EMPTY ===== */
.alert{border:0;border-radius:12px;font-size:.8rem;box-shadow:0 5px 18px rgba(31,31,57,.05)}
.empty-state{padding:48px 20px;text-align:center;color:var(--cb-muted)}.empty-state i{font-size:2.1rem;color:#b3b4c2}
.ready-banner{background:linear-gradient(135deg,#effff5,#f8fffb);border:1px solid #d9f6e4;border-radius:15px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px}.ready-icon{width:45px;height:45px;border-radius:13px;background:#fff;color:var(--cb-primary);display:grid;place-items:center;font-size:1.1rem;box-shadow:0 5px 15px rgba(var(--cb-primary-rgb),.1)}

/* ===== LOGIN / PORTAL ===== */
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);background:#fff}.login-visual{position:relative;overflow:hidden;background:linear-gradient(135deg,#14261e 0%,#153f2a 52%,#1ab759 145%);padding:54px;display:flex;flex-direction:column;justify-content:space-between;color:#fff}.login-visual:before{content:"";position:absolute;width:460px;height:460px;border-radius:50%;background:rgba(255,255,255,.055);right:-160px;top:-120px}.login-visual:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.045);left:-80px;bottom:-90px}.login-visual>*{position:relative;z-index:1}.login-copy{max-width:550px}.login-copy h1{font-size:clamp(2.2rem,4vw,4rem);line-height:1.04;font-weight:900;letter-spacing:-.04em}.login-copy p{font-size:1rem;line-height:1.7;color:rgba(255,255,255,.75);max-width:460px}.login-feature{display:flex;gap:10px;flex-wrap:wrap}.login-feature span{padding:8px 11px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);border-radius:999px;font-size:.72rem;font-weight:650}.login-form-wrap{display:grid;place-items:center;padding:34px;background:#fbfbfd}.login-card{width:min(450px,100%);padding:30px;background:#fff;border:1px solid var(--cb-line);border-radius:20px;box-shadow:var(--cb-shadow)}.login-mark{width:50px;height:50px;border-radius:14px;background:var(--cb-primary);color:#fff;display:grid;place-items:center;font-weight:900;box-shadow:0 8px 24px rgba(var(--cb-primary-rgb),.25)}

/* ===== RESPONSIVE ===== */
@media(max-width:1199.98px){:root{--sidebar:245px}.pos-wrap{grid-template-columns:minmax(0,1fr) 350px}.cb-content{padding-left:22px;padding-right:22px}}
@media(max-width:991.98px){
  :root{--sidebar:0px}.cb-sidebar{display:none}.cb-main{margin-left:0}.mobile-menu{display:inline-grid!important;width:40px;height:40px;place-items:center;padding:0}.cb-topbar{height:70px;padding:0 15px}.cb-content{padding:17px 15px 32px}.cb-pagehead{margin:2px 0 15px}.cb-pagehead h1{font-size:1.38rem}.cb-top-title,.cb-top-date{display:none}.pos-wrap{grid-template-columns:1fr}.cart-panel{position:static}.item-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.offcanvas.cb-mobile-nav,.offcanvas.text-bg-dark{background:#fff!important;color:var(--cb-heading)!important}.offcanvas .btn-close-white{filter:none}.offcanvas .cb-nav a{color:#65667c}.offcanvas .cb-nav a.active{color:var(--cb-primary-dark)}.login-shell{grid-template-columns:1fr}.login-visual{display:none}
}
@media(max-width:767.98px){
  body{font-size:13px}.cb-content{padding:14px 12px 28px}.cb-pagehead{align-items:flex-start}.cb-pagehead p{font-size:.74rem}.cb-breadcrumb{display:none}.section-head{align-items:flex-start;flex-direction:column}.section-head>div:last-child,.section-head>.d-flex{width:100%}.section-head .btn{flex:1}.item-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.item-card{min-height:188px}.item-card-image{height:108px}.item-card:after{top:81px;width:31px;height:31px}.item-card-body{padding:11px}.metric{min-height:105px;padding:15px;gap:11px}.metric-icon{width:40px;height:40px}.metric-value{font-size:1.25rem}.table-responsive{margin-left:-2px;margin-right:-2px}.table>:not(caption)>*>*{padding:.72rem .65rem}.user-meta{display:none}.top-icon{display:none}.cb-top-actions{gap:5px}.pos-toolbar{padding:12px}.modal-body{padding:16px}.modal-header{padding:15px 16px}.modal-footer{padding:12px 16px}.login-form-wrap{padding:18px}.login-card{padding:24px}.row.g-3{--bs-gutter-x:.7rem;--bs-gutter-y:.7rem}
}
@media(max-width:420px){.item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.item-name{font-size:.81rem}.item-price{font-size:.82rem}.cb-pagehead h1{font-size:1.22rem}.metric-label{font-size:.67rem}.metric-value{font-size:1.06rem}}

/* PRINT */
@media print{.no-print,.cb-sidebar,.cb-topbar,.cb-pagehead{display:none!important}.cb-main{margin:0}.cb-content{padding:0}.cb-card,.panel{box-shadow:none;border-color:#ddd}body{background:#fff}}

/* ===== CUSTOMER PORTAL ===== */
.portal-shell{min-height:100vh;background:var(--cb-bg)}
.portal-top{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--cb-line)}
.portal-top-inner{max-width:1180px;margin:auto;padding:13px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.portal-brand{display:flex;align-items:center;gap:10px}.portal-brand .cb-logo{width:38px;height:38px;border-radius:11px}.portal-brand strong{display:block;font-size:.9rem}.portal-brand span{display:block;font-size:.68rem;color:var(--cb-muted)}
.portal-user{display:flex;align-items:center;gap:9px}.portal-user .avatar-sm{width:36px;height:36px}.portal-user-name{font-size:.75rem;font-weight:800}.portal-user a{font-size:.66rem;color:var(--cb-muted)}
.portal-main{max-width:1180px;margin:auto;padding:22px 18px 90px}
.portal-tabs{display:flex;gap:7px;margin-bottom:18px}.portal-tabs .btn{min-width:96px}
.bottom-nav{display:none}
@media(max-width:767.98px){.portal-main{padding:14px 12px 84px}.portal-tabs{display:none}.bottom-nav{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:12px;right:12px;bottom:10px;z-index:40;background:#fff;border:1px solid var(--cb-line);border-radius:16px;padding:7px;box-shadow:0 14px 35px rgba(31,31,57,.16)}.bottom-nav a{text-align:center;color:#85869a;font-size:.66rem;font-weight:700;padding:6px;border-radius:11px}.bottom-nav a i{display:block;font-size:1.05rem;margin-bottom:2px}.bottom-nav a:hover,.bottom-nav a.active{background:var(--cb-primary-light);color:var(--cb-primary-dark)}}

/* v0.3.5 — 4-column POS cards, featured offers, offer manager, discount & thermal receipt */
.item-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.item-card{min-height:250px}
.item-card-image{height:174px;object-fit:cover}
.item-card:after{top:144px;width:38px;height:38px}
.item-card-body{padding:14px 15px 16px}
.item-name{font-size:.96rem}.item-price{font-size:.96rem}

.featured-offers{border:1px solid #dff2e7;background:linear-gradient(135deg,#f5fff8 0%,#fff 55%,#f8fbff 100%);border-radius:18px;padding:16px}
.featured-kicker{font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--cb-primary-dark);margin-bottom:2px}
.offer-pos-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.offer-pos-card{position:relative;overflow:hidden;border:1px solid #dbeee3;border-radius:15px;background:#fff;padding:0;box-shadow:0 7px 24px rgba(26,183,89,.07);transition:.18s;min-width:0}
.offer-pos-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(26,183,89,.13);border-color:#bde4ca}
.offer-pos-card>img,.offer-pos-placeholder{width:100%;height:125px;object-fit:cover;background:#eef9f2}
.offer-pos-placeholder{display:grid;place-items:center;font-size:2rem;color:var(--cb-primary)}
.offer-pos-body{padding:11px 12px 13px}.offer-pos-body>.fw-bold{font-size:.9rem;color:var(--cb-heading)}
.offer-chip{display:inline-block;font-size:.56rem;line-height:1;font-weight:900;letter-spacing:.08em;color:#0b8c42;background:#e1f8e9;border-radius:999px;padding:5px 7px;margin-bottom:7px}
.offer-plus{position:absolute;right:9px;top:99px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--cb-primary);color:#fff;border:3px solid #fff;box-shadow:0 5px 13px rgba(var(--cb-primary-rgb),.24)}

.offer-admin-image{height:190px;position:relative;background:#f4f6f8}.offer-admin-image>img{width:100%;height:100%;object-fit:cover}.offer-image-placeholder{height:100%;display:grid;place-items:center;font-size:2.6rem;color:var(--cb-primary);background:linear-gradient(135deg,#e9f9ef,#fff8e7)}
.offer-live-badge{position:absolute;left:14px;top:14px;font-size:.62rem;font-weight:900;letter-spacing:.08em;border-radius:999px;padding:6px 9px;background:#fff;color:#777;box-shadow:0 5px 15px rgba(0,0,0,.08)}.offer-live-badge.live{background:#dcf8e6;color:#07833a}.offer-live-badge.off{background:#fff0f0;color:#b94242}
.offer-item-picker{border:1px solid var(--cb-line);border-radius:14px;overflow:hidden;max-height:465px;overflow-y:auto;background:#fff}.offer-pick-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid var(--cb-line);cursor:pointer}.offer-pick-row:last-child{border-bottom:0}.offer-pick-row:hover{background:#fafdfb}.offer-pick-row .form-check{display:flex;align-items:center;gap:10px;margin:0;min-width:0}.offer-pick-row .form-check-label{display:flex;flex-direction:column;min-width:0}.offer-pick-row .form-check-label strong{font-size:.83rem}.offer-pick-row .form-check-label small{color:var(--cb-muted);font-size:.69rem}.offer-qty-wrap{display:flex;align-items:center;gap:7px;color:var(--cb-muted);font-size:.67rem}.offer-qty-wrap input{width:68px}

.discount-panel{border:1px solid #e4e6ee;border-radius:13px;padding:13px;background:#fbfcff}.discount-panel .btn-info{background:#0b9bc1;border-color:#0b9bc1}

.print-only{display:none!important}
.thermal-receipt{font-family:Arial,Helvetica,sans-serif;color:#111;background:#fff;width:76mm;margin:0 auto;padding:3mm 3.5mm;font-size:10.5px;line-height:1.3}
.receipt-shop{text-align:center;font-size:20px;line-height:1.15;font-weight:800;margin:0 3mm 3px}.receipt-center{text-align:center}.receipt-rule{border-top:1px dashed #8d96a5;margin:8px 0}.receipt-row,.receipt-total-row{display:flex;justify-content:space-between;gap:10px}.receipt-row{font-size:10px;margin:3px 0}.receipt-items-head,.receipt-item{display:grid;grid-template-columns:22px 1fr 68px;gap:7px;align-items:start}.receipt-items-head{font-weight:700;border-bottom:1px dashed #9aa2af;padding-bottom:5px;margin-bottom:3px}.receipt-items-head span:last-child,.receipt-item>span:last-child{text-align:right}.receipt-item{padding:5px 0;border-bottom:1px dashed #c4c9d1}.receipt-item span:nth-child(2){font-weight:600}.receipt-item small{display:block;color:#6e7480;font-size:8.5px;font-weight:400;margin-top:2px}.receipt-total-row{padding:2px 0;padding-left:31px}.receipt-grand{font-size:13px;border-top:1px dashed #9aa2af;margin-top:4px;padding-top:6px}.receipt-meta{margin:5px 0}.receipt-token{text-align:center;font-weight:800;font-size:20px;margin:8px 0}.receipt-thanks{font-size:9.5px;line-height:1.5}.receipt-powered{text-align:right;font-size:7.5px;color:#777;margin-top:14px}

@media(max-width:1279.98px){.item-grid,.offer-pos-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.item-card-image{height:158px}.item-card:after{top:129px}}
@media(max-width:991.98px){.item-grid,.offer-pos-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.item-card-image{height:150px}.item-card:after{top:122px}}
@media(max-width:575.98px){.item-grid,.offer-pos-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.item-card{min-height:205px}.item-card-image{height:122px}.item-card:after{top:94px;width:32px;height:32px}.featured-offers{padding:12px}.offer-pos-card>img,.offer-pos-placeholder{height:105px}.offer-plus{top:79px;width:32px;height:32px}.offer-pos-body{padding:10px}.receipt-shop{font-size:18px}}

@media print{
  @page{size:80mm auto;margin:0}
  html,body{width:80mm!important;min-width:80mm!important;margin:0!important;padding:0!important;background:#fff!important}
  body *{visibility:hidden!important}
  .thermal-receipt,.thermal-receipt *{visibility:visible!important}
  .thermal-receipt{display:block!important;position:absolute;left:0;top:0;width:80mm!important;margin:0!important;padding:3mm 4mm!important;box-shadow:none!important}
  .order-screen,.no-print,.cb-sidebar,.cb-topbar,.cb-pagehead{display:none!important}
  .cb-main,.cb-content,.cb-shell{margin:0!important;padding:0!important;width:80mm!important;min-width:80mm!important;background:#fff!important}
}
@media(max-width:767.98px){.item-grid,.offer-pos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v0.3.6 — Dining Table QR self-ordering */
.btn-qr{background:#fff6dc!important;color:#eea400!important;border-color:#ffe8a8!important}.btn-qr:hover{background:#ffefbd!important;color:#c98500!important}
.nav-count{margin-left:auto;min-width:20px;height:20px;border-radius:999px;background:#ffb82e;color:#2b2106;display:inline-grid;place-items:center;padding:0 6px;font-size:.62rem;font-weight:900}
.qr-request-banner{background:linear-gradient(135deg,#fff8df,#fffdf5);border:1px solid #f8e4a8;border-radius:15px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px}.qr-request-icon{width:45px;height:45px;border-radius:13px;background:#fff;color:#e29a00;display:grid;place-items:center;font-size:1.15rem;box-shadow:0 5px 15px rgba(190,130,0,.1)}
.qr-request-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:15px}.qr-request-card{background:#fff;border:1px solid var(--cb-line);border-radius:16px;padding:17px;box-shadow:var(--cb-shadow-soft)}.qr-request-card.pending{border-color:#f2df9b;box-shadow:0 8px 28px rgba(221,160,0,.08)}.qr-request-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:13px}.qr-request-head h3{font-size:1.05rem;font-weight:850;margin:2px 0}.qr-customer-line{display:flex;gap:8px;align-items:center;padding:9px 11px;border-radius:10px;background:#f8f9fc;color:#626477;font-size:.78rem;margin-bottom:11px}.qr-request-items{border-top:1px dashed #dfe1e8;border-bottom:1px dashed #dfe1e8;padding:6px 0;margin-bottom:12px}.qr-request-items>div{display:flex;justify-content:space-between;gap:14px;padding:7px 2px;font-size:.79rem}

.table-qr-print{max-width:920px;margin:0 auto;padding:28px 34px 32px;text-align:center;page:tableqr}.table-qr-shop{font-size:1.15rem;font-weight:900;color:#f0aa00;font-style:italic;margin-bottom:12px}.table-qr-meta{color:#5f6180;font-size:.93rem;line-height:1.35}.table-qr-code{display:block;width:min(360px,78vw);margin:20px auto 12px;padding:8px;background:#fff;border-radius:8px}.table-qr-code svg{display:block;width:100%;height:auto}.table-qr-table{font-size:1rem;color:#5f6180;margin-top:8px}.table-qr-help{font-size:.8rem;color:#a1a2b1;margin-top:3px}.table-qr-thanks{font-size:.95rem;color:#5f6180;margin-top:25px;line-height:1.55}.table-qr-url{display:flex;gap:8px;max-width:680px;margin:25px auto 0}.table-qr-url .form-control{font-size:.72rem}

/* Public scan-to-order page */
.qr-order-body{background:#f6f7fb;color:var(--cb-heading)}.qr-public-state{min-height:100vh;display:grid;place-items:center;padding:20px}.qr-public-card{width:min(470px,100%);background:#fff;border:1px solid var(--cb-line);border-radius:22px;padding:30px;box-shadow:var(--cb-shadow)}.qr-success-icon{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:#e6faee;color:var(--cb-primary);font-size:2.25rem}
.qr-menu-shell{min-height:100vh}.qr-menu-top{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--cb-line)}.qr-menu-top-inner{max-width:1280px;margin:auto;padding:12px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}.qr-table-pill{display:inline-flex;align-items:center;gap:6px;background:var(--cb-primary-light);color:var(--cb-primary-dark);border-radius:999px;padding:8px 12px;font-size:.73rem;font-weight:850}.qr-menu-main{max-width:1280px;margin:auto;padding:22px 18px 110px}.qr-menu-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#fff,#f1fff6);border:1px solid #dff3e7;border-radius:20px;padding:22px 24px;margin-bottom:20px}.qr-menu-hero h1{font-size:1.65rem;font-weight:900;letter-spacing:-.025em;margin:3px 0 6px}.qr-menu-hero p{margin:0;color:var(--cb-muted);font-size:.82rem}.qr-hero-icon{width:64px;height:64px;border-radius:18px;background:#fff;display:grid;place-items:center;color:var(--cb-primary);font-size:1.7rem;box-shadow:0 8px 22px rgba(var(--cb-primary-rgb),.1)}.category-scroll{display:flex;gap:8px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:none}.category-scroll::-webkit-scrollbar{display:none}.qr-public-grid .item-card{appearance:none;text-align:left}.qr-public-grid button,.featured-offers button{font-family:inherit;color:inherit}.qr-cart-fab{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:50;width:min(520px,calc(100% - 24px));border:0;border-radius:16px;background:#14261e;color:#fff;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 14px 35px rgba(15,35,26,.28);font-size:.86rem}.qr-cart-fab>span{display:flex;align-items:center;gap:9px}.qr-cart-fab b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--cb-primary);font-size:.68rem}.qr-cart-canvas{--bs-offcanvas-width:min(430px,96vw)}.qr-cart-canvas .offcanvas-body{background:#fff}

@media(max-width:767.98px){.qr-request-banner{align-items:flex-start;flex-direction:column}.qr-request-banner .btn{width:100%}.qr-request-grid{grid-template-columns:1fr}.table-qr-print{padding:22px 15px}.table-qr-url{flex-direction:column}.qr-menu-main{padding:14px 12px 100px}.qr-menu-top-inner{padding:10px 12px}.qr-menu-hero{padding:16px}.qr-menu-hero h1{font-size:1.25rem}.qr-hero-icon{width:50px;height:50px;font-size:1.3rem}.qr-menu-hero p{font-size:.73rem}.qr-public-grid.item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

@page tableqr{size:A4 portrait;margin:12mm}
@media print{
  .table-qr-print,.table-qr-print *{visibility:visible!important}
  .table-qr-print{display:block!important;position:absolute!important;left:0!important;top:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:10mm!important;border:0!important;box-shadow:none!important;background:#fff!important}
  .table-qr-print .table-qr-url{display:none!important}
  .table-qr-code{width:92mm!important;margin:12mm auto 5mm!important;padding:0!important}
  .table-qr-shop{font-size:22pt!important}.table-qr-meta{font-size:13pt!important}.table-qr-table{font-size:16pt!important;font-weight:800!important}.table-qr-help,.table-qr-thanks{font-size:12pt!important}
}
/* v0.3.7 — explicit ADD buttons + live QR order notifications */
.card-add-btn{border:0;border-radius:9px;background:#f2ecff;color:#7552da;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 10px;font-size:.72rem;font-weight:800;line-height:1;white-space:nowrap;box-shadow:none;transition:.15s}.card-add-btn:hover{background:#e7dcff;color:#5f3fc4;transform:translateY(-1px)}.card-add-btn:active{transform:scale(.97)}
.item-card,.offer-pos-card{cursor:default}.item-card:after,.offer-plus{display:none!important}.item-card:hover,.offer-pos-card:hover{transform:none}.item-card-image{pointer-events:none}
.top-count{position:absolute;right:-4px;top:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ffb522;color:#261d00;border:2px solid #fff;display:grid;place-items:center;font-size:.58rem;font-weight:900;line-height:1}.top-icon{position:relative}.qr-live-icon.has-alert{background:#fff7dc!important;color:#d89000!important;border-color:#ffe39a!important}.qr-toast-wrap{z-index:1095!important}.qr-toast-wrap .toast{background:#fff;border-radius:14px!important;overflow:hidden}.qr-toast-wrap .toast-header{background:#fffaf0}
@media(max-width:575.98px){.card-add-btn{padding:7px 9px;font-size:.68rem}.item-card-body{padding-bottom:11px}.qr-public-grid .item-card{min-height:210px}}


/* v0.3.8 — offer visibility timezone fix + polished ADD controls */
.card-add-btn{appearance:none!important;-webkit-appearance:none!important;border:1px solid #ded3ff!important;border-radius:11px!important;background:linear-gradient(180deg,#f6f1ff 0%,#eee6ff 100%)!important;color:#6f45d8!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:8px 12px!important;min-height:34px!important;font-size:.74rem!important;font-weight:850!important;line-height:1!important;white-space:nowrap!important;box-shadow:0 3px 10px rgba(111,69,216,.10)!important;transition:transform .15s ease,box-shadow .15s ease,background .15s ease!important;cursor:pointer!important}
.card-add-btn i{font-size:.82rem!important;line-height:1!important}.card-add-btn:hover{background:linear-gradient(180deg,#eee5ff 0%,#e5d9ff 100%)!important;color:#5b32c4!important;border-color:#cdbaff!important;box-shadow:0 6px 15px rgba(111,69,216,.16)!important;transform:translateY(-1px)!important}.card-add-btn:active{transform:scale(.97)!important}.card-add-btn:focus-visible{outline:3px solid rgba(111,69,216,.18)!important;outline-offset:2px!important}
.featured-offers .card-add-btn,.qr-public-grid .card-add-btn{color:#6f45d8!important}
@media(max-width:575.98px){.card-add-btn{padding:8px 10px!important;min-height:34px!important;font-size:.7rem!important}}


/* v0.3.9 — clickable offer cards, edge-to-edge media, premium offer detail modal */
.offer-pos-card{cursor:pointer!important;isolation:isolate}.offer-pos-card:hover{transform:translateY(-3px)!important;box-shadow:0 14px 32px rgba(26,183,89,.13)!important;border-color:#bde4ca!important}.offer-pos-card:focus-visible{outline:3px solid rgba(26,183,89,.20);outline-offset:3px}.offer-pos-card>img{display:block!important;width:100%!important;height:168px!important;object-fit:cover!important;object-position:center!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;transform:scale(1.015);transform-origin:center}.offer-pos-placeholder{height:168px!important;border-radius:0!important}.offer-pos-body{position:relative;z-index:2;background:#fff}.offer-view-link{display:inline-flex;align-items:center;gap:5px;color:#6f45d8;font-size:.69rem;font-weight:850;white-space:nowrap}.offer-view-link i{font-size:.72rem;transition:transform .15s}.offer-pos-card:hover .offer-view-link i{transform:translateX(2px)}
.offer-detail-modal .modal-dialog{max-width:780px}.offer-detail-modal .modal-content{border-radius:24px!important;overflow:hidden;box-shadow:0 28px 90px rgba(20,31,27,.25);position:relative}.offer-modal-close{position:absolute;right:16px;top:16px;z-index:5;background-color:rgba(255,255,255,.94)!important;border-radius:50%;padding:10px;box-shadow:0 6px 20px rgba(0,0,0,.12)}.offer-modal-layout{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);min-height:460px}.offer-modal-media{background:linear-gradient(145deg,#effaf3,#f4f1ff);min-height:460px;overflow:hidden;display:grid;place-items:center}.offer-modal-media>img{width:100%;height:100%;min-height:460px;display:block;object-fit:cover;object-position:center;transform:scale(1.02)}.offer-modal-placeholder{width:100%;height:100%;min-height:460px;display:grid;place-items:center;color:var(--cb-primary);font-size:4rem}.offer-modal-content{padding:38px 34px 30px;display:flex;flex-direction:column}.offer-modal-content h3{font-size:1.65rem;font-weight:900;letter-spacing:-.035em;margin:2px 0 10px;color:var(--cb-heading)}.offer-modal-price-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:20px}.offer-modal-price-row>strong{font-size:1.35rem;color:#0b9b4d}.offer-modal-price-row>span:not(.offer-saving){font-size:.82rem;color:#9a9bad;text-decoration:line-through}.offer-saving{font-size:.67rem;font-weight:900;color:#118b49;background:#e6f9ee;border-radius:999px;padding:5px 8px}.offer-modal-section{border-top:1px solid #eceef3;padding-top:18px;margin-top:2px}.offer-modal-section-title{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:900;color:#36384b;text-transform:uppercase;letter-spacing:.035em;margin-bottom:12px}.offer-modal-section-title i{color:var(--cb-primary)}.offer-includes{display:grid;gap:9px}.offer-includes>div{display:flex;align-items:center;gap:9px;background:#f7f8fb;border:1px solid #eceef4;border-radius:11px;padding:10px 12px;font-size:.79rem;font-weight:700;color:#4a4c60}.offer-includes i{color:#14ad56;font-size:.95rem}.offer-modal-add{margin-top:auto!important;width:100%;border:0!important;border-radius:13px!important;background:linear-gradient(135deg,#1ab759,#159849)!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:13px 16px!important;font-weight:900!important;box-shadow:0 10px 24px rgba(26,183,89,.22)!important}.offer-modal-add:hover{background:linear-gradient(135deg,#18aa53,#128b42)!important;color:#fff!important;transform:translateY(-1px)}.offer-modal-note{display:flex;align-items:flex-start;gap:7px;color:#9294a5;font-size:.67rem;line-height:1.45;margin-top:12px}.offer-modal-note i{margin-top:1px}
@media(max-width:767.98px){.offer-pos-card>img,.offer-pos-placeholder{height:145px!important}.offer-modal-layout{grid-template-columns:1fr;min-height:0}.offer-modal-media{min-height:250px;height:250px}.offer-modal-media>img,.offer-modal-placeholder{min-height:250px;height:250px}.offer-modal-content{padding:24px 20px 22px}.offer-modal-content h3{font-size:1.4rem}.offer-detail-modal .modal-content{border-radius:0!important}.offer-modal-add{margin-top:24px!important}}
@media(max-width:575.98px){.offer-pos-card>img,.offer-pos-placeholder{height:130px!important}.featured-offers .small.text-secondary{font-size:.68rem}.offer-view-link{font-size:.64rem}}

/* v0.4.0 — offer image crop correction + modern home-customer offers */
/* Legacy offer images were previously saved with contain/padding. Visually crop them now;
   new uploads are center-cropped in bootstrap.php before WebP save. */
.offer-pos-card>img{transform:scale(1.16)!important;transform-origin:center!important}
.offer-modal-media>img{transform:scale(1.16)!important;transform-origin:center!important}
.offer-media-frame{width:100%;height:168px;overflow:hidden;background:#eef9f2;position:relative}
.offer-media-frame>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transform:scale(1.16);transform-origin:center}

.customer-portal-body{margin:0;background:#f6f7fb;color:var(--cb-heading);min-height:100vh}
.customer-login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 15%,#e9faef 0,transparent 30%),radial-gradient(circle at 85% 85%,#f0ecff 0,transparent 28%),#f7f8fb}
.customer-login-card{width:min(440px,100%);background:#fff;border:1px solid #e8eaf0;border-radius:24px;padding:32px;box-shadow:0 22px 70px rgba(29,42,36,.10)}
.customer-login-card h1{font-size:1.8rem;font-weight:900;letter-spacing:-.04em;margin:0 0 6px}.customer-login-card>p{color:var(--cb-muted);margin-bottom:24px}
.customer-brand-mark{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,#19bb5b,#0d9345);color:#fff;font-weight:900;box-shadow:0 10px 26px rgba(26,183,89,.22)}.customer-brand-mark.sm{width:42px;height:42px;border-radius:13px;font-size:.82rem}
.customer-portal-top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid #e8eaf0}.customer-portal-top-inner{max-width:1440px;margin:auto;padding:12px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.customer-portal-main{max-width:1440px;margin:auto;padding:24px 22px 100px}.customer-tabs{gap:8px}.customer-tabs a{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border:1px solid #e4e6ed;border-radius:11px;background:#fff;color:#52566b;text-decoration:none;font-size:.78rem;font-weight:800}.customer-tabs a.active{background:#e8faef;border-color:#ccf0da;color:#0c9145}
.customer-menu-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}.customer-cart-panel{position:sticky;top:86px;max-height:calc(100vh - 108px);overflow:auto}
.customer-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #dcefe4;border-radius:20px;padding:22px 24px;margin-bottom:20px;background:linear-gradient(135deg,#fff 0%,#effcf4 70%,#f2efff 100%)}.customer-hero h1{font-size:1.65rem;font-weight:900;letter-spacing:-.04em;margin:4px 0 6px}.customer-hero p{margin:0;color:var(--cb-muted);font-size:.8rem}.customer-hero-icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:#fff;color:var(--cb-primary);font-size:1.7rem;box-shadow:0 10px 24px rgba(26,183,89,.12)}
.customer-featured-offers .offer-pos-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.customer-public-grid .item-card{cursor:default}.customer-public-grid .item-card:hover{transform:none}.customer-account-card{max-width:760px}
.customer-bottom-nav{display:none}
@media(max-width:1199.98px){.customer-menu-layout{grid-template-columns:minmax(0,1fr) 320px}.customer-featured-offers .offer-pos-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:991.98px){.customer-menu-layout{grid-template-columns:1fr}.customer-cart-panel{position:static;max-height:none}.customer-featured-offers .offer-pos-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767.98px){.customer-portal-main{padding:16px 14px 90px}.customer-portal-top-inner{padding:10px 14px}.customer-hero{padding:18px}.customer-hero h1{font-size:1.35rem}.customer-hero-icon{display:none}.customer-featured-offers .offer-pos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.offer-media-frame{height:145px}.customer-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(3,1fr);background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border-top:1px solid #e6e8ee;padding:7px 10px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px rgba(30,40,35,.07)}.customer-bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;color:#86899a;text-decoration:none;font-size:.65rem;font-weight:800}.customer-bottom-nav a i{font-size:1.15rem}.customer-bottom-nav a.active{color:var(--cb-primary)}.customer-cart-panel{margin-top:2px}}
@media(max-width:575.98px){.customer-featured-offers .offer-pos-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.offer-media-frame{height:130px}.customer-login-card{padding:24px;border-radius:20px}.customer-portal-top .small.text-secondary{font-size:.65rem}}

/* ===== v0.5.0 OPERATIONS UPGRADE ===== */
.shop-state-chip{align-items:center;gap:8px;min-height:42px;padding:6px 10px;border:1px solid var(--cb-line);border-radius:12px;background:#fff}.shop-state-chip>i{width:28px;height:28px;border-radius:9px;display:grid;place-items:center}.shop-state-chip span{display:flex;flex-direction:column;line-height:1.05}.shop-state-chip b{font-size:.72rem}.shop-state-chip small{font-size:.58rem;color:var(--cb-muted);margin-top:3px;white-space:nowrap}.shop-state-chip.is-open>i{background:var(--cb-primary-light);color:var(--cb-primary-dark)}.shop-state-chip.is-closed>i{background:#fff2e8;color:#d96a10}
.shop-schedule-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:14px;padding:12px 15px;border:1px solid var(--cb-line);background:#fff}.shop-schedule-banner>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.shop-schedule-banner strong{font-size:.83rem}.shop-schedule-banner span{font-size:.72rem;color:var(--cb-muted)}.shop-schedule-banner>b{font-size:.7rem;border-radius:999px;padding:6px 9px}.shop-schedule-banner.open{border-color:#d8f2e2;background:#f7fff9}.shop-schedule-banner.open>b{background:#e9fff2;color:var(--cb-primary-dark)}.shop-schedule-banner.closed{border-color:#ffe1cb;background:#fffaf6}.shop-schedule-banner.closed>b{background:#fff0e5;color:#b8560c}
.shop-state-pill{font-size:.65rem;font-weight:900;letter-spacing:.06em;padding:7px 10px;border-radius:999px}.shop-state-pill.open{background:var(--cb-primary-light);color:var(--cb-primary-dark)}.shop-state-pill.closed{background:#fff0e6;color:#c85d0e}.schedule-current{display:flex;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--cb-line);background:#fafafd;border-radius:12px}.schedule-current>i{font-size:1.1rem;color:var(--cb-purple)}.schedule-current strong,.schedule-current span{display:block}.schedule-current strong{font-size:.75rem}.schedule-current span{font-size:.68rem;color:var(--cb-muted);margin-top:2px}.schedule-grid{display:flex;flex-direction:column;gap:7px}.schedule-row{display:grid;grid-template-columns:minmax(115px,1fr) minmax(95px,.75fr) minmax(95px,.75fr);gap:8px;align-items:end;padding:9px 10px;border:1px solid var(--cb-line);border-radius:11px;background:#fff}.schedule-day{display:flex;align-items:center;gap:8px;font-size:.76rem;font-weight:800;min-height:32px}.schedule-row small{display:block;color:var(--cb-muted);font-size:.6rem;font-weight:700;margin:0 0 3px 2px}.sticky-save-bar{position:sticky;bottom:12px;z-index:20;margin-top:16px;padding:10px 12px;border:1px solid var(--cb-line);background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-radius:14px;box-shadow:0 12px 35px rgba(31,31,57,.12);display:flex;justify-content:space-between;align-items:center;gap:14px}.sticky-save-bar span{font-size:.7rem;color:var(--cb-muted)}

.table-live-timer{margin-top:16px;padding:10px 11px;border-radius:11px;display:flex;align-items:center;justify-content:space-between;gap:8px}.table-live-timer span:first-child{display:flex;align-items:center;gap:6px;font-size:.68rem;font-weight:800}.table-live-timer strong{font-size:.95rem;font-variant-numeric:tabular-nums;letter-spacing:.02em}.table-live-timer.busy{background:#fff4e9;color:#b95c11}.table-live-timer.free{background:#edfff4;color:#128343}
.kds-prep-clock{display:flex;align-items:center;justify-content:flex-end;gap:5px;font-size:.72rem;font-weight:800;font-variant-numeric:tabular-nums;margin-top:3px}.ops-inline-timer{display:flex;align-items:center;gap:4px;font-size:.66rem;color:var(--cb-muted);font-variant-numeric:tabular-nums}.ops-order-timer{font-size:.7rem;color:var(--cb-muted);font-variant-numeric:tabular-nums}.ops-order-timer strong{color:var(--cb-heading)}.timer-warn{color:#f3ad24!important}.timer-danger{color:#fb6464!important;font-weight:900!important}

.order-edit-card{border-color:#e4e0ff}.order-edit-lines{display:flex;flex-direction:column;gap:8px}.order-edit-line{display:flex;align-items:end;gap:9px;padding:10px;border:1px solid var(--cb-line);border-radius:12px;background:#fbfbfe}.order-edit-name{min-width:180px;max-width:260px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.order-edit-name strong{font-size:.78rem}.order-edit-name small{width:100%;font-size:.63rem;color:var(--cb-muted)}.order-edit-form{display:flex;align-items:end;gap:7px;flex:1}.order-edit-form label{display:block;font-size:.6rem;font-weight:800;color:var(--cb-muted);margin:0 0 3px 2px}.order-edit-form>div:first-of-type{width:76px;flex:0 0 auto}.order-remove-form{flex:0 0 auto}.order-edit-locked{margin-left:auto;align-self:center;font-size:.68rem;color:#9b6c30;background:#fff5df;padding:7px 9px;border-radius:9px;white-space:nowrap}

.login-shop-state{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);border-radius:12px}.login-shop-state span{display:flex;align-items:center;gap:7px;font-size:.75rem;font-weight:800}.login-shop-state span i{font-size:.48rem}.login-shop-state small{font-size:.65rem;color:rgba(255,255,255,.65)}.login-shop-state.is-open span i{color:#70ef9f}.login-shop-state.is-closed span i{color:#ffbd7b}.login-offers{max-width:570px}.login-offers-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.login-offers-title span{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:#b9efce}.login-offers-title small{font-size:.62rem;color:rgba(255,255,255,.55)}.login-offers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.login-offer-card{min-width:0;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.075);border-radius:12px;overflow:hidden}.login-offer-card img,.login-offer-ph{width:100%;height:78px;object-fit:cover;background:rgba(255,255,255,.08)}.login-offer-ph{display:grid;place-items:center;font-size:1.25rem;color:#c6f1d5}.login-offer-card>div:last-child{padding:8px 9px}.login-offer-card strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.7rem}.login-offer-card>div:last-child>div{font-size:.66rem;font-weight:850;color:#91efb4;margin-top:3px}.login-offer-card>div:last-child span{font-size:.56rem;color:rgba(255,255,255,.48);text-decoration:line-through;margin-left:4px}

@media(max-width:767.98px){.shop-schedule-banner{align-items:flex-start;flex-direction:column}.schedule-row{grid-template-columns:1fr 1fr}.schedule-day{grid-column:1/-1}.sticky-save-bar{bottom:7px;align-items:stretch;flex-direction:column}.sticky-save-bar .btn{width:100%}.order-edit-line{align-items:stretch;flex-wrap:wrap}.order-edit-name{max-width:none;width:100%}.order-edit-form{width:100%;flex-wrap:wrap}.order-edit-form>div:first-of-type{width:72px}.order-edit-form .flex-grow-1{min-width:150px}.order-edit-locked{margin-left:0}.table-live-timer{margin-top:12px}.login-offers-grid{grid-template-columns:1fr}}
.login-offers-empty{display:flex;align-items:center;gap:8px;padding:11px 12px;border:1px dashed rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.045);color:rgba(255,255,255,.72);font-size:.7rem;font-weight:750}.login-offers-empty i{color:#9de5b9}.login-mobile-empty{display:flex;align-items:center;gap:8px;padding:9px 0 2px;color:var(--cb-muted);font-size:.68rem;font-weight:750}.login-mobile-empty i{color:var(--cb-primary)}
.login-mobile-showcase{padding:11px;border:1px solid var(--cb-line);border-radius:13px;background:#fafafd}.login-mobile-showcase>div:first-child strong{font-size:.75rem}.login-mobile-showcase>div:first-child small{font-size:.62rem}.login-mobile-offer{display:flex;align-items:center;gap:9px;padding:7px 0;border-top:1px solid var(--cb-line)}.login-mobile-offer:first-of-type{border-top:0}.login-mobile-offer img,.login-mobile-offer>span{width:42px;height:34px;border-radius:8px;object-fit:cover;background:var(--cb-primary-light);display:grid;place-items:center;color:var(--cb-primary-dark);flex:0 0 auto}.login-mobile-offer b,.login-mobile-offer small{display:block}.login-mobile-offer b{font-size:.7rem}.login-mobile-offer small{font-size:.63rem;color:var(--cb-primary-dark);font-weight:800;margin-top:2px}

/* ===== v0.5.1 LOGIN OFFER SHOWCASE + POS DRAFT SAFETY ===== */
.login-offer-visual{padding:46px 52px;justify-content:space-between}.login-brand{flex:0 0 auto}.login-offer-stage{width:min(760px,100%);margin:28px 0;display:flex;align-items:center}.login-showcase-grid{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.login-showcase-card{min-width:0;overflow:hidden;border-radius:20px;background:#fff;color:var(--cb-heading);box-shadow:0 22px 55px rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.18)}.login-showcase-media{height:200px;background:rgba(255,255,255,.08);overflow:hidden}.login-showcase-media img{display:block;width:100%;height:100%;object-fit:cover}.login-showcase-ph{width:100%;height:100%;display:grid;place-items:center;font-size:3rem;color:#8be4ae;background:linear-gradient(135deg,#1b5135,#153f2a)}.login-showcase-body{padding:17px 18px 18px}.login-showcase-chip{display:inline-flex;padding:5px 8px;border-radius:999px;background:#e9fff1;color:#0b9848;font-size:.58rem;font-weight:900;letter-spacing:.08em;margin-bottom:8px}.login-showcase-body h2{font-size:1.06rem;font-weight:900;letter-spacing:-.02em;margin:0 0 6px}.login-showcase-body p{font-size:.7rem!important;line-height:1.45!important;color:#888a9b!important;margin:0 0 12px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.login-showcase-price{display:flex;align-items:center;gap:8px}.login-showcase-price strong{font-size:1rem;color:#0b9848}.login-showcase-price span{font-size:.7rem;color:#9b9dac;text-decoration:line-through}.login-showcase-empty{width:100%;min-height:240px;border:1px dashed rgba(255,255,255,.2);border-radius:20px;background:rgba(255,255,255,.06);display:grid;place-items:center;align-content:center;gap:10px;text-align:center;color:rgba(255,255,255,.72);font-size:.8rem}.login-showcase-empty i{font-size:2rem;color:#92ebb4}
.login-mobile-title{margin-bottom:8px}.login-mobile-offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.login-mobile-offer{display:block!important;padding:0!important;border:1px solid var(--cb-line)!important;border-radius:11px;overflow:hidden;background:#fff}.login-mobile-offer img,.login-mobile-offer>span{width:100%!important;height:78px!important;border-radius:0!important;object-fit:cover}.login-mobile-offer>div{padding:8px}.login-mobile-offer b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.login-mobile-offer small del{color:#aaa;font-size:.57rem;margin-left:3px}
#posClientAlert{font-weight:700}#tableSelect.is-invalid{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.08)}
@media(max-width:1250px) and (min-width:992px){.login-offer-visual{padding:38px}.login-showcase-grid{gap:12px}.login-showcase-media{height:165px}.login-showcase-body{padding:14px}.login-showcase-body h2{font-size:.94rem}}
@media(max-width:575.98px){.login-mobile-offer-grid{grid-template-columns:1fr 1fr}.login-mobile-offer img,.login-mobile-offer>span{height:68px!important}}

/* ===== v0.5.0 FIXED 6: FULL CLOSED-SHOP COUNTDOWN ===== */
.shop-closed-body{margin:0;min-height:100vh;background:#0f3d2a;color:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
.shop-closed-screen{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;padding:34px;background:radial-gradient(circle at 85% 12%,rgba(255,255,255,.08) 0 14%,transparent 14.2%),radial-gradient(circle at 8% 92%,rgba(255,255,255,.055) 0 12%,transparent 12.2%),linear-gradient(145deg,#0d3424,#155839)}
.shop-closed-brand{position:absolute;top:34px;left:38px;display:flex;align-items:center;gap:12px}.shop-closed-brand>span{width:48px;height:48px;border-radius:14px;background:#19b85a;display:grid;place-items:center;font-weight:950;box-shadow:0 12px 28px rgba(0,0,0,.2)}.shop-closed-brand strong,.shop-closed-brand small{display:block}.shop-closed-brand strong{font-size:1.05rem}.shop-closed-brand small{font-size:.7rem;color:rgba(255,255,255,.62);margin-top:2px}
.shop-closed-center{text-align:center;width:min(920px,100%);display:flex;flex-direction:column;align-items:center}.shop-closed-icon{width:86px;height:86px;border-radius:28px;display:grid;place-items:center;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);font-size:2rem;margin-bottom:22px}.shop-closed-kicker{font-size:.74rem;font-weight:950;letter-spacing:.22em;color:#9fe8bd;margin-bottom:10px}.shop-closed-center h1{margin:0;font-size:clamp(3rem,8vw,7.3rem);line-height:.92;letter-spacing:-.055em;font-weight:950}.shop-closed-center p{margin:20px 0 34px;color:rgba(255,255,255,.7);font-size:clamp(.95rem,1.4vw,1.15rem)}.shop-closed-count-label{font-size:.72rem;letter-spacing:.2em;font-weight:900;color:rgba(255,255,255,.55);margin-bottom:10px}.shop-closed-countdown{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;font-size:clamp(3.2rem,10vw,8rem);line-height:1;font-weight:950;letter-spacing:-.045em;color:#fff;text-shadow:0 12px 40px rgba(0,0,0,.18)}.shop-closed-next{margin-top:18px;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);border-radius:999px;color:#c8f4d9;font-size:.78rem;font-weight:800}
.manual-open-box{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border-radius:13px;border:1px solid #bcebd0;background:#f1fff6}.manual-open-box>div:first-child strong,.manual-open-box>div:first-child small{display:block}.manual-open-box>div:first-child strong{font-size:.78rem;color:#127d40}.manual-open-box>div:first-child small{font-size:.66rem;color:#6c7b72;margin-top:3px}.manual-open-box .form-switch{display:flex;align-items:center;gap:8px}.manual-open-box .form-check-input{width:2.5em;height:1.3em}.manual-open-box .form-check-label{font-size:.68rem;white-space:nowrap}
@media(max-width:767.98px){.shop-closed-screen{padding:24px 18px}.shop-closed-brand{top:22px;left:22px}.shop-closed-brand>span{width:42px;height:42px;border-radius:12px}.shop-closed-brand strong{font-size:.9rem}.shop-closed-center{padding-top:70px}.shop-closed-icon{width:68px;height:68px;border-radius:22px;font-size:1.6rem}.shop-closed-center p{margin:16px 0 28px}.shop-closed-next{font-size:.7rem}.manual-open-box{align-items:flex-start;flex-direction:column}}

/* v0.5.0 fixed10: approval gate + profiles */
.status-pending_approval{background:#fff2cf;color:#9a6500}
.user-avatar,.cb-role-avatar{overflow:hidden}
.user-avatar img,.cb-role-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.profile-photo-lg{width:120px;height:120px;border-radius:30px;background:linear-gradient(145deg,#e9fff2,#d7f6e4);display:grid;place-items:center;overflow:hidden;color:#107e45;font-size:2.2rem;font-weight:900;border:1px solid #d9eee1}
.profile-photo-lg img{width:100%;height:100%;object-fit:cover}
.profile-photo-sm{width:68px;height:68px;border-radius:20px;background:linear-gradient(145deg,#e9fff2,#d7f6e4);display:grid;place-items:center;overflow:hidden;color:#107e45;font-size:1.35rem;font-weight:900;border:1px solid #d9eee1}
.profile-photo-sm img{width:100%;height:100%;object-fit:cover}
.customer-profile-mini{width:38px;height:38px;border-radius:12px;background:#e8fff1;color:#107e45;display:grid;place-items:center;overflow:hidden;font-weight:900}
.customer-profile-mini img{width:100%;height:100%;object-fit:cover}
.approval-live-icon.has-alert{background:#fff5d8;color:#946100}
.approval-live-icon.has-alert .top-count{background:#f5a623;color:#fff}

/* Fixed 10: live customer payment notice */
.customer-payment-notice{position:fixed;right:18px;bottom:88px;z-index:1090;max-width:420px;width:calc(100% - 36px);background:#fff;border:1px solid #cdebd8;border-radius:16px;box-shadow:0 18px 50px rgba(18,44,34,.18);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px}.customer-payment-notice[hidden]{display:none!important}.customer-payment-notice>div{display:flex;align-items:center;gap:11px;min-width:0}.customer-payment-notice>div>i{font-size:1.35rem;color:#16a05d}.customer-payment-notice strong{display:block;color:#10251b}.customer-payment-notice span{display:block;color:#6f7f77;font-size:.84rem;line-height:1.35}.customer-payment-notice a{white-space:nowrap;font-weight:700;color:#12864e;text-decoration:none}
@media(max-width:575.98px){.customer-payment-notice{right:12px;bottom:78px;width:calc(100% - 24px);align-items:flex-start}.customer-payment-notice a{font-size:.82rem}}

/* v0.6.0 list navigation + category slider polish */
.cb-pagination-bar{display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:wrap;padding:14px 2px 2px;margin-top:12px;border-top:1px solid var(--cb-line)}
.cb-pagination-size{display:flex;align-items:center;gap:8px;color:var(--cb-muted);font-size:.76rem;font-weight:700}.cb-pagination-size .form-select{width:76px;min-height:34px;padding-top:5px;padding-bottom:5px;font-size:.76rem}
.cb-pagination-info{color:var(--cb-muted);font-size:.76rem;font-weight:700;white-space:nowrap;margin-left:auto}
.cb-pagination-nav{display:flex;align-items:center;gap:6px}.cb-page-numbers{display:flex;align-items:center;gap:5px}
.cb-page-btn,.cb-page-number{border:1px solid var(--cb-line);background:#fff;color:#34354a;border-radius:9px;height:36px;min-width:36px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:.75rem;font-weight:800;transition:.15s}
.cb-page-btn:hover:not(:disabled),.cb-page-number:hover{border-color:#c7c9d6;background:#f7f8fb}.cb-page-number.active{background:var(--cb-dark);border-color:var(--cb-dark);color:#fff}.cb-page-btn:disabled{opacity:.42;cursor:not-allowed}.cb-page-ellipsis{min-width:24px;text-align:center;color:var(--cb-muted);font-weight:800}
.category-slider{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0}.category-slider .category-all{grid-column:1;position:relative;z-index:2}.category-slider-track{display:flex;gap:8px;min-width:0;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;padding:2px 1px 5px}.category-slider-track::-webkit-scrollbar{display:none}.category-slider-arrow{width:35px;height:35px;border-radius:999px;border:1px solid var(--cb-line);background:#fff;color:#55586d;display:grid;place-items:center;padding:0;transition:.15s}.category-slider-arrow:hover:not(:disabled){background:#f7f8fb;border-color:#c7c9d6}.category-slider-arrow:disabled{opacity:.35}.category-slider-arrow[hidden]{display:none!important}
@media(max-width:767.98px){.cb-pagination-bar{gap:9px}.cb-pagination-info{order:2;margin-left:0}.cb-pagination-nav{order:3;width:100%;justify-content:space-between}.cb-page-btn span{display:none}.cb-page-btn{min-width:38px;padding:0}.cb-page-numbers{gap:4px;overflow-x:auto;max-width:calc(100vw - 150px);scrollbar-width:none}.cb-page-number{height:34px;min-width:34px;padding:0 8px}.category-slider{grid-template-columns:auto minmax(0,1fr)}.category-slider-arrow{display:none!important}.category-slider-track{padding-bottom:6px}}


/* v0.6.0 Settings sections + theme + sidebar scrollbar polish */
.cb-sidebar-scroll{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--cb-primary) transparent}
.cb-sidebar-scroll::-webkit-scrollbar{width:7px;height:0}
.cb-sidebar-scroll::-webkit-scrollbar-track{background:transparent}
.cb-sidebar-scroll::-webkit-scrollbar-thumb{background:var(--cb-primary);border-radius:999px;border:2px solid #fff}
.cb-sidebar-scroll::-webkit-scrollbar-thumb:hover{background:var(--cb-primary-dark)}
.cb-nav a:hover{transform:none}
.cb-logo{background:linear-gradient(145deg,var(--cb-primary),var(--cb-primary-dark))}
.cb-brand-logo-image{max-width:148px;max-height:48px;width:auto;height:auto;object-fit:contain;display:block}
.cb-mobile-brand-logo{max-width:132px;max-height:42px;width:auto;height:auto;object-fit:contain}
.login-brand-logo{max-width:180px;max-height:58px;width:auto;height:auto;object-fit:contain;filter:brightness(0) invert(1)}
.login-form-logo{max-width:150px;max-height:52px;width:auto;height:auto;object-fit:contain;display:block}

.settings-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:18px;align-items:start}
.settings-subnav{padding:9px;position:sticky;top:104px;overflow:hidden}
.settings-subnav a{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;border-radius:11px;color:#65667c;font-weight:700;border:1px solid transparent;transition:.16s}
.settings-subnav a i{width:24px;text-align:center;color:#8e8fa4;font-size:1rem}
.settings-subnav a:hover{background:#f7f7fc;color:var(--cb-heading)}
.settings-subnav a.active{background:var(--cb-primary-light);color:var(--cb-primary-dark);border-color:rgba(var(--cb-primary-rgb),.18);box-shadow:inset 3px 0 0 var(--cb-primary)}
.settings-subnav a.active i{color:var(--cb-primary)}
.settings-panel-wrap{min-width:0}
.settings-panel{min-height:420px}
.settings-panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid var(--cb-line)}
.settings-panel-title h2{font-size:1.15rem;font-weight:850;margin:0 0 5px}
.settings-panel-title p{margin:0;color:var(--cb-muted);font-size:.79rem}
.theme-preview{margin-top:12px;border:1px solid var(--cb-line);border-radius:14px;background:#fafafd;min-height:145px;display:grid;place-items:center;padding:18px;overflow:hidden}
.theme-preview.wide img{max-width:220px;max-height:85px;object-fit:contain}
.theme-preview.square img{width:96px;height:96px;object-fit:contain;border-radius:18px}
.theme-color-field{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;align-items:center}
.theme-color-field input[type=color]{width:58px;height:48px;padding:4px;border:1px solid var(--cb-line-strong);border-radius:11px;background:#fff;cursor:pointer}
.theme-presets{display:flex;gap:9px;flex-wrap:wrap}
.theme-preset{width:32px;height:32px;border-radius:50%;border:3px solid #fff;background:var(--preset);box-shadow:0 0 0 1px #d9dbe5;transition:.15s}
.theme-preset:hover{transform:scale(1.08);box-shadow:0 0 0 2px rgba(var(--cb-primary-rgb),.28)}

@media(max-width:991.98px){
  .settings-layout{grid-template-columns:1fr}
  .settings-subnav{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible;padding:8px}
  .settings-subnav a{min-width:0;min-height:44px;padding:0 10px;justify-content:flex-start;gap:8px;white-space:normal;line-height:1.15}
  .settings-subnav a i{width:20px;flex:0 0 20px}
  .settings-subnav a span{min-width:0}
  .settings-subnav a.active{box-shadow:inset 3px 0 0 var(--cb-primary)}
}
@media(max-width:380px){
  .settings-subnav{grid-template-columns:1fr}
}
.customer-brand-logo{max-width:170px;max-height:58px;width:auto;height:auto;object-fit:contain;display:block}.customer-brand-logo.sm{max-width:120px;max-height:40px}.qr-brand-logo{max-width:150px;max-height:54px;width:auto;height:auto;object-fit:contain;display:block}.qr-brand-logo.sm{max-width:118px;max-height:38px}.shop-closed-logo{max-width:180px;max-height:62px;width:auto;height:auto;object-fit:contain}.receipt-footer-logo{display:block;max-width:34mm;max-height:12mm;object-fit:contain;margin:8px auto 2px}

/* v0.6.0 fixed4: offer carousel, mobile cart summary, cleaner navigation/history UI */
.offer-slider{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:10px;min-width:0}
.offer-slider-track{display:flex;gap:12px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:none;padding:2px 2px 8px;min-width:0}
.offer-slider-track::-webkit-scrollbar{display:none}
.offer-slider-track .offer-pos-card{flex:0 0 min(285px,78vw);scroll-snap-align:start}
.offer-slider-arrow{width:40px;height:40px;border:1px solid var(--cb-line);background:#fff;border-radius:999px;display:grid;place-items:center;color:var(--cb-primary);box-shadow:0 6px 18px rgba(25,30,40,.06)}
.offer-slider-arrow:disabled{opacity:.28}
.offer-countdown{font-size:.68rem;font-weight:800;white-space:nowrap;color:var(--cb-primary-dark);background:var(--cb-primary-light);padding:4px 7px;border-radius:999px}
.offer-countdown.is-ending{color:#b42318;background:#fff0ed}

.customer-mobile-cart-bar{display:none}
.customer-order-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.customer-order-filters .form-control{width:auto;min-width:145px}

.delivery-history-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.delivery-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.delivery-meta-grid .data-card{padding:10px 12px}
.delivery-history-card .delivery-address{background:#f8f9fb;border:1px solid var(--cb-line);border-radius:12px;padding:10px 12px}

/* Sidebar uses the same framed active style as the Theme settings button. */
.cb-nav a{border:1px solid transparent}
.cb-nav a.active{border-color:rgba(var(--cb-primary-rgb),.18);box-shadow:inset 3px 0 0 var(--cb-primary)}
.cb-nav a.active:after{display:none}

@media(max-width:767.98px){
  .category-slider{grid-template-columns:auto 34px minmax(0,1fr) 34px}
  .category-slider-arrow{display:grid!important;width:34px;height:34px}
  .offer-slider{grid-template-columns:34px minmax(0,1fr) 34px;gap:6px}
  .offer-slider-arrow{width:34px;height:34px}
  .offer-slider-track .offer-pos-card{flex-basis:min(250px,76vw)}
  .customer-mobile-cart-bar{position:fixed;left:10px;right:10px;bottom:72px;z-index:75;background:#fff;border:1px solid rgba(var(--cb-primary-rgb),.2);box-shadow:0 10px 30px rgba(20,25,35,.18);border-radius:16px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
  .customer-mobile-cart-bar[hidden]{display:none!important}
  .customer-mobile-cart-bar>div{display:flex;flex-direction:column;min-width:0}
  .customer-mobile-cart-bar strong{font-size:.82rem}
  .customer-mobile-cart-bar span{font-size:.75rem;color:var(--cb-primary-dark);font-weight:800}
  .customer-mobile-cart-bar button{width:46px;height:46px;border:0;border-radius:14px;background:var(--cb-primary);color:#fff;display:flex;align-items:center;justify-content:center;gap:3px;font-size:1.05rem}
  .customer-order-filters{width:100%}
  .customer-order-filters .form-control{flex:1 1 44%;min-width:0}
  .delivery-meta-grid{grid-template-columns:1fr}
}

/* v0.6.0 operations/report polish: global queue banner, POS mobile cart, item discounts */
.global-ops-notice{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:12px 14px;border:1px solid rgba(var(--cb-primary-rgb),.18);border-radius:14px;background:linear-gradient(90deg,var(--cb-primary-light),#fff);box-shadow:0 8px 22px rgba(25,30,40,.04)}
.global-ops-copy{display:flex;align-items:center;gap:11px;min-width:0}.global-ops-copy>div{display:flex;flex-direction:column;min-width:0}.global-ops-copy strong{font-size:.84rem;color:var(--cb-heading)}.global-ops-copy small{color:var(--cb-muted);font-size:.73rem}.global-ops-icon{width:38px;height:38px;border-radius:11px;background:#fff;color:var(--cb-primary);display:grid;place-items:center;box-shadow:0 3px 10px rgba(25,30,40,.05);flex:0 0 auto}
.staff-pos-cartbar{display:none}.staff-pos-cart-go{border:0;background:var(--cb-primary);color:#fff;width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:3px;font-size:1.05rem;flex:0 0 auto}.staff-pos-cartbar>div{display:flex;flex-direction:column;min-width:0}.staff-pos-cartbar strong{font-size:.84rem}.staff-pos-cartbar span{font-size:.76rem;color:var(--cb-primary-dark);font-weight:800}
.item-discount-panel{border:1px solid var(--cb-line);background:#fafafd;border-radius:13px;padding:12px;overflow:hidden}.item-discount-row{display:grid;grid-template-columns:minmax(0,1fr) 112px 84px 70px;gap:8px;align-items:center;padding:10px 0;border-top:1px solid var(--cb-line);width:100%;min-width:0}.item-discount-row:first-of-type{border-top:0;padding-top:0}.item-discount-name{display:flex;flex-direction:column;min-width:0}.item-discount-name strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-discount-name small{color:var(--cb-muted)}.item-discount-row .form-select,.item-discount-row .form-control,.item-discount-row .btn{width:100%;min-width:0}.item-discount-row .btn{padding-left:8px;padding-right:8px}.discount-panel .input-group{display:grid;grid-template-columns:118px minmax(0,1fr) 76px}.discount-panel .input-group>.form-select,.discount-panel .input-group>.form-control,.discount-panel .input-group>.btn{width:100%;min-width:0;border-radius:0}.discount-panel .input-group>.form-select{border-radius:10px 0 0 10px}.discount-panel .input-group>.btn{border-radius:0 10px 10px 0}
.section-icon-delivery{background:#eef4ff;color:#275fb6}.section-icon-takeaway{background:#fff3e8;color:#bc650e}.order-flow-card.delivery{border-top-color:#4b7bec}.order-flow-card.takeaway{border-top-color:#f59e0b}


@media(min-width:768px) and (max-width:1399.98px){
 .item-discount-row{grid-template-columns:minmax(0,1fr) 96px 70px}.item-discount-name{grid-column:1/-1}.item-discount-row .form-select{grid-column:1}.item-discount-row .form-control{grid-column:2}.item-discount-row .btn{grid-column:3}
}
@media(max-width:767.98px){
 .global-ops-notice{align-items:flex-start;flex-direction:column;padding:11px 12px}.global-ops-notice>.d-flex{width:100%}.global-ops-notice>.d-flex .btn{flex:1}
 .staff-pos-cartbar{position:fixed;left:10px;right:10px;bottom:12px;z-index:78;background:#fff;border:1px solid rgba(var(--cb-primary-rgb),.22);box-shadow:0 12px 32px rgba(20,25,35,.18);border-radius:16px;padding:10px 12px;align-items:center;justify-content:space-between;gap:12px}.staff-pos-cartbar:not([hidden]){display:flex}.staff-pos-cartbar.is-cart-visible{opacity:0;transform:translateY(18px);pointer-events:none}.staff-pos-cartbar{transition:opacity .18s ease,transform .18s ease}
 .item-discount-row{grid-template-columns:minmax(0,1fr) 84px 68px}.item-discount-name{grid-column:1/-1}.item-discount-row .form-select{grid-column:1}.item-discount-row .form-control{grid-column:2}.item-discount-row button{grid-column:3;min-height:38px}.discount-panel .input-group{grid-template-columns:104px minmax(0,1fr) 70px}
}

/* v0.6.x Role & Permissions */
.permissions-panel{min-height:520px}
.permission-title-row{align-items:center}
.permission-superadmin-badge{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:8px 11px;border-radius:999px;background:var(--cb-primary-light);color:var(--cb-primary-dark);font-size:.75rem;font-weight:800;border:1px solid rgba(var(--cb-primary-rgb),.16)}
.permission-role-jump{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.permission-role-jump a{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border:1px solid var(--cb-line);border-radius:10px;background:#fff;color:var(--cb-heading);font-size:.78rem;font-weight:800}
.permission-role-jump a:hover{border-color:rgba(var(--cb-primary-rgb),.34);background:var(--cb-primary-light);color:var(--cb-primary-dark)}
.permission-role-card{scroll-margin-top:112px;border:1px solid var(--cb-line);border-radius:16px;background:#fff;margin:0 0 18px;overflow:hidden}
.permission-role-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px;background:#fafafe;border-bottom:1px solid var(--cb-line)}
.permission-role-head>div:first-child{display:flex;align-items:center;gap:11px;min-width:0}
.permission-role-head h3{font-size:1rem;font-weight:850;margin:0 0 2px;color:var(--cb-heading)}
.permission-role-head small{display:block;color:var(--cb-muted);font-size:.72rem}
.permission-role-icon{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;border-radius:11px;background:var(--cb-primary-light);color:var(--cb-primary);font-size:1rem}
.permission-role-actions{display:flex;gap:7px;flex-wrap:wrap}
.permission-group{padding:15px 16px;border-bottom:1px solid var(--cb-line)}
.permission-group:last-child{border-bottom:0}
.permission-group-title{margin-bottom:10px;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;font-weight:900;color:#9697aa}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.permission-option{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:11px 12px;border:1px solid var(--cb-line);border-radius:12px;background:#fff;cursor:pointer;transition:.15s}
.permission-option:hover{border-color:rgba(var(--cb-primary-rgb),.32);background:#fcfcff}
.permission-option:has(input:checked){background:var(--cb-primary-light);border-color:rgba(var(--cb-primary-rgb),.24)}
.permission-option input{flex:0 0 auto;margin-top:3px}
.permission-option span{display:block;min-width:0}
.permission-option strong{display:block;font-size:.79rem;color:var(--cb-heading);line-height:1.3}
.permission-option small{display:block;color:var(--cb-muted);font-size:.69rem;line-height:1.4;margin-top:3px}
.permission-savebar{position:sticky;bottom:10px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding:12px 14px;border:1px solid rgba(var(--cb-primary-rgb),.2);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 8px 28px rgba(31,31,57,.08);backdrop-filter:blur(10px)}
.permission-savebar strong,.permission-savebar small{display:block}.permission-savebar strong{font-size:.8rem}.permission-savebar small{color:var(--cb-muted);font-size:.7rem;margin-top:2px}
@media(max-width:991.98px){.permission-grid{grid-template-columns:1fr}.permission-title-row{align-items:flex-start;flex-direction:column}.permission-superadmin-badge{white-space:normal}}
@media(max-width:575.98px){.permission-role-head{align-items:flex-start;flex-direction:column}.permission-role-actions{width:100%}.permission-role-actions .btn{flex:1}.permission-group,.permission-role-head{padding:13px}.permission-savebar{align-items:stretch;flex-direction:column}.permission-savebar .btn{width:100%}}
.permission-admin-locked{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:11px 12px;border:1px dashed rgba(var(--cb-primary-rgb),.28);border-radius:12px;background:#fcfcff}.permission-admin-locked>div{display:flex;align-items:center;gap:7px;margin-right:4px;color:var(--cb-heading);font-size:.76rem}.permission-admin-locked>div i{color:var(--cb-primary)}.permission-admin-locked span{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border-radius:999px;background:#f2f2f7;color:#74758a;font-size:.68rem;font-weight:750}

/* v0.6.0 full-audit hotfix: compact live bill controls */
.order-inline-qty{gap:4px!important;white-space:nowrap}
.order-inline-qty .btn{width:30px;height:30px;min-width:30px;padding:0!important;display:inline-grid;place-items:center;border-radius:8px;line-height:1}
.order-inline-qty .form-control{width:46px!important;height:30px!important;min-height:30px;padding:2px 4px!important;font-size:.76rem;text-align:center;border-radius:8px}
.order-screen td .btn.btn-outline-danger{width:32px;height:32px;min-width:32px;padding:0!important;display:inline-grid;place-items:center;border-radius:9px}
.payment-summary-box strong.text-danger{color:#dc3545!important}
.payment-summary-box strong.text-success{color:#198754!important}
@media(max-width:575.98px){
  .order-inline-qty .btn{width:27px;height:27px;min-width:27px;border-radius:7px}
  .order-inline-qty .form-control{width:40px!important;height:27px!important;min-height:27px;font-size:.72rem}
  .order-screen td .btn.btn-outline-danger{width:29px;height:29px;min-width:29px}
}

/* v0.6.0 configurable item grid + theme-colored page scrollbar */
html,body{scrollbar-width:thin;scrollbar-color:var(--cb-primary) transparent}
html::-webkit-scrollbar,body::-webkit-scrollbar{width:8px;height:8px}
html::-webkit-scrollbar-track,body::-webkit-scrollbar-track{background:transparent}
html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{background:var(--cb-primary);border-radius:999px;border:2px solid transparent;background-clip:padding-box}
html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover{background:var(--cb-primary-dark);background-clip:padding-box}

.item-grid{grid-template-columns:repeat(var(--cb-item-cols-desktop,6),minmax(0,1fr))!important}
@media (min-width:768px) and (max-width:1279.98px){.item-grid{grid-template-columns:repeat(var(--cb-item-cols-tablet,4),minmax(0,1fr))!important}}
@media (max-width:767.98px){
  .item-grid{grid-template-columns:repeat(var(--cb-item-cols-mobile,3),minmax(0,1fr))!important;gap:8px}
  .item-card{min-width:0;min-height:0}
  .item-card-image{height:104px}
  .item-card-body{padding:9px}
  .item-name{font-size:.76rem;line-height:1.17;padding-right:0}
  .item-price{font-size:.76rem}
  .card-add-btn{padding:6px 7px;font-size:.61rem;gap:3px;white-space:nowrap}
  .item-card .small{font-size:.64rem}
}
@media (max-width:390px){
  .item-card-image{height:92px}
  .item-card-body{padding:8px}
  .item-name{font-size:.7rem}
  .item-price{font-size:.7rem}
  .card-add-btn{padding:5px 6px;font-size:.57rem}
}

.layout-preview{border:1px solid var(--cb-line);border-radius:14px;background:#fafafd;padding:15px}.layout-preview-label{font-weight:800;font-size:.8rem;margin-bottom:10px}.layout-preview-grid{display:grid;grid-template-columns:repeat(var(--preview-cols,6),1fr);gap:7px;margin-bottom:9px}.layout-preview-grid span{height:54px;border-radius:8px;background:linear-gradient(180deg,var(--cb-primary-light),#fff);border:1px solid rgba(var(--cb-primary-rgb),.2)}.layout-preview small{color:var(--cb-muted)}
body *{scrollbar-color:var(--cb-primary) transparent}
body *::-webkit-scrollbar-thumb{background:var(--cb-primary);border-radius:999px}
body *::-webkit-scrollbar-thumb:hover{background:var(--cb-primary-dark)}

/* v0.6.0 menu card action alignment fix */
.item-card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.item-card-body{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  min-height:0;
}
.item-card-body>.d-flex.mt-2{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center!important;
  gap:8px!important;
  margin-top:auto!important;
  padding-top:10px;
}
.item-card-body>.d-flex.mt-2 .item-price{
  min-width:0;
  white-space:nowrap;
  line-height:1.1;
}
.item-card-body>.d-flex.mt-2 .card-add-btn{
  flex:0 0 auto;
  min-width:68px;
}
@media(min-width:1280px){
  .item-card-body .item-name{
    min-height:2.35em;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
  }
  .item-card-body>.d-flex.mt-2{
    min-height:44px;
  }
}
@media(max-width:767.98px){
  .item-card-body>.d-flex.mt-2{
    gap:5px!important;
    padding-top:7px;
  }
  .item-card-body>.d-flex.mt-2 .card-add-btn{
    min-width:0;
  }
}


/* v0.6.0 image-fit + clean-route media fix
   Keep uploaded pictures fully visible instead of cropping faces/items/offer artwork. */
.item-card-image:not(.placeholder),
.item-thumb,
.preview-box img,
.offer-media-frame>img,
.login-offer-card img,
.login-showcase-media img,
.login-mobile-offer img,
.user-avatar img,
.cb-role-avatar img,
.avatar-sm img,
.profile-photo-lg img,
.profile-photo-sm img,
.customer-profile-mini img {
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  background:#fff;
}

/* Product/menu media keeps a consistent frame while showing the complete source image. */
.item-card-image:not(.placeholder){padding:3px;box-sizing:border-box}
.profile-photo-lg img,.profile-photo-sm img,.customer-profile-mini img,.user-avatar img,.cb-role-avatar img,.avatar-sm img{padding:0}

/* v0.6.0 — narrow desktop card action fix
   When 6 cards/row makes each card too narrow, move Add below price. */
.item-card{container-type:inline-size}
@container (max-width: 178px){
  .item-card-body>.d-flex.mt-2{
    grid-template-columns:1fr!important;
    align-items:stretch!important;
    gap:7px!important;
  }
  .item-card-body>.d-flex.mt-2 .item-price{
    width:100%!important;
    min-width:0!important;
    white-space:nowrap!important;
  }
  .item-card-body>.d-flex.mt-2 .card-add-btn{
    width:100%!important;
    min-width:0!important;
    justify-self:stretch!important;
  }
}

/* v0.6.0 smart menu-media sizing
   Keep the COMPLETE image visible, but do not waste a tall media area on narrow cards. */
.item-card{
  container-type:inline-size;
}
.item-card-image{
  display:block!important;
  width:100%!important;
  height:156px!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:0!important;
  margin:0!important;
  background:#fff!important;
}
.item-card-image.placeholder{
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(135deg,#f6f7fa,#fbfbfd)!important;
}

/* 6-column / very narrow cards */
@container (max-width:165px){
  .item-card-image{height:116px!important}
  .item-card-body{padding-top:10px!important}
}

/* 5-column cards */
@container (min-width:166px) and (max-width:195px){
  .item-card-image{height:132px!important}
}

/* 4-column / medium cards */
@container (min-width:196px) and (max-width:245px){
  .item-card-image{height:150px!important}
}

/* wider cards */
@container (min-width:246px){
  .item-card-image{height:170px!important}
}

/* Mobile: preserve 3-card layout without oversized blank image zones. */
@media(max-width:767.98px){
  .item-card-image{height:104px!important}
}
@media(max-width:390px){
  .item-card-image{height:92px!important}
}

/* v0.6.0 FINAL menu media presentation
   Fill the complete card media area with the uploaded item image.
   This intentionally prioritizes a clean edge-to-edge card over letterboxing. */
.item-card-image:not(.placeholder){
  width:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center center!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:#f5f6f8!important;
}
.item-card-image.placeholder{
  padding:0!important;
  margin:0!important;
  border:0!important;
}

/* Balanced media depth for configurable menu grids. */
.item-card-image{height:156px!important}
@container (max-width:165px){
  .item-card-image{height:128px!important}
}
@container (min-width:166px) and (max-width:195px){
  .item-card-image{height:142px!important}
}
@container (min-width:196px) and (max-width:245px){
  .item-card-image{height:160px!important}
}
@container (min-width:246px){
  .item-card-image{height:180px!important}
}
@media(max-width:767.98px){
  .item-card-image{height:112px!important}
}
@media(max-width:390px){
  .item-card-image{height:102px!important}
}

/* POS instant item search — scoped to staff POS only. */
.pos-item-search-wrap{position:relative;z-index:25}
.pos-item-search-box{position:relative;display:flex;align-items:center}
.pos-item-search-box>i{position:absolute;left:15px;z-index:2;color:#8a8da0;font-size:1rem;pointer-events:none}
.pos-item-search-box .form-control{height:46px;padding-left:43px;padding-right:44px;border-radius:12px;background:#fff;border:1px solid #dfe2eb;box-shadow:0 4px 15px rgba(31,35,48,.04);font-weight:650}
.pos-item-search-box .form-control:focus{border-color:rgba(var(--cb-primary-rgb),.55);box-shadow:0 0 0 3px rgba(var(--cb-primary-rgb),.11)}
.pos-item-search-clear{position:absolute;right:8px;width:32px;height:32px;border:0;border-radius:9px;background:#f5f6f9;color:#6f7282;display:grid;place-items:center}
.pos-item-search-clear:hover{background:var(--cb-primary-light);color:var(--cb-primary-dark)}
.pos-item-search-results{position:absolute;top:calc(100% + 7px);left:0;right:0;z-index:90;background:#fff;border:1px solid #e2e4ec;border-radius:14px;box-shadow:0 18px 45px rgba(30,35,48,.16);max-height:430px;overflow:auto;padding:6px}
.pos-search-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch;border-bottom:1px solid #f0f1f5}
.pos-search-result:last-child{border-bottom:0}
.pos-search-result-main{min-width:0;border:0;background:transparent;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:11px;text-align:left;padding:8px;border-radius:10px;color:inherit}
.pos-search-result-main:hover{background:#f8f9fb}
.pos-search-result-main img,.pos-search-result-placeholder{width:52px;height:52px;border-radius:9px;border:1px solid #eceef3;background:#fff;object-fit:contain;display:grid;place-items:center;overflow:hidden}
.pos-search-result-placeholder{background:#f6f7f9;color:#a4a7b2}
.pos-search-result-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
.pos-search-result-copy strong{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pos-search-result-copy small{font-size:.69rem;color:var(--cb-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pos-search-result-main>b{font-size:.78rem;color:#c50042;white-space:nowrap;padding-left:4px}
.pos-search-result-add{align-self:center;border:0;border-radius:10px;background:var(--cb-primary-light);color:var(--cb-primary-dark);height:38px;padding:0 12px;font-size:.72rem;font-weight:850;display:flex;align-items:center;gap:6px;white-space:nowrap}
.pos-search-result-add:hover{background:var(--cb-primary);color:#fff}
.pos-search-empty{display:flex;align-items:center;justify-content:center;gap:9px;padding:22px;color:var(--cb-muted);font-size:.78rem;font-weight:700}
.item-card.pos-search-highlight{outline:3px solid rgba(var(--cb-primary-rgb),.28);outline-offset:2px;box-shadow:0 10px 28px rgba(var(--cb-primary-rgb),.16)!important}
@media(max-width:575.98px){.pos-item-search-box .form-control{height:44px;font-size:.78rem}.pos-item-search-results{max-height:min(410px,62vh)}.pos-search-result-main{grid-template-columns:46px minmax(0,1fr);gap:9px}.pos-search-result-main img,.pos-search-result-placeholder{width:46px;height:46px}.pos-search-result-main>b{grid-column:2;padding-left:0;font-size:.72rem;margin-top:-5px}.pos-search-result-add{padding:0 10px}.pos-search-result-add span{display:none}}

/* Receipt redesign + bill customer credit summary */
.customer-credit-summary{border:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,#fff7ed 0%,#ffffff 100%);border-radius:18px;padding:12px 14px;margin-bottom:10px}
.customer-credit-summary .text-danger{color:#b45309!important}

.receipt-modern{font-family:Arial,Helvetica,sans-serif;color:#111827;background:#fff;width:80mm;margin:0 auto;padding:2.8mm 3.2mm;font-size:11px;line-height:1.35;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.receipt-shell{border:1px solid #d7dce5;border-radius:14px;padding:10px 10px 12px;background:#fff;overflow:hidden}
.receipt-brand{display:flex;align-items:center;gap:10px;border-bottom:2px solid #d29a24;padding-bottom:8px;margin-bottom:10px}
.receipt-brand-logo{max-width:24mm;max-height:16mm;width:auto;height:auto;object-fit:contain;display:block}
.receipt-brand-copy{flex:1;min-width:0;text-align:center}
.receipt-brand-title{font-size:20px;line-height:1.06;font-weight:800;color:#111827}
.receipt-brand-meta{font-size:10px;color:#374151;margin-top:4px;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}
.receipt-brand-sep{color:#a16207;font-weight:700}
.receipt-meta-panel{border:1px dashed #9ca3af;border-radius:12px;padding:8px 9px;margin-bottom:10px;background:#fcfcfd}
.receipt-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px}
.receipt-meta-cell span{display:block;font-size:8.8px;letter-spacing:.03em;text-transform:uppercase;color:#6b7280;margin-bottom:1px}
.receipt-meta-cell strong{display:block;font-size:11.3px;color:#111827;line-height:1.25}
.receipt-table-head,.receipt-line{display:grid;grid-template-columns:16px 1.55fr 28px 52px 58px;gap:6px;align-items:start}
.receipt-table-head{background:#f3f4f6;border-radius:10px;padding:7px 6px;font-weight:800;margin-bottom:3px}
.receipt-table-head span:nth-child(1),.receipt-line span:nth-child(1),.receipt-table-head span:nth-child(3),.receipt-line span:nth-child(3){text-align:center}
.receipt-table-head span:nth-child(4),.receipt-line span:nth-child(4),.receipt-table-head span:nth-child(5),.receipt-line span:nth-child(5){text-align:right}
.receipt-line{padding:7px 4px;border-bottom:1px dashed #d1d5db}
.receipt-line span:nth-child(2){font-weight:700;line-height:1.24}
.receipt-line small{display:block;margin-top:2px;font-size:8.5px;font-weight:500;color:#6b7280}
.receipt-totals{padding-top:8px;margin-top:2px}
.receipt-totals-list{max-width:64%;margin-left:auto}
.receipt-totals-list>div{display:flex;justify-content:space-between;gap:8px;padding:2px 0}
.receipt-totals-list span{color:#374151}
.receipt-totals-list strong{font-weight:700}
.receipt-grand-total{margin-top:7px;background:linear-gradient(90deg,#f5e8c9 0%,#d49214 100%);color:#111;border-radius:12px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:800}
.receipt-grand-total strong{font-size:15px}
.receipt-credit-box{margin-top:10px;border:1px dashed #d29a24;background:#fffaf0;border-radius:12px;padding:8px 10px}
.receipt-credit-title{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#92400e;margin-bottom:6px}
.receipt-credit-box>div{display:flex;justify-content:space-between;gap:8px;padding:2px 0}
.receipt-credit-balance{margin-top:3px;padding-top:5px;border-top:1px dashed #d4b16a;font-weight:800}
.receipt-bottom-meta{display:flex;justify-content:space-between;gap:8px;border-top:1px dashed #cbd5e1;border-bottom:1px dashed #cbd5e1;padding:8px 0;margin-top:10px;font-size:10px;font-weight:700}
.receipt-qr-row{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:8px;align-items:end;padding-top:10px}
.receipt-qr-card{text-align:center}
.receipt-qr-box{border:1px solid #d1d5db;border-radius:10px;padding:5px;background:#fff;display:flex;align-items:center;justify-content:center;min-height:76px}
.receipt-qr-box svg{width:100%;height:auto;max-width:72px;display:block}
.receipt-qr-label{font-size:9px;font-weight:700;margin-top:4px;color:#374151}
.receipt-thankyou{text-align:center;padding:0 2px}
.receipt-thankyou-main{font-size:18px;line-height:1.05;font-weight:800;font-family:"Brush Script MT","Segoe Script",cursive;color:#111827}
.receipt-thankyou-sub{font-size:11px;font-weight:700;margin-top:2px}
.receipt-footer-note{font-size:8.5px;color:#4b5563;margin-top:5px;line-height:1.35}
.receipt-small-note{text-align:center;font-size:8px;color:#6b7280;margin-top:6px}
.receipt-powered-center{text-align:center;font-size:8px;color:#374151;margin-top:10px;padding-top:7px;border-top:1px dashed #cbd5e1;font-weight:700;letter-spacing:.03em}

@media print{
  .thermal-receipt,.thermal-receipt *{visibility:visible!important}
  .receipt-modern{display:block!important;position:absolute;left:0;top:0;width:80mm!important;margin:0!important;padding:2mm 2.6mm!important;box-shadow:none!important}
  .receipt-shell{border-color:#d7dce5!important;box-shadow:none!important}
}

/* KDS per-item unavailable / cancel controls */
.kds-item-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.kds-item-copy{min-width:0;flex:1}
.kds-item-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;flex:0 0 auto}
.kds-item-cancel{font-weight:700;border-radius:9px;white-space:nowrap}
.kds-offer-lock{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#f3f4f6;color:#6b7280}
@media(max-width:575.98px){.kds-item-row{gap:8px}.kds-item-actions{gap:5px}.kds-item-cancel{padding:.28rem .5rem;font-size:.73rem}}

/* Thermal printers: force receipt artwork/text to strong black for legibility */
@media print{
  .receipt-modern,.receipt-modern *{color:#000!important;text-shadow:none!important;box-shadow:none!important}
  .receipt-modern .receipt-shell{border-color:#000!important}
  .receipt-modern .receipt-brand{border-bottom-color:#000!important}
  .receipt-modern .receipt-brand-meta,.receipt-modern .receipt-meta-cell span,.receipt-modern .receipt-footer-note,.receipt-modern .receipt-small-note,.receipt-modern .receipt-qr-label{color:#000!important}
  .receipt-modern .receipt-meta-panel,.receipt-modern .receipt-credit-box,.receipt-modern .receipt-qr-box{background:#fff!important;border-color:#000!important}
  .receipt-modern .receipt-table-head{background:#fff!important;border:1px solid #000!important}
  .receipt-modern .receipt-line{border-bottom-color:#000!important}
  .receipt-modern .receipt-line small{color:#000!important}
  .receipt-modern .receipt-grand-total{background:#fff!important;color:#000!important;border:2px solid #000!important}
  .receipt-modern .receipt-credit-title{color:#000!important}
  .receipt-modern .receipt-credit-balance,.receipt-modern .receipt-bottom-meta,.receipt-modern .receipt-powered-center{border-color:#000!important}
  .receipt-modern .receipt-powered-center{font-weight:900!important;font-size:9px!important;color:#000!important}
  .receipt-modern svg path{fill:#000!important}
  .receipt-modern svg rect{fill:#fff!important}
}

/* Delivery dispatch print + customer previous due */
.dispatch-print-btn{font-weight:800;border-width:1.5px}
.delivery-customer-due{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(239,68,68,.18);background:#fff7f7;border-radius:14px;padding:12px 14px}
.delivery-customer-due>div{display:flex;flex-direction:column;gap:2px}
.delivery-customer-due strong{font-size:15px}

/* Compact action/status notifications: replaces full-width flash alerts only */
.cb-flash-toast-wrap{position:fixed;top:86px;right:18px;z-index:1125;display:flex;flex-direction:column;gap:10px;width:min(360px,calc(100vw - 28px));pointer-events:none}
.cb-flash-toast{pointer-events:auto;display:flex!important;align-items:center;min-height:58px;width:100%;max-width:360px;border:1px solid #e5e7eb!important;border-radius:16px!important;background:#fff!important;color:#111827!important;box-shadow:0 14px 40px rgba(15,23,42,.16)!important;overflow:hidden;opacity:0;transform:translateX(16px);transition:opacity .18s ease,transform .18s ease}
.cb-flash-toast.show{opacity:1;transform:translateX(0)}
.cb-flash-toast .toast-body{flex:1;padding:12px 6px 12px 10px;font-size:.88rem;font-weight:650;line-height:1.35}
.cb-flash-icon{width:38px;height:38px;margin-left:10px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto;font-size:1.05rem}
.cb-flash-close{flex:0 0 auto;margin:0 12px 0 6px;opacity:.55;font-size:.72rem}
.cb-flash-success{border-left:4px solid #16a34a!important}.cb-flash-success .cb-flash-icon{background:#ecfdf3;color:#15803d}
.cb-flash-danger{border-left:4px solid #dc2626!important}.cb-flash-danger .cb-flash-icon{background:#fef2f2;color:#dc2626}
.cb-flash-warning{border-left:4px solid #d97706!important}.cb-flash-warning .cb-flash-icon{background:#fff7ed;color:#c2410c}
.cb-flash-info{border-left:4px solid #2563eb!important}.cb-flash-info .cb-flash-icon{background:#eff6ff;color:#2563eb}
@media(max-width:767.98px){.cb-flash-toast-wrap{top:72px;right:10px;width:calc(100vw - 20px)}.cb-flash-toast{max-width:none}.cb-flash-toast .toast-body{font-size:.84rem}}
@media print{.cb-flash-toast-wrap{display:none!important}}

/* KDS compact unavailable icon + ticket print button */
.kds-item-cancel{width:34px;height:34px;min-width:34px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;border-radius:10px!important}
.kds-item-cancel i{margin:0!important;font-size:14px;line-height:1}
.kds-ticket-print{border-radius:10px}
@media(max-width:575.98px){.kds-item-cancel{width:30px;height:30px;min-width:30px}.kds-ticket-print{font-size:.82rem;padding:.5rem .75rem}}

/* Inventory & shift closing */
.inventory-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.inventory-shift-head{border-left:4px solid var(--cb-primary)}
.inventory-product-card{height:100%}
.inventory-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.inventory-metrics>div{background:#f8fafc;border:1px solid #e8ecf2;border-radius:14px;padding:10px 12px;min-width:0}
.inventory-metrics small{display:block;color:#7c8496;font-size:11px;margin-bottom:3px}
.inventory-metrics strong{display:block;font-size:15px;line-height:1.25;word-break:break-word}
.inventory-metrics .inventory-profit{background:#ecfdf5;border-color:#bbf7d0}
.inventory-metrics .inventory-profit strong{color:#087f5b}
.inventory-metrics .inventory-short{background:#fff1f2;border-color:#fecdd3}
.inventory-metrics .inventory-short strong{color:#dc2626}
.inventory-metrics .inventory-ok{background:#eff6ff;border-color:#bfdbfe}
.inventory-close-product{border:1px solid #e5e7eb;border-radius:16px;padding:13px;background:#fff;height:100%}
@media(max-width:575.98px){.inventory-metrics{grid-template-columns:1fr 1fr}.inventory-tabs .btn{flex:1 1 auto}.inventory-shift-head .h4{font-size:17px}}
.inventory-howto{border:1px solid #e7e9f2;background:linear-gradient(180deg,#ffffff 0%,#fbfbff 100%)}
.inventory-step-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.inventory-step{display:flex;align-items:center;gap:9px;border:1px solid #e8eaf2;border-radius:14px;padding:10px;background:#fff;min-width:0}
.inventory-step>b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#f1f3f8;color:#697085;flex:0 0 auto;font-size:12px}
.inventory-step span{min-width:0}.inventory-step strong,.inventory-step small{display:block}.inventory-step strong{font-size:12px}.inventory-step small{font-size:10px;color:#7c8496;line-height:1.2;margin-top:2px}
.inventory-step.done{border-color:#b7ebd0;background:#f0fff7}.inventory-step.done>b{background:#16a36a;color:#fff}
.inventory-saved-product{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;color:inherit;border:1px solid #e7e9ef;border-radius:12px;padding:10px 12px;background:#fff}
.inventory-saved-product:hover,.inventory-saved-product.active{border-color:var(--cb-primary);background:var(--cb-primary-light)}
.inventory-saved-product strong,.inventory-saved-product small{display:block}.inventory-saved-product small{color:#7c8496;font-size:11px;margin-top:2px}
@media(max-width:1199.98px){.inventory-step-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:575.98px){.inventory-step-grid{grid-template-columns:1fr 1fr}.inventory-step{padding:8px}.inventory-step>b{width:24px;height:24px}}

/* Inventory simple v3 */
.inventory-simple-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.inventory-simple-start{border:1px solid rgba(16,185,129,.3)}
.inventory-simple-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.inventory-simple-title h2{font-size:22px;font-weight:800;margin:0 0 5px}.inventory-simple-title p{margin:0;color:#7b8194}
.inventory-simple-divider{display:flex;align-items:center;gap:10px;color:#7b8194;font-size:12px;font-weight:700;text-transform:uppercase}.inventory-simple-divider:before,.inventory-simple-divider:after{content:"";height:1px;background:#e7e9f2;flex:1}
.inventory-simple-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.inventory-simple-card{height:100%;overflow:hidden}.inventory-simple-card h3{font-size:22px;font-weight:800;margin:8px 0 2px}.inventory-simple-card p{margin:0;color:#7b8194;font-size:13px}.inventory-simple-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-size:20px;background:#fff0f5;color:var(--cb-primary)}
.inventory-simple-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.inventory-simple-metrics>div{border:1px solid #eceef5;background:#fafbfe;border-radius:14px;padding:12px;min-width:0}.inventory-simple-metrics .wide{grid-column:span 3;background:#f7fff9;border-color:#ccebd6}.inventory-simple-metrics small{display:block;color:#868ca0;margin-bottom:4px}.inventory-simple-metrics strong{display:block;font-size:16px;word-break:break-word}.milk-card{border-top:3px solid #1ea76f}.cig-card{border-top:3px solid #1f223f}.inventory-simple-detail{max-height:460px;overflow:auto}.inventory-simple-detail thead{position:sticky;top:0;background:#fff;z-index:1}
@media(max-width:767.98px){.inventory-simple-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-simple-metrics .wide{grid-column:span 2}.inventory-simple-title,.inventory-simple-head{flex-direction:column}.inventory-simple-card h3{font-size:19px}}


/* Simple purchase register + POS sales */
.inventory-register-page{max-width:1500px}
.inventory-register-form{border-top:3px solid var(--bs-success,#198754)}
.inventory-register-stat{border:1px solid #e8ecef;border-radius:14px;padding:14px 16px;background:#fff;height:100%}
.inventory-register-stat small{display:block;color:#6c757d;font-weight:700;margin-bottom:4px}
.inventory-register-stat strong{font-size:1.15rem}
.inventory-register-table th{white-space:nowrap;font-size:.82rem;color:#667085;text-transform:uppercase;letter-spacing:.02em}
.inventory-register-table td{vertical-align:middle}
.inventory-buy-qty{display:inline-flex;padding:.35rem .6rem;border-radius:999px;background:#f3f4f6;font-weight:800;white-space:nowrap}
.inventory-pos-match{font-weight:700;max-width:320px;white-space:normal}
@media(max-width:767.98px){.inventory-register-form .form-control,.inventory-register-form .form-select{min-height:44px}.inventory-register-table-wrap{overflow-x:auto}.inventory-register-table{min-width:900px}}

/* Kitchen notes, credit bill inspection and opt-in live kitchen bell. */
.kitchen-cart-item{min-width:0;flex:1}
.kitchen-note-label{display:block;font-size:11px;font-weight:700;color:#965a30;margin-top:8px}
.kitchen-note-input{margin-top:4px;width:100%;background:#fffbef!important;border-color:#f2daa7!important;font-size:12px!important;min-height:34px}
.kitchen-note-input:focus{border-color:#ec4899!important;box-shadow:0 0 0 .14rem rgba(236,72,153,.15)!important}
.kds-kitchen-note{display:block;margin-top:6px;padding:7px 10px;color:#853200;background:#fff1d6;border-left:3px solid #fb923c;border-radius:6px;font-size:12px;font-weight:800;white-space:pre-wrap;overflow-wrap:anywhere}
.kds-general-note{margin-bottom:8px;padding:9px;background:#fff7e5;border:1px solid #f6d39a;border-radius:8px;color:#833600;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}
.credit-order-view{min-width:36px}
.credit-bill-summary{background:#f8fafc;padding:12px 14px;border-radius:12px}
.credit-bill-summary>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:6px 0;border-bottom:1px solid #e9ecef}
.credit-bill-summary>div:last-child{border-bottom:0}
.credit-bill-due{font-weight:800;color:#b9184a}
.kitchen-bell-toggle{position:relative;flex-shrink:0}
.kitchen-bell-armed{color:#e00064!important;background:#fff1f7!important;box-shadow:inset 0 0 0 2px #ff8cb4}
.kitchen-bell-indicator{position:absolute;right:3px;top:2px;font-size:12px;line-height:10px;color:#f00669}
.kitchen-new-toast{position:fixed;top:89px;right:18px;z-index:1090;background:#fff;color:#202139;padding:16px;max-width:340px;width:calc(100vw - 36px);border-radius:13px;box-shadow:0 10px 50px #15143338;border:2px solid #f6006c}
.kitchen-new-toast[hidden]{display:none!important}
.kitchen-new-toast-title{display:flex;align-items:center;color:#c6005b;margin-bottom:8px}
.kitchen-new-toast-title strong{flex:1}
.kitchen-new-toast-title button{border:0;background:transparent;font-size:24px;color:#6f7385}
.kitchen-new-toast>a{margin-top:12px;display:block;background:#ef0b67;color:white!important;padding:9px;text-decoration:none;text-align:center;border-radius:8px;font-weight:800}

.kds-head-instructions{min-width:0;flex:1;margin:0 9px;padding:6px 9px;border:1px solid #ffcd6b;background:#292238;border-radius:8px;color:#fff5ce;max-height:106px;overflow-y:auto;font-size:12px;line-height:1.3;overflow-wrap:anywhere}
.kds-head-instructions strong{display:block;color:#ffb846;letter-spacing:.3px;font-size:10px;margin-bottom:3px}
.kds-head-instructions span{display:block;white-space:pre-wrap;font-weight:700;margin-top:3px}
@media(max-width:480px){.kds-head-instructions{margin:5px 6px;padding:5px;font-size:11px}}

/* Mobile header bell: independent of the generic .top-icon hide rule and icon font. */
.cb-mobile-bell-quick{display:none;position:relative;place-items:center;width:42px;height:42px;min-width:42px;flex:0 0 42px;padding:0;border:1px solid #ffd0e3;border-radius:12px;background:#fff3f8;color:#d40860;cursor:pointer}
.cb-mobile-bell-quick svg{display:block;width:21px;height:21px}
.cb-mobile-bell-quick:hover,.cb-mobile-bell-quick:focus-visible{background:#ffe4ef;color:#b90450;outline-offset:2px}
@media(max-width:767.98px){
  .cb-top-actions .top-icon.kitchen-bell-toggle{display:none!important}
  .cb-top-actions .cb-mobile-bell-quick{display:grid!important}
  .cb-top-actions .user-chip{padding:4px 6px}
  .cb-topbar{gap:8px}
}
.cb-mobile-bell-settings{display:flex;align-items:center;gap:13px;width:100%;padding:13px 15px;border:1px solid #ffc0db;background:#fff0f7;border-radius:13px;font-weight:800;color:#bc0050;text-align:left;margin-bottom:14px}
.cb-mobile-bell-settings i:first-child{font-size:1.1rem}
.cb-bell-modal{border-radius:18px;overflow:hidden}
.cb-bell-modal .modal-header{border-bottom:1px solid #eaeaf3}
.cb-bell-modal .cb-bell-status{padding:12px;border-radius:12px;background:#fff2f4;color:#a11c38;font-weight:800;border:1px solid #ffd4de}
.cb-bell-modal .cb-bell-status.is-on{background:#eafaf1;color:#13693e;border-color:#aeebcb}
.cb-bell-modal .cb-bell-message:empty{display:none}
.cb-bell-modal .cb-bell-message{padding:9px 11px;background:#f7f7fa;border-radius:9px}

/* 2026-11: Single static Meezan payment QR in thermal receipts. */
.receipt-bank-qr-row{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);gap:5px;align-items:center;padding:7px 0 3px;width:100%}
.receipt-bank-qr-card,.receipt-bank-thankyou{min-width:0}
.receipt-bank-qr-box{padding:2px!important;border:1.4px solid #1e7146!important;border-radius:8px!important;min-height:0!important;overflow:hidden}
.receipt-bank-qr-box img{display:block;width:100%;height:auto;max-width:none;object-fit:contain;image-rendering:auto}
.receipt-bank-qr-row .receipt-qr-label{font-size:8px;letter-spacing:.01em;line-height:1.25;white-space:normal}
.receipt-bank-due{font-size:8px;font-weight:700;margin-top:2px;line-height:1.2;color:#111}
.receipt-bank-thankyou{border:1.4px solid #1e7146;border-radius:8px;text-align:center;padding:7px 3px;align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;overflow-wrap:anywhere}
.receipt-bank-thankyou .receipt-thankyou-main{font-size:14px;line-height:1.1}
.receipt-bank-thankyou .receipt-thankyou-sub{font-size:10px}
.receipt-bank-thankyou .receipt-footer-note{font-size:8px;line-height:1.3}
.receipt-bank-thankyou .receipt-footer-brand{max-height:27px;max-width:78%;object-fit:contain;margin-top:3px}
@media print{.receipt-bank-qr-row,.receipt-bank-qr-card,.receipt-bank-thankyou{break-inside:avoid;page-break-inside:avoid}.receipt-bank-qr-box,.receipt-bank-thankyou{border-color:#000!important}.receipt-bank-qr-box img{filter:contrast(1.2)}}

/* Customer Previous Due stays red on screens, but prints in solid clear black. */
@media print {
  .receipt-modern .cb-previous-bill-red,
  .receipt-modern .cb-previous-bill-label,
  .receipt-modern .receipt-totals-list .cb-previous-bill-red,
  .receipt-modern .receipt-credit-box .cb-previous-bill-red,
  .receipt-modern .receipt-credit-box .cb-previous-bill-label {
    color:#000 !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-weight:900 !important;
    text-shadow:none !important;
    -webkit-text-stroke:0 !important;
    opacity:1 !important;
  }
}
