:root{--bg: #f1f5f9;--panel: #ffffff;--ink: #0f172a;--muted: #64748b;--line: #e2e8f0;--brand: #0f766e;--brand-ink: #ffffff;--accent: #f59e0b}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}button{font-family:inherit;cursor:pointer}.read-only-banner{background:#fff7ed;color:#9a3412;text-align:center;font-size:13px;font-weight:650;padding:6px 12px;border-bottom:1px solid #fed7aa}.app.read-only button.primary,.app.read-only button.danger{pointer-events:none;opacity:.45}.center{display:grid;place-items:center;height:100%;color:var(--muted)}.muted{color:var(--muted);font-size:14px;padding:8px 2px}.hint{color:var(--muted);font-size:12px;margin-top:10px}.searchbox{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;margin-bottom:8px;background:#fff}.searchbox:focus{outline:none;border-color:var(--brand)}.guesttabs{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}.guesttabs .gtab{padding:5px 10px;border:1px solid var(--line);background:#fff;border-radius:999px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer}.guesttabs .gtab.on{background:var(--brand);border-color:var(--brand);color:#fff}.guesttabs .gtab.add{color:var(--brand);border-style:dashed}.guesttabs .gtab:disabled{opacity:.55;cursor:default}.importreport{margin-top:10px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13px;max-height:220px;overflow:auto}.importreport .ok{color:#16a34a;font-weight:600}.importreport .err{color:#dc2626}.login-wrap{height:100%;display:grid;place-items:center;background:radial-gradient(1200px 600px at 50% -10%,#134e4a,#0f172a 60%)}.login-card{background:var(--panel);width:340px;padding:32px;border-radius:16px;box-shadow:0 20px 50px #00000059;display:flex;flex-direction:column;gap:12px}.login-card .logo{font-size:40px;text-align:center}.login-card h1{margin:0;text-align:center;font-size:24px}.login-card .sub{margin:-6px 0 8px;text-align:center;color:var(--muted)}.login-card label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.login-card input{padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:15px}.login-card button{background:var(--brand);color:var(--brand-ink);border:0;padding:11px;border-radius:10px;font-size:15px;font-weight:600}.login-card .err{background:#fef2f2;color:#b91c1c;padding:8px 10px;border-radius:8px;font-size:13px}.login-card .powered{margin:12px 0 0;text-align:center;color:var(--muted);font-size:12px}.login-card .powered strong{color:var(--brand);font-weight:600}.app{height:100%;display:flex;flex-direction:column}.topbar{height:56px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 18px;flex:0 0 auto}.brand{font-weight:700;font-size:18px}.brand .role{font-size:11px;background:#334155;padding:2px 8px;border-radius:999px;margin-left:8px;vertical-align:middle}.brand .poweredby{font-size:10px;font-weight:600;color:var(--muted);letter-spacing:.5px;text-transform:uppercase;margin-left:8px;vertical-align:middle}.brand .poweredby:before{content:"by ";font-weight:400;text-transform:none}.who{font-size:13px;color:#cbd5e1;display:flex;align-items:center;gap:12px}.nav{display:flex;gap:6px}.nav button{background:transparent;border:1px solid #334155;color:#cbd5e1;padding:6px 16px;border-radius:8px;font-size:14px;position:relative}.nav button.on{background:var(--brand);border-color:var(--brand);color:#fff}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:999px;background:#f59e0b;color:#1e293b;font-size:11px;font-weight:800;line-height:1}.nav button.on .nav-badge{background:#fff;color:#0d9488}.online-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 12px 8px;padding:10px 14px;border-radius:10px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;font-size:14px}.online-alert .primary{background:#ea580c;border-color:#ea580c;white-space:nowrap}.ghost{background:transparent;border:1px solid var(--line);color:var(--ink);padding:6px 12px;border-radius:8px;font-size:13px}.ghost:disabled{opacity:.4}.topbar .ghost{border-color:#475569;color:#e2e8f0}.toast{background:#0f766e;color:#fff;padding:10px 16px;font-size:14px;cursor:pointer}.cols{flex:1 1 auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.3fr) minmax(0,360px);gap:12px;padding:12px;min-height:0}.cols>*{background:var(--panel);border-radius:14px;padding:14px;overflow:auto;box-shadow:0 1px 3px #0000000f;min-width:0}.cols>.cart{overflow:hidden;display:flex;flex-direction:column;min-height:0}.cols h2{margin:0 0 10px;font-size:15px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.pos-shell{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.pos-mobile-tabs{display:none}.pos-mobile-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:6px;border-radius:999px;background:#f59e0b;color:#111;font-size:11px;font-weight:800}.pos-mobile-tabs button.on .pos-mobile-badge{background:#fff;color:var(--brand)}.area{margin-bottom:14px}.area-name{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:8px}.tables{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}.table{position:relative;aspect-ratio:1;border:2px solid var(--line);background:#fff;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.table .tnum{font-weight:700;font-size:15px}.table .cap{font-size:11px;color:var(--muted)}.table.billed .cap{color:#dc2626;font-weight:700}.table .dot{width:8px;height:8px;border-radius:999px}.table.sel{outline:3px solid var(--accent);outline-offset:1px}.legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px;font-size:12px;color:var(--muted);text-transform:capitalize}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:middle}.cats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.cat{border:1px solid var(--line);background:#fff;padding:7px 14px;border-radius:999px;font-size:14px}.cat.on{background:var(--brand);color:#fff;border-color:var(--brand)}.items{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.itemcard{border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:84px;text-align:left;transition:transform .05s}.itemcard:active{transform:scale(.97)}.itemcard .iname{font-weight:600;font-size:14px;line-height:1.2}.itemcard .iprice{color:var(--brand);font-weight:700}.veg{display:inline-block;width:14px;height:14px;border-radius:3px;border:2px solid}.vegbtn{background:none;border:0;padding:4px;cursor:pointer;line-height:0;border-radius:4px}.vegbtn:hover:not(:disabled){background:#0000000f}.vegbtn:disabled{cursor:default;opacity:.6}.veg.v{border-color:#16a34a;background:radial-gradient(circle,#16a34a 38%,transparent 40%)}.veg.n{border-color:#dc2626;background:radial-gradient(circle,#dc2626 38%,transparent 40%)}.cart{display:flex;flex-direction:column;min-height:0}.cart>.totals,.cart>.discountrow,.cart>.actions,.cart>h2,.cart>.guesttabs,.cart>.custbar{flex:0 0 auto}.lines{flex:1 1 auto;overflow-x:hidden;overflow-y:auto;min-height:80px;-webkit-overflow-scrolling:touch}.line{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);flex:0 0 auto}.lmain{flex:1 1 auto;min-width:0}.lname{font-size:14px;font-weight:700;line-height:1.25;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lunit{margin-top:1px;font-size:12px;color:var(--muted)}.lamt{flex:0 0 auto;font-weight:800;font-size:14px;color:var(--brand);font-variant-numeric:tabular-nums;min-width:4.5rem;text-align:right}.laddons{font-size:11px;color:#2563eb;margin:1px 0}.qty{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex:0 0 auto}.qty button{box-sizing:border-box;width:32px;height:32px;min-width:32px;min-height:32px;padding:0;border:1px solid var(--line);background:#fff;border-radius:8px;font-size:16px;font-weight:700;line-height:1;flex:0 0 auto}.qty span{min-width:18px;text-align:center;font-weight:700;font-size:14px;flex:0 0 auto}.qty .lx{color:#b91c1c;border-color:#fecaca}.kotgroups{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.kotgroups-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.kothist{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow:auto;padding:4px 2px}.kothist-row{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#f8fafc}.kothist-row.ev-cancelled,.kothist-row.ev-print_failed{background:#fef2f2;border-color:#fecaca}.kothist-row.ev-printed,.kothist-row.ev-reprinted{background:#f0fdf4;border-color:#bbf7d0}.kothist-top{display:flex;align-items:center;gap:8px}.kothist-ev{font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.kothist-kot{font-size:12px;font-weight:700;color:var(--brand)}.kothist-at{margin-left:auto;font-size:11px;color:var(--muted)}.kothist-detail{font-size:13px;margin-top:2px}.kothist-actor{font-size:11px;color:var(--muted);margin-top:2px}.kotgroup{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#f8fafc}.kotgroup.cancel{background:#fef2f2;border-color:#fecaca}.kothead{display:flex;align-items:center;gap:8px;margin-bottom:4px}.kotno{font-weight:800;font-size:13px;letter-spacing:.02em}.kotroute{font-size:11px;color:var(--muted);text-transform:uppercase}.kotreprint{margin-left:auto;font-size:12px}.kotbadge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:#e2e8f0;color:#334155}.kotbadge.s-new{background:#dbeafe;color:#1d4ed8}.kotbadge.s-preparing{background:#fef3c7;color:#b45309}.kotbadge.s-ready{background:#dcfce7;color:#15803d}.kotbadge.s-served{background:#e2e8f0;color:#334155}.kotbadge.s-cancelled{background:#fee2e2;color:#b91c1c}.kotline{display:flex;align-items:center;gap:8px;font-size:13px;padding:2px 0}.kotqty{font-weight:700;min-width:26px}.kotname{flex:1 1 auto;min-width:0}.kotistat{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.kotistat.s-ready{color:#15803d}.kotistat.s-served{color:#64748b}.kotistat.s-preparing{color:#b45309}.kotistat.s-cancelled{color:#b91c1c}.unsent-head{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--brand);margin:6px 0 4px}.sent-cancel{margin-top:10px;font-size:13px}.sent-cancel summary{cursor:pointer;color:var(--muted);font-weight:600}.cancelrow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px dashed var(--line)}.cancelacts{display:flex;gap:10px;flex:0 0 auto}.cancelacts .danger{color:#b91c1c}.kot-send:not(:disabled){border-color:var(--brand);color:var(--brand);font-weight:700}.paidlist{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.paybox{border:1px solid var(--line);border-radius:10px;padding:8px;margin-top:6px;flex:0 1 auto;max-height:min(32vh,250px);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable}.paybox::-webkit-scrollbar{width:6px}.paybox::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:6px}.payhead{font-weight:700;font-size:12px;margin-bottom:6px;display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.payhead .paytitle{flex:1 1 auto;min-width:0;font-size:13px;font-weight:700;color:var(--ink)}.payhead-actions{display:flex;gap:4px;flex:0 0 auto;margin-left:auto}.payhead .ghost{font-size:11px;padding:3px 7px;white-space:nowrap}.paybox input{width:100%;padding:5px 8px;border:1px solid var(--line);border-radius:7px;font-size:13px;text-align:right;margin-bottom:0}.paygrid{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.payrow{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;padding:2px}.payrow b{font-variant-numeric:tabular-nums;text-align:right}.payrow.due{background:#f1f5f9;border-radius:7px;padding:5px 8px;font-weight:600}.payrow.change{background:#ecfdf5;color:#166534;border-radius:7px;padding:5px 8px;font-weight:700}.payrow.short{background:#fff7ed;color:#c2410c;border-radius:7px;padding:5px 8px;font-weight:700}.payrow.ok{color:#64748b}.payfield{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:var(--ink);font-weight:600;padding:0}.payfield>span{flex:1 1 auto;color:var(--muted);font-size:12px;font-weight:600}.payfield input{flex:0 0 auto;width:110px;max-width:42%;margin-bottom:0;text-align:right;font-variant-numeric:tabular-nums}.paymodes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.paymodes button{background:var(--brand);color:#fff;border:0;padding:8px 3px;border-radius:8px;font-weight:700;font-size:12px;min-width:0}.paymodes button:disabled{opacity:.5}.payhint{margin:5px 0 0;font-size:10px;color:var(--muted);line-height:1.3}.totals{border-top:2px solid var(--line);margin-top:10px;padding-top:10px;font-size:14px}.totals>div{display:flex;justify-content:space-between;padding:3px 0;color:var(--muted)}.totals .grand{color:var(--ink);font-weight:800;font-size:18px;margin-top:4px}.actions{display:flex;gap:8px;margin-top:12px}.actions .primary{flex:1;background:var(--brand);color:#fff;border:0;padding:12px;border-radius:10px;font-weight:700;font-size:15px}.actions .primary:disabled{opacity:.4}.actions .ghost{border-color:var(--line);color:var(--ink)}.discountrow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;font-size:13px;color:var(--muted)}.discountrow .discount-label{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--ink)}.discount-toggle{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.discount-toggle button{background:#fff;border:0;padding:4px 10px;font-size:13px;font-weight:700;cursor:pointer;color:var(--muted)}.discount-toggle button.on{background:var(--brand);color:#fff}.discount-input{display:flex;align-items:center;gap:6px}.discountrow input{width:90px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;font-size:14px;text-align:right}.discount-hint{font-size:12px;color:var(--muted);white-space:nowrap}.ostatus{float:right;font-size:11px;background:#e2e8f0;color:#334155;padding:2px 8px;border-radius:999px;text-transform:capitalize;letter-spacing:0}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000;overflow:hidden}.promptcard{width:min(380px,100%);max-height:calc(100dvh - 32px);overflow:auto}.billcard{background:#fff;width:380px;max-width:100%;border-radius:14px;padding:16px 16px 12px;box-shadow:0 20px 60px #0006;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:hidden;margin:0;display:flex;flex-direction:column;min-height:0;box-sizing:border-box}.bill-80mm-wrap{width:min(420px,100%)}.billcard>.receipt-80mm{flex:1 1 auto;min-height:200px;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-right:4px;scrollbar-gutter:stable}.billcard>.receipt-80mm::-webkit-scrollbar{width:8px}.billcard>.receipt-80mm::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}.billcard>.actions,.billcard>.paybox{flex:0 1 auto;position:static;background:#fff;z-index:2;margin-top:6px;padding-top:6px;border-top:1px solid var(--line)}.receipt-80mm{width:100%;max-width:100%;margin:0;box-sizing:border-box}.receipt-80mm .bshop{font-size:22px;font-weight:900;letter-spacing:.02em;line-height:1.1}.receipt-80mm .bbill-no{font-size:17px;font-weight:800}.receipt-80mm .bhead{padding-bottom:8px;margin-bottom:8px}.receipt-80mm .btotals{font-size:13px}.receipt-80mm .btotals .grand{font-size:16px}.receipt-80mm .bfoot{font-size:13px}.binvoice-title{font-weight:800;font-size:14px;letter-spacing:.08em;margin-bottom:4px}.bbill-type{font-weight:700;font-size:13px;margin:6px 0 4px}.bbill-no{font-weight:800;font-size:17px;letter-spacing:.02em;margin:6px 0 4px;line-height:1.15}.bmeta-row{display:flex;justify-content:space-between;gap:8px;font-size:12px;font-weight:600;text-align:left;margin-top:4px}.bmeta-left{text-align:left;font-size:12px;margin-top:2px}.bmeta{text-align:left;font-size:12px;margin-top:8px;line-height:1.45}.grand-block{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:2px dashed var(--line);border-bottom:2px dashed var(--line);padding:10px 0;margin:10px 0;text-align:left}.grand-label{font-weight:900;font-size:16px;letter-spacing:.04em}.grand-amt{font-weight:900;font-size:22px;line-height:1.1;font-variant-numeric:tabular-nums;text-align:right}.tax-summary{margin-top:8px;font-size:12px}.tax-summary>div{display:flex;justify-content:space-between;gap:8px}.tax-summary-title{font-weight:700;margin-bottom:2px}.tax-summary-total{font-weight:700;margin-top:4px;border-top:1px dashed var(--line);padding-top:4px}.bhead{text-align:center;border-bottom:2px dashed var(--line);padding-bottom:12px;margin-bottom:12px}.bshop{font-weight:900;font-size:22px}.custbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;margin-bottom:10px;background:#f1f5f9;border-radius:10px;font-size:14px}.custinfo{font-weight:600}.custacts{display:flex;gap:10px}.link{background:none;border:none;color:var(--brand);cursor:pointer;padding:0;font-size:13px;text-decoration:underline}.custlist{display:grid;gap:6px;max-height:260px;overflow:auto}.custrow{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;text-align:left}.custrow:hover{border-color:var(--brand);background:#f8fafc}.custrow .cname{font-weight:600}.formgrid{display:grid;gap:8px}.formgrid input{width:100%}.bcust{border-bottom:1px dashed var(--line);padding-bottom:8px;margin-bottom:8px;font-size:15px;font-weight:600}.custstats{display:flex;gap:10px;text-align:center}.custstats>div{flex:1;background:#f1f5f9;border-radius:10px;padding:10px 6px;display:flex;flex-direction:column;gap:2px}.custstats b{font-size:18px;color:var(--brand)}.custstats span{font-size:12px;color:#64748b}.heldbtn{float:right;margin-right:8px;font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--brand);background:#fff;color:var(--brand);cursor:pointer}.varpick{display:grid;gap:10px;margin-bottom:12px}.varbtn.on{border-color:var(--brand);background:#ecfdf5}.varbtn{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:16px;font-weight:600;cursor:pointer}.varbtn:hover{border-color:var(--brand);background:#f8fafc}.varbtn:disabled{opacity:.5;cursor:default}.bsub{color:var(--muted);font-size:12px;margin-top:1px}.bno{color:var(--muted);font-size:13px;margin-top:4px}.bpreview{margin-top:8px;padding:8px 10px;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;color:#92400e;font-size:13px;line-height:1.4;font-weight:600;text-align:left}.bfoot{text-align:center;color:var(--ink);font-size:13px;font-weight:700;letter-spacing:.04em;line-height:1.35;border-top:2px dashed var(--line);padding:12px 0 6px;margin-top:8px}.bfoot.parcel-wait{border-top:0;padding-top:6px;margin-top:0;font-weight:700;color:var(--ink)}.btable{width:100%;border-collapse:collapse;font-size:11px;table-layout:fixed}.btable th{text-align:left;color:var(--ink);font-weight:700;border:1px solid var(--line);padding:5px 3px;background:#f8fafc;font-size:10px;text-transform:uppercase;letter-spacing:.02em}.btable th:nth-child(1),.btable td:nth-child(1){width:44%;word-break:break-word}.btable th:nth-child(2),.btable td:nth-child(2),.btable th:nth-child(3),.btable td:nth-child(3),.btable th:nth-child(4),.btable td:nth-child(4){text-align:right;white-space:nowrap;width:18%}.btable.btable-gst th:nth-child(1),.btable.btable-gst td:nth-child(1){width:28%}.btable.btable-gst th:nth-child(2),.btable.btable-gst td:nth-child(2){width:8%}.btable.btable-gst th:nth-child(3),.btable.btable-gst td:nth-child(3),.btable.btable-gst th:nth-child(4),.btable.btable-gst td:nth-child(4),.btable.btable-gst th:nth-child(5),.btable.btable-gst td:nth-child(5),.btable.btable-gst th:nth-child(6),.btable.btable-gst td:nth-child(6){text-align:right;white-space:nowrap;width:16%;font-size:10px}.btable td{padding:5px 3px;border:1px solid var(--line);vertical-align:top;font-weight:600;font-size:11px}.btotals{margin:12px 0;border-top:2px dashed var(--line);padding-top:10px;font-size:15px}.receipt-80mm .grand-block{position:static;background:#fff}.receipt-80mm .bfoot{padding-bottom:4px}.btotals>div{display:flex;justify-content:space-between;padding:4px 0;color:var(--ink);font-weight:600}.btotals .tax{font-size:14px}.btotals .grand{color:var(--ink);font-weight:800;font-size:20px}.kdswrap{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.kdstools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 12px 0;flex:0 0 auto}.kdstabs{display:flex;gap:6px}.kdstabs button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.kdstabs button.on{background:var(--brand);color:#fff;border-color:var(--brand)}.kdstabs .count,.station .count{background:#e2e8f0;color:#334155;border-radius:999px;font-size:12px;padding:1px 8px}.kdstabs button.on .count{background:#ffffff40;color:#fff}.kdshint{margin:0;font-size:12px;color:#64748b;flex:1 1 200px}.kds{flex:1 1 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:12px;min-height:0}.kdsbanner{margin:8px 12px 0;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:10px;padding:8px 12px;font-size:13px}.kcard.served{opacity:.95}.station{background:var(--panel);border-radius:14px;padding:14px;overflow:auto;box-shadow:0 1px 3px #0000000f}.station h3{margin:0 0 12px;font-size:15px;display:flex;align-items:center;gap:8px}.station .count{background:#e2e8f0;color:#334155;border-radius:999px;font-size:12px;padding:1px 8px}.livedot{width:9px;height:9px;border-radius:999px;background:#94a3b8;margin-left:auto}.livedot.on{background:#16a34a;box-shadow:0 0 0 3px #16a34a33}.kcards{display:flex;flex-direction:column;gap:10px}.kcard{border:1px solid var(--line);border-top:4px solid;border-radius:12px;padding:12px}.khead{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ktable{font-weight:700}.konline{color:#1d4ed8}.kstatus{color:#fff;font-size:11px;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.kitems{list-style:none;margin:0 0 10px;padding:0;font-size:14px}.kitems li{padding:3px 0;border-bottom:1px solid #f1f5f9}.kitems.selectable{margin-bottom:8px}.kitems.selectable li{padding:0;border-bottom:0;margin-bottom:6px}.kitems.selectable li:last-child{margin-bottom:0}.kprogress{font-size:12px;color:#64748b;margin:0 0 8px}.kitem{width:100%;display:flex;align-items:center;gap:10px;text-align:left;background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:15px;color:var(--ink);cursor:pointer}.kitem:disabled{opacity:.55;cursor:default}.kitem.done{background:#ecfdf5;border-color:#86efac}.kitem.done .kitemtxt{text-decoration:line-through;color:#166534}.kitem.partial{background:#fffbeb;border-color:#fcd34d}.kcheck{flex:0 0 auto;width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #cbd5e1;font-size:13px;font-weight:700;color:#64748b}.kitem.done .kcheck{background:#16a34a;border-color:#16a34a;color:#fff}.kitem.partial .kcheck{background:#f59e0b;border-color:#f59e0b;color:#fff;font-size:11px}.kitemtxt{flex:1 1 auto;min-width:0}.kitemrow{display:flex;gap:6px;align-items:stretch}.kitemrow .kitem{flex:1 1 auto}.kserveone{flex:0 0 auto;min-width:64px;background:var(--brand);color:#fff;border:0;border-radius:10px;font-weight:700;font-size:13px;padding:0 12px}.kserveone:disabled{opacity:.5}.kitem.servedline{opacity:.7}.kservedtag{font-style:normal;font-size:11px;color:#64748b;margin-left:6px;font-weight:600}.kcard .primary{width:100%;background:var(--brand);color:#fff;border:0;padding:9px;border-radius:9px;font-weight:600}.kcard .primary:disabled{opacity:.5}.kactions{display:flex;flex-direction:column;gap:6px;margin-top:4px}.kactions .primary,.kactions .ghost{width:100%;padding:9px;border-radius:9px;font-weight:600;font-size:13px}.kactions .ghost{background:#fff}.inv{flex:1 1 auto;padding:12px;overflow:auto;min-height:0}.inv>section{background:var(--panel);border-radius:14px;padding:16px;box-shadow:0 1px 3px #0000000f}.addcell{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.addcell input{width:84px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;font-size:13px;text-align:right}.addcell button{background:var(--brand);color:#fff;border:0;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600}.addcell button.ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}.addcell button.danger{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.addcell button:disabled{opacity:.5}.bill-attach-picker{display:flex;align-items:center;align-self:end;flex-wrap:wrap;gap:6px;min-height:34px}.bill-file-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}.bill-view-link{display:inline-block;margin-left:8px;border:0;background:transparent;color:var(--brand);padding:2px 4px;font-size:12px;font-weight:700;text-decoration:underline;cursor:pointer}.addcell select{padding:6px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;font-weight:600;background:#fff;color:var(--ink);min-width:96px}.addcell select.user-status-active{border-color:#86efac;background:#f0fdf4;color:#166534}.addcell select.user-status-inactive{border-color:#cbd5e1;background:#f8fafc;color:#64748b}.addcell select:disabled{opacity:.65;cursor:not-allowed}.inv h2{margin:0 0 12px;font-size:15px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.lowbadge{background:#fef2f2;color:#b91c1c;font-size:12px;padding:2px 10px;border-radius:999px;margin-left:8px;text-transform:none;letter-spacing:0}.pill{display:inline-block;font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px;white-space:nowrap}.pill-ok{background:#dcfce7;color:#15803d}.pill-warn{background:#fef3c7;color:#b45309}.pill-online{background:#dbeafe;color:#1d4ed8;font-weight:800;letter-spacing:.03em}.rowacts{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.rowacts select{padding:4px 6px;font-size:13px}.rowacts select.paynow{background:#dcfce7;color:#15803d;border:1px solid #86efac;font-weight:700;cursor:pointer}.rowacts select.paynow:hover:not(:disabled){background:#bbf7d0}.invtable{width:100%;border-collapse:collapse;font-size:14px}.invtable th{text-align:left;color:var(--muted);font-weight:600;border-bottom:2px solid var(--line);padding:8px 6px}.invtable td{padding:9px 6px;border-bottom:1px solid #f1f5f9}.invtable .num{text-align:right}.invtable .lowrow{background:#fff7ed}.invtable-compact th,.invtable-compact td{padding:6px 5px}.item-bilingual{white-space:nowrap}.item-bilingual .item-en{font-weight:600}.item-bilingual .item-sep{color:var(--muted)}.item-bilingual .item-ta{font-weight:400}.addcell.stock-adjust{flex-wrap:nowrap;gap:4px}.addcell.stock-adjust input{width:68px;padding:5px 6px}.addcell.stock-adjust button{padding:5px 10px}.opening-stock-cell{flex-wrap:wrap;min-width:220px}.opening-stock-cell input[type=number]{width:72px}.opening-stock-cell input[type=date]{width:auto;min-width:128px;padding:5px 6px;border:1px solid var(--line);border-radius:8px;font-size:12px;text-align:left}.th-sort{border:0;background:transparent;padding:0;margin:0;font:inherit;font-weight:600;color:inherit;cursor:pointer;text-align:inherit}.th-sort:hover{color:var(--ink)}.invtable th.num .th-sort{width:100%;text-align:right}.cost-edit{display:inline-flex;align-items:center;gap:2px;justify-content:flex-end}.cost-edit .cost-prefix{color:var(--muted);font-size:13px}.cost-edit input{width:72px;padding:5px 6px;border:1px solid var(--line);border-radius:8px;font-size:13px;text-align:right}.stock-datebar{display:flex;flex-wrap:wrap;align-items:end;gap:10px 14px;margin-bottom:12px}.stock-inward{padding:0 12px 12px;display:flex;flex-direction:column;gap:10px}.stock-inward-modes{display:inline-flex;flex-wrap:wrap;gap:0;padding:3px;background:#f1f5f9;border:1px solid var(--line);border-radius:10px;width:fit-content;max-width:100%}.stock-inward-modes button{background:transparent;border:0;color:var(--muted);padding:7px 14px;border-radius:8px;font-size:13px;font-weight:650;cursor:pointer;line-height:1.2}.stock-inward-modes button.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px #0f172a14}.stock-date-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);font-weight:600}.stock-date-field input[type=date]{padding:7px 10px;border:1px solid var(--line);border-radius:9px;font-size:13px;background:#fff;color:var(--ink)}.stock-hide-zero{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);-webkit-user-select:none;user-select:none}.stock-statement thead th.grp{text-align:center;background:#f8fafc;border-bottom:1px solid var(--line)}.stock-statement tfoot td{border-top:2px solid var(--line);padding-top:10px;font-weight:600}.stock-statement tr.stock-cat{cursor:pointer;background:#f1f5f9}.stock-statement tr.stock-cat:hover{background:#e8eef6}.stock-statement tr.stock-cat td{font-weight:650}.stock-statement .stock-cat-name{display:inline-flex;align-items:center;gap:6px}.stock-statement .stock-caret{display:inline-block;width:12px;color:var(--muted);font-size:11px}.stock-statement tr.stock-item td:first-child{padding-left:22px}.lowtag{background:#dc2626;color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;margin-left:8px;vertical-align:middle}.stockform{display:flex;flex-direction:column;gap:10px}.stockform label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.stockform input,.stockform select{padding:9px 10px;border:1px solid var(--line);border-radius:9px;font-size:14px}.stockform .primary{background:var(--brand);color:#fff;border:0;padding:11px;border-radius:9px;font-weight:600}.stockform .primary:disabled{opacity:.5}.reports{flex:1 1 auto;overflow:auto;padding:14px}.rephead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.rephead h2{margin:0;font-size:16px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.rephead input{padding:8px 10px;border:1px solid var(--line);border-radius:9px;font-size:14px}.rep-period{display:flex;flex-wrap:wrap;align-items:end;gap:8px}.rep-period label{display:flex;flex-direction:column;gap:2px;font-size:11px;font-weight:600;color:var(--muted)}.rep-period input[type=date]{padding:7px 8px;border:1px solid var(--line);border-radius:8px}.reports:has(.rep-freeze),.reports:has(.rephead--freeze){padding-top:0}.reports .rep-freeze,.reports .rephead--freeze{position:sticky;top:0;z-index:100;background:#f1f5f9;background-clip:padding-box;margin:0 -14px 12px;padding:12px 14px;box-shadow:0 1px #e2e8f0,0 12px 22px -12px #0f172a66;isolation:isolate}.reports .rep-freeze:before,.reports .rephead--freeze:before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px;background:#f1f5f9;pointer-events:none}.reports .rep-freeze .hint{margin:8px 0 0}.reports .rep-freeze .rep-filters{margin:10px 0 0;position:relative;z-index:0}.reports .rephead--freeze{align-items:flex-end}.reports>.rep-filters,.reports>.kpis,.reports>.repcard,.reports>.repstack,.reports>.subnav,.reports>.fi-subnav,.reports>.hint,.reports>.center,.reports>.toast{position:relative;z-index:0}.rep-filters{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin:0 0 10px;padding:10px 12px;background:var(--wash, #f8fafc);border:1px solid var(--line);border-radius:12px}.rep-filters label{display:flex;flex-direction:column;gap:2px;font-size:11px;font-weight:600;color:var(--muted)}.rep-filters select,.rep-filters input[type=search]{padding:7px 8px;border:1px solid var(--line);border-radius:8px;font-size:13px;min-width:140px;background:#fff;color:var(--ink)}.rep-filters input[type=search]{min-width:200px}.repcard-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.repcard-head h3{margin:0}.linkish{background:none;border:0;color:var(--brand);font-weight:600;cursor:pointer;padding:0;font-size:13px}@media print{.no-print,.topnav,.subnav,.toast,.rep-filters{display:none!important}.reports{padding:0}.repcard{box-shadow:none;border:1px solid #ccc;break-inside:avoid}}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:12px;margin-bottom:14px;align-items:stretch}.kpi{background:var(--panel);border-radius:14px;padding:14px 12px;box-shadow:0 1px 3px #0000000f;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;box-sizing:border-box}button.kpi{border:1px solid transparent;cursor:pointer;font:inherit;color:inherit;transition:border-color .15s,box-shadow .15s,transform .1s}button.kpi:hover{border-color:#94a3b8;box-shadow:0 2px 8px #0f172a1a}button.kpi.on{border-color:var(--brand, #0d9488);box-shadow:0 0 0 2px #0d948840}button.kpi:focus-visible{outline:2px solid var(--brand, #0d9488);outline-offset:2px}.kpi .kval{font-size:clamp(16px,1.7vw,22px);font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.25;width:100%;word-break:break-word}.kpi .klabel{font-size:11px;color:var(--muted);margin-top:6px;text-transform:uppercase;letter-spacing:.04em;line-height:1.3;width:100%}.repgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}.repgrid>.repcard{display:flex;flex-direction:column;min-width:0;height:100%;box-sizing:border-box}.repgrid>.repcard .repcard-head{flex-shrink:0;min-height:32px;align-items:center}.repgrid>.repcard .reptable-wrap{flex:1 1 auto;min-height:0}.repgrid>.repcard>.hint,.repgrid>.repcard>.backdate-actions{margin-top:auto;padding-top:8px}.repgrid>.repcard:last-child:nth-child(odd){grid-column:1 / -1}.repcard{background:var(--panel);border-radius:14px;padding:16px;box-shadow:0 1px 3px #0000000f}.repcard h3{margin:0 0 10px;font-size:14px}.reptable{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;table-layout:auto}.reptable th{text-align:left;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line);padding:8px 10px}.reptable td{padding:8px 10px;border-bottom:1px solid #f1f5f9}.reptable .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.master-section-row td{border-bottom:1px solid var(--line)}.reptable input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--brand)}.reptable input[type=checkbox]:disabled{cursor:not-allowed;opacity:.55}.reptable th.col-cat{width:40%}.reptable th.col-qty,.reptable th.col-items{width:12%;min-width:64px}.reptable th.col-rev{width:24%;min-width:110px}.reptable-wrap{overflow:auto;max-height:min(68vh,640px);-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:10px;background:#fff}.reptable thead th{position:sticky;top:0;z-index:5;background:#fff;box-shadow:inset 0 -1px 0 var(--line)}.reptable-wrap .reptable thead th,.reports .reptable thead th,.admin .reptable thead th,.inv .reptable thead th,.expenses-panel .reptable thead th{background:#f8fafc}.expenses-panel .exp-cats-table{margin-bottom:14px}.expenses-panel .exp-cats-table .reptable-wrap{max-height:220px}.expenses-panel .exp-cat-row{cursor:pointer}.expenses-panel .exp-cat-row:hover td{background:#f1f5f9}.expenses-panel .exp-cat-row.on td{background:#ecfeff;font-weight:600}.expenses-panel .exp-date-filter{display:inline-flex;flex-direction:column;gap:2px;font-size:11px;font-weight:600;color:#64748b}.expenses-panel .exp-date-filter input[type=date]{font-weight:500;font-size:13px;padding:6px 8px;border:1px solid #cbd5e1;border-radius:8px;color:#0f172a;background:#fff}.expenses-panel .exp-main{min-width:0}.expenses-panel .exp-main .reptable th.exp-acts,.expenses-panel .exp-main .reptable td.exp-acts{position:sticky;right:0;background:#fff;z-index:3;box-shadow:-4px 0 8px #0f172a0f;white-space:nowrap}.expenses-panel .exp-main .reptable thead th.exp-acts{background:#f8fafc;z-index:5}.expenses-panel .exp-main .reptable tbody tr:hover td.exp-acts{background:#f8fafc}.expenses-panel .row-editing td,.expenses-panel .row-editing td.exp-acts{background:#fff7ed}.reptable tfoot td{font-weight:700;background:#f1f5f9;border-top:2px solid var(--line);border-bottom:none;padding:10px;position:sticky;bottom:0;z-index:4;box-shadow:0 -1px 0 var(--line)}.reptable tfoot .num{font-variant-numeric:tabular-nums}.table-filterbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px}.table-filterbar input[type=search],.table-filterbar select{padding:8px 10px;border:1px solid var(--line);border-radius:9px;font-size:13px;background:#fff;color:var(--ink);min-width:180px}.table-filterbar input[type=search]{flex:1 1 200px;max-width:360px}.table-filterbar-count{font-size:12px;white-space:nowrap}.repstack{display:flex;flex-direction:column;gap:12px}.rep-cat-row{cursor:pointer}.rep-cat-row:hover td{background:#f8fafc}.rep-cat-row.is-open td{background:#f1f5f9}.rep-cat-toggle{display:inline-block;width:1.1em;margin-right:4px;color:var(--muted);font-size:11px}.rep-cat-item td{background:#fafbfc;color:#334155;font-weight:400}.rep-cat-item td:first-child{padding-left:28px}.rep-cat-empty td{background:#fafbfc;font-size:12px}.admin{flex:1 1 auto;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:14px;width:100%;box-sizing:border-box}.admintitle{margin:0 0 12px;font-size:17px;font-weight:800;color:var(--ink);letter-spacing:-.02em}.menutabs{display:flex;gap:8px;flex-wrap:wrap}.menutabs button{background:#fff;border:2px solid var(--line);color:var(--ink);padding:10px 18px;border-radius:12px;font-size:15px;font-weight:700;display:inline-flex;align-items:center;gap:8px}.menutabs button.on{background:var(--brand);border-color:var(--brand);color:#fff}.menutab-badge{background:#ffffff40;color:inherit;font-size:12px;font-weight:800;padding:2px 8px;border-radius:999px}.menutabs button:not(.on) .menutab-badge{background:#e2e8f0;color:var(--muted)}.menucatalogue{border:2px solid #cbd5e1}.cataloguehead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.photo-fetch-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;padding:12px 14px;margin:0 0 14px}.photo-fetch-bar .primary{white-space:nowrap}.cataloguehead .admintitle{margin-bottom:4px}.cataloguehint{margin:0;font-size:13px}.cataloguesearch{display:flex;gap:8px;align-items:center;margin:0 0 14px}.cataloguesearch input[type=search]{flex:1;min-width:180px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:15px;background:#fff}.catalogueempty{text-align:center;padding:32px 16px;background:#f8fafc;border-radius:12px;border:1px dashed var(--line)}.catalogueempty p{margin:0 0 12px;color:var(--muted);font-size:15px}.admin-tools{display:grid;grid-template-columns:1fr;gap:14px}.admin-tools-stack{max-width:720px}@media (min-width: 768px){.admin-tools:not(.admin-tools-stack){grid-template-columns:1fr 1fr}}@media (min-width: 1100px){.admin-tools:not(.admin-tools-stack){grid-template-columns:1fr 1.4fr}}.labeledform{display:flex;flex-direction:column;gap:10px}.labeledform label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.labeledform label input,.labeledform label select{padding:9px 10px;border:1px solid var(--line);border-radius:9px;font-size:14px;text-transform:none;font-weight:400;color:var(--ink)}.labeledrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.fieldblock{display:flex;flex-direction:column;gap:6px}.fieldlabel{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.toolblock{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:12px 14px}.toolblock-wide{grid-column:1 / -1}@media (min-width: 1100px){.toolblock-wide{grid-column:2;grid-row:1 / span 2}}.toolblock h3{margin:0 0 10px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.stationlist{display:flex;flex-direction:column;gap:6px;margin-top:8px}.stationrow{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid #e2e8f0;font-size:14px;font-weight:600}.stationrow:last-child{border-bottom:0}.catlist{display:flex;flex-direction:column;gap:8px}.catpanel{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.catpanel.open{border-color:#94a3b8;box-shadow:0 1px 4px #0f172a0f}.catpanel-h{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;background:#f8fafc;-webkit-user-select:none;user-select:none}.catpanel-h:hover{background:#f1f5f9}.catpanel.open .catpanel-h{background:#eef2ff;border-bottom:1px solid var(--line)}.catpanel-chevron{width:18px;color:var(--muted);font-size:11px;flex-shrink:0}.catpanel-name{font-weight:700;font-size:15px;flex:1 1 auto;min-width:0}.catpanel-count{font-size:13px;color:var(--muted);flex-shrink:0}.catpanel-body{padding:12px 14px 14px;overflow-x:auto}.admingrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.cardhead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.cardhead h3{margin:0;font-size:15px;font-weight:700}.cardactions{display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0}.admin .reptable{min-width:680px}.admin .reptable td:last-child{min-width:220px}.itemform{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.itemform input,.itemform select{padding:8px 10px;border:1px solid var(--line);border-radius:9px;font-size:14px}.itemform .suggest-wrap{display:flex}.itemform .suggest-wrap input{width:100%;min-width:140px}.suggest-list{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 2px);margin:0;padding:4px 0;list-style:none;max-height:220px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #0f172a1f}.suggest-list li{padding:8px 12px;font-size:14px;cursor:pointer}.suggest-list li:hover{background:var(--wash, #f1f5f9)}.itemform .primary{background:var(--brand);color:#fff;border:0;padding:9px 16px;border-radius:9px;font-weight:600}.itemform .primary:disabled{opacity:.5}.vegtoggle{display:flex;align-items:center;gap:5px;font-size:14px;color:var(--muted)}.permgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}.permgroup{margin-bottom:16px}.permgroup-title{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--ink2);text-transform:uppercase;letter-spacing:.04em}.permitem{display:flex;align-items:flex-start;gap:8px;font-size:13px;background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:8px 10px}.permitem-highlight{background:#eff6ff;border-color:#93c5fd}.permitem .perm-label{display:block;font-weight:600;line-height:1.3}.permitem .perm-code{display:block;font-size:11px;margin-top:2px}button.linkish{background:none;border:none;padding:0;color:var(--brand);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}.backdate-customer{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.backdate-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.stationpick{display:flex;flex-wrap:wrap;gap:4px}.pchip{border:1px solid var(--line);background:#fff;color:var(--muted);padding:4px 10px;border-radius:999px;font-size:12px;cursor:pointer}.pchip.on{background:var(--brand);color:#fff;border-color:var(--brand)}.pchip:disabled{opacity:.6;cursor:default}.danger{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.danger:disabled{opacity:.4;cursor:default}.subnav{display:flex;gap:8px;flex-wrap:wrap}.subnav button{background:#fff;border:1px solid var(--line);color:var(--ink);padding:8px 16px;border-radius:999px;font-size:14px}.subnav button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.fi-subnav{padding:10px 12px;background:#f8fafc;border:1px solid var(--line);border-radius:12px}.fi-subnav button{border-radius:8px;font-size:13px;padding:7px 12px}.fi-subnav button.on{background:var(--brand);border-color:var(--brand);color:#fff}.tally-pnl .tally-stmt{border:1px solid #1e3a5f;background:#fff;overflow-x:auto}.tally-pnl .tally-stmt-title{background:#1e3a5f;color:#fff;text-align:center;font-weight:700;font-size:15px;letter-spacing:.02em;padding:10px 12px 4px}.tally-pnl .tally-stmt-period{background:#1e3a5f;color:#c7d2fe;text-align:center;font-size:12px;padding:0 12px 10px}.tally-pnl--stmt-freeze .tally-stmt--freeze{overflow:visible}.tally-pnl--stmt-freeze .tally-stmt-freeze{position:sticky;top:0;z-index:40;background:#1e3a5f;background-clip:padding-box;box-shadow:0 8px 18px #0f172a73;isolation:isolate;-webkit-backface-visibility:hidden;backface-visibility:hidden}.tally-pnl--stmt-freeze .tally-stmt-freeze:before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px;background:#1e3a5f;pointer-events:none;z-index:1}.tally-pnl--stmt-freeze .tally-stmt-freeze:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:6px;background:#1e3a5f;pointer-events:none;z-index:1}.tally-pnl--stmt-freeze .tally-stmt-title,.tally-pnl--stmt-freeze .tally-stmt-period{position:relative;z-index:2;background:#1e3a5f}.reports:has(.rep-freeze) .tally-pnl--stmt-freeze .tally-stmt-freeze,.reports:has(.rephead--freeze) .tally-pnl--stmt-freeze .tally-stmt-freeze{top:96px}.tally-pnl--stmt-freeze .tally-stmt-body{overflow-x:auto;position:relative;z-index:0;background:#fff}.tally-pnl--stmt-freeze .tally-pnl-table thead th{position:static;top:auto;z-index:auto;background:#e8eef5;box-shadow:none}.tally-pnl--stmt-freeze .tally-pnl-table tbody td,.tally-pnl--stmt-freeze .tally-pnl-table tfoot td{position:relative;z-index:0;background:#fff}.tally-pnl--stmt-freeze .tally-pnl-table tbody tr:nth-child(2n) td{background:#f8fafc}.tally-pnl--stmt-freeze .tally-pnl-table tbody tr.tally-group-row td{background:#fff}.tally-pnl--stmt-freeze .tally-pnl-table tfoot td{background:#e8eef5}.tally-pnl-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.tally-pnl-table thead th{background:#e8eef5;border-bottom:1px solid #1e3a5f;border-right:1px solid #94a3b8;padding:8px 10px;font-weight:700;color:#1e3a5f;text-align:left}.tally-pnl-table thead th:last-child,.tally-pnl-table td:last-child{border-right:none}.tally-pnl-table th.tally-amt,.tally-pnl-table td.tally-amt{text-align:right;width:18%;white-space:nowrap;font-variant-numeric:tabular-nums}.tally-pnl-table th.tally-part,.tally-pnl-table td.tally-part{width:32%;border-right:1px solid #94a3b8}.tally-pnl-table tbody td{border-bottom:1px solid #e2e8f0;border-right:1px solid #cbd5e1;padding:5px 10px;vertical-align:top}.tally-pnl-table tbody tr:last-child td{border-bottom:none}.tally-pnl-table .tally-part.head{font-weight:700;color:#1e3a5f}.tally-pnl-table .tally-indent{padding-left:14px;display:inline-block}.tally-pnl-table .tally-amt.emph{font-weight:700}.tally-pnl-table .tally-part.profit,.tally-pnl-table .tally-amt.profit{font-weight:700;color:#15803d}.tally-pnl-table .tally-part.loss,.tally-pnl-table .tally-amt.loss{font-weight:700;color:#b91c1c}.tally-pnl .tally-toggle{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;padding:0;font:inherit;font-weight:700;color:#1e3a5f;cursor:pointer;text-align:left}.tally-pnl .tally-toggle:hover{color:var(--brand)}.tally-pnl .tally-caret{display:inline-block;width:1em;font-size:10px;color:#64748b}.tally-pnl .tally-group-row td{background:#f8fafc}.tally-pnl .pnl-map{margin-bottom:14px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.tally-pnl .pnl-map select{min-width:160px}.tally-pnl .pnl-capital{margin-top:12px;padding:10px 12px;border:1px dashed #94a3b8;border-radius:8px;background:#fff}.tally-pnl .tally-toggle.capital{color:#64748b;font-weight:600}.tally-pnl-table tfoot td{background:#e8eef5;border-top:2px solid #1e3a5f;border-right:1px solid #94a3b8;padding:8px 10px;font-weight:800;color:#1e3a5f}@media (max-width: 720px){.tally-pnl-table{font-size:12px}.tally-pnl-table .tally-indent{padding-left:8px}}.cal-pnl-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:12px}.cal-pnl-toolbar label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--muted)}.cal-pnl-toolbar input[type=month]{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px}.cal-pnl-card{overflow:hidden}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cal-dow{text-align:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:4px 0 2px}.cal-cell{min-height:92px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px 7px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px;font:inherit;color:inherit}.cal-cell.cal-empty{background:#f8fafc;border-style:dashed;cursor:default;min-height:92px;pointer-events:none}.cal-cell.has{background:#fff}.cal-cell.win{border-color:#bbf7d0;background:#f0fdf4}.cal-cell.loss{border-color:#fecaca;background:#fef2f2}.cal-cell.on{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}.cal-daynum{font-weight:800;font-size:13px;margin-bottom:2px}.cal-line{font-size:11px;line-height:1.25;font-variant-numeric:tabular-nums}.cal-line.in{color:#166534;font-weight:600}.cal-line.out{color:#9a3412;font-weight:600}.cal-line.pnl{font-weight:800;color:var(--ink)}.cal-line.pnl.neg{color:#b91c1c}.cal-line.muted{color:var(--muted)}@media (max-width: 900px){.cal-cell{min-height:78px;padding:6px 5px}.cal-line{font-size:10px}.cal-daynum{font-size:12px}}@media (max-width: 640px){.cal-grid{gap:4px}.cal-cell{min-height:70px;border-radius:8px}.cal-line.in,.cal-line.out{display:none}.cal-line.pnl{font-size:11px}}.expenseform{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;align-items:end}.expenseform label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--muted)}.expenseform input,.expenseform select{padding:9px 10px;border:1px solid var(--line);border-radius:9px;font-size:14px;color:var(--ink)}.expenseform .primary{grid-column:1 / -1;justify-self:start;padding:10px 18px}.backdate-menu{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow:auto}.backdate-item-btn{width:100%;display:flex;justify-content:space-between;gap:8px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px 10px;cursor:pointer;color:var(--ink)}.backdate-item-btn:hover{border-color:var(--brand)}.backdate-totals{margin-top:12px;display:flex;flex-direction:column;gap:4px;font-size:14px}.backdate-totals>div{display:flex;justify-content:space-between}.backdate-totals .grand{font-weight:700;font-size:16px;margin-top:4px;padding-top:6px;border-top:1px solid var(--line)}.tablechips{display:flex;flex-wrap:wrap;gap:6px}.chip{background:#f1f5f9;border:1px solid var(--line);border-radius:8px;padding:4px 10px;font-size:13px;display:inline-flex;align-items:center;gap:6px}.chipx{background:transparent;border:0;color:#b91c1c;font-size:16px;line-height:1;cursor:pointer;padding:0}.chipx:disabled{opacity:.4;cursor:default}.stackform{display:flex;flex-direction:column;gap:10px}.stackform label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.stackform input{padding:9px 10px;border:1px solid var(--line);border-radius:9px;font-size:14px}.stackform .primary{background:var(--brand);color:#fff;border:0;border-radius:9px;font-weight:600;align-self:flex-start;padding:11px 20px}.stackform .primary:disabled{opacity:.5}@media (max-width: 900px){.bank-recon-grid{grid-template-columns:1fr!important}.topbar{height:auto;min-height:56px;flex-wrap:wrap;align-items:center;padding:8px 12px;gap:8px}.brand{font-size:16px;flex:1 1 auto;min-width:0}.brand .poweredby,.brand .role{display:none}.who{flex:0 0 auto;font-size:12px;gap:6px;flex-wrap:wrap;justify-content:flex-end}.who .ghost{padding:5px 8px;font-size:12px}.nav{order:3;flex:1 1 100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.nav::-webkit-scrollbar{display:none}.nav button{flex:0 0 auto;white-space:nowrap;padding:6px 12px;font-size:13px}.kds{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1100px){.cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto 1fr}.cols>.floor{grid-column:1;grid-row:1;max-height:42vh}.cols>.menu{grid-column:2;grid-row:1;max-height:42vh}.cols>.cart{grid-column:1 / -1;grid-row:2;min-height:260px}}@media (max-width: 640px){.login-card{width:min(340px,calc(100vw - 32px));padding:24px 20px}.pos-mobile-tabs{display:flex;gap:5px;padding:6px 8px 0;flex-shrink:0}.pos-mobile-tabs button{flex:1;min-height:36px;border:1px solid var(--line);background:#fff;border-radius:10px;font-size:12px;font-weight:700;color:var(--muted);display:inline-flex;align-items:center;justify-content:center}.pos-mobile-tabs button.on{background:var(--brand);border-color:var(--brand);color:#fff}.pos-mobile-badge{min-width:16px;height:16px;padding:0 4px;margin-left:4px;font-size:10px}.cols{grid-template-columns:1fr;grid-template-rows:1fr;gap:8px;padding:8px;min-height:0}.cols>.floor,.cols>.menu,.cols>.cart{grid-column:1;grid-row:1;display:none;max-height:none!important;min-height:0;height:100%;padding:10px}.cols.pane-floor>.floor,.cols.pane-menu>.menu,.cols.pane-cart>.cart{display:flex;flex-direction:column}.cols.pane-menu>.menu .items{flex:1 1 auto;overflow:auto;min-height:0;align-content:start}.cols.pane-cart>.cart .lines{flex:1 1 auto;min-height:120px;overflow-y:auto}.cols h2{font-size:12px;margin-bottom:6px}.searchbox{padding:6px 8px;font-size:12px;margin-bottom:6px}.muted{font-size:12px}.area-name{font-size:11px;margin-bottom:6px}.table .tnum{font-size:13px}.table .cap{font-size:10px}.legend{font-size:10px;gap:10px}.cart h2{font-size:12px;margin-bottom:4px}.guesttabs{gap:5px;margin:2px 0 5px}.guesttabs .gtab{padding:4px 8px;font-size:11px;min-height:28px}.custbar{padding:5px 7px;font-size:11px;margin-bottom:5px}.ostatus{font-size:10px;padding:1px 6px}.line{padding:5px 0;gap:5px}.lname{font-size:12px;line-height:1.2}.lamt{font-size:12px;min-width:3.4rem}.lunit,.laddons{font-size:10px}.qty{gap:2px}.qty button{width:26px;height:26px;min-width:26px;min-height:26px;font-size:14px;border-radius:6px}.qty span{min-width:14px;font-size:12px}.totals{font-size:12px;margin-top:5px;padding-top:5px}.totals .grand{font-size:15px}.discountrow{flex-wrap:wrap;row-gap:4px;font-size:11px;margin-top:5px}.discount-toggle button{padding:3px 8px;font-size:11px}.discountrow input{width:80px;padding:6px;font-size:12px}.discount-hint{font-size:10px}.actions{flex-wrap:wrap;gap:5px;margin-top:6px}.actions .primary,.actions .ghost,.actions .danger{min-height:36px;font-size:12px;padding:7px 9px}.cats{display:flex;flex-wrap:nowrap;gap:6px;margin-bottom:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.cats::-webkit-scrollbar{display:none}.cat{flex:0 0 auto;padding:6px 10px;font-size:11px;min-height:32px;white-space:nowrap}.items{grid-template-columns:1fr;gap:6px}.itemcard{flex-direction:row;align-items:center;gap:8px;min-height:44px;padding:8px 10px}.itemcard .iname{flex:1;min-width:0;font-size:12px;line-height:1.25;word-break:break-word}.itemcard .iprice{flex-shrink:0;font-size:12px;font-variant-numeric:tabular-nums}.itemcard .veg{flex-shrink:0;width:12px;height:12px}.paymodes{grid-template-columns:repeat(2,1fr)}.paymodes button{font-size:12px;padding:8px 4px}.kds{grid-template-columns:1fr;padding:10px;gap:10px}.reports,.admin,.inv{padding:10px}.rephead{flex-wrap:wrap;gap:8px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.repgrid{grid-template-columns:1fr}.repgrid>.repcard:last-child:nth-child(odd){grid-column:auto}}@media (max-width: 520px){.who>span:first-child{display:none}.kpis{grid-template-columns:minmax(0,1fr)}}.invmain{overflow-x:auto;-webkit-overflow-scrolling:touch}.waste-report{border:1px solid #dbe7e5;box-shadow:0 8px 24px #0f766e14}.waste-report>.repcard-head{padding-bottom:12px;border-bottom:1px solid var(--line)}.waste-report>.repcard-head .muted{padding:4px 0 0}.waste-report-total{display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding:8px 12px;border-radius:10px;background:#f0fdfa;color:var(--brand)}.waste-report-total span{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.waste-report-total strong{font-size:20px}.waste-report-toolbar{display:flex;align-items:flex-end;gap:12px;margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.waste-segment{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:10px;background:#fff}.waste-segment button{min-height:34px;padding:7px 12px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:12px;font-weight:700}.waste-segment button.on{background:var(--brand);color:#fff;box-shadow:0 2px 5px #0f766e33}.waste-date-fields{display:flex;align-items:flex-end;gap:8px}.waste-date-fields label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.waste-date-fields input{min-height:40px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit}.waste-view-switch{margin-left:auto}.waste-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.waste-kpi{min-height:90px;border:1px solid var(--line);box-shadow:none}.waste-kpi-value{border-color:#99f6e4;background:linear-gradient(135deg,#f0fdfa,#fff)}.waste-kpi-value .kval{color:var(--brand)}.waste-kpi .waste-kpi-text{font-size:16px;line-height:1.25}.waste-summary-grid{align-items:start}.waste-summary-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.waste-summary-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);background:#f8fafc}.waste-summary-title h4{margin:0;font-size:14px}.waste-summary-title span{color:var(--muted);font-size:11px;font-weight:600}.waste-summary-card .reptable-wrap{border:0;border-radius:0}.waste-reason-label{display:flex;justify-content:space-between;gap:8px;font-weight:600}.waste-reason-label small{color:var(--muted);font-weight:600}.waste-meter{height:4px;margin-top:6px;overflow:hidden;border-radius:999px;background:#e2e8f0}.waste-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f766e,#2dd4bf)}.waste-type{display:inline-flex;padding:3px 7px;border-radius:999px;background:#e2e8f0;color:#475569;font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.waste-type-menu{background:#ede9fe;color:#6d28d9}.waste-type-category{background:#fef3c7;color:#92400e}.waste-type-stock{background:#dcfce7;color:#166534}.waste-amount{color:#b45309;font-weight:700}@media (max-width: 780px){.waste-report-toolbar{align-items:stretch;flex-direction:column}.waste-view-switch{margin-left:0}.waste-date-fields{flex-wrap:wrap}.waste-date-fields label{flex:1 1 140px}.waste-date-fields input{width:100%}.waste-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 480px){.waste-segment{display:flex;width:100%}.waste-segment button{flex:1}.waste-kpis{grid-template-columns:1fr}.waste-report-total{align-items:flex-start;width:100%}}.invtable{min-width:620px;border-collapse:separate;border-spacing:0}.invtable thead th{position:sticky;top:0;z-index:5;background:#f8fafc;box-shadow:inset 0 -1px 0 var(--line)}.repcard{overflow:visible}.reptable{min-width:280px}@media print{@page{size:80mm auto;margin:0}body *{visibility:hidden}.billcard,.billcard *{visibility:visible}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;display:block;padding:0;overflow:visible}.bill-80mm-wrap{width:80mm;max-width:80mm;padding:0;box-shadow:none;border-radius:0}.receipt-80mm{width:80mm;max-width:80mm;padding:2mm 1.5mm}.billcard{position:absolute;left:0;top:0;width:80mm;max-width:80mm;max-height:none;overflow:visible;display:block;margin:0;box-shadow:none;border-radius:0;padding:2mm 1.5mm;font-size:11pt}.billcard>.receipt-80mm{overflow:visible}.billcard>.actions,.billcard>.paybox{display:none;position:static;border:0;margin:0;padding:0}.billcard .bshop{font-size:16pt;font-weight:900}.billcard .bbill-no{font-size:12pt;font-weight:800}.billcard .btable{font-size:9pt}.billcard .btable th,.billcard .btable td{padding:4px 2px;border:1px solid #000}.billcard .grand-block{position:static;box-shadow:none}.billcard .bfoot{color:#000;font-weight:700;font-size:11pt;padding:8px 0 4px;page-break-inside:avoid}.billcard .btotals{font-size:10pt}.billcard .btotals .grand{font-size:13pt}.billcard .actions,.billcard .paybox{display:none}}html.oo-mode,body.oo-mode,body.oo-mode #root{height:auto;min-height:100%;min-height:100dvh;--oo-ink: #1a1512;--oo-muted: #6b5e54;--oo-line: rgba(26, 21, 18, .1);--oo-ember: #e85d04;--oo-ember-deep: #c2410c;--oo-leaf: #2f6b3a;--oo-paper: #fffaf5;--oo-card: #ffffff;--oo-ui: "Figtree", system-ui, sans-serif;--oo-display: "Fraunces", Georgia, serif;background:radial-gradient(1200px 600px at 10% -10%,rgba(232,93,4,.12),transparent 55%),radial-gradient(900px 500px at 100% 0%,rgba(47,107,58,.08),transparent 50%),linear-gradient(180deg,#fff7ef,#f3ebe3 48%,#efe8e0);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:contain;font-family:var(--oo-ui);color:var(--oo-ink)}.online-order{width:100%;max-width:640px;margin:0 auto;padding:max(10px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) calc(108px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));min-height:100dvh;background:transparent;color:var(--oo-ink);animation:oo-fade-in .45s ease both}@keyframes oo-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes oo-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes oo-pulse-soft{0%,to{box-shadow:0 0 #e85d0459}50%{box-shadow:0 0 0 8px #e85d0400}}.oo-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;position:sticky;top:0;z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffaf5e0;padding:10px 0}.oo-hero{margin:-10px -14px 16px;position:relative;overflow:hidden;border-radius:0 0 28px 28px;box-shadow:0 18px 40px #1a15122e}.oo-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(145deg,rgba(26,21,18,.55) 0%,transparent 42%),linear-gradient(160deg,#1a1512,#3d2318 42%,#e85d04 120%)}.oo-hero-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 85% 20%,rgba(255,210,150,.35),transparent 35%),radial-gradient(circle at 15% 80%,rgba(255,255,255,.08),transparent 40%);animation:oo-hero-glow 8s ease-in-out infinite alternate}@keyframes oo-hero-glow{0%{opacity:.7;transform:scale(1)}to{opacity:1;transform:scale(1.05)}}.oo-hero-inner{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 18px 24px;color:#fff}.oo-hero-brand{display:flex;align-items:center;gap:14px;min-width:0;animation:oo-rise .55s ease both}.oo-logo{width:64px;height:64px;object-fit:contain;border-radius:18px;background:#fff;padding:5px;flex:0 0 auto;box-shadow:0 8px 24px #00000047}.oo-hero .oo-brand{color:#fff;font-family:var(--oo-display);font-size:clamp(24px,6vw,30px);font-weight:700;letter-spacing:-.02em;line-height:1.1}.oo-hero .oo-sub{color:#ffffffdb;font-size:13px;margin-top:4px;font-weight:500}.oo-hero-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.oo-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;background:#ffffff29;border:1px solid rgba(255,255,255,.22);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.oo-badge.open:before{content:"";width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 3px #4ade8040;animation:oo-pulse-soft 2s infinite}.oo-hero .primary{background:#fff;color:var(--oo-ink);border:0;border-radius:14px;padding:10px 14px;font-weight:800;box-shadow:0 10px 24px #0003;transition:transform .15s ease}.oo-hero .primary:active{transform:scale(.97)}.oo-cache-bar{font-size:12px;color:var(--oo-muted);margin:-4px 0 10px;font-weight:600}.oo-install{width:100%;margin:0 0 12px;padding:13px 14px;border:0;border-radius:14px;background:var(--oo-ink);color:#fff;font-size:15px;font-weight:700}.oo-install.ios{background:#ffffffe6;color:var(--oo-ink);border:1px solid var(--oo-line);font-weight:500;font-size:13px;text-align:left;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.oo-brand{font-size:22px;font-weight:800;font-family:var(--oo-display)}.oo-sub{font-size:13px;color:var(--oo-muted);margin-top:2px}.oo-card{background:var(--oo-card);border:1px solid var(--oo-line);border-radius:18px;padding:16px;margin-bottom:12px;box-shadow:0 8px 24px #1a15120d}.oo-card.warn{background:#fff8eb;border-color:#f5d59a}.oo-card.error{background:#fff1f0;border-color:#fecaca;color:#b91c1c}.oo-card.closed{text-align:center;padding:28px 18px;background:linear-gradient(180deg,#fff,#fff6ee)}.oo-card.closed h3{font-family:var(--oo-display);font-size:22px;margin:0 0 8px}.oo-toast{background:var(--oo-ink);color:#fff;padding:12px 14px;border-radius:14px;margin-bottom:10px;cursor:pointer;font-weight:600;box-shadow:0 12px 28px #1a151233}.oo-status{font-size:24px;font-weight:800;margin-bottom:8px;font-family:var(--oo-display)}.oo-track-flow,.deliv-flow{display:flex;gap:4px;margin:12px 0 14px;flex-wrap:wrap}.oo-track-step,.deliv-flow-step{flex:1;min-width:70px;text-align:center;font-size:11px;color:#a19388;font-weight:600}.oo-track-step .dot,.deliv-flow-step .dot{display:block;width:11px;height:11px;border-radius:50%;background:#e7ddd3;margin:0 auto 6px}.oo-track-step.done .dot,.deliv-flow-step.done .dot{background:var(--oo-leaf)}.oo-track-step.current .dot,.deliv-flow-step.current .dot{background:var(--oo-ember);box-shadow:0 0 0 4px #e85d0433}.oo-track-step.done,.oo-track-step.current,.deliv-flow-step.done,.deliv-flow-step.current{color:var(--oo-ink)}.oo-pay-box,.deliv-pay{margin-top:10px;padding:12px 14px;border-radius:14px;border:1px solid var(--oo-line);background:#faf6f1}.oo-pay-box.paid,.deliv-pay.paid{background:#eef8f0;border-color:#b7e0bf}.oo-pay-box.due,.deliv-pay.due{background:#fff4e8;border-color:#f0c9a0}.oo-pay-row,.deliv-pay-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.oo-pay-amt,.deliv-pay-amt{font-weight:800;margin-top:2px;font-size:16px}.pill-ok{background:#d8f3df;color:#166534;font-weight:800;border-radius:999px;padding:2px 8px;font-size:11px}.pill-due{background:#ffe8d2;color:#c2410c;font-weight:800;border-radius:999px;padding:2px 8px;font-size:11px}.oo-pay-choices{display:flex;flex-direction:column;gap:8px;margin-top:10px}.oo-pay-choice{text-align:left;padding:14px;border-radius:16px;border:1px solid var(--oo-line);background:#fff;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.oo-pay-choice:active{transform:scale(.99)}.oo-pay-choice strong{font-size:14px}.oo-pay-choice span{font-size:12px;color:var(--oo-muted)}.oo-pay-choice.on{border-color:var(--oo-ember);background:#fff8f2;box-shadow:0 0 0 3px #e85d0426}.deliv-share{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.deliv-share .primary,.deliv-share .ghost,.deliv-share .oo-wa{text-decoration:none;text-align:center;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:700}.oo-tools{display:flex;flex-direction:column;gap:10px;margin:0 0 14px;position:sticky;top:0;z-index:8;background:linear-gradient(180deg,#fffaf5f5 70%,#fffaf500);padding:8px 0 14px}.oo-search{position:relative}.oo-search input{width:100%;box-sizing:border-box;padding:14px 44px 14px 16px;border-radius:16px;border:1px solid var(--oo-line);font-size:16px;background:#ffffffeb;box-shadow:0 6px 18px #1a15120a;font-family:inherit}.oo-search input:focus{outline:2px solid rgba(232,93,4,.35);border-color:var(--oo-ember)}.oo-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;border-radius:10px;background:#efe6dc;font-size:18px;line-height:1;cursor:pointer;color:var(--oo-ink)}.oo-diet{display:flex;gap:8px}.oo-diet button{flex:1;min-height:42px;padding:8px 10px;border-radius:999px;border:1px solid var(--oo-line);background:#ffffffe6;font-size:13px;font-weight:700;cursor:pointer;color:var(--oo-ink);transition:background .15s ease,color .15s ease,transform .15s ease}.oo-diet button:active{transform:scale(.97)}.oo-diet button.on{background:var(--oo-ink);color:#fff;border-color:var(--oo-ink)}.oo-types{margin:0 0 16px}.oo-types-h{font-size:12px;font-weight:800;color:var(--oo-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px}.oo-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.oo-chips::-webkit-scrollbar{display:none}.oo-chips button{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:999px;border:1px solid var(--oo-line);background:#ffffffeb;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer;color:var(--oo-ink);transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}.oo-chips button:active{transform:scale(.97)}.oo-chips button.on{background:var(--oo-ember);color:#fff;border-color:var(--oo-ember);box-shadow:0 8px 18px #e85d0447}.oo-chip-n{font-size:11px;font-weight:700;opacity:.75}.oo-cat-title{margin:0 0 12px;font-size:22px;font-weight:700;display:flex;align-items:baseline;gap:8px;font-family:var(--oo-display);letter-spacing:-.02em}.oo-cat-title span{font-size:13px;font-weight:600;color:var(--oo-muted);font-family:var(--oo-ui)}.oo-filter-meta{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--oo-muted);margin:0 0 10px}.oo-cat{margin-bottom:22px;scroll-margin-top:170px;animation:oo-rise .4s ease both}.oo-cat h3{margin:0 0 8px;font-size:16px}.oo-item{display:flex;justify-content:space-between;align-items:stretch;gap:14px;background:var(--oo-card);border:1px solid var(--oo-line);border-radius:20px;padding:14px;margin-bottom:12px;box-shadow:0 10px 28px #1a15120d;cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;box-sizing:border-box;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.oo-item:hover{transform:translateY(-1px);box-shadow:0 14px 32px #1a151214}.oo-item:active{transform:scale(.99)}.oo-item.picked{border-color:#e85d0473;background:linear-gradient(180deg,#fff,#fff8f2)}.oo-picked{margin-top:8px;font-size:12px;font-weight:800;color:var(--oo-ember-deep)}.oo-stepper{display:inline-flex;align-items:center;background:#fff;border:1.5px solid var(--oo-ember);border-radius:12px;overflow:hidden;box-shadow:0 6px 16px #e85d042e}.oo-stepper button{width:38px;height:42px;border:0;background:#fff4ec;color:var(--oo-ember-deep);font-size:20px;font-weight:700;cursor:pointer}.oo-stepper span{min-width:28px;text-align:center;font-weight:800;font-size:15px}.oo-item-copy{flex:1;min-width:0;display:flex;flex-direction:column}.oo-item-name{font-weight:800;font-size:15.5px;display:flex;align-items:flex-start;gap:7px;line-height:1.3}.oo-item-name .veg,.oo-item-name .nveg{width:12px;height:12px;border-radius:2px;border:1.5px solid;display:inline-block;flex:0 0 auto;margin-top:3px}.oo-item-name .veg{background:#16a34a;border-color:#166534}.oo-item-name .nveg{background:#dc2626;border-color:#991b1b}.oo-price{font-weight:800;margin-top:8px;color:var(--oo-ink);font-size:16px;letter-spacing:-.01em}.oo-desc{font-size:13px;color:var(--oo-muted);margin-top:6px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.oo-item-media{position:relative;width:108px;flex:0 0 108px;padding-bottom:18px}.oo-item-media img{width:108px;height:108px;object-fit:cover;border-radius:18px;display:block;box-shadow:0 10px 22px #1a151224}.oo-item .oo-add{display:flex;flex-direction:column;gap:4px;align-items:flex-end;flex:0 0 auto;margin-top:auto}.oo-item-media .oo-add{position:absolute;left:50%;bottom:0;transform:translate(-50%);width:96px;align-items:stretch}.oo-item.no-photo .oo-add{position:static;transform:none;width:auto}.oo-add-btn,.oo-add .primary{background:#fff;color:var(--oo-ember-deep);border:1px solid rgba(232,93,4,.35);box-shadow:0 8px 18px #1a15121f;font-weight:800;letter-spacing:.04em;border-radius:12px}.oo-add .primary,.oo-add .ghost{min-height:38px;min-width:68px;padding:6px 10px;font-size:13px}.oo-cart-bar{position:fixed;left:0;right:0;bottom:0;z-index:6;padding:12px max(14px,env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:linear-gradient(transparent,#f3ebe3eb 28%);pointer-events:none}.oo-cart-bar .primary,.oo-cart-bar .oo-cart-cta{pointer-events:auto;width:100%;max-width:640px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;font-size:15px;min-height:54px;border:0;border-radius:18px;background:linear-gradient(135deg,#1a1512,#3b2418 55%,#e85d04 160%);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 16px 36px #1a151247;transition:transform .15s ease}.oo-cart-bar .oo-cart-cta:active{transform:scale(.985)}.oo-cart-cta-left{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.oo-cart-cta-left small{font-size:12px;font-weight:600;opacity:.85}.oo-cart-cta-right{font-size:15px;white-space:nowrap}.oo-share-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.oo-share-row .primary,.oo-share-row .ghost,.oo-share-row .oo-wa{text-decoration:none;text-align:center;padding:11px 14px;border-radius:12px;font-weight:700}.oo-wa{background:#128c7e!important;border-color:#128c7e!important;color:#fff!important}.oo-checkout label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:700;margin-bottom:10px;color:var(--oo-ink)}.oo-checkout input,.oo-checkout textarea,.oo-checkout select{font-weight:400;padding:13px 14px;border-radius:14px;border:1px solid var(--oo-line);font-size:16px;width:100%;box-sizing:border-box;background:#fff;font-family:inherit}.oo-checkout input:focus,.oo-checkout textarea:focus,.oo-checkout select:focus{outline:2px solid rgba(232,93,4,.3);border-color:var(--oo-ember)}.oo-checkout h3{font-family:var(--oo-display);font-size:26px;margin:8px 0 14px}.oo-checkout .primary{background:linear-gradient(135deg,#1a1512,#e85d04);border:0;border-radius:16px;color:#fff;font-weight:800;box-shadow:0 12px 28px #e85d0440}.oo-line{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--oo-line)}.oo-qty{display:flex;align-items:center;gap:8px}.oo-qty button{width:34px;height:34px;border-radius:10px;border:1px solid var(--oo-line);background:#fff;font-size:18px;color:var(--oo-ink)}.oo-total{font-size:20px;font-weight:800;padding:12px 0;font-family:var(--oo-display)}.oo-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a15127a;z-index:40;display:flex;align-items:flex-end;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:oo-fade-in .2s ease}.oo-modal{width:100%;max-width:560px;max-height:88vh;overflow:auto;background:#fffaf5;border-radius:24px 24px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -20px 50px #1a151240}.oo-modal-h{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.oo-modal-h strong{font-family:var(--oo-display);font-size:20px}.oo-modal-sec{margin-bottom:14px}.online-order .primary{background:var(--oo-ember);border-color:var(--oo-ember);color:#fff}.online-order .ghost{background:#fffc;border:1px solid var(--oo-line);color:var(--oo-ink);border-radius:12px}.online-order .link{color:var(--oo-ember-deep);font-weight:700}@media (min-width: 640px){.oo-modal-backdrop{align-items:center;padding:24px}.oo-modal{border-radius:20px;max-height:80vh}}@media (max-width: 480px){.online-order{padding-left:12px;padding-right:12px}.oo-hero{margin-left:-12px;margin-right:-12px}.oo-item{padding:12px}.oo-item-media,.oo-item-media img{width:96px;height:96px}.oo-item-media{flex-basis:96px}}@media (min-width: 900px){.online-order{box-shadow:0 0 0 1px #1a15120f,0 30px 80px #1a151214;border-radius:0;background:linear-gradient(180deg,#fffaf5a6,#fffaf5e6)}}.tally-bs-sheet{background:#fafafa;border:1px solid #cbd5e1;border-radius:4px;overflow:hidden;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#0f172a}.tally-bs-title{text-align:center;padding:14px 12px 10px;border-bottom:1px solid #94a3b8;background:#fff}.tally-bs-company{font-size:16px;font-weight:700;letter-spacing:.02em}.tally-bs-asof{font-size:13px;margin-top:4px;color:#334155}.tally-bs-cols{display:grid;grid-template-columns:1fr 1fr;min-height:280px}.tally-bs-col{padding:8px 12px 12px;background:#fff}.tally-bs-col+.tally-bs-col{border-left:1px solid #94a3b8}.tally-bs-colhead{display:grid;grid-template-columns:1fr auto;font-weight:700;font-size:14px;padding:6px 0 8px;border-bottom:1px solid #cbd5e1;margin-bottom:6px}.tally-bs-group{margin-bottom:10px}.tally-bs-grouprow{display:grid;grid-template-columns:1fr auto;gap:12px;font-weight:700;font-size:13px;padding:2px 0}.tally-bs-grouptotal{font-variant-numeric:tabular-nums;min-width:7.5rem;text-align:right}.tally-bs-child{display:grid;grid-template-columns:1fr auto;gap:12px;padding:1px 0 1px 18px;font-size:12.5px;font-style:italic;color:#1e293b}.tally-bs-childname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tally-bs-childamt{font-style:normal;font-variant-numeric:tabular-nums;min-width:6.5rem;text-align:right;color:#334155}.tally-bs-sidetotal{display:grid;grid-template-columns:1fr auto;gap:12px;margin-top:12px;padding-top:8px;border-top:2px solid #0f172a;font-weight:700;font-size:13px}.tally-bs-sidetotal span:last-child{font-variant-numeric:tabular-nums;min-width:7.5rem;text-align:right}@media (max-width: 720px){.tally-bs-cols{grid-template-columns:1fr}.tally-bs-col+.tally-bs-col{border-left:none;border-top:1px solid #94a3b8}}.delivery-board{padding:12px;max-width:900px;margin:0 auto}.deliv-list{display:grid;gap:12px;margin-top:12px}.deliv-card{background:#fff;border:1px solid var(--line, #e2e8f0);border-radius:12px;padding:14px}.deliv-card.deliv-new{border-color:#93c5fd;background:#eff6ff;box-shadow:0 0 0 2px #bfdbfe}.deliv-items{list-style:none;margin:10px 0 0;padding:8px 10px;background:#fff;border:1px solid var(--line, #e2e8f0);border-radius:8px}.deliv-items li{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:14px}.deliv-items li+li{border-top:1px solid var(--line, #e2e8f0)}.deliv-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.deliv-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.deliv-acts button{font-size:12px;padding:6px 10px}.buy-stock{padding:12px 14px 14px}.buy-stock-bar{display:grid;grid-template-columns:minmax(180px,2.2fr) minmax(120px,.9fr) minmax(110px,.85fr) minmax(88px,.7fr);gap:8px 10px;align-items:end}.buy-stock-bar-2{grid-template-columns:minmax(0,1fr) auto;margin-top:8px;align-items:end}.buy-stock-field{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:650;color:var(--muted);letter-spacing:.01em;min-width:0}.buy-stock-field span{line-height:1.2}.buy-stock-field input,.buy-stock-field select{font-weight:500;color:var(--ink);width:100%;padding:7px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:#fff;box-sizing:border-box}.buy-stock-due{margin:6px 0 0;font-size:12px;color:#b45309}.buy-stock-lines{margin-top:12px}.buy-stock-lines-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.buy-stock-lines-head input[type=search]{max-width:200px;margin:0;padding:6px 10px;font-size:13px}.buy-stock-table{font-size:13px}.buy-stock-table th,.buy-stock-table td{padding:6px 8px;vertical-align:middle}.buy-stock-table select,.buy-stock-table input[type=number]{width:100%;max-width:100%;padding:5px 8px;border:1px solid var(--line);border-radius:7px;font-size:13px;background:#fff;box-sizing:border-box}.buy-stock-table input[type=number]{text-align:right;width:88px}.buy-stock-table td:first-child select{min-width:140px}.buy-stock-amt{font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.buy-stock-col-x{width:36px;text-align:center}.buy-stock-col-x .ghost{padding:2px 8px;min-width:0;font-size:16px;line-height:1;color:var(--muted)}.buy-stock-add{margin-top:6px;padding:4px 10px;font-size:13px}.buy-stock-footer{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;margin-top:12px;padding:10px 12px;background:#f8fafc;border:1px solid var(--line);border-radius:10px}.buy-stock-totals{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:baseline}.buy-stock-totals>div{display:flex;flex-direction:column;gap:1px;min-width:72px}.buy-stock-totals strong{font-size:15px;font-variant-numeric:tabular-nums}.buy-stock-grand strong{font-size:18px}.buy-stock-pay{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.buy-stock-pay-toggle{display:inline-flex;padding:2px;background:#e2e8f0;border-radius:8px;gap:0}.buy-stock-pay-toggle button{border:0;background:transparent;color:var(--muted);padding:6px 12px;border-radius:6px;font-size:13px;font-weight:650;cursor:pointer}.buy-stock-pay-toggle button.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px #0f172a14}.buy-stock-mode{padding:7px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:#fff;min-width:96px}.buy-stock-save{min-width:168px;padding:9px 16px;font-weight:700}.buy-stock-empty{margin:8px 0 0;font-size:13px}.buy-stock-file-clear{padding:0 4px!important;margin-left:4px;min-width:0;font-size:14px;line-height:1}.buy-stock-gl-cell{display:flex;flex-direction:column;gap:4px;min-width:160px}.buy-stock-gl-cell select,.buy-stock-gl-cell input[type=text]{width:100%;font-size:13px;padding:4px 6px}.buy-stock-edit-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;padding:8px 10px;background:color-mix(in srgb,var(--accent, #2563eb) 12%,transparent);border-radius:8px;font-size:13px}@media (max-width: 820px){.buy-stock-bar{grid-template-columns:1fr 1fr}.buy-stock-vendor{grid-column:1 / -1}.buy-stock-bar-2{grid-template-columns:1fr}}@media (max-width: 720px){.buy-stock-footer{flex-direction:column;align-items:stretch}.buy-stock-pay,.buy-stock-save{width:100%}}
