:root{--purple:#6d4aff;--blue:#2f6bff;--teal:#14b8a6;--ink:#1f2340;--bg:#f5f6fb}
body{background:var(--bg);color:var(--ink)}
.btn-brand{background:linear-gradient(135deg,var(--purple),var(--blue));color:#fff;border:0}
.btn-brand:hover{color:#fff;filter:brightness(1.08)}
.login-bg{background:linear-gradient(135deg,var(--purple) 0%,var(--blue) 55%,var(--teal) 100%)}
.login-head{background:linear-gradient(135deg,var(--purple),var(--blue))}
.login-card{border-radius:1rem;overflow:hidden}
.stat-card{border:0;border-radius:.9rem;box-shadow:0 2px 10px rgba(31,35,64,.06)}
.stat-card-link{transition:transform .15s ease,box-shadow .15s ease}
.stat-card-link:hover,.stat-card-link:focus-visible{transform:translateY(-2px);box-shadow:0 5px 16px rgba(31,35,64,.12);color:var(--ink)}
.stat-card-link:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.admin-profile-link{display:flex;align-items:center;gap:.55rem;color:inherit;text-decoration:none}
.admin-profile-link:hover{color:var(--blue)}
.admin-profile-avatar{width:34px;height:34px;object-fit:cover;border-radius:50%;border:1px solid #dfe2ee}
.admin-profile-preview{width:88px;height:88px;object-fit:cover;border-radius:50%;border:2px solid #e8e9f3}
.owner-profile-link{display:flex;align-items:center;gap:.55rem;color:inherit;text-decoration:none}
.owner-profile-link:hover{color:var(--blue)}
.owner-profile-avatar{width:34px;height:34px;object-fit:cover;border-radius:50%;border:1px solid #dfe2ee}
.owner-profile-preview{width:88px;height:88px;object-fit:cover;border-radius:50%;border:2px solid #e8e9f3}
.owner-notification-link{position:relative;display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border:1px solid #e3e5ef;border-radius:.65rem;background:#fff;color:#626780;text-decoration:none;font-size:1.15rem}
.owner-notification-link:hover,.owner-notification-link:focus-visible{color:var(--blue);border-color:var(--blue)}
.owner-notification-count{position:absolute;top:-6px;right:-6px;min-width:18px;padding:1px 4px;border-radius:999px;background:#dc3545;color:#fff;text-align:center;font-size:.65rem;font-weight:700;line-height:1.35}
.admin-notification-link{position:relative;display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border:1px solid #e3e5ef;border-radius:.65rem;background:#fff;color:#626780;text-decoration:none;font-size:1.15rem}
.admin-notification-link:hover,.admin-notification-link:focus-visible{color:var(--blue);border-color:var(--blue)}
.admin-notification-badge,.admin-notification-count{min-width:18px;padding:1px 4px;border-radius:999px;background:#dc3545;color:#fff;text-align:center;font-size:.65rem;font-weight:700;line-height:1.35}
.admin-notification-badge{position:absolute;top:-6px;right:-6px}
.admin-notification-count{margin-left:auto}
.admin-notification-link.admin-notification-new{animation:admin-notification-pulse .6s ease-in-out 2}
@keyframes admin-notification-pulse{50%{transform:scale(1.16);box-shadow:0 0 0 5px rgba(220,53,69,.15)}}
.pos-layout{align-items:stretch}
.pos-cart-card{height:calc(100vh - 150px);min-height:620px;display:flex;flex-direction:column}
.pos-cart-items{flex:1;overflow:auto;min-height:220px}
.pos-empty{height:100%;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;color:#8589a3;text-align:center;padding:1.5rem}
.pos-empty strong{font-size:1.35rem}
.pos-empty span{font-size:1.15rem}
#posItemCount{font-size:1rem}
.pos-empty i{font-size:2rem;color:#c6c8d5}
.pos-empty-products{grid-column:1/-1}
.pos-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;max-height:calc(100vh - 190px);min-height:400px;overflow:auto;padding:.15rem}
.product-pagination{display:flex;align-items:center;justify-content:center;gap:.8rem;margin:1rem 0;padding:.65rem;border:1px solid #dfe2ee;border-radius:.75rem;background:#fff}
.product-pagination .btn{min-width:6rem}
.product-pagination .btn:disabled{opacity:.55}
.product-pagination[hidden]{display:none!important}
.pos-pagination{margin:.75rem 0}
.row>[data-store-product][hidden]{display:none!important}
.pos-product-wrap{position:relative;min-width:0}
.pos-product{display:flex;width:100%;min-width:0;flex-direction:column;text-align:left;background:#fff;border:1px solid #e8e9f3;border-radius:.9rem;padding:.65rem;transition:border-color .15s,transform .15s,box-shadow .15s}
.pos-product:hover,.pos-product:focus-visible{border-color:var(--purple);transform:translateY(-2px);box-shadow:0 4px 14px rgba(31,35,64,.1);outline:0}
.pos-product-wrap[hidden],.pos-product[hidden]{display:none}
.pos-product img{width:100%;height:110px;object-fit:contain;border-radius:.5rem;background:#f8f8fc;margin-bottom:.5rem}
.pos-product-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pos-product-meta{font-size:.76rem;color:#8589a3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pos-product-price{display:flex;justify-content:space-between;align-items:center;gap:.3rem;color:var(--purple);font-weight:700;margin-top:.4rem}
.pos-camera-reader{width:100%;min-height:220px;overflow:hidden;border-radius:.75rem;background:#111}
.pos-camera-reader video{width:100%!important;max-height:55vh;object-fit:cover}
.pos-camera-reader #qr-shaded-region{border-color:var(--teal)!important}
.order-board-body{min-height:100vh;background:var(--bg)}
.order-board-login{max-width:480px}
.board-stat{height:100%;border:0;border-radius:.85rem;box-shadow:0 2px 10px rgba(31,35,64,.06)}
.board-stat strong{display:block;font-size:2rem;color:var(--ink)}
.board-stat-new{border-left:4px solid #ffc107}
.board-stat-complete{border-left:4px solid #198754}
.order-board-print{position:absolute;width:0;height:0;overflow:hidden}
.order-board-print-frame{position:fixed;left:-10000px;width:1px;height:1px;border:0}
.pos-cart-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:.65rem;padding:.8rem 1rem;border-bottom:1px solid #f0f0f5}
.pos-cart-name{display:flex;min-width:0;flex-direction:column}
.pos-cart-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pos-cart-name span{font-size:.78rem;color:#8589a3}
.pos-quantity{display:flex;align-items:center;gap:.5rem}
.pos-quantity button,.pos-remove{width:30px;height:30px;border:1px solid #e4e5ef;border-radius:.5rem;background:#fff;color:var(--purple)}
.pos-remove{color:#dc3545}
.pos-line-total{white-space:nowrap}
.pos-totals>div{display:flex;justify-content:space-between;padding:.25rem 0;color:#656982}
.pos-totals .pos-grand-total{margin-top:.35rem;padding-top:.65rem;border-top:1px solid #e8e9f3;color:var(--ink);font-size:1.1rem;font-weight:700}
@media(max-width:991.98px){.pos-cart-card{height:auto;min-height:0}.pos-cart-items{max-height:38vh}.pos-products{max-height:none;min-height:300px}}
@media(max-width:575.98px){.pos-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.pos-product{padding:.5rem}.pos-product img{height:90px}.pos-cart-row{grid-template-columns:minmax(0,1fr) auto auto;gap:.4rem;padding:.7rem}.pos-line-total{grid-column:1}.pos-remove{grid-column:3;grid-row:1}}
.pos-screen:fullscreen,.pos-screen.pos-default{box-sizing:border-box;width:100%;height:100vh;overflow:auto;padding:1rem;background:var(--bg)}
.pos-screen:fullscreen .pos-layout,.pos-screen.pos-default .pos-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,.9fr);gap:1rem;margin:0}
.pos-screen:fullscreen .pos-layout>.pos-products-section,.pos-screen.pos-default .pos-layout>.pos-products-section{grid-column:1;order:0;width:auto;max-width:none;padding:0}
.pos-screen:fullscreen .pos-layout>.pos-cart-section,.pos-screen.pos-default .pos-layout>.pos-cart-section{grid-column:2;order:0;width:auto;max-width:none;padding:0}
.pos-screen:fullscreen .pos-cart-card,.pos-screen.pos-default .pos-cart-card{height:calc(100vh - 125px);min-height:0}
.pos-screen:fullscreen .pos-cart-items,.pos-screen.pos-default .pos-cart-items{min-height:160px}
.pos-screen:fullscreen .pos-empty strong,.pos-screen.pos-default .pos-empty strong{font-size:1.45rem}
.pos-screen:fullscreen .pos-empty span,.pos-screen.pos-default .pos-empty span{font-size:1.2rem}
.pos-screen:fullscreen #posItemCount,.pos-screen.pos-default #posItemCount{font-size:1.05rem}
.pos-screen:fullscreen .pos-products,.pos-screen.pos-default .pos-products{max-height:calc(100vh - 250px);min-height:calc(100vh - 300px);grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}
.pos-screen:fullscreen .pos-product,.pos-screen.pos-default .pos-product{padding:.45rem}
.pos-screen:fullscreen .pos-product img,.pos-screen.pos-default .pos-product img{height:90px}
.pos-screen:fullscreen .pos-product-name,.pos-screen.pos-default .pos-product-name{font-size:.88rem}
.pos-screen:fullscreen .pos-product-meta,.pos-screen.pos-default .pos-product-meta{font-size:.68rem}
.pos-screen:fullscreen .pos-product-price,.pos-screen.pos-default .pos-product-price{font-size:.88rem;margin-top:.25rem}
.pos-screen:fullscreen .pos-cart-card>.card-body,.pos-screen.pos-default .pos-cart-card>.card-body{padding:.5rem;overflow-y:auto}
.pos-screen:fullscreen .pos-cart-card>.card-body .row.g-2,.pos-screen.pos-default .pos-cart-card>.card-body .row.g-2{row-gap:.35rem!important}
.pos-screen:fullscreen .pos-cart-card>.card-body .form-label,.pos-screen.pos-default .pos-cart-card>.card-body .form-label{margin-bottom:.2rem;font-size:.85rem}
.pos-screen:fullscreen .pos-cart-card>.card-body .form-control,.pos-screen.pos-default .pos-cart-card>.card-body .form-control{padding:.35rem .55rem;font-size:.9rem}
.pos-screen:fullscreen .pos-cart-card>.card-body .pos-totals,.pos-screen.pos-default .pos-cart-card>.card-body .pos-totals{display:flex;flex-direction:column;gap:.2rem;margin-top:.55rem!important;width:100%}
.pos-screen:fullscreen .pos-cart-card>.card-body .pos-totals>div,.pos-screen.pos-default .pos-cart-card>.card-body .pos-totals>div{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:.2rem 0;font-size:.88rem}
.pos-screen:fullscreen .pos-cart-card>.card-body .pos-totals .pos-grand-total,.pos-screen.pos-default .pos-cart-card>.card-body .pos-totals .pos-grand-total{margin:.15rem 0 0;padding:.45rem 0 0;border-top:1px solid #e8e9f3;font-size:1rem}
.pos-screen:fullscreen #posSaleForm,.pos-screen.pos-default #posSaleForm{margin-top:.45rem!important}
.pos-screen:fullscreen #posComplete,.pos-screen.pos-default #posComplete{padding:.45rem .65rem;font-size:1rem}
.barcode-edit-form{min-width:220px}
.barcode-edit-form .barcode-input{max-width:180px}
.barcode-inline{display:block;width:180px;max-width:100%;height:38px;margin:.2rem 0}
.barcode-label{box-sizing:border-box;width:var(--label-width,50mm);height:var(--label-height,30mm);display:flex;flex-direction:column;align-items:center;justify-content:space-between;overflow:hidden;padding:1.5mm;border:1px dashed #bbb;background:#fff;color:#111;text-align:center;font-family:Arial,sans-serif}
.barcode-label strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9pt}
.barcode-label svg{display:block;width:100%;max-height:17mm}
.barcode-label span{font-size:8pt}
#barcodePrintArea{display:none}
@media print{
 @page{margin:4mm}
 body *{visibility:hidden!important}
 #barcodePrintArea,#barcodePrintArea *{visibility:visible!important}
 #barcodePrintArea{position:fixed;inset:0;display:flex!important;align-content:flex-start;align-items:flex-start;flex-wrap:wrap;gap:2mm;background:#fff}
 .barcode-label{break-inside:avoid}
}
@media(max-width:767.98px){
 .pos-screen:fullscreen .pos-layout,.pos-screen.pos-default .pos-layout{grid-template-columns:minmax(0,1fr)}
 .pos-screen:fullscreen .pos-layout>.pos-products-section,.pos-screen.pos-default .pos-layout>.pos-products-section,
 .pos-screen:fullscreen .pos-layout>.pos-cart-section,.pos-screen.pos-default .pos-layout>.pos-cart-section{grid-column:1}
 .pos-screen:fullscreen .pos-products,.pos-screen.pos-default .pos-products{grid-template-columns:repeat(4,minmax(0,1fr))}
 .pos-screen:fullscreen .pos-cart-card,.pos-screen.pos-default .pos-cart-card{height:auto}
}
.report-chart{position:relative;width:100%}
.report-chart-sales{height:320px}
.report-chart-status{height:320px}
@media(max-width:575.98px){.report-chart-sales,.report-chart-status{height:280px}}
.app-shell{display:flex;min-height:100vh}
.sidebar{width:250px;background:linear-gradient(180deg,#3b2a8f,#2a4bbf 70%,#0f8f85);color:#fff;flex-shrink:0}
@media(min-width:992px){.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column}}
.sidebar-brand{padding:1.2rem 1.2rem;font-weight:700;font-size:1.15rem;display:flex;align-items:center;gap:.5rem}
.sidebar-brand small{opacity:.7;font-weight:400}
.sidebar .nav{padding:.5rem .75rem;flex:1}
.sidebar .nav-link{color:rgba(255,255,255,.82);border-radius:.6rem;padding:.65rem .9rem;display:flex;gap:.65rem;align-items:center}
.sidebar .nav-link:hover,.sidebar .nav-link.active{background:rgba(255,255,255,.16);color:#fff}
.sidebar .nav-link.pos-nav-link{position:relative;isolation:isolate;overflow:hidden}
.sidebar .nav-link.pos-nav-link:before{content:"";position:absolute;inset:0;border:2px solid transparent;border-radius:inherit;background:linear-gradient(110deg,#ffe600,#fff38a,#ffe600) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:pos-border-pulse 2s ease-in-out infinite;pointer-events:none}
.sidebar .nav-link.pos-nav-link>*{position:relative}
.owner-order-count{margin-left:auto;min-width:1.35rem;padding:.05rem .35rem;border-radius:999px;background:#dc3545;color:#fff;text-align:center;font-size:.72rem;font-weight:700;line-height:1.35}
@keyframes pos-border-pulse{0%,100%{opacity:.35}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.sidebar .nav-link.pos-nav-link:before{animation:none;opacity:.75}}
.main{flex:1;min-width:0}
.topbar{background:#fff;display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-bottom:1px solid #e8e9f3;position:sticky;top:0;z-index:5}
.content{padding:1.25rem}
.pos-page{overflow:hidden}
.pos-page .app-shell{display:block;height:100vh;min-height:0}
.pos-page .sidebar,.pos-page .topbar{display:none!important}
.pos-page .main{width:100%;height:100vh}
.pos-page .content{height:100vh;padding:0;overflow:auto}
.stat-card .icon{width:48px;height:48px;border-radius:.8rem;display:grid;place-items:center;color:#fff;font-size:1.4rem}
.bg-g1{background:linear-gradient(135deg,#6d4aff,#8f73ff)}.bg-g2{background:linear-gradient(135deg,#2f6bff,#5b8dff)}
.bg-g3{background:linear-gradient(135deg,#14b8a6,#3dd6c4)}.bg-g4{background:linear-gradient(135deg,#f59e0b,#fbbf24)}
.shop-logo{width:42px;height:42px;object-fit:cover;border-radius:.6rem;background:#eee}
.admin-login-logo{display:block;width:100%;max-width:250px;max-height:145px;object-fit:contain;margin:0 auto}
.admin-sidebar-brand{flex-wrap:wrap}
.admin-sidebar-brand img{width:100%;max-width:190px;height:100px;object-fit:contain;background:#fff;border-radius:.6rem}
.directory-nav{position:sticky;top:0;z-index:20;padding:.55rem 0;background:linear-gradient(135deg,var(--purple),var(--blue));box-shadow:0 2px 10px rgba(31,35,64,.12)}
.directory-brand-logo{display:block;width:150px;height:64px;object-fit:contain;border-radius:.4rem;background:#fff}
.directory-nav .customer-language .dropdown-toggle::after{display:none}
.directory-nav .customer-language .dropdown-menu{min-width:10rem}
.qr-box{background:#fff;border:1px solid #e8e9f3;border-radius:1rem;padding:1.25rem;text-align:center}
.qr-box canvas{max-width:100%;height:auto}
.store-directory-body{min-height:100vh;background:radial-gradient(ellipse at 12% 4%,rgba(109,74,255,.12),transparent 35%),radial-gradient(ellipse at 90% 90%,rgba(20,184,166,.1),transparent 32%),linear-gradient(145deg,#f7f8ff 0%,#f1f4ff 50%,#f5fbfa 100%)}
.directory-header{padding:1.4rem 1rem 1.1rem}
.directory-shop-grid{max-width:1240px;margin-inline:auto}
.directory-shop-card{border:1px solid rgba(222,225,241,.9);border-radius:.9rem;background:rgba(255,255,255,.94);box-shadow:0 5px 20px rgba(42,55,105,.08);transition:transform .18s ease,box-shadow .18s ease}
.directory-shop-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(42,55,105,.13)}
.directory-shop-card .card-body{padding:1rem}
.directory-shop-logo{width:64px;height:64px;object-fit:cover;border-radius:.8rem;background:#f8f8fc}
.directory-shop-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid #e8e9f3;border-radius:.65rem;padding:.35rem;background:#fff}
.directory-shop-qr{display:block;width:128px;height:128px;max-width:100%}
@media(max-width:575.98px){
 .directory-header{padding:.5rem .25rem}
 .directory-shop-grid{--bs-gutter-x:.5rem;--bs-gutter-y:.5rem}
 .directory-shop-card{border-radius:.65rem}
 .directory-shop-card .card-body{padding:.45rem .3rem}
 .directory-shop-card h2{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem}
 .directory-shop-logo{width:40px;height:40px;border-radius:.55rem}
 .directory-shop-link{padding:.2rem}
 .directory-shop-qr{width:76px;height:76px}
 .directory-shop-card .btn{font-size:.58rem;padding:.25rem .1rem;white-space:nowrap}
 .directory-brand-logo{width:105px;height:48px}
 .directory-nav .btn{font-size:.72rem;padding:.3rem .45rem}
 .directory-phone-label{display:none}
}
.table-card{border:0;border-radius:.9rem;box-shadow:0 2px 10px rgba(31,35,64,.06)}
.btn-teal{background:var(--teal);color:#fff;border:0}.btn-teal:hover{color:#fff;filter:brightness(1.08)}
.bg-teal{background:var(--teal)!important;color:#fff}
.timeline li{border-left:3px solid var(--purple);padding:0 0 1rem 1rem;position:relative}
.timeline li:before{content:"";position:absolute;left:-8px;top:2px;width:13px;height:13px;border-radius:50%;background:var(--teal)}
.timeline li:last-child{padding-bottom:0}
.store-body{background:#f6f5ff}
.store-nav{background:linear-gradient(135deg,var(--purple),var(--blue));padding:.6rem 0;position:sticky;top:0;z-index:20}
.customer-language .dropdown-toggle::after{display:none}
.customer-language-flag{margin-left:.2rem}
.customer-language .dropdown-menu{min-width:10rem}
.customer-offer-placement{position:fixed;top:50%;right:0;z-index:30;display:flex;justify-content:center;margin:0;transform:translateY(-50%);pointer-events:none}
.customer-offer-button{pointer-events:auto;display:flex;width:44px;height:104px;padding:.5rem .3rem;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;border:2px solid #ffc107;border-right:0;border-radius:14px 0 0 14px;font-weight:700;line-height:1;box-shadow:0 4px 14px rgba(31,35,64,.2);animation:customer-offer-blink 1.2s ease-in-out infinite}
.customer-offer-button img{width:30px;height:24px;object-fit:contain;border-radius:.2rem;background:#fff}
.customer-offer-button span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.78rem}
@media(max-width:575.98px){
 .customer-offer-placement{right:0}
 .customer-offer-button{width:38px;height:82px;border-radius:12px 0 0 12px}
 .customer-offer-button img{width:26px;height:20px}
}
.customer-offer-modal .modal-dialog{max-width:fit-content}
.customer-offer-modal .modal-content{position:relative;width:auto;background:transparent;border:0;align-items:center}
.customer-offer-image-wrap{position:relative;line-height:0}
.customer-offer-close{position:absolute;top:.55rem;right:.55rem;z-index:2;display:grid;place-items:center;width:2.1rem;height:2.1rem;border:1px solid rgba(255,255,255,.85);border-radius:50%;background:rgba(20,24,40,.78);color:#fff;font-size:.95rem}
.customer-offer-close:hover,.customer-offer-close:focus-visible{background:#111;color:#fff}
.customer-offer-image{display:block;max-width:min(92vw,900px);max-height:78vh;margin:auto;object-fit:contain;border:4px solid #ffc107;border-radius:1rem;animation:customer-offer-border-blink 1.1s ease-in-out infinite}
.customer-offer-title{margin-top:.6rem;color:#fff;font-weight:700;text-align:center;text-shadow:0 1px 4px #000}
.customer-offer-buy-form{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:.35rem 0 0}
.customer-offer-quantity-label{color:#fff;font-weight:600}
.customer-offer-quantity{width:5rem;text-align:center}
.customer-offer-buy-button{margin-top:.5rem;padding:.45rem 1.1rem;border-radius:999px;font-weight:700;box-shadow:0 4px 14px rgba(31,35,64,.2)}
@media(max-width:575.98px){
 .customer-offer-image{max-width:min(76vw,420px);max-height:52vh;border-width:3px;border-radius:.85rem}
 .customer-offer-modal .modal-dialog{width:calc(100% - 1rem);max-width:360px;margin:.5rem auto}
 .customer-offer-modal .modal-content{width:100%;align-items:center}
 .customer-offer-image-wrap{max-width:100%;margin-inline:auto}
 .customer-offer-image{margin-inline:auto}
 .customer-offer-close{top:.45rem;right:.45rem;width:1.8rem;height:1.8rem;font-size:.8rem}
 .customer-offer-title{margin-top:.4rem;font-size:.9rem}
 .customer-offer-buy-form{gap:.35rem;margin-top:.25rem}
 .customer-offer-quantity-label{font-size:.8rem}
 .customer-offer-quantity{width:3.5rem;padding:.25rem .4rem;font-size:.85rem}
 .customer-offer-buy-button{margin-top:.4rem;padding:.4rem .9rem;font-size:.82rem}
}
.flatpickr-calendar{border:1px solid #dfe2ee;border-radius:.7rem;box-shadow:0 8px 24px rgba(31,35,64,.16);font-family:inherit}
.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover{background:var(--blue);border-color:var(--blue)}
.flatpickr-day.today{border-color:var(--blue)}
.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eef2ff}
@media(max-width:575.98px){
 .flatpickr-calendar.open{width:calc(100vw - 1rem);max-width:360px}
 .flatpickr-calendar.hasTime .flatpickr-innerContainer,.flatpickr-calendar.hasTime .flatpickr-rContainer,.flatpickr-calendar.hasTime .flatpickr-days,.flatpickr-calendar.hasTime .dayContainer{width:100%;min-width:0;max-width:none}
 .flatpickr-calendar.hasTime .flatpickr-time{height:42px;max-height:42px}
}
@keyframes customer-offer-blink{0%,100%{opacity:1}50%{opacity:.55}}
@keyframes customer-offer-border-blink{0%,100%{border-color:#ffc107;box-shadow:0 0 0 0 rgba(255,193,7,.15)}50%{border-color:#ff3d81;box-shadow:0 0 0 5px rgba(255,61,129,.28)}}
@media(prefers-reduced-motion:reduce){.customer-offer-button,.customer-offer-image{animation:none}}
.store-hero{background:linear-gradient(135deg,var(--purple),var(--blue) 60%,var(--teal));color:#fff;border-radius:1rem;padding:1.1rem}
.hero-logo{width:72px;height:72px;border-radius:1rem;object-fit:cover;background:#fff}
.chips{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.25rem;-webkit-overflow-scrolling:touch}
.chip{white-space:nowrap;padding:.35rem .9rem;border-radius:2rem;background:#fff;border:1px solid #dcd8ff;color:var(--ink);text-decoration:none;font-size:.9rem}
.chip.active{background:var(--purple);color:#fff;border-color:var(--purple)}
.product-card{border:0;border-radius:.9rem;overflow:hidden;box-shadow:0 2px 10px rgba(31,35,64,.07)}
@media(min-width:992px){.product-card{max-width:none}}
.product-card.js-add{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}
.product-card.js-add:hover,.product-card.js-add:focus{transform:translateY(-2px);box-shadow:0 5px 16px rgba(31,35,64,.14);outline:2px solid var(--purple);outline-offset:1px}
.product-card.product-unavailable{opacity:.65}
.product-card .card-img-top{aspect-ratio:1/1;object-fit:cover;background:#eee}
.product-card .card-body{padding:.75rem}
.product-info{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.25rem}
.product-name{font-size:.95rem;font-weight:600;line-height:1.25;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.price{font-weight:700;color:var(--purple);font-size:1.05rem}
.product-info .price{white-space:nowrap;text-align:right}
.product-quantity-control{display:flex;align-items:center;justify-content:center;gap:.55rem;margin-top:.55rem;padding:.2rem;background:#f0efff;border-radius:2rem}
.product-quantity-button{width:2rem;height:2rem;border:0;border-radius:50%;background:var(--purple);color:#fff;font-size:1.2rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.product-quantity-button:disabled{opacity:.4;cursor:not-allowed}
.product-quantity-value{min-width:1.2rem;text-align:center;font-size:.9rem;font-weight:600}
.product-card[aria-busy="true"] .product-quantity-control{opacity:.6;pointer-events:none}
.line-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cart-badge{position:absolute;top:-6px;right:-6px;font-size:.65rem}
.cart-bar{position:static;display:block;width:max-content;min-width:220px;max-width:100%;margin:1rem auto;background:var(--teal);color:#fff;text-align:center;padding:.8rem 1.5rem;border-radius:.9rem;font-weight:600;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.store-body main{padding-bottom:5rem}
@media(max-width:575.98px){
 .product-card{border-radius:.65rem}
 .product-card .card-body{padding:.4rem}
 .store-body{font-size:13px}
 .store-nav{padding:.35rem 0}
 .store-nav .container{gap:.3rem!important}
 .store-nav .shop-logo{width:28px;height:28px}
 .store-nav strong{font-size:.82rem}
 .store-nav .btn{font-size:.7rem;padding:.25rem .35rem}
 .store-nav .btn i{font-size:.75rem}
 .store-body main{padding-top:.65rem!important}
 .store-body .input-group .form-control,
 .store-body .input-group .btn,
 .store-body .input-group .input-group-text{font-size:.78rem;padding:.4rem .5rem}
 .chip{font-size:.7rem;padding:.25rem .6rem}
 .product-name{font-size:.62rem!important;line-height:1.2}
 .product-info .price{font-size:.58rem!important;line-height:1.2}
 .product-quantity-control{gap:.25rem;margin-top:.35rem;padding:.12rem}
 .product-quantity-button{width:1.45rem;height:1.45rem;font-size:.95rem}
 .product-quantity-value{min-width:1rem;font-size:.68rem}
 .cart-bar{font-size:.78rem;padding:.6rem;border-radius:.7rem}
 .store-body footer{font-size:.68rem}
}
.cart-img{width:60px;height:60px;object-fit:cover;border-radius:.6rem;background:#eee}
.cart-quantity{width:max-content}
.cart-quantity-count{min-width:1.5rem;text-align:center;font-weight:600}
.qty-step{min-width:2rem;padding:.15rem .5rem;font-size:1.1rem;line-height:1.35}
.steps{display:flex;gap:.25rem}.step{flex:1;text-align:center;font-size:.7rem;color:#999}
.step span{display:block;height:6px;border-radius:3px;background:#e3e0f7;margin-bottom:.35rem}.step.done span{background:var(--teal)}.step.done{color:var(--ink)}
@media print{.sidebar,.topbar,.no-print,.store-nav,.cart-bar{display:none!important}.content{padding:0}}
/* Logout text visibility fix */
.sidebar a, .sidebar button, .logout-btn, sidebar .nav-link {
    color: #7a7272 !important;
}
sidebar {
    color: #6d6666;
}
/* Sidebar overflow fix for logout */
.sidebar, nav.sidebar, .d-flex.flex-column.flex-shrink-0 {
    min-height: 100vh;
    height: 100%;
    overflow-y: auto;
    padding-bottom: 40px !important;
}

.sidebar .mt-auto, .logout-section {
    margin-bottom: 30px !important;
}
/* Sidebar text clarity and hover blink effect */
.sidebar .nav-link, 
.sidebar a, 
.sidebar span, 
.sidebar i,
.sidebar .nav-link span {
    color: #ffffff !important;
    opacity: 1 !important;
    font-weight: 500;
    transition: all 0.2s ease-in-out;
}

/* Hover & Blink effect when cursor moves over */
.sidebar .nav-link:hover, 
.sidebar a:hover {
    color: #ffeb3b !important; /* Bright yellow color on hover */
    background-color: rgba(255, 255, 255, 0.15) !important;
    border-radius: 6px;
    animation: cursorBlink 0.8s infinite alternate;
}

@keyframes cursorBlink {
    0% {
        opacity: 1;
        transform: scale(1);
    }
    100% {
        opacity: 0.5;
        transform: scale(1.01);
    }
}