:root{
  --maroon:#7b1018;--maroon-2:#981d27;--yellow:#f0a61b;--yellow-2:#ffc247;
  --ink:#211a1b;--muted:#75686a;--bg:#f6f3ef;--card:#fff;--line:#eaded8;
  --green:#16794b;--red:#b3261e;--blue:#295c9b;--shadow:0 12px 35px rgba(77,31,20,.10);
  --sidebar:270px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);overscroll-behavior-x:none}
button,input,select,textarea{font:inherit}button{cursor:pointer}
body{display:flex;min-height:100vh;overflow-x:hidden}
#sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:linear-gradient(180deg,#681017,#89151f 60%,#5b0d13);color:#fff;padding:18px 14px max(14px,env(safe-area-inset-bottom));z-index:40;box-shadow:10px 0 30px rgba(79,15,20,.12);transition:transform .25s ease;display:flex;flex-direction:column;overflow:visible}
.brand{display:flex;align-items:center;gap:14px;padding:6px 8px 18px;border-bottom:1px solid rgba(255,255,255,.12)}
.brand-logo{width:64px;height:64px;object-fit:contain;flex:none;border-radius:50%;background:transparent;filter:drop-shadow(0 3px 8px rgba(0,0,0,.18))}
.brand-copy{display:flex;flex-direction:column;min-width:0}.brand-copy strong{font-size:15px;letter-spacing:.3px}.brand-copy small{font-size:10px;opacity:.78;margin-top:3px}
#nav{display:flex;flex-direction:column;gap:5px;padding:14px 0;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.nav-group{padding:13px 10px 4px;font-size:10px;font-weight:900;letter-spacing:1.25px;color:#ffc65a;opacity:.92}
.navbtn{border:0;background:transparent;color:#fff;text-align:left;padding:10px 12px;border-radius:10px;font-weight:750;opacity:.86;display:block;width:100%}
.navbtn:hover{background:rgba(255,255,255,.09);opacity:1}.navbtn.active{background:linear-gradient(90deg,var(--yellow),#f5b83c);color:#5d2200;opacity:1}
.sidebar-toggle{position:absolute;right:-17px;top:50%;transform:translateY(-50%);width:34px;height:54px;border:0;border-radius:0 12px 12px 0;background:var(--yellow);color:#5c2200;font-size:26px;font-weight:900;box-shadow:5px 5px 18px rgba(0,0,0,.15);z-index:45;display:grid;place-items:center;padding:0;line-height:1}

.sidebar-actions{display:grid;gap:8px;padding:12px 2px 2px;border-top:1px solid rgba(255,255,255,.10);flex:none;background:transparent;box-shadow:none}
.sidebar-action{min-height:42px;border-radius:11px;border:1px solid rgba(255,255,255,.18);font-weight:850;font-size:12px;padding:9px 12px;transition:.18s ease}
.install-action{background:linear-gradient(135deg,#f0a61b,#ffc247);color:#5b2400;border-color:transparent}
.logout-action{background:rgba(255,255,255,.07);color:#fff}.logout-action:hover{background:rgba(255,255,255,.13)}
.mobile-sidebar-handle{display:none;position:fixed;left:0;top:50dvh;top:50svh;transform:translateY(-50%);z-index:46;width:26px;height:50px;border:0;border-radius:0 12px 12px 0;background:linear-gradient(180deg,#ffc247,#f0a61b);color:#5c2200;font-size:24px;font-weight:1000;box-shadow:4px 6px 18px rgba(47,14,12,.22);padding:0;transition:left .25s ease,transform .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
body.sidebar-mobile-open .mobile-sidebar-handle{left:min(310px,86vw);border-radius:0 12px 12px 0}
body.auth-locked main,body.auth-locked #sidebar,body.auth-locked .mobile-sidebar-handle,body.auth-locked .backdrop{pointer-events:none}

.splash-screen,.login-screen{position:fixed;inset:0;z-index:500;background:linear-gradient(145deg,#f8f4ef 0%,#fffaf4 48%,#f4eadf 100%);display:grid;place-items:center;padding:24px;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom))}
.splash-screen{transition:opacity .35s ease,visibility .35s ease}.splash-screen.fade-out{opacity:0;visibility:hidden}
.splash-inner{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;animation:splashIn .55s cubic-bezier(.2,.75,.25,1)}
.splash-inner img{width:min(210px,52vw);height:min(210px,52vw);object-fit:contain;filter:drop-shadow(0 18px 30px rgba(79,15,20,.12))}.splash-inner strong{font-size:24px;color:var(--maroon);letter-spacing:-.03em}.splash-inner span{font-size:11px;color:var(--muted);font-weight:750;letter-spacing:.5px}
@keyframes splashIn{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
.login-screen{overflow:auto}.login-card{width:min(430px,100%);background:rgba(255,255,255,.96);border:1px solid #eadbd2;border-radius:26px;padding:28px;box-shadow:0 28px 80px rgba(73,22,18,.14);backdrop-filter:blur(14px)}
.login-brand{display:flex;align-items:center;gap:13px;padding-bottom:18px;border-bottom:1px solid #eee1da}.login-brand img{width:70px;height:70px;object-fit:contain}.login-brand div{display:flex;flex-direction:column;min-width:0}.login-brand strong{font-size:17px;color:var(--maroon)}.login-brand span{font-size:10px;color:var(--muted);margin-top:3px}
.login-copy{padding:24px 0 12px}.login-kicker{font-size:10px;font-weight:950;letter-spacing:1.3px;color:#b36b00}.login-copy h1{font-size:28px;margin:4px 0 6px;letter-spacing:-.04em}.login-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.login-form{display:grid;gap:14px}.login-form label{display:grid;gap:7px;font-size:12px;font-weight:850;color:#4d4041}.password-field{position:relative}.password-field input{padding-right:66px}.password-field button{position:absolute;right:6px;top:6px;bottom:6px;border:0;border-radius:8px;background:#f5eee9;color:var(--maroon);font-size:11px;font-weight:900;padding:0 10px}.login-submit{border:0;border-radius:12px;min-height:46px;background:linear-gradient(135deg,var(--maroon),#a21e29);color:white;font-weight:950;box-shadow:0 10px 24px rgba(123,16,24,.18)}.login-error{min-height:16px;color:#a5221b;font-size:11px;font-weight:750}
.security-card .security-note{font-size:11px;color:var(--muted);line-height:1.55;margin:4px 0 14px}.pin-input{text-align:center;letter-spacing:8px;font-size:22px;font-weight:900}

main{margin-left:var(--sidebar);width:calc(100% - var(--sidebar));min-height:100vh;transition:.25s ease;min-width:0}
.topbar{position:sticky;top:0;z-index:20;background:rgba(246,243,239,.95);backdrop-filter:blur(14px);padding:18px 28px 14px;display:flex;align-items:center;gap:14px;border-bottom:1px solid rgba(219,202,194,.65)}
.page-heading{min-width:0}.topbar h1{font-size:26px;margin:1px 0 2px;line-height:1.1}.topbar p{margin:0;color:var(--muted);font-size:13px}.kicker{font-size:10px;font-weight:1000;letter-spacing:1.3px;color:var(--maroon)}
.top-actions{margin-left:auto;display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.clock{font-size:12px;font-weight:800;color:var(--muted)}
.icon-btn{display:none;border:0;background:#fff;border-radius:10px;padding:10px;box-shadow:var(--shadow);min-width:44px;min-height:44px}
.view{padding:22px 28px 45px;max-width:1600px;margin:auto;min-width:0}
body.sidebar-collapsed #sidebar{transform:translateX(calc(-1 * var(--sidebar)))}body.sidebar-collapsed main{margin-left:0;width:100%}body.sidebar-collapsed .sidebar-toggle{right:-34px}
.grid{display:grid;gap:15px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:17px;box-shadow:var(--shadow);min-width:0}.kpi small{color:var(--muted);font-weight:800}.kpi strong{display:block;font-size:24px;margin-top:7px;overflow-wrap:anywhere}.kpi .delta{font-size:11px;color:var(--green);margin-top:5px;font-weight:800}.kpi.warn .delta{color:var(--red)}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:18px;min-width:0}.card h3{margin:0 0 13px;font-size:16px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}.card-head h3{margin:0}.two-col{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:16px}.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.muted{color:var(--muted)}.tiny{font-size:11px}.empty{padding:28px 12px;text-align:center;color:var(--muted)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff;max-width:100%}.data-table{width:100%;border-collapse:separate;border-spacing:0;min-width:680px}.data-table.compact{min-width:560px}.data-table th,.data-table td{padding:11px 12px;border-bottom:1px solid #f0e7e2;text-align:left;font-size:12px;white-space:nowrap;vertical-align:middle}.data-table th{position:sticky;top:0;background:#fbf7f4;color:#665557;font-size:10px;text-transform:uppercase;letter-spacing:.6px;z-index:2}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover td{background:#fffaf2}.right{text-align:right!important}.center{text-align:center!important}.wrap{white-space:normal!important;min-width:180px}
.primary,.secondary,.danger,.success,.ghost{border:0;border-radius:10px;padding:10px 14px;font-weight:900;font-size:12px;min-height:40px;max-width:100%;white-space:normal}
.primary{background:linear-gradient(135deg,var(--maroon),var(--maroon-2));color:white}.secondary{background:#fff1cc;color:#6e3c00;border:1px solid #f1ce7e}.danger{background:#fde8e5;color:#9e2017}.success{background:#e6f5ec;color:#12633d}.ghost{background:#f3eeeb;color:#5f5253}.button-row{display:flex;gap:8px;flex-wrap:wrap}.hidden{display:none!important}
button:disabled{opacity:.5;cursor:not-allowed}
input,select,textarea{width:100%;border:1px solid #dbcac3;border-radius:10px;padding:10px 11px;background:#fff;color:var(--ink);outline:none;min-height:42px;min-width:0}
textarea{min-height:92px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(240,166,27,.17)}
label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:900;color:#625456;min-width:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900}.badge.green{background:#e4f5eb;color:#12633d}.badge.red{background:#fde9e6;color:#a02219}.badge.yellow{background:#fff0c7;color:#8b5400}.badge.gray{background:#eee9e6;color:#615657}.badge.blue{background:#e7f0fb;color:#24538c}
.pos-layout{display:grid;grid-template-columns:minmax(0,1.35fr) 390px;gap:16px;align-items:start}.pos-menu{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.menu-list-row{border:0;border-bottom:1px solid #f0e7e2;background:#fff;text-align:left;padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:62px}.menu-list-row:last-child{border-bottom:0}.menu-list-row:hover{background:#fffaf2}.menu-list-main{min-width:0}.menu-list-main b{display:block;font-size:13px;overflow-wrap:anywhere}.menu-list-main strong{display:block;color:var(--maroon);margin-top:4px;font-size:13px}.menu-list-side{display:flex;align-items:center;gap:8px}.menu-add{width:34px;height:34px;border-radius:9px;border:0;background:#f7ead0;color:#672600;font-size:20px;font-weight:900}
.category-tabs{display:flex;gap:7px;overflow:auto;margin-bottom:12px;padding-bottom:3px}.cat-btn{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:900;min-height:36px}.cat-btn.active{background:var(--yellow);color:#5c2600;border-color:var(--yellow)}
.cart{position:sticky;top:98px}.cart-lines{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow:auto}.cart-line{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;border-radius:11px;background:#faf6f2}.cart-line b{font-size:12px}.cart-line small{display:block;color:var(--muted);margin-top:2px}.qty{display:flex;align-items:center;gap:5px}.qty button{width:32px;height:32px;border:0;border-radius:8px;background:#efe5df;font-weight:900}.cart-summary{border-top:1px dashed #d9c7bd;margin-top:12px;padding-top:12px}.sum-row{display:flex;justify-content:space-between;margin:7px 0;font-size:12px;gap:8px}.sum-row.total{font-size:18px;font-weight:1000;color:var(--maroon);padding-top:7px;border-top:1px solid var(--line)}
.choice-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.choice-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-btn{border:1px solid #dbcac3;background:#fff;color:var(--maroon);border-radius:10px;padding:9px 7px;font-size:11px;font-weight:900;min-height:40px}.choice-btn.active{border-color:var(--maroon);background:#fff;color:var(--maroon);box-shadow:inset 0 0 0 2px var(--maroon)}
.cash-panel{border:1px solid #eaded8;border-radius:12px;padding:12px;background:#fff;margin-top:10px}.cash-result{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0 2px}.cash-result strong{font-size:20px;color:var(--maroon)}.quick-cash{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.quick-cash button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:800}
.list{display:flex;flex-direction:column;gap:8px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #f1e7e2}.list-row:last-child{border-bottom:0}.list-row small{display:block;margin-top:3px}.progress{height:8px;background:#eee7e2;border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--maroon),var(--yellow));border-radius:inherit}
.modal{position:fixed;inset:0;background:rgba(36,15,13,.45);z-index:100;display:grid;place-items:center;padding:16px}.modal-card{width:min(760px,100%);max-height:min(88vh,850px);overflow:auto;background:#fff;border-radius:18px;box-shadow:0 30px 90px rgba(40,10,10,.3);padding:20px;min-width:0}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;gap:12px}.modal-head h3{margin:0}.modal-close{border:0;background:#f2ece8;width:36px;height:36px;border-radius:9px;font-size:18px;flex:none}
.toast{position:fixed;right:20px;bottom:20px;z-index:150;background:#211a1b;color:#fff;padding:12px 15px;border-radius:11px;box-shadow:var(--shadow);font-size:12px;font-weight:800;opacity:0;transform:translateY(15px);pointer-events:none;transition:.2s;max-width:min(420px,calc(100vw - 32px))}.toast.show{opacity:1;transform:none}
.report-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.report-card{padding:15px;border-radius:14px;background:linear-gradient(145deg,#fff,#fff9f0);border:1px solid var(--line);min-width:0}.report-card small{color:var(--muted);font-weight:800}.report-card strong{font-size:20px;display:block;margin-top:7px;overflow-wrap:anywhere}
.searchbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.searchbar input{max-width:320px}
.tabs{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.tab-btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 13px;font-weight:900;font-size:12px}.tab-btn.active{background:var(--maroon);color:#fff;border-color:var(--maroon)}
.invoice-shell{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:16px}.invoice-preview{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;min-height:680px;color:#222}.invoice-head{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid var(--maroon);padding-bottom:14px;margin-bottom:18px}.invoice-head h2{margin:0;color:var(--maroon)}.invoice-head .biz{font-size:12px;line-height:1.5}.invoice-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px;font-size:12px}.invoice-table{width:100%;border-collapse:collapse;font-size:11px}.invoice-table th,.invoice-table td{border:1px solid #ddd;padding:8px;text-align:left}.invoice-table th{background:#f7f2ef}.invoice-total{margin-left:auto;margin-top:16px;width:min(280px,100%);font-size:13px}.invoice-total div{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #eee}.invoice-total strong{color:var(--maroon);font-size:16px}
.notice{border:1px solid #ecd6a0;background:#fff8e6;color:#684500;padding:11px 13px;border-radius:10px;font-size:12px;margin-bottom:12px}
.good{border-color:#b9dfc8;background:#eff9f3;color:#155f3b}.danger-note{border-color:#efc5c0;background:#fff2f0;color:#8f231b}
.backdrop{display:none;border:0}
.hr{border:0;border-top:1px solid var(--line);margin:18px 0}
.archive-block{margin-top:14px}.archive-month{border:1px solid var(--line);border-radius:12px;margin-top:8px;overflow:hidden}.archive-month summary{padding:12px 14px;background:#fbf7f4;font-weight:900;cursor:pointer}.archive-month .archive-body{padding:12px}
@media(max-width:1180px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.pos-layout{grid-template-columns:1fr}.cart{position:static}.two-col,.invoice-shell{grid-template-columns:1fr}.invoice-preview{min-height:0}.report-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){
  #sidebar{transform:translate3d(-105%,0,0);width:min(310px,86vw);height:100dvh;height:100svh;max-height:100vh;will-change:transform;touch-action:pan-y;padding-bottom:max(12px,env(safe-area-inset-bottom));overflow:hidden}
  body.sidebar-mobile-open #sidebar{transform:translate3d(0,0,0)}
  main,body.sidebar-collapsed main{margin-left:0;width:100%}
  .sidebar-toggle{display:none}.mobile-sidebar-handle{display:block}.backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:30;opacity:0;pointer-events:none;transition:.2s}
  body.sidebar-mobile-open .backdrop{opacity:1;pointer-events:auto}
  #nav{min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-bottom:18px}
  .sidebar-actions{position:relative;z-index:2;padding-bottom:max(6px,env(safe-area-inset-bottom));background:transparent;box-shadow:none}
  .icon-btn{display:block}.topbar{padding:12px 14px}.topbar h1{font-size:21px}.topbar p,.clock{display:none}.view{padding:14px}
  .form-grid,.form-grid.cols-3,.form-grid.cols-4{grid-template-columns:1fr}.three-col{grid-template-columns:1fr}
  .modal{align-items:end;padding:8px}.modal-card{max-height:90vh;border-radius:18px 18px 10px 10px;padding:16px}
  .invoice-meta{grid-template-columns:1fr}.invoice-preview{padding:18px}
}
@media(max-width:560px){
  .kpi-grid,.report-cards{grid-template-columns:1fr 1fr;gap:8px}.kpi,.report-card{padding:12px}.kpi strong,.report-card strong{font-size:18px}
  .top-actions{margin-left:auto}.top-actions .secondary{display:none}.view{padding:10px}.card{padding:13px}.choice-row{grid-template-columns:1fr 1fr 1fr}.menu-list-row{padding:11px}
  .form-actions{justify-content:stretch}.form-actions>button{flex:1}.button-row>button{flex:1 1 140px}
}
@media(max-width:390px){.kpi-grid,.report-cards{grid-template-columns:1fr}.choice-row,.choice-row.two{grid-template-columns:1fr}.topbar{gap:8px}.brand-copy strong{font-size:13px}}
@media print{body{display:block;background:#fff}body>*{display:none!important}#printArea{display:block!important}}

/* V1.2.0 — premium visual refinement */
:root{
  --premium-shadow:0 16px 44px rgba(73,22,18,.09);
  --premium-shadow-soft:0 7px 22px rgba(73,22,18,.07);
}
body{letter-spacing:-.005em}
.card,.kpi{box-shadow:var(--premium-shadow-soft)}
.topbar h1,.card h3,.kpi strong,.report-card strong{letter-spacing:-.025em}
.menu-browser-card,.checkout-card{border-color:#e9dad2;box-shadow:var(--premium-shadow)}
.premium-search{background:#fffdfb;border-color:#e7d9d2;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.pos-menu{border-color:#eadbd2;border-radius:16px;box-shadow:0 8px 24px rgba(89,31,22,.04)}
.menu-list-row{min-height:68px;padding:13px 15px;transition:background .16s ease,transform .16s ease}
.menu-list-row:hover{background:linear-gradient(90deg,#fffaf4,#fff);transform:translateX(1px)}
.menu-list-main b{font-size:13.5px;font-weight:850;letter-spacing:-.012em}
.menu-list-main strong{font-size:13px;font-weight:850}
.menu-list-side{gap:10px}
.menu-category{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 9px;border-radius:999px;font-size:9.5px;font-weight:900;letter-spacing:.2px;border:1px solid transparent;white-space:nowrap}
.menu-category.tone-maroon{background:#fbeaec;color:#7b1018;border-color:#f0c8cd}
.menu-category.tone-gold{background:#fff3d4;color:#784700;border-color:#f2d488}
.menu-category.tone-rose{background:#fff0ea;color:#9a3e22;border-color:#f2d1c5}
.menu-category.tone-cream{background:#fff8e9;color:#7d5b1c;border-color:#efe0b6}
.menu-category.tone-neutral{background:#f4f0ed;color:#64585a;border-color:#e4dad5}
.menu-add{display:grid;place-items:center;padding:0;line-height:1;width:36px;height:36px;border-radius:11px;background:linear-gradient(145deg,#fff4da,#f4c866);color:#6f2a00;border:1px solid #edcf8a;box-shadow:0 4px 10px rgba(159,102,14,.13);transition:.16s ease}
.menu-add span{display:block;line-height:1;transform:translateY(-1px)}
.menu-list-row:hover .menu-add{transform:scale(1.04);background:linear-gradient(145deg,#ffd86f,#f0a61b)}
.premium-categories{gap:8px;padding:2px 1px 8px;margin-bottom:10px}
.premium-categories .cat-btn{position:relative;border-radius:12px;padding:9px 13px;background:#fff;border-color:#e9ddd7;color:#695b5d;box-shadow:0 3px 10px rgba(77,31,20,.035);transition:.16s ease}
.premium-categories .cat-btn:hover{transform:translateY(-1px);border-color:#dac3b9}
.premium-categories .cat-btn.tone-maroon{color:#7b1018;background:#fff8f8}
.premium-categories .cat-btn.tone-gold{color:#734500;background:#fffbf0}
.premium-categories .cat-btn.tone-rose{color:#8a3823;background:#fff9f6}
.premium-categories .cat-btn.tone-cream{color:#7b5a24;background:#fffdf5}
.premium-categories .cat-btn.active{background:linear-gradient(135deg,#7b1018,#971f28);color:#fff;border-color:#7b1018;box-shadow:0 7px 18px rgba(123,16,24,.18)}
.checkout-card{overflow:hidden}
.checkout-card .cart-lines{padding-right:2px}
.order-empty{background:#fbf8f5;border:1px dashed #e7d8d1;border-radius:12px}
.order-total-panel{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px -2px 6px;padding:15px 16px;border-radius:14px;background:linear-gradient(135deg,#6f0d15,#8e1821 72%,#a8232c);color:#fff;box-shadow:0 10px 24px rgba(111,13,21,.16)}
.order-total-panel span{display:flex;flex-direction:column;gap:3px}.order-total-panel small{font-size:9px;letter-spacing:.9px;font-weight:900;opacity:.72}.order-total-panel b{font-size:11px;opacity:.9}.order-total-panel strong{font-size:22px;letter-spacing:-.035em;white-space:nowrap}
.checkout-section{padding:13px 0;border-top:1px solid #f0e5df}.checkout-section:first-of-type{margin-top:6px}
.section-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.section-label span{font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.75px;color:#594a4c}.section-label small{padding:4px 8px;border-radius:999px;background:#f6efeb;color:#7b1018;font-weight:900}
.segmented{background:#f5efeb;padding:4px;border-radius:13px;gap:4px!important}
.segmented .choice-btn{border:0;background:transparent;color:#716264;border-radius:9px;min-height:38px;box-shadow:none;transition:.16s ease}
.segmented .choice-btn:hover{background:rgba(255,255,255,.65);color:#7b1018}
.segmented .choice-btn.active{background:#fff;color:#7b1018;border:0;box-shadow:0 4px 12px rgba(76,34,27,.10),inset 0 0 0 1px rgba(123,16,24,.08)}
#paymentChoice.segmented .choice-btn.active{background:linear-gradient(135deg,#fff,#fff7ec);color:#7b1018;box-shadow:0 4px 12px rgba(76,34,27,.10),inset 0 -2px 0 #f0a61b}
.cash-panel{border-color:#eadbd3;background:linear-gradient(180deg,#fff,#fffcf9);box-shadow:inset 0 1px 0 #fff}
.quick-cash button{border-color:#e8d9d1;background:#fffaf6}.quick-cash button:hover{border-color:#e1ba62;background:#fff4d7}
.checkout-main{width:100%;min-height:48px;margin-top:12px;border-radius:13px;box-shadow:0 10px 22px rgba(123,16,24,.17);font-size:12.5px}
.action-head{text-align:center!important;min-width:240px}.action-cell{text-align:right!important;min-width:240px}.action-buttons{justify-content:flex-end;flex-wrap:nowrap}.action-buttons>button{flex:0 0 auto;min-width:66px}
.table-select{min-width:120px}
.report-history{margin-top:16px}.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:9px}.section-title-row h3{margin:0}
.report-sub{display:block;margin-top:5px;font-size:9.5px;color:var(--muted);font-weight:750}
.close-cash-card{border-color:#e9d8cf;background:linear-gradient(145deg,#fff,#fffaf4)}
.premium-tabs{padding:4px;background:#eee6e1;border-radius:13px;width:max-content;max-width:100%}.premium-tabs .tab-btn{border:0;background:transparent}.premium-tabs .tab-btn.active{background:#fff;color:#7b1018;box-shadow:0 4px 12px rgba(75,31,22,.09)}
.premium-invoice-shell .card{box-shadow:var(--premium-shadow-soft)}
.invoice-history-table .action-cell{min-width:160px}.invoice-history-table .action-head{min-width:160px}
@media(max-width:820px){
  .menu-category{font-size:9px;padding:4px 7px}.menu-add{width:34px;height:34px}
  .order-total-panel{padding:13px 14px}.order-total-panel strong{font-size:20px}
  .action-buttons{flex-wrap:wrap}.action-cell,.action-head{min-width:190px}
}
@media(max-width:560px){
  .menu-list-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:64px}.menu-list-side{gap:6px}
  .menu-category{max-width:95px;overflow:hidden;text-overflow:ellipsis}.segmented{padding:3px}.segmented .choice-btn{min-height:40px}
}

/* V1.2.2 — modal action button clipping fix */
.modal-card{overflow-x:hidden}
.modal-card .form-actions{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  overflow:visible;
}
.modal-card .form-actions>button{
  flex:0 0 auto;
  min-width:76px;
  width:auto;
  max-width:100%;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
}
.modal-card .form-actions>.primary{min-width:84px}
@media(max-width:560px){
  .modal-card .form-actions{justify-content:flex-end;gap:8px}
  .modal-card .form-actions>button{flex:0 0 auto;min-width:76px}
  .modal-card .form-actions>.primary{min-width:84px}
}
@media(max-width:390px){
  .modal{padding:8px}
  .modal-card{width:100%;padding:15px 14px max(16px,env(safe-area-inset-bottom));}
  .modal-card .form-actions{gap:7px}
  .modal-card .form-actions>button{min-width:72px;padding-left:12px;padding-right:12px}
  .modal-card .form-actions>.primary{min-width:80px}
}

/* V1.2.3 — dashboard sync, editable voice, invoice refinement, visual polish */
body{background:
  radial-gradient(circle at 88% 2%,rgba(240,166,27,.075),transparent 24%),
  linear-gradient(180deg,#f8f5f2 0,#f5f1ed 100%)}
.topbar{background:rgba(248,245,242,.94);box-shadow:0 6px 24px rgba(69,27,22,.035)}
.card,.kpi{border-color:#e8dcd6;background:linear-gradient(180deg,#fff 0%,#fffdfc 100%)}
.kpi{position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;inset:auto -24px -35px auto;width:88px;height:88px;border-radius:50%;background:rgba(240,166,27,.045);pointer-events:none}
.primary{box-shadow:0 7px 16px rgba(123,16,24,.14)}
.data-table th{background:#faf6f3;color:#625254;border-bottom-color:#eadbd4}.data-table td{background:rgba(255,255,255,.88)}

.payment-kpi>small{display:block;margin-bottom:11px}
.payment-breakdown{display:grid;gap:7px;margin-top:2px}
.payment-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:10px;border:1px solid #eee3dc;background:#fff;min-width:0}
.payment-line span{font-size:10px;font-weight:900;color:#66585a;letter-spacing:.15px}
.payment-line b{font-size:12px;white-space:nowrap;color:#241d1e;overflow:hidden;text-overflow:ellipsis}
.payment-line.cash{border-left:3px solid #7b1018}.payment-line.qris{border-left:3px solid #f0a61b}.payment-line.transfer{border-left:3px solid #8e6c63}

.voice-settings-card textarea{min-height:112px;line-height:1.5}.field-help{font-size:10px;line-height:1.45;color:var(--muted);font-weight:650;margin-top:-1px}

.invoice-preview{padding:32px 34px 36px;border-color:#e7d9d2;box-shadow:0 12px 34px rgba(74,30,23,.06)}
.invoice-head{padding-bottom:17px;margin-bottom:22px}.invoice-head h2{font-size:22px;letter-spacing:-.03em}.invoice-title{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.invoice-title b{font-size:22px;letter-spacing:.08em;color:#211a1b}.invoice-title span{font-size:11px;color:var(--muted)}
.invoice-meta{gap:18px;margin-bottom:22px;line-height:1.65}.invoice-label{display:block;font-size:9px;font-weight:950;letter-spacing:1px;color:#8a7779;margin-bottom:5px}
.invoice-table th{background:#faf5f1;color:#5f5052;font-size:9.5px;letter-spacing:.35px}.invoice-table td{font-size:11px;padding:10px 9px}
.invoice-total{margin-top:20px}.invoice-total div{padding:10px 12px;background:#fff7e9;border:1px solid #f0dfbd;border-radius:10px}.invoice-total span{font-weight:900;letter-spacing:.3px}.invoice-total strong{font-size:17px}
.invoice-payment-info{margin-top:24px;padding:14px 16px;border-radius:11px;background:#faf7f4;border:1px solid #ece1db;font-size:11px;line-height:1.55;white-space:pre-line}
.invoice-qris-section{margin-top:16px;padding:14px 16px;border-radius:11px;background:#fff;border:1px dashed #e7d9d2;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.invoice-qris-copy{display:flex;flex-direction:column;gap:6px;max-width:56%;font-size:11px;line-height:1.5;color:#4b3c3f}.invoice-qris-copy b{font-size:12px;color:var(--maroon)}.invoice-qris-img{width:118px;max-width:42%;height:auto;border:1px solid #eee;border-radius:10px;background:#fff}
.invoice-closing{margin-top:52px;padding-top:20px;border-top:1px solid #e9dfda;text-align:center;color:#403638;display:flex;flex-direction:column;gap:6px}
.invoice-closing span{font-size:11px;font-weight:800}.invoice-closing small{font-size:9.5px;color:#8a7b7d}

@media(max-width:560px){
  .payment-line{padding:7px 8px}.payment-line b{font-size:11px}
  .invoice-preview{padding:20px 17px 24px}.invoice-head{gap:12px}.invoice-title b{font-size:18px}.invoice-head h2{font-size:18px}.invoice-qris-section{align-items:flex-start;flex-direction:column}.invoice-qris-copy,.invoice-qris-img{max-width:100%}.invoice-qris-img{width:135px}.invoice-closing{margin-top:36px}
}

/* V1.2.4 — menu resmi + voice cashier yang lebih natural */
.voice-settings-card .form-grid{align-items:start}
.voice-settings-card select{background:#fffdfb}
.voice-settings-card textarea{min-height:78px;background:#fffdfb;border-color:#eadbd4}
.voice-settings-card textarea:focus,.voice-settings-card select:focus{border-color:#b46a63;box-shadow:0 0 0 3px rgba(123,16,24,.07)}
.voice-settings-card .field-help b{color:#7b1018}
.menu-list-row{transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease}
.menu-list-row:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(72,28,20,.07);border-color:#ddc8be;background:#fffefc}
.menu-list-main strong{font-variant-numeric:tabular-nums}
@media(max-width:620px){.voice-settings-card .form-grid{grid-template-columns:1fr}.voice-settings-card label{grid-column:1/-1!important}}

/* V1.2.7 — official RM Simpang Tigo logo integration */
.invoice-brand{display:flex;align-items:center;gap:14px;min-width:0}.invoice-brand-logo{width:72px;height:72px;object-fit:contain;flex:none;border-radius:50%;background:transparent}.invoice-brand-copy{min-width:0}.invoice-brand-copy h2{margin:0;color:var(--maroon)}
@media(max-width:560px){.brand-logo{width:56px;height:56px}.invoice-brand-logo{width:58px;height:58px}.invoice-brand{align-items:flex-start}.invoice-head{align-items:flex-start}}

.topbar-logo{display:none;width:48px;height:48px;object-fit:contain;flex:none;border-radius:50%;background:transparent}
@media(max-width:820px){.topbar-logo{display:block}}

/* V1.3.0 — mobile drawer + login */
@media(max-width:560px){.login-card{padding:22px 18px;border-radius:22px}.login-brand img{width:62px;height:62px}.login-copy h1{font-size:25px}.sidebar-actions{padding-bottom:max(2px,env(safe-area-inset-bottom))}}

/* V1.3.3 — clean sidebar action area */
.sidebar-actions::before,.sidebar-actions::after{content:none!important;display:none!important}.sidebar-actions{background:none!important;box-shadow:none!important}.sidebar-action{box-shadow:none}.install-action{outline:0}.logout-action{outline:0}

/* V1.3.5 — desktop/Windows sidebar recovery */
@media(min-width:821px){
  #sidebar{overflow:visible}
  .sidebar-toggle{display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
  body.sidebar-collapsed .sidebar-toggle{position:absolute;right:-34px}
  .mobile-sidebar-handle,.backdrop{display:none!important}
}


/* V1.3.7 cloud sync status */
.cloud-status{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid rgba(0,0,0,.12);border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap;background:rgba(255,255,255,.74)}
.cloud-status::before{content:"";width:7px;height:7px;border-radius:50%;background:#999}
.cloud-status[data-state="online"]::before{background:#238636}
.cloud-status[data-state="syncing"]::before{background:#d29922}
.cloud-status[data-state="offline"]::before,.cloud-status[data-state="error"]::before{background:#cf222e}
@media(max-width:640px){.cloud-status{font-size:10px;padding:5px 7px}.top-actions{gap:5px}}


/* V1.3.12 Professional Invoice Refresh */
.invoice-preview{padding:34px 36px 40px;border-color:#e8d9d2;box-shadow:0 18px 40px rgba(74,30,23,.08)}
.invoice-head{align-items:flex-start;border-bottom:2px solid #8f3f39;padding-bottom:18px;margin-bottom:24px}
.invoice-title{min-width:170px;padding-left:18px;text-align:right}
.invoice-title b{font-size:28px;letter-spacing:.08em}
.invoice-title span{font-size:11px;color:#7f7072}
.invoice-status-badge{display:inline-flex;align-self:flex-end;margin-top:6px;padding:6px 10px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.5px;border:1px solid #e5d8d2;background:#faf6f3;color:#5e4d50}
.invoice-status-badge.paid{background:#edf8ef;border-color:#cfe7d3;color:#2f6d3e}
.invoice-status-badge.dp{background:#fff4df;border-color:#f3dbab;color:#8a6414}
.invoice-status-badge.unpaid{background:#f7f0f0;border-color:#eadbdb;color:#7b3f3f}
.invoice-meta-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:16px;margin-bottom:20px}
.invoice-meta-card{border:1px solid #eadfda;border-radius:14px;background:linear-gradient(180deg,#fff 0%,#fdf9f7 100%);padding:16px 17px}
.invoice-meta-card b{display:block;font-size:14px;color:#2f2426;margin-bottom:6px}
.invoice-meta-text{font-size:11px;line-height:1.6;color:#625457;white-space:pre-line}
.invoice-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.invoice-detail-grid small{display:block;font-size:9px;font-weight:900;letter-spacing:.9px;color:#8b7b7d;text-transform:uppercase;margin-bottom:4px}
.invoice-detail-grid b{font-size:11.5px;margin:0}
.invoice-table-wrap{border:1px solid #eadfda;border-radius:14px;overflow:hidden;background:#fff}
.invoice-table{font-size:11.2px}
.invoice-table th,.invoice-table td{border:none;border-bottom:1px solid #f0e5df;padding:10px 12px;vertical-align:top}
.invoice-table th{background:#faf5f1;color:#695759;font-size:9.8px;font-weight:900;letter-spacing:.4px}
.invoice-table tbody tr:nth-child(even) td{background:#fffdfc}
.invoice-table tbody tr:last-child td{border-bottom:none}
.invoice-table td.right,.invoice-table th.right{text-align:right}
.invoice-summary-strip{display:grid;grid-template-columns:1fr minmax(220px,.75fr);gap:14px;margin-top:18px}
.invoice-summary-card{border:1px solid #eadfda;border-radius:14px;padding:14px 16px;background:#fff}
.invoice-summary-card.soft{background:#fbf8f5}
.invoice-summary-card.total-card{background:linear-gradient(180deg,#fff8ea 0%,#fff 100%);text-align:right}
.invoice-summary-card b{display:block;font-size:13px;color:#302628;margin-top:6px}
.invoice-summary-card strong{display:block;font-size:23px;color:#6a251f;margin-top:6px;line-height:1.15}
.invoice-summary-card small{display:block;margin-top:5px;font-size:10px;line-height:1.5;color:#7b6d6f}
.invoice-payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.invoice-payment-info,.invoice-qris-section{height:100%;margin-top:0;border-radius:14px}
.invoice-payment-info{padding:16px 17px;background:#fbf8f5;font-size:11px;line-height:1.7}
.invoice-payment-info b{display:block;margin-bottom:8px;color:#5d2a25}
.invoice-qris-section{padding:16px 17px;align-items:center;border-style:solid;background:#fff}
.invoice-qris-copy{max-width:calc(100% - 134px)}
.invoice-qris-copy small{font-size:10px;color:#7b6d6f}
.invoice-qris-img{width:122px;border-radius:12px;border:1px solid #eadfda;padding:4px;background:#fff}
.invoice-closing{margin-top:28px;padding-top:18px;text-align:center}
.invoice-closing span{font-size:11px}
.invoice-closing small{font-size:10px;line-height:1.55}
@media(max-width:860px){.invoice-meta-grid,.invoice-summary-strip,.invoice-payment-grid{grid-template-columns:1fr}.invoice-title{text-align:left;padding-left:0;min-width:0}.invoice-status-badge{align-self:flex-start}.invoice-qris-copy{max-width:100%}.invoice-qris-section{align-items:flex-start;flex-direction:column}.invoice-qris-img{width:138px}}


/* V1.4.0 — client-ready polish, clear cashier feedback, professional invoice */
.dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;padding:24px 26px;border:1px solid #ead7cf;border-radius:20px;background:linear-gradient(135deg,#fff 0%,#fff8ef 58%,#f7eee9 100%);box-shadow:0 14px 36px rgba(79,31,24,.07);overflow:hidden;position:relative}
.dashboard-hero:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-76px;top:-110px;background:rgba(126,25,28,.045)}
.dashboard-hero-copy{position:relative;z-index:1}.hero-kicker{font-size:10px;font-weight:1000;letter-spacing:1.5px;color:#8a3d33}.dashboard-hero h2{font-size:24px;margin:5px 0 7px;letter-spacing:-.03em}.dashboard-hero p{margin:0;color:var(--muted);font-size:12.5px}.dashboard-hero-action{display:flex;align-items:center;gap:10px;position:relative;z-index:1}.hero-live{display:inline-flex;align-items:center;gap:7px;border:1px solid #dfd1ca;background:#fff;padding:8px 10px;border-radius:999px;font-size:10px;font-weight:900}.hero-live i{width:8px;height:8px;border-radius:50%;background:#39a85a;box-shadow:0 0 0 4px rgba(57,168,90,.11)}.hero-live.closed i{background:#a65f5f;box-shadow:0 0 0 4px rgba(166,95,95,.11)}.hero-cashier-btn{border:0;border-radius:11px;background:linear-gradient(135deg,#79151b,#9a342a);color:#fff;padding:10px 14px;font-weight:900;box-shadow:0 8px 18px rgba(123,16,24,.18)}.hero-cashier-btn:disabled{opacity:.45}.dashboard-kpis .kpi{padding:18px 19px}.dashboard-kpis .kpi-feature{background:linear-gradient(145deg,#fff8ee,#fff);border-color:#ead1ad}.dashboard-kpis .delta.neutral{color:#817174}.dashboard-main-grid{align-items:stretch}.dashboard-table-card,.top-menu-card{min-height:280px}.dashboard-empty{padding:34px 18px}.top-menu-list{display:flex;flex-direction:column;gap:9px}.top-menu-item{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid #efe3dd;border-radius:13px;background:#fffdfb}.top-rank{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#f7ead0;color:#7a3f08;font-weight:950}.top-menu-item b{font-size:12.5px}.top-menu-item small{display:block;margin-top:3px;color:var(--muted);font-size:10.5px}.top-menu-item strong{font-size:18px;color:var(--maroon)}
.menu-list-row.in-cart{background:linear-gradient(90deg,#fffaf0,#fff);border-left:3px solid #d59a32;padding-left:12px}.menu-list-row.just-added{animation:menuAddedPulse .68s ease}.menu-added-caption{display:block;margin-top:5px;font-size:10px;color:#8a6414;font-weight:800}.menu-qty-badge{display:grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:#7b1018;color:#fff;font-size:12px;font-weight:950;box-shadow:0 4px 10px rgba(123,16,24,.18)}@keyframes menuAddedPulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(213,154,50,.0)}35%{transform:scale(1.008);box-shadow:0 0 0 5px rgba(213,154,50,.14)}100%{transform:scale(1);box-shadow:0 0 0 0 rgba(213,154,50,0)}}
.cart-title-line{display:flex;align-items:center;gap:9px}.cart-title-line h3{margin:0}.cart-live-badge{display:inline-flex;align-items:center;gap:5px;background:#7b1018;color:#fff;padding:5px 8px;border-radius:999px;min-width:42px;justify-content:center;box-shadow:0 5px 12px rgba(123,16,24,.16)}.cart-live-badge svg{width:15px;height:15px}.cart-live-badge b{font-size:11px}.cart-head-copy{min-width:0}
.settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.settings-save-state,.voice-fixed-pill{font-size:9px;font-weight:950;letter-spacing:.8px;border:1px solid #dfe8df;background:#f0f8f1;color:#3b6b45;padding:6px 8px;border-radius:999px}.settings-save-state.dirty{background:#fff7e7;border-color:#ead7a6;color:#8a6414}.voice-fixed-pill{background:#f7f0ed;border-color:#eadbd4;color:#77443e}.voice-profile-box{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #eadfd9;border-radius:14px;background:linear-gradient(145deg,#fff,#fbf6f3);margin-bottom:14px}.voice-avatar{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:#7b1018;color:#fff;font-weight:950}.voice-profile-box b{display:block;font-size:12.5px}.voice-profile-box small{display:block;color:var(--muted);font-size:10.5px;margin-top:4px;line-height:1.45}.voice-script-list{display:grid;gap:8px;margin-top:14px}.voice-script-list>div{padding:10px 12px;border-radius:11px;background:#faf7f4;border:1px solid #eee2dc}.voice-script-list span{font-size:9px;font-weight:950;color:#8a3d33;letter-spacing:.6px}.voice-script-list p{margin:4px 0 0;font-size:11px;line-height:1.45}.settings-voice-actions{margin-top:14px}.save-confirm-inline{font-size:10px;color:#627464;margin-top:9px;font-weight:800}
.invoice-preview{background:#f3efec;padding:18px;border-radius:16px}.invoice-doc{background:#fff;min-height:720px;padding:36px 38px 30px;box-shadow:0 8px 25px rgba(65,31,25,.07);color:#282123}.invoice-doc-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.invoice-doc-brand{display:flex;align-items:center;gap:13px;min-width:0}.invoice-doc-brand img{width:62px;height:62px;object-fit:contain}.invoice-doc-brand h2{margin:0 0 5px;font-size:18px;color:#2d2325}.invoice-doc-brand p{margin:0;max-width:310px;font-size:9.5px;line-height:1.5;color:#706366}.invoice-doc-brand span{display:block;margin-top:3px;font-size:9.5px}.invoice-doc-title{text-align:right}.invoice-doc-title>strong{display:block;font-size:25px;letter-spacing:.08em}.invoice-doc-title>span{display:block;margin:4px 0 8px;font-size:10px;color:#776a6c}.invoice-doc-title em{font-style:normal}.invoice-doc-rule{height:2px;background:#81322c;margin:18px 0 20px}.invoice-doc-meta{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin-bottom:18px}.invoice-doc-meta section{border:1px solid #e7ddd8;border-radius:11px;padding:14px;background:#fff}.invoice-doc-meta label,.invoice-pay-info label,.invoice-qris-pro label{display:block;font-size:8.5px;letter-spacing:1px;font-weight:950;color:#8a7779}.invoice-doc-meta h3{font-size:13px;margin:7px 0 5px}.invoice-doc-meta p{font-size:9.5px;line-height:1.5;margin:0;color:#6f6264;white-space:pre-line}.invoice-doc-detail{display:grid!important;grid-template-columns:1fr 1fr;gap:11px}.invoice-doc-detail div label{font-size:8px}.invoice-doc-detail div b{font-size:10.5px;display:block;margin-top:4px}.invoice-doc-table-wrap{border:1px solid #e6dbd5;border-radius:11px;overflow:hidden}.invoice-doc-table{width:100%;border-collapse:collapse;font-size:9.5px}.invoice-doc-table th{background:#f7f2ef;color:#67575a;font-size:8.5px;letter-spacing:.45px;text-transform:uppercase}.invoice-doc-table th,.invoice-doc-table td{padding:9px 10px;border-bottom:1px solid #eee4df}.invoice-doc-table tbody tr:last-child td{border-bottom:0}.invoice-doc-table .center{text-align:center}.invoice-doc-table .right{text-align:right}.invoice-doc-table td b{font-weight:800}.invoice-doc-total{margin:14px 0 0 auto;width:245px;padding:12px 14px;border:1px solid #e5d1a9;border-radius:11px;background:#fff8e9;display:flex;align-items:center;justify-content:space-between;gap:10px}.invoice-doc-total span{font-size:8.5px;font-weight:950;letter-spacing:.8px}.invoice-doc-total strong{font-size:18px;color:#6d241f}.invoice-doc-payment{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.invoice-pay-info,.invoice-qris-pro{border:1px solid #e6dbd5;border-radius:11px;padding:14px;background:#fbf8f6}.invoice-pay-info p,.invoice-qris-pro p{font-size:9.5px;line-height:1.55;margin:7px 0;color:#564a4c;white-space:pre-line}.invoice-pay-info small,.invoice-qris-pro small{font-size:8.5px;color:#887a7c}.invoice-qris-pro{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff}.invoice-qris-pro img{width:98px;height:auto;border:1px solid #eee;padding:3px;background:#fff}.invoice-doc-footer{margin-top:22px;border-top:1px solid #e9dfda;padding-top:13px;text-align:center}.invoice-doc-footer b{display:block;font-size:9.5px}.invoice-doc-footer span{display:block;margin-top:3px;font-size:8.5px;color:#847679}
@media(max-width:900px){.settings-grid{grid-template-columns:1fr}.dashboard-hero{align-items:flex-start}.dashboard-hero-action{flex-direction:column;align-items:flex-end}.invoice-doc{padding:24px 20px}.invoice-doc-meta,.invoice-doc-payment{grid-template-columns:1fr}.invoice-doc-total{width:100%}}
@media(max-width:560px){.dashboard-hero{padding:18px;flex-direction:column}.dashboard-hero-action{width:100%;flex-direction:row;align-items:center}.dashboard-hero-action .hero-cashier-btn{margin-left:auto}.dashboard-hero h2{font-size:21px}.invoice-preview{padding:8px}.invoice-doc{padding:18px 14px;min-height:0}.invoice-doc-header{gap:10px}.invoice-doc-brand img{width:48px;height:48px}.invoice-doc-brand h2{font-size:14px}.invoice-doc-brand p{font-size:8px;max-width:180px}.invoice-doc-title>strong{font-size:18px}.invoice-doc-meta{grid-template-columns:1fr}.invoice-doc-detail{grid-template-columns:1fr 1fr}.invoice-qris-pro img{width:90px}.menu-category{display:none}.menu-qty-badge{min-width:26px;height:26px}}

/* V1.4.1 — invoice preview/print alignment + QRIS cleanup */
.invoice-doc{display:flex;flex-direction:column;min-height:760px}
.invoice-doc-meta{margin-bottom:26px}
.invoice-doc-table-wrap{margin-top:0}
.invoice-doc-total{margin-top:18px}
.invoice-doc-payment{margin-top:28px}
.invoice-pay-info,.invoice-qris-pro{min-height:138px;box-sizing:border-box}
.invoice-qris-pro{align-items:center;overflow:hidden}
.invoice-qris-copy-pro{min-width:0;flex:1;padding-right:8px}
.invoice-qris-copy-pro p{margin:8px 0 6px;line-height:1.45}
.invoice-qris-pro img{width:118px;max-width:42%;height:auto;object-fit:contain;display:block;flex:none;border:0;padding:0;background:#fff}
.invoice-doc-footer{margin-top:auto;padding-top:18px}
.invoice-doc-footer b,.invoice-doc-footer span{text-align:center}

#printArea{display:none}
@media print{
 @page{size:A4 portrait;margin:12mm 13mm}
 html,body{margin:0!important;padding:0!important;background:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
 body>*:not(#printArea){display:none!important}
 #printArea{display:block!important;position:static!important;width:auto!important;margin:0!important;padding:0!important;background:#fff!important}
 #printArea .invoice-doc{display:flex!important;flex-direction:column!important;width:100%!important;min-height:270mm!important;box-sizing:border-box!important;margin:0!important;padding:0!important;box-shadow:none!important;border:0!important;background:#fff!important;color:#282123!important}
 #printArea .invoice-doc-header{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:10mm!important}
 #printArea .invoice-doc-brand{display:flex!important;align-items:center!important;gap:4mm!important}
 #printArea .invoice-doc-brand img{width:18mm!important;height:18mm!important;object-fit:contain!important}
 #printArea .invoice-doc-brand h2{font-size:14pt!important;margin:0 0 1.5mm!important}
 #printArea .invoice-doc-brand p{font-size:7.3pt!important;line-height:1.45!important;max-width:95mm!important;margin:0!important}
 #printArea .invoice-doc-brand span{font-size:7.3pt!important}
 #printArea .invoice-doc-title{text-align:right!important;min-width:43mm!important}
 #printArea .invoice-doc-title>strong{font-size:21pt!important;letter-spacing:.07em!important}
 #printArea .invoice-doc-title>span{font-size:8pt!important;margin:1.5mm 0 2mm!important}
 #printArea .invoice-status-badge{font-size:7pt!important;padding:1.5mm 2.5mm!important}
 #printArea .invoice-doc-rule{height:.7mm!important;margin:5mm 0 7mm!important;background:#81322c!important}
 #printArea .invoice-doc-meta{display:grid!important;grid-template-columns:1.08fr .92fr!important;gap:5mm!important;margin-bottom:8mm!important}
 #printArea .invoice-doc-meta section{padding:4.5mm!important;border-radius:2.5mm!important;min-height:27mm!important;box-sizing:border-box!important}
 #printArea .invoice-doc-meta label,#printArea .invoice-pay-info label,#printArea .invoice-qris-pro label{font-size:6.8pt!important;letter-spacing:.8px!important}
 #printArea .invoice-doc-meta h3{font-size:10.5pt!important;margin:2mm 0 1.5mm!important}
 #printArea .invoice-doc-meta p{font-size:7.5pt!important;line-height:1.45!important}
 #printArea .invoice-doc-detail{display:grid!important;grid-template-columns:1fr 1fr!important;gap:3mm 4mm!important}
 #printArea .invoice-doc-detail div b{font-size:8pt!important;margin-top:1mm!important}
 #printArea .invoice-doc-table-wrap{border-radius:2.5mm!important;overflow:hidden!important;margin:0!important}
 #printArea .invoice-doc-table{width:100%!important;font-size:8pt!important;border-collapse:collapse!important}
 #printArea .invoice-doc-table th{font-size:7pt!important;padding:3mm 3.2mm!important;background:#f7f2ef!important}
 #printArea .invoice-doc-table td{font-size:8pt!important;padding:3.2mm!important;border-bottom:.3mm solid #eee4df!important}
 #printArea .invoice-doc-total{width:68mm!important;margin:6mm 0 0 auto!important;padding:4mm 4.5mm!important;border-radius:2.5mm!important;box-sizing:border-box!important}
 #printArea .invoice-doc-total span{font-size:7pt!important}
 #printArea .invoice-doc-total strong{font-size:15pt!important}
 #printArea .invoice-doc-payment{display:grid!important;grid-template-columns:1fr 1fr!important;gap:5mm!important;margin-top:9mm!important;break-inside:avoid!important;page-break-inside:avoid!important}
 #printArea .invoice-pay-info,#printArea .invoice-qris-pro{padding:4.5mm!important;min-height:42mm!important;border-radius:2.5mm!important;box-sizing:border-box!important}
 #printArea .invoice-pay-info p,#printArea .invoice-qris-pro p{font-size:7.5pt!important;line-height:1.5!important;margin:2mm 0!important}
 #printArea .invoice-pay-info small,#printArea .invoice-qris-pro small{font-size:6.6pt!important;line-height:1.4!important}
 #printArea .invoice-qris-pro{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:4mm!important;overflow:visible!important}
 #printArea .invoice-qris-copy-pro{flex:1!important;min-width:0!important;padding:0!important}
 #printArea .invoice-qris-pro img{width:32mm!important;max-width:none!important;height:auto!important;object-fit:contain!important;display:block!important;border:0!important;padding:0!important;background:#fff!important;flex:none!important}
 #printArea .invoice-doc-footer{margin-top:auto!important;border-top:.3mm solid #e9dfda!important;padding-top:4mm!important;text-align:center!important;break-inside:avoid!important}
 #printArea .invoice-doc-footer b{font-size:8pt!important;text-align:center!important}
 #printArea .invoice-doc-footer span{font-size:7pt!important;line-height:1.45!important;text-align:center!important;margin-top:1mm!important}
}


/* V1.4.2 — invoice calculator + preview controls + editable voice */
.invoice-shell{align-items:start}
.invoice-shell.preview-hidden{grid-template-columns:minmax(0,1fr)}
.invoice-shell.preview-hidden .invoice-preview-panel{display:none}
.invoice-show-preview{white-space:nowrap}
.invoice-preview-panel{position:relative;min-width:0;border-radius:16px;background:#f3efec;border:1px solid #e4d9d4;overflow:hidden}
.invoice-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#fff;border-bottom:1px solid #e8ded9;font-size:10.5px;font-weight:900;color:#5e4e50}
.invoice-preview-actions{display:flex;align-items:center;gap:6px}
.invoice-preview-toolbar button{padding:7px 9px;font-size:10px}
.invoice-arrow-btn{min-width:34px;font-size:18px!important;line-height:1;padding:5px 9px!important}
.invoice-preview-panel.is-fullscreen{position:fixed;z-index:10050;inset:14px;background:#eee8e4;border-radius:18px;box-shadow:0 28px 90px rgba(30,18,16,.34);display:flex;flex-direction:column}
.invoice-preview-panel.is-fullscreen .invoice-preview-toolbar{flex:none;padding:12px 16px}
.invoice-preview-panel.is-fullscreen .invoice-preview{flex:1;overflow:auto;padding:22px;display:flex;justify-content:center;align-items:flex-start}
.invoice-preview-panel.is-fullscreen .invoice-doc{width:min(900px,100%);min-height:1120px}
body.invoice-preview-open{overflow:hidden}
.invoice-row-calc{display:grid;grid-template-columns:minmax(180px,1.6fr) minmax(110px,.8fr) minmax(80px,.45fr) minmax(130px,.85fr) auto;gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid #efe5e0}
.invoice-row-calc label{min-width:0}
.invoice-row-calc .invoice-row-action{padding-bottom:1px}
.inv-total-readonly{background:#f8f5f3!important;color:#6e2620!important;font-weight:900!important}
.voice-script-editor{display:grid;gap:10px;margin-top:14px}
.voice-script-editor label{font-size:10px;font-weight:900;color:#66585a}
.voice-script-editor textarea{min-height:70px;margin-top:6px;line-height:1.5}
.invoice-doc-table th:nth-child(1),.invoice-doc-table td:nth-child(1){width:44%}
.invoice-doc-table th:nth-child(2),.invoice-doc-table td:nth-child(2){width:20%}
.invoice-doc-table th:nth-child(3),.invoice-doc-table td:nth-child(3){width:10%}
.invoice-doc-table th:nth-child(4),.invoice-doc-table td:nth-child(4){width:26%}
@media(max-width:1180px){.invoice-preview-panel{min-width:0}.invoice-shell.preview-hidden{display:block}}
@media(max-width:760px){.invoice-row-calc{grid-template-columns:1fr 1fr}.invoice-row-calc .inv-field-detail{grid-column:1/-1}.invoice-row-calc .invoice-row-action{grid-column:1/-1}.invoice-preview-toolbar{position:sticky;top:0;z-index:2}.invoice-preview-panel.is-fullscreen{inset:0;border-radius:0}.invoice-preview-panel.is-fullscreen .invoice-preview{padding:8px}.invoice-preview-panel.is-fullscreen .invoice-doc{min-height:0}}
@media print{#printArea .invoice-doc-table th:nth-child(1),#printArea .invoice-doc-table td:nth-child(1){width:44%!important}#printArea .invoice-doc-table th:nth-child(2),#printArea .invoice-doc-table td:nth-child(2){width:20%!important}#printArea .invoice-doc-table th:nth-child(3),#printArea .invoice-doc-table td:nth-child(3){width:10%!important}#printArea .invoice-doc-table th:nth-child(4),#printArea .invoice-doc-table td:nth-child(4){width:26%!important}}


/* V1.4.3 - Cash voice automation */
.voice-auto-rule{margin-top:12px;padding:14px 16px;border:1px solid #eadfd9;border-radius:14px;background:#fffaf6;display:flex;flex-direction:column;gap:6px;font-size:11px;line-height:1.55;color:#5e4f51}.voice-auto-rule>b{color:var(--maroon);font-size:12px}.voice-auto-rule span{display:block}.voice-auto-rule small{margin-top:4px;color:#7b6d6f}.voice-script-editor .field-help{display:block;margin-top:6px;font-size:10px;line-height:1.5;color:var(--muted)}


/* V1.4.4 — Invoice editor no-cut responsive row fix */
.invoice-editor-card{min-width:0;overflow:visible}
#invRows{min-width:0;max-width:100%;overflow:visible}
.invoice-row-calc{min-width:0;max-width:100%}
.invoice-row-calc label,.invoice-row-calc input,.invoice-row-calc .invoice-row-action{min-width:0;max-width:100%;box-sizing:border-box}
.invoice-row-calc input{width:100%;box-sizing:border-box}
@media(max-width:1500px){
  .invoice-row-calc{grid-template-columns:minmax(0,1fr) minmax(110px,.65fr);gap:10px 12px;padding:14px 0}
  .invoice-row-calc .inv-field-detail{grid-column:1/-1}
  .invoice-row-calc label:nth-of-type(2){grid-column:1}
  .invoice-row-calc label:nth-of-type(3){grid-column:2}
  .invoice-row-calc label:nth-of-type(4){grid-column:1}
  .invoice-row-calc .invoice-row-action{grid-column:2;align-self:end;padding-bottom:0}
  .invoice-row-calc .invoice-row-action button{width:100%;min-height:40px}
}
@media(max-width:560px){
  .invoice-row-calc{grid-template-columns:minmax(0,1fr) minmax(86px,.45fr);gap:9px}
  .invoice-row-calc label:nth-of-type(2){grid-column:1}
  .invoice-row-calc label:nth-of-type(3){grid-column:2}
  .invoice-row-calc label:nth-of-type(4){grid-column:1/-1}
  .invoice-row-calc .invoice-row-action{grid-column:1/-1}
}

/* V1.4.5 — FINAL QA + POS selected-state refinement */
.menu-list-row.in-cart{background:linear-gradient(90deg,#f5fff7,#fff);border-left:3px solid #2f8a4d;padding-left:12px}
.menu-list-row.in-cart .menu-add{background:#2f8a4d!important;border-color:#2f8a4d!important;color:#fff!important;box-shadow:0 5px 12px rgba(47,138,77,.18)}
.menu-list-row.in-cart .menu-add span{color:#fff!important}
.menu-list-row.in-cart .menu-list-main b{color:#245f36}
.menu-added-caption,.menu-qty-badge{display:none!important}
@media(max-width:560px){.menu-list-row.in-cart{padding-left:10px}}

/* V1.5.1 — Purchase description */
.purchase-table{min-width:760px}.purchase-table .purchase-note{min-width:260px;max-width:520px;white-space:normal;line-height:1.45;overflow-wrap:anywhere}.form-grid textarea#buyNote{min-height:88px;resize:vertical}
@media(max-width:700px){.purchase-table{min-width:680px}.purchase-table .purchase-note{min-width:220px}}

/* V1.5.4 cloud integrity alert */
.sync-alert{position:sticky;top:82px;z-index:19;margin:0 28px 8px;padding:10px 14px;border:1px solid #cf222e;border-radius:10px;background:#fff1f0;color:#7a1717;font-size:12px;font-weight:800;line-height:1.45;box-shadow:0 5px 16px rgba(90,0,0,.08)}
.sync-alert.hidden{display:none}
@media(max-width:820px){.sync-alert{top:72px;margin:0 14px 8px;padding:9px 11px;font-size:11px}}

/* V1.5.6 — desain POS bergaya aplikasi kasir profesional (tanpa gambar produk) */
.pos-layout.premium-pos{gap:18px;grid-template-columns:minmax(0,1.35fr) minmax(355px,.78fr)}
.menu-browser-card,.checkout-card{border:1px solid #e9e5e1!important;border-radius:16px!important;background:#fff!important;box-shadow:0 10px 28px rgba(44,35,28,.05)!important}
.menu-browser-card .card-head h3,.checkout-card .card-head h3{font-size:17px;letter-spacing:-.025em}
.pos-menu{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));align-items:stretch;gap:10px;background:transparent!important;border:0!important;overflow:visible!important;box-shadow:none!important}
.menu-list-row{min-height:105px!important;border:1px solid #e9e4df!important;border-radius:12px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:space-between!important;gap:9px!important;padding:14px!important;background:#fff!important;box-shadow:none!important;transform:none!important;transition:background .13s,border-color .13s,box-shadow .13s!important}
.menu-list-row:hover{border-color:#9c8680!important;background:#fffaf6!important;box-shadow:0 4px 14px rgba(67,34,19,.05)!important}
.menu-list-row.in-cart{border-color:#7a2d27!important;background:#fff9f5!important}
.menu-list-main b{line-height:1.35;font-size:13px!important;font-weight:750;color:#242023}
.menu-list-main strong{font-size:14px!important;margin-top:8px!important}
.menu-list-side{justify-content:space-between;gap:7px;flex-wrap:wrap}
.menu-category{font-size:10px!important}
.menu-add{min-width:29px!important;width:29px!important;height:29px!important;border-radius:8px!important}
.stock-inline{display:inline-flex;max-width:100%;align-items:center;font-weight:800;font-size:10px;color:#287a48;background:#eaf6ec;border:1px solid #d2e9d7;padding:4px 7px;border-radius:7px}
.stock-inline.empty-stock{color:#a33433;background:#fff1f0;border-color:#f3cfca}
.pos-footer-actions{display:flex;flex-direction:column;gap:9px;margin-top:14px}.pos-footer-actions button{width:100%;padding:14px 12px;min-height:47px;border-radius:10px;font-weight:850}
.pos-footer-actions #saveBill{background:#fff8e8;border:1px solid #ddbb79;color:#694317}
.cart-line small{display:block;color:#746967;margin-top:3px}
.history-items{font-size:11px;color:#665b59;line-height:1.55;max-width:340px;margin-top:5px;overflow-wrap:anywhere}
.stock-grid,.table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:12px;margin:16px 0}
.stock-tile,.table-tile{border:1px solid #e8e0da;border-radius:13px;background:#fff;padding:14px;display:flex;flex-direction:column;gap:11px}
.stock-tile h3,.table-tile b{font-size:14px;margin:0}.stock-tile-header{display:flex;justify-content:space-between;gap:9px;align-items:start}.stock-tile-header strong{color:#761b22;font-size:12px;white-space:nowrap}
.stock-tile .button-row{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px}
.stock-map-title{margin-top:24px}
.table-tile.occupied{border-color:#cc9f6b;background:#fffaf1}.table-tile>span{font-size:11px;color:#736665}
.order-brief{display:flex;flex-direction:column;gap:7px;margin-top:8px;padding:11px;background:#fff;border:1px solid #ede5df;border-radius:9px;overflow-wrap:anywhere}.order-brief strong,.order-brief b{font-size:12px}.order-brief small{font-size:11px;color:#726563;line-height:1.5}
.order-brief button{padding:10px!important}.order-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.receipt-preview{font-size:11px;line-height:1.5;white-space:pre-wrap;background:#fbfaf7;border:1px solid #e7dfd8;border-radius:10px;padding:15px;max-height:45vh;overflow:auto;width:max-content;max-width:100%;margin:12px auto}
.bottom-nav{display:none}
#stPrintReceipt{display:none}
@media(max-width:1180px){.pos-layout.premium-pos{grid-template-columns:1fr}}
@media(max-width:1100px){
 #sidebar{transform:translateX(-105%)!important;width:min(320px,88vw)!important;z-index:98!important;left:0;top:0;bottom:0;height:100dvh;display:flex}
 body.sidebar-mobile-open #sidebar{transform:translateX(0)!important}
 body.sidebar-collapsed #sidebar{transform:translateX(-105%)!important}
 main,body.sidebar-collapsed main{margin-left:0!important;width:100%!important;padding-bottom:calc(78px + env(safe-area-inset-bottom))!important}
 .sidebar-toggle,.mobile-sidebar-handle,#mobileMenu{display:none!important}
 .backdrop{display:block!important;position:fixed;inset:0;z-index:96;background:rgba(0,0,0,.45);opacity:0;pointer-events:none}
 body.sidebar-mobile-open .backdrop{opacity:1;pointer-events:auto}
 .bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:75;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;min-height:65px;padding:6px 7px max(7px,env(safe-area-inset-bottom));border-top:1px solid #e8dfdb;background:rgba(255,255,255,.98);box-shadow:0 -8px 25px rgba(47,25,18,.07)}
 .bottom-tab{background:transparent;color:#736d6a;border:0;padding:5px 1px;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:2px;flex-direction:column;min-width:0;font-weight:750}
 .bottom-tab.active{color:#812229;background:#fff4f0}.bottom-tab small{font-size:10px!important;white-space:nowrap}.bottom-icon{font-size:22px;line-height:25px}
}
@media(max-width:600px){.pos-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.menu-list-row{min-height:115px!important;padding:11px!important}.pos-layout{gap:12px}.menu-browser-card,.checkout-card{border-radius:12px!important}.bottom-nav{min-height:68px}}
@media print{
 body:has(#stPrintReceipt) > :not(#stPrintReceipt){display:none!important}
 body:has(#stPrintReceipt) #stPrintReceipt{display:block!important;width:72mm!important;margin:0!important;padding:0!important;position:static!important}
 #stPrintReceipt pre{display:block;white-space:pre-wrap;font:9pt/1.4 'Courier New',monospace!important;color:#000!important;margin:0!important}
 @page{size:80mm auto;margin:4mm}
}

/* V1.5.7 — jumlah stok mudah diinput di HP dan desktop */
.stock-qty-edit{display:flex;align-items:center;gap:6px;min-width:148px}
.stock-qty-edit input{width:78px;max-width:100%;min-width:68px;border:1px solid #d9cbc1;border-radius:8px;padding:9px 7px;font-weight:700}
.stock-qty-edit button{padding:9px 11px;font-size:11px;white-space:nowrap}
.stock-inline.unset-stock{background:#fff6e5;color:#8a5c1d;border-color:#f0d7a0}
.stock-mapping-settings{margin-top:18px;padding:12px;border:1px solid #e9e0d9;border-radius:10px}
.stock-mapping-settings summary{cursor:pointer;font-weight:700;color:#6c3335}
