*{box-sizing:border-box}body{margin:0;font:15px Inter,system-ui,Arial;background:#f3f6fb;color:#15233b}button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:9px;padding:11px 15px;background:#2563eb;color:white;font-weight:650}button:hover{filter:brightness(.94)}button.secondary{background:#e7eefc;color:#1d3b70}button.danger{background:#fee2e2;color:#991b1b}input,select{border:1px solid #d5dfed;border-radius:9px;padding:11px;background:white;min-width:0}.login{max-width:390px;margin:11vh auto;background:white;border-radius:20px;padding:35px;box-shadow:0 18px 50px #1e3a8a17}.login input,.login button{width:100%;margin-top:12px}.muted{color:#71819b}.shell{display:flex;min-height:100vh}.sidebar{width:240px;background:#0e1b33;color:white;padding:26px 17px;flex-shrink:0}.brand{font-size:22px;font-weight:900;letter-spacing:1px;margin:0 10px 35px}.nav{display:block;width:100%;text-align:left;margin:5px 0;background:transparent;color:#aebbd1}.nav.active,.nav:hover{background:#24436d;color:white}.main{flex:1;padding:32px;min-width:0}.top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:25px 0}.card,.panel{background:white;border:1px solid #e5ebf4;border-radius:15px;padding:22px;box-shadow:0 3px 15px #1e3a8a08}.number{font-size:29px;font-weight:850;margin-top:10px}.grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.product{padding:16px;background:#f1f6ff;border:1px solid #dfe8f8;color:#19365d;text-align:left;min-height:95px}.product strong{display:block;margin-bottom:8px}.cartline{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #e7edf5}.cartline button{padding:5px 10px}.total{font-size:26px;font-weight:850;margin:22px 0}.tablewrap{overflow:auto}.table{border-collapse:collapse;width:100%;background:white}.table th,.table td{padding:13px;border-bottom:1px solid #e8edf5;text-align:left;white-space:nowrap}.table th{background:#f5f8fd;color:#526783}.form{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.form input{flex:1;min-width:140px}.pill{display:inline-block;padding:5px 10px;border-radius:20px;background:#dcfce7;color:#166534}.error{color:#b91c1c;margin-top:10px}.receipt{font:13px monospace;max-width:300px;margin:auto;background:white;padding:15px}.receipt h2{text-align:center}.receipt .line{display:flex;justify-content:space-between;gap:10px}.receipt hr{border:0;border-top:1px dashed #777}@media(max-width:850px){.shell{display:block}.sidebar{width:auto;padding:14px}.brand{margin:0 0 10px}.nav{display:inline-block;width:auto}.main{padding:15px}.grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.products{grid-template-columns:repeat(2,1fr)}}@media print{body *{visibility:hidden!important}#printArea,#printArea *{visibility:visible!important}#printArea{position:absolute;left:0;top:0;width:80mm!important;padding:0!important;margin:0!important}.sidebar,.main{display:none!important}@page{size:80mm auto;margin:3mm}}

.qr-image{width:220px;height:220px;object-fit:contain;background:#fff;border:1px solid #d5dfed;border-radius:12px;padding:10px;display:block;margin:15px auto}.qr-overlay{position:fixed;inset:0;background:#0b1834bb;display:grid;place-items:center;z-index:1000;padding:16px}.qr-dialog{background:white;border-radius:20px;padding:24px;max-width:440px;width:100%;text-align:center;max-height:95vh;overflow:auto}.verify{display:flex;align-items:center;gap:9px;text-align:left;margin:18px 0}.qr-actions{display:flex;gap:10px}.qr-actions button{flex:1}.qr-actions button:disabled{opacity:.45;cursor:not-allowed}

.product-photo{display:block;width:56px;height:56px;object-fit:cover;border-radius:9px;border:1px solid #e1e8f2;background:#f1f5fa}.product-placeholder{display:grid;place-items:center;font-size:26px}.product .product-photo{width:100%;height:115px;object-fit:contain;margin-bottom:10px;background:white}.edit-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:15px}.edit-form label{display:flex;flex-direction:column;gap:7px;font-weight:600}.edit-form input{width:100%}.edit-form input[type=checkbox]{width:auto}.edit-form button{margin:5px 4px 5px 0}

/* Thermal receipt: browser printing, 80mm default. Set printer paper width to 58mm if needed. */
.receipt{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.45;color:#000;background:#fff;width:72mm;max-width:none;margin:0 auto;padding:2mm;overflow-wrap:anywhere}.receipt h2{font-size:16px;margin:0 0 5px;text-align:center}.receipt-center{text-align:center}.receipt-rule{border-top:1px dashed #333;margin:8px 0}.receipt .line{display:flex;justify-content:space-between;gap:8px}.receipt-item{margin:7px 0}.receipt-total{font-size:15px;margin:7px 0}.receipt small{font-size:9px}
@media print{@page{size:80mm auto;margin:0}html,body{margin:0!important;padding:0!important;background:white!important}#printArea{display:block!important;position:fixed!important;left:0!important;top:0!important;width:80mm!important;margin:0!important;padding:2mm!important}#printArea .receipt{width:100%!important;margin:0!important;padding:0!important}body *{visibility:hidden!important}#printArea,#printArea *{visibility:visible!important}}

/* v0.5: thermal roll printing. Avoid unsupported @page auto height. */
@media print {
 @page { size: 80mm 200mm; margin: 0; }
 html,body { width:80mm!important; height:auto!important; margin:0!important; padding:0!important; overflow:visible!important; }
 body > *:not(#printArea) { display:none!important; }
 #app { display:none!important; }
 #printArea { display:block!important; visibility:visible!important; position:static!important; width:80mm!important; padding:3mm 4mm!important; margin:0!important; break-after:avoid!important; }
 #printArea * { visibility:visible!important; }
 #printArea .receipt { width:72mm!important; padding:0!important; margin:0!important; font-size:11px!important; }
}

/* POS CLOUD retail + reporting upgrades */
.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}.product{min-height:350px!important;padding:16px!important}.product .product-photo{height:285px!important;width:100%!important;object-fit:contain!important;background:white!important;display:block!important}
.cartline{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:88px}.pos-cart-product{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.pos-cart-product .product-photo{width:72px!important;height:72px!important;min-width:72px!important;max-width:72px!important;object-fit:contain!important;border-radius:10px;background:#f1f5f9;border:1px solid #e2e8f0;padding:3px}.pos-cart-product>div:last-child{min-width:0}.cartline>div:last-child{display:flex;gap:5px;flex-shrink:0}
.qr-overlay{position:fixed!important;inset:0!important;background:rgba(15,23,42,.75)!important;display:flex!important;justify-content:center!important;align-items:center!important;z-index:9999!important;padding:16px!important;overflow-y:auto!important}.qr-dialog{width:min(96vw,620px)!important;max-width:620px!important;max-height:calc(100dvh - 32px)!important;overflow-y:auto!important;background:white!important;border-radius:20px!important;padding:28px!important;text-align:center!important;box-sizing:border-box!important}.qr-dialog .qr-image{display:block!important;width:min(100%,420px)!important;height:auto!important;max-height:420px!important;object-fit:contain!important;margin:18px auto!important;background:white!important;padding:8px!important;box-sizing:border-box!important}.qr-dialog .qr-actions{display:flex!important;gap:12px!important}.qr-dialog .qr-actions button{flex:1!important;min-height:54px!important}
.report-controls{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.report-controls form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.report-controls label{display:flex;flex-direction:column;gap:5px}.report-controls input{padding:10px;border:1px solid #dbe3f0;border-radius:8px}.report-cards{margin-bottom:16px}.report-progress{height:16px;border-radius:99px;background:#e5eaf4;overflow:hidden}.report-progress span{display:block;height:100%;background:#2563eb;border-radius:99px}.report-bars{display:flex;align-items:end;gap:4px;height:220px;overflow-x:auto;padding:14px 4px 0;border-bottom:1px solid #dbe3f0}.report-bar-col{display:flex;flex:1 0 18px;flex-direction:column;justify-content:end;align-items:center;height:100%;min-width:18px}.report-bar{width:80%;background:#2563eb;border-radius:5px 5px 0 0;min-height:0}.report-bar-col small{font-size:10px;color:#64748b;padding:5px 0}.report-monthly .report-bar-col{flex-basis:45px}
@media(max-width:600px){.products{grid-template-columns:1fr!important}.product .product-photo{height:250px!important}.qr-dialog{padding:16px!important}.qr-dialog .qr-image{width:min(100%,340px)!important}.pos-cart-product .product-photo{width:58px!important;height:58px!important;min-width:58px!important;max-width:58px!important}}

/* v1.5 Dashboard sales donut */
.target-chart-panel{margin-top:18px}.target-donut-wrap{display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap}.target-donut{width:min(100%,340px);height:auto}.target-legend{font-size:15px;line-height:1.9}.target-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:7px}.cash-amount{font-size:34px!important;color:#1d4ed8}.qr-dialog .verify{margin:16px 0;display:flex;align-items:center;justify-content:center;gap:8px}

.access-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px}.access-row{display:flex;align-items:center;justify-content:space-between;padding:10px;border:1px solid #e2e8f0;border-radius:9px}.access-row select{width:90px}.form textarea{width:100%;min-height:85px;padding:12px}


/* NOER Book & Brew — café editorial design system.
   Presentation-only overrides. All existing backend and POS workflows remain unchanged. */
:root{--noer-ink:#292b23;--noer-deep:#242c27;--noer-cream:#f5f2e9;--noer-paper:#fffdf7;--noer-sage:#dbe4d6;--noer-moss:#53634b;--noer-gold:#c6a77b;--noer-line:#e5dfd2;--noer-muted:#797d70}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',system-ui,sans-serif;background:var(--noer-cream);color:var(--noer-ink);font-size:14px}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 90% 3%,rgba(198,167,123,.16),transparent 28%),radial-gradient(circle at 5% 80%,rgba(122,151,119,.12),transparent 33%)}
h1,h2,h3,.number,.total{font-family:'DM Serif Display',Georgia,serif;letter-spacing:-.02em;font-weight:400}
h1{font-size:clamp(32px,3.2vw,49px);margin:4px 0 6px;line-height:1.12}
h3{font-size:24px;margin:0 0 16px}
.muted{color:var(--noer-muted)}
button{border-radius:12px;background:var(--noer-deep);color:#fffdf7;font-family:'DM Sans',sans-serif;font-weight:700;letter-spacing:.01em;transition:transform .18s,background .18s,box-shadow .18s}
button:hover{background:#46594a;filter:none;transform:translateY(-1px)}
button:active{transform:translateY(0)}
button.secondary{background:#ecece2;color:#354337}
button.secondary:hover{background:#dce6d9}
button.danger{background:#f9e7e2;color:#913f32}
input,select,textarea{border-color:var(--noer-line);border-radius:12px;background:#fffefa;color:var(--noer-ink)}
input:focus,select:focus,textarea:focus{outline:2px solid #a2b39d;outline-offset:1px;border-color:#8fa08b}
.shell{min-height:100vh}
.sidebar{width:258px;background:var(--noer-deep);color:#f8f4e9;padding:30px 19px;position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid #53624b}
.sidebar:before{content:"";display:block;width:100%;height:132px;border-radius:15px;margin:0 0 27px;background:linear-gradient(180deg,rgba(28,36,30,.08),rgba(28,36,30,.60)),url('/noer/noer-08.jpg') center 45% / cover;box-shadow:0 12px 30px #101c1430}
.brand{display:flex;align-items:center;gap:10px;font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:32px;letter-spacing:-.04em;margin:0 7px 4px}
.brand-mark{width:43px;height:43px;display:grid;place-items:center;border:1px solid #d7c4a3;border-radius:50%;color:#f4e4c5;font-size:25px}
.brand-stack{display:flex;flex-direction:column;line-height:.9}
.brand-secondary{display:block;font:600 10px 'DM Sans',sans-serif;letter-spacing:.26em;margin-top:8px;color:#e1d3b6}
.sidebar-tagline{margin:0 9px 26px;font-size:10px;letter-spacing:.27em;color:#c4c9ba}
.sidebar-tagline span{color:var(--noer-gold)}
.sidebar>p{font-size:12px!important;letter-spacing:.06em;color:#bdc5b9!important;margin-bottom:21px}
.nav{padding:13px 15px;border-radius:12px;font-size:13px;color:#cbd1c6;margin:5px 0}
.nav.active,.nav:hover{background:#435247;color:#fff;box-shadow:inset 3px 0 0 #d3b58a}
#logout{margin-top:20px;border-top:1px solid #586257;border-radius:0;padding-top:20px}
.main{padding:38px clamp(18px,3.5vw,56px) 65px;background:transparent}
.top{border-bottom:1px solid var(--noer-line);padding-bottom:22px}
.eyebrow{color:#7e846e;letter-spacing:.21em;font-size:10px;font-weight:700}
.pill{background:#e6ecdd;color:#425a3f;padding:10px 15px;border:1px solid #d2dec8;font-size:11px;letter-spacing:.03em;font-weight:700}
.online-dot{display:inline-block;width:7px;height:7px;background:#789969;border-radius:50%;margin-right:7px}
.card,.panel{background:var(--noer-paper);border:1px solid var(--noer-line);border-radius:20px;padding:25px;box-shadow:0 12px 38px rgba(55,50,35,.035)}
.cards{gap:19px}
.card{background:linear-gradient(145deg,#fffef9,#f3f1e7);position:relative;overflow:hidden}
.card:after{content:"N.";position:absolute;right:12px;bottom:-24px;font:100px 'DM Serif Display',serif;color:rgba(79,103,75,.06);pointer-events:none}
.number{font-size:36px;color:#3d5340}
.table{background:transparent}
.table th{background:#e9eee5;color:#4f6150;font-size:11px;letter-spacing:.07em;text-transform:uppercase}
.table td{border-color:#ebe6dc}
.table tr:hover td{background:#f7f8f2}
.table th:first-child{border-radius:10px 0 0 10px}
.table th:last-child{border-radius:0 10px 10px 0}
.product{min-height:315px!important;background:#f8f8f1;border:1px solid #e3e6da;border-radius:18px!important;color:#344436;text-align:left;box-shadow:0 5px 17px #3d4a3420;overflow:hidden}
.product:hover{background:#f0f3e9;border-color:#b8c6ae;box-shadow:0 15px 35px #3d4a342b}
.product .product-photo{height:235px!important;border-radius:12px;background:#f2f4ed!important;border:0}
.product strong{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:21px;margin:10px 0 5px}
.product:disabled{opacity:.55;cursor:not-allowed}
.product-photo{background:#f0f3eb;border:1px solid #e4e7df;border-radius:12px}
.cartline{border-color:var(--noer-line)}
.total{font-size:31px;color:#425941}
.qr-dialog{border-radius:25px!important;background:#fffdf7!important;box-shadow:0 25px 90px #141c1690}
.qr-dialog h2{font-size:29px}
.qr-dialog .qr-image{border:1px solid #e9e5dd;background:white}
.qr-overlay{background:rgba(25,34,29,.8)!important;backdrop-filter:blur(5px)}
.qr-image{border-color:#e8e5db}
.report-progress{background:#e4e7db}.report-progress span,.report-bar{background:#697e61}
.login{max-width:430px;margin:10vh auto;background:linear-gradient(145deg,#fffefa,#f1efe5);border:1px solid #e1ddcf;border-radius:26px;padding:42px;box-shadow:0 28px 80px #4d574520;position:relative}
.login:before{content:"N.";display:grid;place-items:center;width:67px;height:67px;background:#304136;color:#f5e6c9;border-radius:50%;font:39px 'DM Serif Display',serif;margin:0 auto 19px}
.login h1{text-align:center;font:39px 'DM Serif Display',Georgia,serif;color:#2d4033;margin:0 0 15px}
.login .brand-secondary{display:inline-block;color:#637260;vertical-align:middle;font-size:10px}
.login>p{text-align:center;letter-spacing:.12em;font-size:11px}
.login-subline{display:block;letter-spacing:0;margin:10px auto 22px;font-size:13px;color:#778073}
.login button{padding:14px}
#content>.panel:first-child{position:relative}
#content>.panel:first-child:before{content:"";display:block;width:47px;height:3px;border-radius:3px;background:var(--noer-gold);margin:0 0 15px}
.form{align-items:center}
.form button{min-height:44px}
.edit-form label{font-weight:600;color:#455447}
@media(min-width:1350px){.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:1000px){.sidebar{width:215px}.main{padding:24px}.product .product-photo{height:200px!important}}
@media(max-width:850px){.sidebar{position:relative;width:auto;height:auto;padding:16px}.sidebar:before{display:none}.brand{margin-bottom:12px}.sidebar-tagline{display:none}.nav{display:inline-block;width:auto;padding:10px}.main{padding:20px}.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}.product{min-height:230px!important}.product .product-photo{height:160px!important}}
@media(max-width:540px){.products{grid-template-columns:1fr!important}.product .product-photo{height:230px!important}.main{padding:15px}.card,.panel{padding:17px}.login{margin:6vh 14px;padding:28px}.top{align-items:flex-start}.pill{font-size:10px}}
@media print{body:before{display:none!important}.receipt,.receipt *{font-family:ui-monospace,Consolas,monospace!important}.sidebar{display:none!important}}

/* NOER official transparent wordmark */
.noer-login-logo{display:block;width:min(285px,75vw);height:auto;margin:0 auto 14px;object-fit:contain}
.noer-sidebar-logo{display:block;width:175px;max-width:100%;height:auto;object-fit:contain}
.sidebar .brand{display:flex;align-items:center;justify-content:center;padding:14px 8px}

/* KeepTrackbyzack premium platform branding */
.kt-logo{font-size:25px;font-weight:900;letter-spacing:-1px;color:#e8c785;line-height:1.2}.kt-logo span{display:block;font-size:15px;letter-spacing:3px;color:#f5f5f5}.kt-login{background:#142239;border-radius:12px;padding:22px;margin-bottom:16px}.sidebar{background:#101b2e!important}.sidebar-tagline{font-size:10px;letter-spacing:2px;color:#d9b76c!important}.nav.active{border-left:3px solid #d9b76c!important}

/* v3.5: receipt preview and independent 80mm print root */
.kt-receipt-overlay{position:fixed;inset:0;z-index:20000;background:rgba(9,20,40,.78);display:flex;align-items:center;justify-content:center;padding:16px}
.kt-receipt-dialog{background:#edf2f8;border-radius:14px;padding:18px;max-width:480px;width:100%;max-height:95vh;overflow:auto;color:#15233b}
.kt-receipt-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.kt-receipt-toolbar button{padding:9px 12px}
.kt-receipt-paper{width:80mm;max-width:100%;margin:auto;background:#fff;padding:4mm;box-shadow:0 4px 18px #0002}
.kt-receipt-paper .receipt{width:100%;max-width:none;padding:0;margin:0;font-size:11px;color:#000}
#ktStandalonePrintArea{display:none}
@media print{
 @page{size:80mm 200mm;margin:0}
 html,body{width:80mm!important;height:auto!important;overflow:visible!important;margin:0!important;padding:0!important;background:white!important}
 body>*{display:none!important}
 body>#ktStandalonePrintArea{display:block!important;visibility:visible!important;position:static!important;width:80mm!important;padding:3mm 4mm!important;margin:0!important;background:white!important}
 #ktStandalonePrintArea,#ktStandalonePrintArea *{visibility:visible!important;display:revert-layer}
 #ktStandalonePrintArea .receipt{display:block!important;width:72mm!important;margin:0!important;padding:0!important;color:#000!important}
 #ktStandalonePrintArea .receipt .line{display:flex!important}
 #ktStandalonePrintArea .receipt-center{text-align:center!important}
}

/* v3.6 branding: merchant logo top, platform mark after logout at bottom */
.sidebar{display:flex;flex-direction:column}
.sidebar:before{display:none!important}
.sidebar .merchant-brand{display:flex;justify-content:center;align-items:center;min-height:110px;margin:0 0 12px!important;padding:12px 6px!important;text-align:center}
.merchant-brand-logo{max-width:100%;max-height:115px;object-fit:contain}
.sidebar-footer{margin-top:auto;padding:18px 8px 4px;text-align:center;border-top:1px solid #465168}
.sidebar-footer .kt-logo{font-size:23px}
.sidebar-footer .sidebar-tagline{display:block!important;margin:12px 0 0}
#logout{margin-top:16px}
@media(max-width:850px){.sidebar-footer{margin-top:18px}}

/* KeepTrack Mobile Menu v3.7 */
.kt-mobile-menu-btn,
.kt-mobile-overlay {
  display: none;
}

@media (max-width:850px) {
  .shell {
    display: block !important;
  }

  .sidebar {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    width: min(310px, 85vw) !important;
    height: 100dvh !important;
    z-index: 10002 !important;
    padding: 25px 18px !important;
    overflow-y: auto !important;
    display: flex !important;
    flex-direction: column !important;
    transform: translateX(105%);
    transition: transform .25s ease;
    box-shadow: -15px 0 40px #0003;
  }

  body.kt-menu-open .sidebar {
    transform: translateX(0);
  }

  .sidebar .nav {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    padding: 13px 15px !important;
  }

  .kt-mobile-menu-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: calc(12px + env(safe-area-inset-top));
    right: 15px;
    z-index: 10004;
    width: 45px;
    height: 45px;
    border-radius: 12px;
    background: #101b2e;
    color: white;
    font-size: 27px;
    box-shadow: 0 4px 15px #0002;
  }

  .kt-mobile-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 10001;
    background: #0009;
  }

  body.kt-menu-open .kt-mobile-overlay {
    display: block;
  }

  .main {
    padding-top: 70px !important;
  }

  .top {
    padding-right: 45px;
  }
}

@media print {
  .kt-mobile-menu-btn,
  .kt-mobile-overlay {
    display: none !important;
  }
}

/* KeepTrack v3.7 - Mobile Menu LEFT */
@media (max-width:850px) {
  .kt-mobile-menu-btn {
    left: 15px !important;
    right: auto !important;
  }

  .sidebar {
    left: 0 !important;
    right: auto !important;
    transform: translateX(-105%) !important;
    box-shadow: 15px 0 40px #0003 !important;
  }

  body.kt-menu-open .sidebar {
    transform: translateX(0) !important;
  }

  .top {
    padding-left: 45px !important;
    padding-right: 0 !important;
  }
}

/* KeepTrack v3.8 — Mobile Cashier Cart */
.kt-cart-toggle,
.kt-cart-backdrop,
.kt-cart-close {
  display: none;
}

@media (max-width:850px) {
  body.kt-cashier-mobile .main {
    padding-bottom: 105px !important;
  }

  body.kt-cashier-mobile .grid {
    display: block !important;
  }

  body.kt-cashier-mobile .grid > .panel:nth-child(2) {
    position: fixed !important;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10012;
    max-height: 88dvh;
    overflow-y: auto;
    background: white;
    border-radius: 24px 24px 0 0;
    padding: 22px 18px calc(22px + env(safe-area-inset-bottom));
    transform: translateY(105%);
    transition: transform .25s ease;
    box-shadow: 0 -15px 45px #0002;
  }

  body.kt-cart-open .grid > .panel:nth-child(2) {
    transform: translateY(0);
  }

  .kt-cart-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: fixed;
    bottom: calc(15px + env(safe-area-inset-bottom));
    left: 15px;
    right: 15px;
    z-index: 10010;
    background: #101b2e;
    color: white;
    border-radius: 16px;
    padding: 17px 20px;
    box-shadow: 0 8px 25px #0004;
  }

  .kt-cart-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: #0009;
    z-index: 10011;
  }

  body.kt-cart-open .kt-cart-backdrop {
    display: block;
  }

  .kt-cart-close {
    display: block;
    margin-left: auto;
    margin-bottom: 12px;
    background: #e7eefc;
    color: #101b2e;
  }

  body.kt-cart-open {
    overflow: hidden;
  }
}

@media print {
  .kt-cart-toggle,
  .kt-cart-backdrop,
  .kt-cart-close {
    display: none !important;
  }
}
