:root{--bg:#f7f8f8;--ink:#14191b;--muted:#5b6466;--subtle:#9aa6a8;--line:#e1e5e5;--line-strong:#cfd6d6;--surface:#fff;--surface-2:#eef1f1;--surface-3:#f4f6f6;--rail:#12181a;--rail-2:#232c2f;--accent:#0b7a78;--accent-deep:#0b6e6e;--accent-soft:#e3f2f1;--accent-ink:#084f4f;--success:#1f6e3c;--success-fg:#2e9d58;--success-soft:#eaf6ee;--danger:#c62d2d;--danger-fg:brown;--danger-soft:#fcecec;--warn:#e2b228;--warn-ink:#6b4d00;--warn-soft:#fff8e1;--warn-border:#d9a91c;--font:"IBM Plex Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--rail-w:80px;--cart-w:400px;--header-h:72px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}.muted{color:var(--muted)}.cashier-app{background:var(--bg);height:100%;display:flex;position:relative;overflow:hidden}.cashier-rail{width:var(--rail-w);background:var(--rail);border-right:1px solid var(--rail-2);flex-direction:column;flex-shrink:0;align-items:center;gap:6px;padding:12px 0 14px;display:none}@media (width>=768px){.cashier-rail{display:flex}}.rail-burger{background:var(--rail-2);border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:56px;height:56px;margin-bottom:10px;display:flex}.rail-burger span{background:#e7ecec;border-radius:2px;width:22px;height:2.5px}.rail-tab{width:66px;height:66px;color:var(--subtle);font:700 11px var(--font);background:0 0;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:relative}.rail-tab.active{background:var(--accent);color:#fff}.rail-icon{flex-shrink:0;width:20px;height:20px;display:block}.rail-badge{background:var(--warn);color:#2b1f00;min-width:18px;height:18px;font:700 11px var(--mono);border-radius:9px;justify-content:center;align-items:center;padding:0 4px;display:flex;position:absolute;top:6px;right:8px}.rail-lock{color:#cfd6d6;width:66px;height:58px;font:700 11px var(--font);background:0 0;border:1.5px solid #3a4548;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:5px;margin-top:auto;display:flex}.cashier-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.offline-strip{background:var(--danger);color:#fff;min-height:40px;font:600 14px var(--font);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:4px 12px;padding:6px 16px;display:flex}.offline-strip .pending-chip{color:#a51f1f;font:700 12px var(--mono);background:#fff;border-radius:6px;padding:2px 8px}.demo-banner{color:#5c4300;min-height:32px;font:600 13px var(--font);background:#fff4d6;flex-shrink:0;align-items:center;padding:4px 16px;display:flex}.demo-banner.expired{color:#8a1c1c;background:#fde2e2}.not-included-title{font:700 18px var(--font);margin:0 0 6px}.cashier-header{background:var(--rail);flex-shrink:0;align-items:center;gap:12px;height:60px;padding:0 14px;display:flex}@media (width>=768px){.cashier-header{height:var(--header-h);padding:0 16px}}.brand-mark{object-fit:contain;flex-shrink:0;width:40px;height:40px;display:block}@media (width>=768px){.brand-mark{width:44px;height:44px}}.cashier-header h1{font:700 18px/1.2 var(--font);color:#fff;letter-spacing:-.01em;margin:0}@media (width>=768px){.cashier-header h1{font-size:20px}}.cashier-header .sub{font:500 12px var(--font);color:var(--subtle)}.net-pill{white-space:nowrap;height:44px;font:600 14px var(--font);border:0;border-radius:22px;flex-shrink:0;align-items:center;gap:8px;margin-left:auto;padding:0 12px;display:flex}.net-pill .dot{border-radius:5px;width:10px;height:10px}.net-pill.online{color:#bfe8cc;background:#1f3a2a}.net-pill.online .dot{background:#43c173}.net-pill.offline{background:var(--danger);color:#fff}.net-pill.offline .dot{background:#fff}.net-pill.attention{background:var(--danger-soft);color:var(--danger-fg)}.net-pill.attention .dot{background:#d23c3c}.cashier-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.phone-tabs{background:var(--rail);flex-shrink:0;grid-template-columns:repeat(7,minmax(0,1fr));height:66px;display:grid}.phone-tabs.nav-single{grid-template-columns:1fr}@media (width>=768px){.phone-tabs{display:none}}.phone-tab{color:var(--subtle);font:700 9px var(--font);background:0 0;border:0;border-top:3px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:relative}.phone-tab.active{border-top-color:var(--accent);color:#5fd0c8}.nav-scrim,.sheet-scrim,.sync-scrim{z-index:9;background:#0e141680;position:absolute;inset:0}.nav-drawer{background:var(--rail);z-index:10;flex-direction:column;width:300px;padding:16px 14px;display:flex;position:absolute;top:0;bottom:0;left:0;box-shadow:12px 0 40px #00000059}@media (width>=768px){.cashier-app.nav-open .cashier-main{z-index:2}.cashier-app.nav-open .nav-scrim,.cashier-app.nav-open .nav-drawer{left:calc(var(--rail-w) * -1)}}.nav-drawer .nav-item{height:60px;font:700 17px var(--font);text-align:left;color:#cfd6d6;background:0 0;border:0;border-radius:14px;align-items:center;gap:14px;padding:0 16px;display:flex}.nav-drawer .nav-item.active{background:var(--accent);color:#fff}.sync-panel{z-index:11;background:#fff;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 20px 50px -10px #0a141466}@media (width<=767px){.sync-panel{border-radius:20px 20px 0 0;max-height:80%;inset:auto 0 0}.sync-scrim{background:#0e141673}}@media (width>=768px){.sync-panel{border-radius:16px;width:400px;max-height:80%;top:80px;right:16px}.sync-scrim{pointer-events:none;background:0 0}.sync-scrim.active{pointer-events:auto}}.sync-toggle{box-sizing:border-box;border:0;border-radius:14px;width:48px;height:28px;padding:3px;display:flex}.sync-toggle.on{background:var(--danger);justify-content:flex-end}.sync-toggle.off{background:#c3cbcc;justify-content:flex-start}.sync-toggle span{background:#fff;border-radius:11px;width:22px;height:22px;box-shadow:0 1px 2px #00000040}.seg{background:var(--surface-2);border-radius:12px;gap:4px;padding:4px;display:flex}.seg button{height:44px;color:var(--muted);font:600 14px var(--font);white-space:nowrap;background:0 0;border:0;border-radius:9px;padding:0 14px}.seg button.active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #0000001f}.btn-primary{background:var(--accent);color:#fff;font:700 16px var(--font);border:0;border-radius:14px}.btn-primary:disabled{opacity:.4}.btn-secondary{border:2px solid var(--accent);color:var(--accent-deep);font:700 15px var(--font);background:#fff;border-radius:14px}.btn-ghost{border:1.5px solid var(--line-strong);color:var(--ink);font:600 15px var(--font);background:#fff;border-radius:12px}.page-pad{flex-direction:column;flex:1;gap:14px;padding:14px;display:flex;overflow-y:auto}@media (width>=768px){.page-pad{padding:18px 20px 24px}}@media (width>=1280px){.page-pad{padding:20px 24px 28px}:root{--cart-w:440px}}.search-input{border:1.5px solid var(--line-strong);width:100%;height:52px;font:500 16px var(--font);color:var(--ink);background:#fff;border-radius:12px;outline:none;padding:0 16px}.search-input:focus{border-color:var(--accent)}.status-pill{height:30px;font:700 12px var(--font);white-space:nowrap;border:1.5px solid;border-radius:8px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.status-pill.open{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent)}.status-pill.closed{background:var(--surface-2);color:var(--success);border-color:#c9d0d1}.status-pill.void{background:var(--danger-soft);color:var(--danger-fg);border-color:#e7a3a3}.toast{background:var(--rail);color:#fff;max-width:88%;font:600 14px var(--font);z-index:20;text-align:center;border-radius:12px;padding:13px 18px;position:absolute;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0000004d}@media (width<=767px){.toast{bottom:84px}}.billing-split{flex:1;min-height:0;display:flex;position:relative}.menu-pane{flex-direction:column;flex:1;min-width:0;display:flex}.cat-row{flex-shrink:0;gap:8px;padding:12px 14px;display:flex;overflow-x:auto}@media (width>=768px){.cat-row{padding:12px 18px}}.cat-chip{border:1.5px solid var(--line-strong);height:48px;color:var(--ink);font:600 15px var(--font);white-space:nowrap;background:#fff;border-radius:24px;flex-shrink:0;padding:0 18px}.cat-chip.active{background:var(--ink);border-color:var(--ink);color:#fff}.menu-grid{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px;padding:4px 14px 16px;display:grid;overflow-y:auto}@media (width>=768px){.menu-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:4px 18px 16px}}@media (width>=1280px){.menu-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.menu-tile{text-align:left;border:2px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.menu-tile.in-cart{border-color:var(--accent)}.menu-tile.disabled{opacity:.45}.menu-tile .thumb{width:100%;height:56px;font:500 10px var(--mono);color:#8a9496;background:repeating-linear-gradient(135deg,#eef1f0 0 7px,#e5e9e8 7px 14px);align-items:flex-end;padding:6px 8px;display:flex}@media (width>=768px){.menu-tile .thumb{height:76px}}@media (width>=1280px){.menu-tile .thumb{height:84px}}.menu-tile .thumb img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.menu-tile .qty-badge{background:var(--accent);color:#fff;min-width:30px;height:30px;font:700 15px var(--mono);z-index:1;border-radius:15px;justify-content:center;align-items:center;padding:0 6px;display:flex;position:absolute;top:8px;right:8px}.menu-tile .tile-body{flex-direction:column;gap:6px;padding:10px 12px 12px;display:flex}.veg-dot{border:1.5px solid;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:12px;height:12px;display:inline-flex}.veg-dot i{background:currentColor;border-radius:3px;width:5px;height:5px}.veg-dot.veg{color:var(--success-fg)}.veg-dot.non{color:#b3261e}.phone-cart-bar{border-top:1px solid var(--line);background:#fff;flex-shrink:0;padding:10px 14px 12px}@media (width>=768px){.phone-cart-bar{display:none}}.phone-cart-bar button{background:var(--accent);color:#fff;width:100%;height:56px;font:700 16px var(--font);border:0;border-radius:14px;justify-content:space-between;align-items:center;padding:0 18px;display:flex}.phone-cart-bar button.empty{background:var(--muted)}.cart-aside{width:var(--cart-w);border-left:1px solid var(--line);z-index:4;background:#fff;flex-direction:column;flex-shrink:0;display:none}@media (width>=768px){.cart-aside{display:flex;position:static}}@media (width<=767px){.cart-aside.open-mobile{width:auto;display:flex;position:absolute;inset:0}.cart-aside.open-mobile .cart-back-btn{display:flex!important}}.cart-head{border-bottom:1px solid #eef1f1;flex-direction:column;gap:10px;padding:12px 16px;display:flex}.cart-lines{flex:1;overflow-y:auto}.cart-line{border-bottom:1px solid #f1f3f3;flex-direction:column;align-items:stretch;gap:8px;padding:12px 16px;display:flex}.line-main{align-items:flex-start;gap:10px;min-width:0;display:flex}.line-copy{flex:1;min-width:0}.line-name{overflow-wrap:break-word;font:600 15px/1.35 var(--font);display:block}.line-actions{align-items:center;gap:8px;min-width:0;display:flex}.cart-line:has(.line-thumb) .line-actions{padding-left:52px}.line-price{white-space:nowrap;text-align:right;font:600 15px var(--mono);flex-shrink:0;margin-left:auto}.qty-box{border:1.5px solid var(--line-strong);border-radius:12px;flex-shrink:0;align-items:center;display:flex;overflow:hidden}.qty-box button{background:var(--surface-3);width:44px;height:44px;font:600 22px var(--font);color:var(--ink);border:0}.qty-box span{text-align:center;width:30px;font:700 16px var(--mono)}.cart-foot{border-top:1px solid var(--line);background:#fbfcfc;flex-direction:column;gap:10px;padding:12px 16px 16px;display:flex}.pay-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.pay-grid button{border:2px solid var(--line-strong);height:48px;color:var(--ink);font:700 15px var(--font);background:#fff;border-radius:12px}.pay-grid button.active{background:var(--ink);border-color:var(--ink);color:#fff}.split-pay-btn{border:2px dashed var(--line-strong);width:100%;height:44px;font:700 14px var(--font);color:var(--ink);background:#fff;border-radius:12px}.split-pay-btn:disabled{opacity:.45}.split-pay-btn.active{background:var(--ink);color:#fff;border-style:solid}.split-panel{flex-direction:column;gap:10px;padding:10px 0 4px;display:flex}.split-panel-head{align-items:center;gap:8px;display:flex}.split-totals{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.split-totals div{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:2px;padding:8px;display:flex}.split-totals span{font:600 11px var(--mono);color:var(--muted)}.split-totals strong{font:700 15px var(--mono)}.split-over{color:brown}.split-equal{align-items:end;gap:8px;display:flex}.split-equal label{font:600 12px var(--font);flex-direction:column;flex:1;gap:4px;display:flex}.split-equal select,.split-parts select,.split-parts input{border:1px solid var(--line-strong);height:40px;font:600 14px var(--mono);background:#fff;border-radius:10px;padding:0 10px}.split-parts{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.split-parts li{grid-template-columns:52px 1fr 1fr auto;align-items:center;gap:6px;display:grid}.split-part-label{font:600 12px var(--mono);color:var(--muted)}.split-error{color:brown;font:600 13px var(--font);margin:0}.bill-actions{grid-template-columns:1fr 1.25fr;gap:10px;display:grid}.bill-actions button{border-radius:14px;height:60px}.table-legend{font:600 13px var(--font);color:#3f3f46;background:#fff;border:1px solid #ececec;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 14px;display:flex}.table-legend i{vertical-align:-2px;border-radius:4px;width:14px;height:14px;margin-right:7px;display:inline-block}.zone-label{font:600 12px var(--font);color:#737373;letter-spacing:.08em}.table-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.table-tile{cursor:pointer;background:#fff;border:1px solid #ececec;border-left-width:4px;border-radius:12px;flex-direction:column;gap:8px;min-width:0;min-height:148px;padding:12px;display:flex}.table-tile.empty{border-left-color:#16803c}.table-tile.occupied{border-left-color:#d23c3c}.table-tile.bill_requested{border-left-color:#d9a91c}.table-tile-top,.table-tile-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.table-status{height:22px;font:700 11px var(--font);border-radius:999px;flex-shrink:0;align-items:center;padding:0 8px;display:inline-flex}.table-status.empty{color:#16803c;background:#eaf6ee}.table-status.occupied{color:brown;background:#fcecec}.table-status.bill_requested{color:#6b4d00;background:#fff8e1}.table-meta{font:500 13px var(--font);color:#737373}.table-amount{font:700 16px var(--mono);color:#171717}.table-start{color:#fff;height:36px;font:700 13px var(--font);background:#171717;border-radius:10px;justify-content:center;align-items:center;display:flex}.table-bill{color:#171717;height:36px;font:700 12px var(--font);background:#fff;border:1px solid #d7d7dc;border-radius:10px;padding:0 10px}.table-tile.busy{opacity:.65}.table-tile .tid{font:700 22px/1.1 var(--mono);letter-spacing:-.02em}@media (width>=768px){.table-tile .tid{font-size:26px}}.orders-toolbar{background:#fff;border:1px solid #ececec;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.orders-toolbar .seg{background:0 0;border-radius:0;gap:8px;padding:0}.orders-toolbar .seg button{color:#171717;height:40px;box-shadow:none;background:#fff;border:1px solid #e4e4e7;border-radius:999px;padding:0 14px}.orders-toolbar .seg button.active{color:#fff;box-shadow:none;background:#171717;border-color:#171717}.orders-toolbar .search-input{border-color:#e4e4e7;border-radius:12px;height:40px}.orders-toolbar .search-input:focus{border-color:#171717}.orders-count{font:600 13px var(--font);color:#737373}.orders-date{width:auto;min-width:168px;height:40px;font:600 14px var(--font);border-radius:12px;padding:0 12px}.orders-table{background:#fff;border:1px solid #ececec;border-radius:12px;overflow:hidden}.orders-table .head,.orders-table .row{display:none}.order-cards{flex-direction:column;gap:8px;display:flex}@media (width>=768px){.orders-table .head,.orders-table .row{grid-template-columns:96px minmax(0,1.3fr) 56px 100px 80px minmax(0,1.5fr) 72px;align-items:center;gap:12px;min-height:64px;padding:0 18px;display:grid}.orders-table .head{min-height:auto;font:600 11px var(--font);color:#737373;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #ececec;padding:12px 18px}.orders-table .row{cursor:pointer;background:#fff;border-bottom:1px solid #f3f3f4}.orders-table .row:hover{background:#f7f7f8}.order-cards{display:none!important}}.orders-table .status-pill.open,.order-card .status-pill.open{color:#16803c;background:#eaf6ee;border-color:#0000}.orders-table .status-pill.closed,.order-card .status-pill.closed{color:#3f3f46;background:#f4f4f5;border-color:#0000}.orders-table .status-pill.void,.order-card .status-pill.void{color:brown;background:#fcecec;border-color:#0000}.order-card{cursor:pointer;background:#fff;border:1px solid #ececec;border-left:4px solid;border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.orders-empty{text-align:center;font:500 15px var(--font);color:#737373;background:#fff;border:1px solid #ececec;border-radius:12px;padding:40px}.receipt-layout{flex-direction:column;align-items:flex-start;gap:20px;display:flex}@media (width>=768px){.receipt-layout{flex-direction:row}}.shift-paper{color:#111;background:#fff;width:72mm;font:13px/1.4 ui-monospace,monospace;display:none}.shift-paper h1{margin:0 0 8px;font-size:16px}.shift-paper p{margin:0 0 4px}.receipt-paper{width:100%;max-width:440px;box-shadow:none;background:#fff;border:1px solid #ececec;border-radius:12px;flex-direction:column;gap:12px;padding:24px 22px;display:flex;position:relative}.receipt-actions{flex-direction:column;gap:12px;width:100%;display:flex}@media (width>=768px){.receipt-actions{width:320px}}.receipt-actions .seg{background:0 0;gap:8px;padding:0}.receipt-actions .seg button{color:#171717;height:40px;box-shadow:none;background:#fff;border:1px solid #e4e4e7;border-radius:999px}.receipt-actions .seg button.active{color:#fff;box-shadow:none;background:#171717;border-color:#171717}.void-stamp{border:2.5px solid var(--danger);color:var(--danger);font:700 18px var(--mono);letter-spacing:.14em;border-radius:6px;padding:2px 10px;position:absolute;top:20px;right:16px;transform:rotate(-8deg)}.shift-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;display:grid}@media (width>=768px){.shift-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}.stat-card{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:6px;padding:18px;display:flex}.stat-card.accent{background:var(--accent);color:#fff;border:0}.shift-page .stat-card,.shift-start,.shift-cash{background:#fff;border:1px solid #ececec;border-radius:12px}.shift-page .stat-card.accent{color:#171717;background:#fff;border:1px solid #ececec}.shift-page .stat-card .val{color:#171717}.shift-head{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.shift-avatar{color:#fff;width:44px;height:44px;font:700 14px var(--font);background:#171717;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.shift-title{font:700 22px var(--font);letter-spacing:-.01em}.shift-sub{min-height:1.2em;font:500 14px var(--font);color:#737373}.shift-status{color:#3f3f46;height:28px;font:700 12px var(--font);background:#f4f4f5;border-radius:999px;align-items:center;padding:0 10px;display:inline-flex}.shift-status.open{color:#16803c;background:#eaf6ee}.shift-start,.shift-cash{flex-direction:column;gap:12px;padding:18px;display:flex}.shift-start{max-width:420px}.shift-page .btn-secondary{color:#171717;background:#fff;border:1px solid #d7d7dc;border-radius:12px}.shift-page button[type=submit],.shift-cash button[type=button]{border-radius:12px}.stat-card .val{font:700 26px var(--mono);letter-spacing:-.02em}@media (width>=768px){.stat-card .val{font-size:34px}}.mode-bar{background:var(--surface-2);border-radius:7px;height:14px;display:flex;overflow:hidden}.login-shell{background:var(--bg);place-items:center;min-height:100%;padding:1rem;display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:16px;gap:.85rem;width:min(100%,400px);padding:1.5rem;display:grid}.login-card h1{font:700 28px var(--font);margin:.2rem 0 0}.login-card label{gap:.35rem;font-size:.92rem;display:grid}.login-card input{border:1.5px solid var(--line-strong);border-radius:12px;padding:.75rem .85rem}.login-card button[type=submit]{background:var(--accent);color:#fff;border:0;border-radius:14px;padding:.9rem 1rem;font-weight:700}.password-field-row{align-items:stretch;gap:.5rem;display:flex}.password-field-row input{flex:1;min-width:0}.password-toggle{flex-shrink:0;align-self:center;font-size:.85rem}.sign-out-link{text-underline-offset:2px;justify-self:center;font-size:.92rem;text-decoration:underline}.field-error{margin:0;font-size:.85rem}.error{color:var(--danger-fg)}.banner{border:1px solid var(--line);background:#fff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:.75rem;margin:.75rem 14px 0;padding:.75rem 1rem;display:flex}.error-banner{background:var(--danger-soft);color:var(--danger-fg);border-color:#fecaca}.account-suspended-banner{box-sizing:border-box;width:100%;font:600 14px var(--font);text-align:center;border-top:0;border-left:0;border-right:0;border-radius:0;margin:0;padding:12px 16px}.success-banner{background:var(--accent-soft);border-color:#bfe0dd}.kot-overlay{z-index:15;background:#0e141699;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;padding:16px;display:flex;position:absolute;inset:0}.kot-ticket{color:#000;width:302px;max-height:680px;font-family:var(--mono);background:#fff;padding:18px 14px 22px;overflow-y:auto;box-shadow:0 20px 40px #00000059}.kot-reprint{text-align:center;letter-spacing:.14em;margin:4px 0 0;font-weight:800}.kot-lines{margin:0;padding:0;list-style:none}.kot-lines li{align-items:flex-start;gap:8px;padding:6px 0;display:flex}.kot-note{margin-top:4px;font-size:1.05em;font-style:normal;font-weight:800;display:block}.kot-toolbar{color:#fff;flex-direction:column;gap:10px;width:min(240px,100%);display:flex}.sheet-backdrop{z-index:12;background:#0e141680;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.sheet{background:#fff;border-radius:22px 22px 0 0;flex-direction:column;gap:16px;width:100%;max-width:640px;padding:10px 20px 22px;display:flex;position:relative}.variant-list{gap:10px;display:flex}.variant-list button{border:2px solid var(--line-strong);background:#fff;border-radius:14px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;height:64px;display:flex}@media print{body *{visibility:hidden}.kot-ticket,.kot-ticket *,.receipt-paper,.receipt-paper *,.shift-paper,.shift-paper *{visibility:visible}.kot-ticket,.receipt-paper,.shift-paper{box-shadow:none;display:block;position:absolute;top:0;left:0}.receipt-paper{border:0;border-radius:0}.no-print{display:none!important}}.pos-brand,.pos-rail-foot,.pos-topbar,.rail-full{display:none}.pos-toolbar{flex-direction:column;gap:8px;padding:12px 14px 0;display:flex}.pos-tools{align-items:center;gap:8px;display:flex}.pos-tools .search-input{flex:1;margin:0}.cat-count{color:#3d3d3d;min-width:18px;height:18px;font:700 11px var(--mono);background:#eceff1;border-radius:999px;justify-content:center;align-items:center;margin-left:8px;padding:0 5px;display:inline-flex}.cat-chip.active .cat-count{color:#fff;background:#ffffff2e}.pos-refresh{height:44px;font:600 13px var(--font);color:#171717;background:#fff;border:1px solid #e4e4e7;border-radius:12px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.avail-pill{color:#16803c;height:22px;font:700 11px var(--font);background:#fff;border-radius:999px;align-items:center;padding:0 8px;display:inline-flex;position:absolute;top:8px;right:8px;box-shadow:0 1px 2px #00000014}.avail-pill.off{color:#b42318}.thumb-fallback{color:#8a8a8a;font:600 12px var(--font)}.menu-tile .thumb{position:relative}.tile-name-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.tile-name{font:600 14px/1.3 var(--font)}.tile-price{font:700 14px var(--mono);white-space:nowrap}.cart-cta{color:#fff;height:36px;font:700 13px var(--font);background:#171717;border-radius:10px;justify-content:center;align-items:center;display:flex}.cart-cta.more{color:#171717;background:#fff;border:1px solid #d7d7dc}.cart-cta.na{color:#8a8a8a;background:#f2f2f4}.pos-summary-title{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.pos-summary-title span{font:700 16px var(--font)}.pos-summary-title strong{font:700 13px var(--mono);color:#737373}.pos-field{font:600 12px var(--font);color:#737373;flex-direction:column;gap:6px;display:flex}.pos-field select{color:#171717;height:42px;font:600 14px var(--font);background:#fff;border:1px solid #e4e4e7;border-radius:10px;padding:0 10px}.pos-linkish{color:#171717;border-color:#e4e4e7;height:36px}.line-thumb{background:#f3f3f4;border-radius:8px;flex-shrink:0;width:42px;height:42px;overflow:hidden}.line-thumb img{object-fit:cover;width:100%;height:100%}.line-remove{color:#737373;background:0 0;border:0;width:28px;height:28px;font-size:18px}.pos-discount-callout{font:600 12px var(--font);color:#171717;background:#f6f7f8;border-radius:10px;grid-column:1/-1;padding:8px 10px}@media (width>=1100px){.pos-theme{background:#f5f5f5}.pos-theme .cashier-body{background:#f7f7f8}.pos-theme .cashier-rail{background:#fff;border-right:1px solid #ececec;align-items:stretch;width:228px;padding:16px 12px 14px}.pos-theme .pos-brand{align-items:center;gap:10px;padding:4px 8px 16px;display:flex}.pos-theme .pos-brand img{width:36px;height:36px}.pos-theme .pos-brand strong,.pos-theme .pos-brand span{display:block}.pos-theme .pos-brand strong{font:600 15px var(--font)}.pos-theme .pos-brand span{color:#737373;font:500 12px var(--font);min-height:1.2em;margin-top:2px}.pos-theme .rail-burger,.pos-theme .rail-short,.pos-theme .rail-lock,.pos-theme .cashier-header{display:none}.pos-theme .rail-tab{color:#3f3f46;border-radius:10px;flex-direction:row;justify-content:flex-start;gap:10px;width:auto;height:44px;padding:0 12px}.pos-theme .rail-tab.active{color:#fff;background:#171717}.pos-theme .rail-full{font:600 14px var(--font);display:inline}.pos-theme .pos-rail-foot{flex-direction:column;gap:4px;margin-top:auto;display:flex}.pos-theme .pos-rail-foot button{color:#3f3f46;height:40px;font:600 14px var(--font);background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;padding:0 12px;display:flex}.pos-theme .pos-topbar{background:#fff;border-bottom:1px solid #ececec;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:10px 18px;display:flex}.pos-theme .pos-outlet,.pos-theme .pos-top-right,.pos-theme .pos-user{align-items:center;gap:10px;display:flex}.pos-theme .pos-outlet strong{font:600 15px var(--font);min-width:6em;min-height:1.2em;display:inline-block}.pos-theme .pos-outlet .net-pill{margin-left:0}.pos-theme .pos-clock{color:#52525b;font:600 13px var(--font)}.pos-theme .pos-user{position:relative}.pos-theme .pos-user>button{height:40px;font:600 13px var(--font);background:#fff;border:1px solid #ececec;border-radius:999px;align-items:center;gap:8px;padding:0 12px 0 6px;display:flex}.pos-user-name{min-width:5em;min-height:1.2em;display:inline-block}.pos-theme .pos-avatar{color:#fff;width:28px;height:28px;font:700 11px var(--font);background:#171717;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.pos-theme .pos-user-menu{z-index:20;background:#fff;border:1px solid #ececec;border-radius:12px;min-width:140px;padding:6px;position:absolute;top:46px;right:0;box-shadow:0 8px 24px #00000014}.pos-theme .pos-user-menu button{text-align:left;width:100%;height:36px;font:600 13px var(--font);background:0 0;border:0;border-radius:8px;padding:0 10px}.pos-theme .menu-pane{background:#f7f7f8}.pos-theme .pos-toolbar{flex-direction:row;align-items:center;padding:14px 16px 0}.pos-theme .pos-toolbar .cat-row{flex:1;padding:0}.pos-theme .pos-tools .search-input{flex:none;width:220px}.pos-theme .menu-tile{background:#fff;border:1px solid #ececec;border-radius:14px;padding:8px}.pos-theme .menu-tile .thumb{border-radius:10px;height:132px}.pos-theme .cart-aside{background:#fff;width:360px}.pos-theme .pos-order-title{display:none}.pos-theme .btn-primary{background:#171717;border-color:#171717;border-radius:12px;min-height:52px}}.dash-page{gap:16px}.dash-head,.dash-list-head,.dash-actions{align-items:center;gap:10px;display:flex}.dash-head,.dash-list-head{justify-content:space-between}.dash-hello{min-height:1.3em;font:700 22px var(--font);margin:0}.dash-date,.dash-note,.dash-stat-note,.dash-urgent-note{color:#737373;font:500 13px var(--font);margin:0}.dash-actions{flex-wrap:wrap}.dash-new,.dash-link{height:44px;font:700 14px var(--font);border-radius:12px}.dash-new{color:#fff;background:#171717;border:0;padding:0 18px}.dash-link{color:#171717;background:#fff;border:1px solid #d7d7dc;padding:0 16px}.dash-link.slim{align-self:flex-start;height:36px;margin-top:8px}.dash-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.dash-stat,.dash-list{background:#fff;border:1px solid #ececec;border-radius:12px;padding:14px 16px}.dash-stat{flex-direction:column;gap:6px;min-height:112px;display:flex}.dash-stat.urgent{border-color:#d23c3c}.dash-stat-label{color:#737373;font:600 12px var(--font);letter-spacing:.04em;text-transform:uppercase}.dash-stat-value,.dash-shift-line{color:#171717;font:700 28px var(--mono);letter-spacing:-.02em;margin:0}.dash-shift-line{font:600 16px var(--font)}.dash-urgent-note{color:brown;font-weight:700}.dash-blank{background:#f4f4f5;border-radius:8px;height:32px;display:block}.dash-blank.tall{height:72px}.dash-list{flex-direction:column;gap:8px;display:flex}.dash-list h2{font:700 16px var(--font);margin:0}.dash-text-link{color:#171717;font:700 13px var(--font);background:0 0;border:0;text-decoration:underline}.dash-row{text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #f3f3f4;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;width:100%;padding:10px 0;display:grid}.dash-row:disabled{cursor:default}.dash-row-title{font:700 15px var(--mono)}.dash-row-meta,.dash-row-time{color:#737373;font:500 13px var(--font)}.dash-row-time{grid-area:1/2/span 2;align-self:center}.dish-page{gap:14px}.dish-head,.dish-title-row,.dish-meta,.dish-tools,.dish-switch{align-items:center;gap:10px;display:flex}.dish-head{justify-content:space-between}.dish-page h1,.dish-title-row h2{font:700 22px var(--font);margin:0}.dish-title-row h2{font-size:16px}.dish-note,.dish-meta,.dish-audit,.dish-saving{color:#737373;font:500 13px var(--font);margin:4px 0 0}.dish-tools{flex-wrap:wrap;align-items:stretch}.dish-tools .search-input{max-width:320px}.dish-error,.dish-offline{color:brown;font:600 13px var(--font);margin:0}.dish-offline{color:#7a5a00}.dish-list{flex-direction:column;gap:10px;display:flex}.dish-card{background:#fff;border:1px solid #ececec;border-radius:12px;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.dish-thumb{color:#737373;width:64px;height:64px;font:700 20px var(--font);background:#f4f4f5;border-radius:10px;justify-content:center;align-items:center;display:flex;overflow:hidden}.dish-thumb img{object-fit:cover;width:100%;height:100%}.dish-meta span{color:#171717;font-weight:700}.dish-diet{color:brown;font:700 12px var(--font);align-items:center;gap:6px;display:inline-flex}.dish-diet:before,.dish-diet.veg:before{content:"";background:brown;border-radius:99px;width:8px;height:8px}.dish-diet.veg{color:#16803c}.dish-diet.veg:before{background:#16803c}.dish-switch{flex-direction:column;align-items:flex-end;gap:6px}.dish-pill{color:#16803c;height:22px;font:700 11px var(--font);background:#e8f6ee;border-radius:999px;align-items:center;padding:0 8px;display:inline-flex}.dish-pill.off{color:brown;background:#fdecec}.dish-toggle{background:#d4d4d8;border:0;border-radius:999px;width:44px;height:26px;padding:3px}.dish-toggle span{background:#fff;border-radius:99px;width:20px;height:20px;display:block}.dish-toggle.on{background:#171717}.dish-toggle.on span{margin-left:18px}.dish-toggle:disabled{opacity:.45}@media (width<=640px){.dish-card{grid-template-columns:56px minmax(0,1fr)}.dish-switch{flex-direction:row;grid-column:1/-1;justify-content:space-between}}.floor-tabs{flex-wrap:wrap}.booked-badge{color:#1d4e89;width:fit-content;max-width:100%;font:700 12px var(--font);background:#e8f1fb;border-radius:999px;align-items:center;padding:4px 8px;display:inline-flex}.booked-badge.overdue{color:brown;background:#fdecec}.sheet-back{z-index:40;background:#17171766;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.sheet{background:#fff;border-radius:16px;flex-direction:column;gap:10px;width:min(420px,100%);padding:16px;display:flex}.sheet h2{font:700 20px var(--font);margin:0}.sheet p{font:500 14px var(--font);margin:0}.bookings{flex-direction:column;gap:12px;display:flex}.bookings-dates,.bookings-toolbar,.booking-form-actions,.booking-actions,.booking-flags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bookings-date-pick{font:600 13px var(--font);align-items:center;gap:8px;display:flex}.booking-form,.booking-row{background:#fff;border:1px solid #ececec;border-radius:12px;gap:10px;padding:12px;display:grid}.booking-form{grid-template-columns:1fr 1fr}.booking-form label{font:600 12px var(--font);color:#525252;flex-direction:column;gap:4px;display:flex}.booking-form input,.booking-form select,.bookings-date-pick input{height:40px;font:500 14px var(--font);color:#171717;background:#fff;border:1px solid #d7d7dc;border-radius:10px;padding:0 10px}.booking-form-title,.booking-name{font:700 15px var(--font);color:#171717}.booking-time{font:700 16px var(--mono)}.booking-meta,.booking-notes{font:500 13px var(--font);color:#525252}.booking-row.saving{opacity:.7}.booking-actions button{height:36px;font:700 13px var(--font);background:#fff;border:1px solid #d7d7dc;border-radius:10px;padding:0 12px}.booking-actions button:disabled{opacity:.5}.status-chip{height:22px;font:700 11px var(--font);color:#3f3f46;background:#f4f4f5;border-radius:999px;align-items:center;padding:0 8px;display:inline-flex}.status-chip.booked{color:#1d4e89;background:#e8f1fb}.status-chip.seated{color:#16803c;background:#eaf6ee}.status-chip.overdue,.status-chip.no_show{color:brown;background:#fdecec}.status-chip.warn{color:#6b4d00;background:#fff8e1}.field-error,.field-warn{font:600 12px var(--font)}.field-error{color:brown}.field-warn{color:#6b4d00}.span-2{grid-column:1/-1}@media (width<=640px){.booking-form{grid-template-columns:1fr}}.table-action-sheet{max-height:min(88vh,720px);overflow:auto}.table-action-sheet.wide{width:min(560px,100%)}.table-action-sheet-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.table-action-picker{flex-direction:column;gap:12px;display:flex}.table-action-zone{flex-direction:column;gap:8px;display:flex}.table-grid.compact{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.table-tile.selected{outline:2px solid var(--accent,#0b6b6b);outline-offset:1px}.table-action-lines{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.table-action-lines li{border:1px solid var(--line,#e1e5e5);border-radius:10px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.table-action-lines li.blocked{opacity:.65;background:#f7f8f8}.table-action-line{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.table-action-line-body{flex-direction:column;gap:2px;min-width:0;display:flex}.table-action-line-name{font:600 14px var(--font)}.table-action-line-meta{font:500 12px var(--mono);color:var(--muted)}.table-action-stepper{align-items:center;gap:8px;margin-left:26px;display:inline-flex}.table-action-stepper button{border:1.5px solid var(--line-strong,#cfd6d6);width:32px;height:32px;font:700 16px var(--font);background:#fff;border-radius:8px}.table-action-stepper span{text-align:center;min-width:1.5rem;font:700 14px var(--mono)}.table-action-summary{font:500 14px var(--font);margin:0;padding-left:1.2rem}.table-action-totals{border:1px solid var(--line,#e1e5e5);background:#fafbfb;border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.table-action-totals>div{font:500 14px var(--font);justify-content:space-between;gap:12px;display:flex}.table-action-totals .combined{border-top:1px dashed var(--line-strong,#cfd6d6);padding-top:6px;font-weight:700}.table-action-error .linkish,button.linkish{appearance:none;color:var(--accent,#0b6b6b);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.tickets-screen{flex-direction:column;gap:16px;min-height:100%;padding:16px;display:flex}.tickets-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.tickets-head h2{margin:0;font-size:1.6rem}.ticket-banner{color:#5a4000;background:#fff4d6;border-radius:12px;margin:0;padding:12px 14px;font-weight:700}.ticket-offline{border:1px solid var(--line);text-align:center;background:#fff;border-radius:16px;margin:0;padding:28px 16px;font-size:1.35rem;font-weight:700}.ticket-empty{color:var(--muted,#5b6466);margin:0;font-size:1.1rem}.ticket-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;display:grid}.ticket-card{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:12px;padding:16px 18px 18px;display:flex}.ticket-card header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ticket-table{margin:0;font-size:1.7rem;font-weight:800;line-height:1.1}.ticket-meta{color:#3d4648;margin:4px 0 0;font-size:1.05rem}.ticket-wait{font-variant-numeric:tabular-nums;text-align:right;margin:0;font-size:1.35rem;font-weight:800}.ticket-lines{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ticket-lines li{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:10px;display:grid}.ticket-qty{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:800}.ticket-dish{font-size:1.35rem;font-weight:700;line-height:1.2}.ticket-variant{font-style:normal;font-weight:600}.ticket-note{background:#fff4d6;border-radius:8px;margin-top:4px;padding:6px 8px;font-size:1.15rem;font-weight:800;display:block}.ticket-print{color:#fff;background:#14322c;border:0;border-radius:12px;height:52px;font-size:1.15rem;font-weight:800}.ticket-print:disabled{opacity:.45}.recent-block h3{margin:8px 0;font-size:1.1rem}.recent-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.recent-list li{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:1.05rem;display:flex}.recent-list button{background:#fff;border:1px solid #14322c;border-radius:10px;height:40px;padding:0 14px;font-weight:800}@media (width<=720px){.tickets-screen{padding:12px}.ticket-grid{grid-template-columns:1fr}.ticket-table{font-size:1.45rem}}.waiter-tables .table-grid,.waiter-order .menu-grid{min-width:0}.waiter-tables .table-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.waiter-tables .table-tile{min-height:132px}.waiter-tables .tid{font-size:18px}.waiter-chip-row{gap:8px;display:flex}.waiter-chip-row button{border:1.5px solid var(--line-strong);min-height:48px;color:var(--ink);font:700 15px var(--font);background:#fff;border-radius:24px;padding:0 18px}.waiter-chip-row button.active{background:var(--ink);border-color:var(--ink);color:#fff}.yours-tag{background:var(--accent-soft);height:22px;color:var(--accent-ink);font:700 11px var(--font);border-radius:999px;align-items:center;padding:0 8px;display:inline-flex}.waiter-order{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.waiter-head{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:8px;min-height:56px;padding:8px 12px;display:flex}.waiter-head h1{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:700 18px var(--font);flex:1;margin:0;overflow:hidden}.waiter-total{font:700 18px var(--mono);flex-shrink:0}.waiter-scroll{flex-direction:column;flex:1;gap:14px;min-width:0;min-height:0;padding:12px;display:flex;overflow:hidden auto}.waiter-section{flex-direction:column;gap:8px;min-width:0;display:flex}.waiter-section h2{font:700 13px var(--font);letter-spacing:.06em;text-transform:uppercase;color:#737373;margin:0}.waiter-line{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:8px;min-width:0;padding:10px 12px;display:flex}.waiter-line.unavailable{background:var(--danger-soft);border-color:#e7a3a3}.waiter-line-top{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.waiter-line-name{font:700 16px var(--font);min-width:0}.waiter-line-price{font:700 15px var(--mono);flex-shrink:0}.waiter-meta{font:500 13px var(--font);color:var(--muted)}.waiter-note{border:1.5px solid var(--line-strong);width:100%;min-height:44px;font:500 15px var(--font);color:var(--ink);background:#fff;border-radius:12px;padding:8px 10px}.draft-total{justify-content:space-between;align-items:center;gap:8px;display:flex}.draft-total strong{font:700 18px var(--mono)}.not-sent{font-style:normal;font:700 12px var(--font);color:var(--warn-ink);background:var(--warn-soft);border-radius:999px;padding:4px 8px}.waiter-order .cat-row{flex-wrap:wrap;padding:0;overflow:visible}.waiter-order .menu-grid{flex:none;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;overflow:visible}.waiter-order .search-input{width:100%;min-height:48px}.waiter-footer{border-top:1px solid var(--line);background:#fff;flex-direction:column;flex-shrink:0;gap:8px;padding:10px 12px;display:flex}.waiter-footer button{width:100%;min-height:52px}.waiter-back{background:var(--surface-2);min-width:48px;min-height:48px;font:700 15px var(--font);color:var(--ink);border:0;border-radius:12px;padding:0 10px}.waiter-confirm button{min-height:52px}.closed-draft{justify-content:space-between;align-items:center;gap:12px;margin:0;display:flex}.closed-draft button{border:1.5px solid var(--line-strong);min-height:48px;font:700 15px var(--font);background:#fff;border-radius:12px;padding:0 14px}.sent-banner{background:var(--success-soft);color:var(--success);font:700 14px var(--font);border-radius:12px;padding:10px 12px}@media (width>=768px){.waiter-tables .table-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.waiter-order .menu-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.waiter-scroll{padding:16px 20px}}@media (width>=1100px){.waiter-order .menu-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
