@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/pos/assets/poppins-devanagari-400-normal-CJDn6rn8.woff2) format("woff2"),url(/pos/assets/poppins-devanagari-400-normal-CqVvlrh5.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/pos/assets/poppins-latin-ext-400-normal-by3JarPu.woff2) format("woff2"),url(/pos/assets/poppins-latin-ext-400-normal-DaBSavcJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/pos/assets/poppins-latin-400-normal-cpxAROuN.woff2) format("woff2"),url(/pos/assets/poppins-latin-400-normal-BOb3E3N0.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/pos/assets/poppins-devanagari-500-normal-BIdkeU1p.woff2) format("woff2"),url(/pos/assets/poppins-devanagari-500-normal-DMPDjHtT.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/pos/assets/poppins-latin-ext-500-normal-CK-6C4Hw.woff2) format("woff2"),url(/pos/assets/poppins-latin-ext-500-normal-CgAe2rWW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/pos/assets/poppins-latin-500-normal-C8OXljZJ.woff2) format("woff2"),url(/pos/assets/poppins-latin-500-normal-DGXqpDMm.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/pos/assets/poppins-devanagari-600-normal-STEjXBNN.woff2) format("woff2"),url(/pos/assets/poppins-devanagari-600-normal-ClASKHrr.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/pos/assets/poppins-latin-ext-600-normal-CAhIAdZj.woff2) format("woff2"),url(/pos/assets/poppins-latin-ext-600-normal-Df5ffKXP.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/pos/assets/poppins-latin-600-normal-zEkxB9Mr.woff2) format("woff2"),url(/pos/assets/poppins-latin-600-normal-BJdTmd5m.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/pos/assets/poppins-devanagari-700-normal-O-jipLrW.woff2) format("woff2"),url(/pos/assets/poppins-devanagari-700-normal-fHs-vx92.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/pos/assets/poppins-latin-ext-700-normal-cby-RkWa.woff2) format("woff2"),url(/pos/assets/poppins-latin-ext-700-normal-DctTR6Tg.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/pos/assets/poppins-latin-700-normal-Qrb0O0WB.woff2) format("woff2"),url(/pos/assets/poppins-latin-700-normal-BVuQR_eA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--z-brand-600: #15803d;--z-brand-500: #16a34a;--z-brand-400: #22c55e;--z-brand-100: #dcfce7;--z-bg: #e3e7e9;--z-surface: #ffffff;--z-surface-raised: #ffffff;--z-surface-hover: color-mix(in srgb, var(--z-border) 40%, var(--z-surface));--z-border: #e2e5e4;--z-text: #16201c;--z-text-muted: #5b6863;--z-text-inverse: #ffffff;--z-success: #158a51;--z-warning: #b97d10;--z-danger: #c23934;--z-info: #2563eb;--z-cash: var(--z-success);--z-mpesa: #159f4a;--z-offline: var(--z-warning);--z-credit: #7c3aed;--z-accent-fg: var(--z-brand-600);--z-pill-ok-bg: var(--z-brand-100);--z-pill-ok-fg: var(--z-accent-fg);--z-pill-warn-bg: #fdf0dc;--z-pill-warn-fg: #8a5c0a;--z-pill-info-bg: #ede9fe;--z-pill-info-fg: #6d28d9;--z-pill-danger-bg: #fbe0df;--z-pill-danger-fg: #b3261e;--z-font-sans: var(--font-poppins, "Poppins"), system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--z-font-mono: "JetBrains Mono", ui-monospace, "Cascadia Mono", monospace;--z-text-xs: .75rem;--z-text-sm: .875rem;--z-text-md: 1rem;--z-text-lg: 1.125rem;--z-text-xl: 1.375rem;--z-text-2xl: 1.75rem;--z-text-money: 1.5rem;--z-space-1: .25rem;--z-space-2: .5rem;--z-space-3: .75rem;--z-space-4: 1rem;--z-space-5: 1.25rem;--z-space-6: 1.5rem;--z-space-8: 2rem;--z-radius-sm: 6px;--z-radius-md: 10px;--z-radius-lg: 16px;--z-shadow-1: 0 1px 2px rgb(22 32 28 / .06);--z-shadow-2: 0 4px 12px rgb(22 32 28 / .1);--z-touch-target-min: 44px;--z-touch-target: 48px;--z-touch-target-lg: 64px}[data-theme=dark]{--z-bg: #0d1211;--z-surface: #1e2723;--z-surface-raised: #29332e;--z-border: #3a473f;--z-text: #eef2f0;--z-text-muted: #96a39d;--z-brand-100: #14532d;--z-shadow-1: 0 1px 2px rgb(0 0 0 / .4);--z-shadow-2: 0 4px 12px rgb(0 0 0 / .5);--z-accent-fg: #4ade80;--z-pill-warn-bg: #3a2c10;--z-pill-warn-fg: #eec377;--z-pill-info-bg: #2a2440;--z-pill-info-fg: #c4b5fd;--z-pill-danger-bg: #3d1513;--z-pill-danger-fg: #f2a099}:focus-visible{outline:2px solid var(--z-brand-400);outline-offset:2px}[data-industry=restaurant]{--z-brand-600: #b3400f;--z-brand-500: #d34e14;--z-brand-400: #ea6a2f;--z-brand-100: #fde8dc}[data-industry=pharmacy]{--z-brand-600: #0e7490;--z-brand-500: #0e8aab;--z-brand-400: #22a8c9;--z-brand-100: #d5f1f8}[data-industry=hardware]{--z-brand-600: #92610b;--z-brand-500: #b17510;--z-brand-400: #d0901e;--z-brand-100: #fcf0d4}[data-industry=services]{--z-brand-600: #9d2463;--z-brand-500: #bb2d77;--z-brand-400: #d64b93;--z-brand-100: #fbe4f0}[data-theme=dark][data-industry=restaurant]{--z-brand-100: #3a1c0d;--z-accent-fg: #f29068}[data-theme=dark][data-industry=pharmacy]{--z-brand-100: #0c2f3a;--z-accent-fg: #67cfe8}[data-theme=dark][data-industry=hardware]{--z-brand-100: #32240a;--z-accent-fg: #e8b95c}[data-theme=dark][data-industry=services]{--z-brand-100: #37102a;--z-accent-fg: #f094c4}[data-accent=emerald]{--z-brand-600: #15803d;--z-brand-500: #16a34a;--z-brand-400: #22c55e;--z-brand-100: #dcfce7}[data-accent=ocean]{--z-brand-600: #1666c4;--z-brand-500: #1f77d8;--z-brand-400: #3d91ea;--z-brand-100: #dbe9fb}[data-accent=violet]{--z-brand-600: #6d28d9;--z-brand-500: #7c3aed;--z-brand-400: #965bf0;--z-brand-100: #ede4fc}[data-accent=indigo]{--z-brand-600: #4f46e5;--z-brand-500: #6366f1;--z-brand-400: #818cf8;--z-brand-100: #e5e6fd}[data-accent=rose]{--z-brand-600: #be185d;--z-brand-500: #db2777;--z-brand-400: #ec4a94;--z-brand-100: #fbe0ec}[data-accent=terracotta]{--z-brand-600: #b3400f;--z-brand-500: #d34e14;--z-brand-400: #ea6a2f;--z-brand-100: #fde8dc}[data-accent=amber]{--z-brand-600: #92610b;--z-brand-500: #b17510;--z-brand-400: #d0901e;--z-brand-100: #fcf0d4}[data-accent=teal]{--z-brand-600: #0e7490;--z-brand-500: #0e8aab;--z-brand-400: #22a8c9;--z-brand-100: #d5f1f8}[data-theme=dark][data-accent=emerald]{--z-brand-100: #14532d;--z-accent-fg: #4ade80}[data-theme=dark][data-accent=ocean]{--z-brand-100: #10233b;--z-accent-fg: #7db4f2}[data-theme=dark][data-accent=violet]{--z-brand-100: #241141;--z-accent-fg: #b79cf5}[data-theme=dark][data-accent=indigo]{--z-brand-100: #1e1c46;--z-accent-fg: #a5b0fb}[data-theme=dark][data-accent=rose]{--z-brand-100: #3a1024;--z-accent-fg: #f490b8}[data-theme=dark][data-accent=terracotta]{--z-brand-100: #3a1c0d;--z-accent-fg: #f29068}[data-theme=dark][data-accent=amber]{--z-brand-100: #32240a;--z-accent-fg: #e8b95c}[data-theme=dark][data-accent=teal]{--z-brand-100: #0c2f3a;--z-accent-fg: #67cfe8}.zira-error-boundary{display:grid;place-items:center;min-height:100dvh;padding:var(--z-space-4);background:var(--z-bg)}.zira-error-card{max-width:30rem;padding:var(--z-space-6);background:var(--z-surface);border:1px solid var(--z-border);border-top:3px solid var(--z-danger);border-radius:var(--z-radius-lg);box-shadow:var(--z-shadow-2);color:var(--z-text);text-align:center}.zira-error-card h1{margin:0 0 var(--z-space-3);font-size:var(--z-text-xl);color:var(--z-danger)}.zira-error-card p{margin:0 0 var(--z-space-3);line-height:1.5}.zira-error-hint{color:var(--z-text-muted);font-size:var(--z-text-sm)}.zira-error-actions{display:flex;gap:var(--z-space-3);justify-content:center;flex-wrap:wrap;margin-top:var(--z-space-4)}.zira-error-actions button{min-height:var(--z-touch-target);padding:0 var(--z-space-6);border:none;border-radius:var(--z-radius-md);background:var(--z-brand-600);color:var(--z-text-inverse);font-weight:600;font-size:var(--z-text-md);cursor:pointer}.zira-error-actions button.secondary{background:var(--z-bg);color:var(--z-text-muted);border:1px solid var(--z-border)}.zira-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:grid;place-items:center;z-index:100;padding:var(--z-space-4)}.zira-modal{width:min(560px,94vw);max-height:85dvh;display:flex;flex-direction:column;background:var(--z-surface);border:1px solid var(--z-border);border-radius:var(--z-radius-lg);box-shadow:var(--z-shadow-2);color:var(--z-text)}.zira-modal:focus{outline:none}.zira-modal-head{display:flex;align-items:center;gap:var(--z-space-3);padding:var(--z-space-4);border-bottom:1px solid var(--z-border)}.zira-modal-head h2{margin:0;flex:1;font-size:var(--z-text-lg);color:var(--z-brand-600)}.zira-modal-head button{min-width:var(--z-touch-target);min-height:var(--z-touch-target);border:none;background:none;color:var(--z-text-muted);font-size:var(--z-text-xl);cursor:pointer;border-radius:var(--z-radius-sm)}@media(hover:hover){.zira-modal-head button:hover{background:var(--z-surface-hover)}}.zira-modal-body{padding:var(--z-space-4);overflow-y:auto}.zira-modal-foot{display:flex;justify-content:flex-end;gap:var(--z-space-2);padding:var(--z-space-4);border-top:1px solid var(--z-border)}.zira-field{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--z-space-3)}.zira-field>label{font-size:var(--z-text-sm);color:var(--z-text-muted);font-weight:600}.zira-field input,.zira-field select,.zira-field textarea{width:100%;min-height:var(--z-touch-target);padding:0 var(--z-space-3);border:1px solid var(--z-border);border-radius:var(--z-radius-md);background:var(--z-bg);color:var(--z-text);font-size:var(--z-text-md)}.zira-req{color:var(--z-danger)}.zira-field-hint{color:var(--z-text-muted);font-size:var(--z-text-xs)}.zira-field-err{color:var(--z-danger);font-size:var(--z-text-xs)}.zira-confirm-body{margin-bottom:var(--z-space-3);line-height:1.5}.zira-btn,.zira-btn-danger,.zira-btn-ghost{min-height:var(--z-touch-target);padding:0 var(--z-space-6);border:none;border-radius:var(--z-radius-md);font-weight:600;font-size:var(--z-text-md);cursor:pointer}.zira-btn{background:var(--z-brand-600);color:var(--z-text-inverse)}.zira-btn-danger{background:var(--z-danger);color:var(--z-text-inverse)}.zira-btn-ghost{background:var(--z-bg);color:var(--z-text-muted);border:1px solid var(--z-border)}.zira-btn:disabled,.zira-btn-danger:disabled{opacity:.4;cursor:default}:root{--z-logo-knockout: #ffffff}:root[data-theme=dark]{--z-logo-knockout: #101513}*{box-sizing:border-box}body{margin:0;background:var(--z-bg);color:var(--z-text);font-family:var(--z-font-sans);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}button,input,select{touch-action:manipulation;color:inherit}.register-shell{display:flex;flex-direction:column;height:100dvh;overflow:hidden;background:var(--z-bg);position:relative;z-index:0}.topbar{display:flex;align-items:center;gap:var(--z-space-3);padding:max(var(--z-space-2),env(safe-area-inset-top)) max(var(--z-space-4),env(safe-area-inset-right)) var(--z-space-2) max(var(--z-space-4),env(safe-area-inset-left));background:var(--z-surface);border-bottom:1px solid var(--z-border)}.topbar .spacer{flex:1}.pill{display:inline-flex;align-items:center;gap:4px;font-size:var(--z-text-xs);font-weight:600;padding:3px 10px;border-radius:999px}.pill-online{background:var(--z-pill-ok-bg);color:var(--z-pill-ok-fg)}.pill-offline{background:var(--z-pill-warn-bg);color:var(--z-pill-warn-fg)}.pill-queued{background:var(--z-pill-info-bg);color:var(--z-pill-info-fg)}.link-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--z-text-muted);cursor:pointer;font-size:var(--z-text-sm);min-height:var(--z-touch-target);padding:0 var(--z-space-3)}.link-btn.inline{min-height:auto;padding:0;color:var(--z-accent-fg);text-decoration:underline}.topbar-divider{width:1px;height:24px;background:var(--z-border)}.topbar-actions{display:contents}.topbar-more{display:none;align-items:center;justify-content:center;min-width:var(--z-touch-target);min-height:var(--z-touch-target);border:1px solid var(--z-border);border-radius:var(--z-radius-md);background:var(--z-surface);color:var(--z-text);cursor:pointer;touch-action:manipulation}.more-sheet{display:flex;flex-direction:column;gap:var(--z-space-1)}.more-identity{margin:0 0 var(--z-space-2);font-size:var(--z-text-sm)}.more-row{display:flex;align-items:center;gap:var(--z-space-2);width:100%;min-height:var(--z-touch-target);padding:0 var(--z-space-3);border:1px solid var(--z-border);border-radius:var(--z-radius-md);background:var(--z-bg);color:var(--z-text);font-size:var(--z-text-md);font-weight:600;text-align:left;cursor:pointer;touch-action:manipulation}@media(hover:hover){.more-row:hover{background:var(--z-surface-hover)}}.more-row-danger{color:var(--z-danger)}.opt-attrs{display:flex;align-items:center;flex-wrap:wrap;gap:var(--z-space-2);flex:1;min-width:0}.opt-chip{display:inline-flex;align-items:center;gap:var(--z-space-1)}.opt-sep{color:var(--z-text-muted);margin-right:var(--z-space-1)}.opt-swatch{width:1rem;height:1rem;border-radius:999px;flex:0 0 auto;box-shadow:inset 0 0 0 1px #00000040}.confirm-dialog{max-width:26rem;width:100%}.confirm-actions{display:flex;gap:var(--z-space-2);margin-top:var(--z-space-4)}.confirm-actions .btn-ghost,.confirm-actions .pay-btn{flex:1;margin-top:0;min-height:var(--z-touch-target);font-size:var(--z-text-md)}.btn-ghost{border:1px solid var(--z-border);border-radius:var(--z-radius-md);background:var(--z-surface);color:var(--z-text);font-weight:600;cursor:pointer;touch-action:manipulation}@media(hover:hover){.btn-ghost:hover{background:var(--z-surface-hover)}}.pay-btn.danger{background:var(--z-danger)}.catalog-tools{display:flex;gap:var(--z-space-2);align-items:stretch}.catalog-tools .search-wrap{flex:1;min-width:0}.view-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:var(--z-touch-target);min-height:var(--z-touch-target);flex:0 0 auto;border:1px solid var(--z-border);border-radius:var(--z-radius-md);background:var(--z-surface);color:var(--z-text);cursor:pointer;touch-action:manipulation}@media(hover:hover){.view-toggle:hover{background:var(--z-surface-hover)}}.search-wrap{position:relative;display:flex}.search-wrap .search{flex:1;padding-right:48px}.search-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);min-width:var(--z-touch-target-min);min-height:var(--z-touch-target-min);display:inline-flex;align-items:center;justify-content:center;border:none;background:none;color:var(--z-text-muted);cursor:pointer;touch-action:manipulation}.toast-action{margin-left:var(--z-space-3);border:1px solid rgb(255 255 255 / .6);background:none;color:inherit;font-weight:700;border-radius:var(--z-radius-sm);padding:2px 12px;min-height:var(--z-touch-target-min);cursor:pointer}.register{display:grid;grid-template-columns:1fr clamp(280px,32%,400px);grid-template-rows:1fr;gap:var(--z-space-4);flex:1;min-height:0;padding:var(--z-space-4);overflow:hidden}.catalog-pane{display:flex;flex-direction:column;gap:var(--z-space-3);overflow-y:auto;min-height:0}.search{min-height:var(--z-touch-target);padding:0 var(--z-space-3);border:1px solid var(--z-border);border-radius:var(--z-radius-md);background:var(--z-surface);color:var(--z-text);font-size:var(--z-text-md)}.centered-screen{display:grid;place-items:center;min-height:100dvh;padding:max(var(--z-space-4),env(safe-area-inset-top)) max(var(--z-space-4),env(safe-area-inset-right)) max(var(--z-space-4),env(safe-area-inset-bottom)) max(var(--z-space-4),env(safe-area-inset-left));background:var(--z-bg);position:relative;z-index:0}.panel{background:var(--z-surface);border:1px solid var(--z-border);border-radius:var(--z-radius-lg);box-shadow:var(--z-shadow-2);padding:var(--z-space-6)}.login-panel{display:flex;flex-direction:column;gap:var(--z-space-3);width:min(380px,90vw)}.login-panel h1{margin:0;color:var(--z-brand-600)}.method-toggle{display:flex;flex-wrap:wrap;gap:var(--z-space-2)}.method-toggle button{flex:1 1 calc(33% - var(--z-space-2));min-width:80px}.method-toggle button{min-height:var(--z-touch-target);border:1px solid var(--z-border);border-radius:var(--z-radius-md);background:var(--z-bg);color:var(--z-text-muted);font-size:var(--z-text-md);font-weight:600;cursor:pointer}.method-toggle button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.method-toggle button.active{background:var(--z-brand-100);border-color:var(--z-brand-500);color:var(--z-accent-fg)}.login-panel input,.login-panel select,.modal input,.modal select{min-height:var(--z-touch-target);padding:0 var(--z-space-3);border:1px solid var(--z-border);border-radius:var(--z-radius-md);background:var(--z-bg);color:var(--z-text);font-size:var(--z-text-md)}.muted{color:var(--z-text-muted)}.field-label{font-size:var(--z-text-sm);color:var(--z-text-muted);margin-bottom:-6px}.pw-wrap{display:flex;align-items:center;gap:var(--z-space-2)}.pw-wrap input{flex:1}.auth-links{display:flex;justify-content:space-between;gap:var(--z-space-2)}.error{color:var(--z-danger);font-size:var(--z-text-sm);margin:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:grid;place-items:center;z-index:10}.modal{width:min(420px,92vw);display:flex;flex-direction:column;gap:var(--z-space-3)}.modal h2{margin:0}.modal .row{display:flex;justify-content:space-between;font-size:var(--z-text-lg)}.toast{position:fixed;bottom:var(--z-space-6);left:50%;transform:translate(-50%);padding:var(--z-space-3) var(--z-space-6);border-radius:var(--z-radius-md);box-shadow:var(--z-shadow-2);font-weight:600;z-index:20}.toast-ok{background:var(--z-brand-500);color:var(--z-text-inverse)}.toast-warn{background:var(--z-warning);color:var(--z-text-inverse)}.receipt{font-family:var(--z-font-mono);font-size:var(--z-text-sm)}.install-prompt{position:fixed;left:var(--z-space-4);right:var(--z-space-4);bottom:var(--z-space-4);max-width:26rem;margin:0 auto;display:flex;align-items:center;gap:var(--z-space-3);padding:var(--z-space-4);background:var(--z-surface-raised);border:1px solid var(--z-border);border-radius:var(--z-radius-lg);box-shadow:var(--z-shadow-2);z-index:15}.install-prompt-body{flex:1;min-width:0}.install-prompt-title{margin:0;font-weight:600;font-size:var(--z-text-sm)}.install-prompt-text{margin:2px 0 0;color:var(--z-text-muted);font-size:var(--z-text-xs);line-height:1.4}.install-prompt-action{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;min-height:var(--z-touch-target-min);padding:0 var(--z-space-4);border:none;border-radius:var(--z-radius-sm);background:var(--z-brand-600);color:var(--z-text-inverse);font-weight:600;font-size:var(--z-text-sm);cursor:pointer}.install-prompt-dismiss{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:var(--z-touch-target-min);min-height:var(--z-touch-target-min);border:none;background:none;color:var(--z-text-muted);cursor:pointer;touch-action:manipulation}@media(max-width:420px){.install-prompt{align-items:flex-start}}.receipt h3{margin:0;text-align:center}.receipt hr{border:none;border-top:1px dashed var(--z-border)}.receipt .row{display:flex;justify-content:space-between;font-size:var(--z-text-sm);padding:1px 0;font-variant-numeric:tabular-nums}.receipt-footer{text-align:center}.receipt-actions{display:flex;gap:var(--z-space-3);justify-content:flex-end;align-items:center}.send-receipt{display:flex;gap:var(--z-space-2);align-items:center}.send-receipt input{flex:1;min-height:var(--z-touch-target);padding:0 var(--z-space-3);border:1px solid var(--z-border);border-radius:var(--z-radius-md);background:var(--z-bg);color:var(--z-text)}.send-receipt button:disabled{opacity:.4}@media print{body *{visibility:hidden}#receipt-print,#receipt-print *{visibility:visible}#receipt-print{position:fixed;inset:0 auto auto 0;width:72mm;background:#fff;color:#000}body[data-print=ticket] #receipt-print,body[data-print=ticket] #receipt-print *{visibility:hidden}body[data-print=ticket] #ticket-print,body[data-print=ticket] #ticket-print *{visibility:visible}body[data-print=ticket] #ticket-print{display:block;position:fixed;inset:0 auto auto 0;width:72mm;background:#fff;color:#000}}.kitchen-ticket{display:none;font-family:ui-monospace,Courier New,monospace}.kitchen-ticket h3{margin:0 0 var(--z-space-1);font-size:1rem}.kitchen-ticket h4{margin:var(--z-space-2) 0 var(--z-space-1);border-bottom:1px dashed #000;font-size:.95rem}.kitchen-ticket .ticket-line{margin-bottom:var(--z-space-1);font-size:1.05rem}.receipt-mod span{font-size:.85em}.mod-sheet{max-height:80vh;overflow-y:auto}.mod-group{margin-bottom:var(--z-space-3)}.mod-group-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--z-space-2)}.mod-required{color:var(--z-danger)}.mod-options{display:flex;flex-wrap:wrap;gap:var(--z-space-2)}.mod-option{display:inline-flex;align-items:center;gap:var(--z-space-2);min-height:44px;padding:var(--z-space-2) var(--z-space-3);border:1px solid var(--z-border);border-radius:var(--z-radius-md);background:var(--z-surface);color:var(--z-text);cursor:pointer}.mod-option.active{border-color:var(--z-accent-fg);background:var(--z-accent-fg);color:var(--z-accent-fg)}.mod-option .mod-delta{font-size:.85em;opacity:.85}.cart-line-mods{display:block;font-size:.8rem;color:var(--z-text-muted)}.cart-line-serial{display:block;font-size:.8rem;color:var(--z-text-muted);font-variant-numeric:tabular-nums;letter-spacing:.02em}.promo-badge{display:inline-block;margin-top:2px;padding:0 6px;background:color-mix(in srgb,var(--z-success) 12%,transparent);border:1px solid color-mix(in srgb,var(--z-success) 30%,transparent);border-radius:4px;font-size:.72rem;font-weight:700;color:var(--z-success);letter-spacing:.04em}.serial-sheet{max-width:28rem}.serial-sheet .serial-input{width:100%;font-size:1rem;letter-spacing:.05em;text-transform:uppercase}.job-sheet{max-width:30rem}.job-no-input{font-size:1.4rem;font-variant-numeric:tabular-nums;letter-spacing:.04em;padding:.4rem .75rem}.job-amount-input{width:100%;font-size:1.5rem;font-variant-numeric:tabular-nums;text-align:right;padding:.4rem .75rem}.job-detail-card{border:1px solid var(--z-border);border-radius:var(--z-radius-md);padding:var(--z-space-3);margin-bottom:var(--z-space-3);background:var(--z-surface)}.job-detail-header{display:flex;align-items:center;gap:var(--z-space-2);margin-bottom:var(--z-space-2)}.job-no-badge{font-size:1.2rem;font-weight:700;font-variant-numeric:tabular-nums}.job-description{font-size:.95rem;margin:0 0 var(--z-space-1);line-height:1.4}.job-status-badge{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:1rem;text-transform:capitalize;letter-spacing:.02em}.status-received{background:var(--z-pill-info-bg);color:var(--z-info)}.status-in_progress{background:var(--z-pill-warn-bg);color:var(--z-warning)}.status-ready{background:var(--z-pill-ok-bg);color:var(--z-success)}.job-receipt{text-align:center;padding:var(--z-space-4) 0}.receipt-ok-icon{font-size:3rem;color:var(--z-success);margin-bottom:var(--z-space-2)}.error-msg{color:var(--z-danger);font-size:.875rem;margin:var(--z-space-1) 0 0}.staff-select{margin-left:auto;max-width:10rem;min-height:var(--z-touch-target-min);padding:4px var(--z-space-2);font-size:var(--z-text-sm);background:var(--z-bg);color:var(--z-text);border:1px solid var(--z-border);border-radius:var(--z-radius-sm)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--z-space-3);align-content:start}@media(min-width:721px)and (max-width:1023px){.product-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.product-tile{display:flex;flex-direction:column;height:96px;padding:var(--z-space-3);background:var(--z-surface);border:1px solid var(--z-border);border-radius:var(--z-radius-md);box-shadow:var(--z-shadow-1);font-size:var(--z-text-md);cursor:pointer;text-align:left;overflow:hidden;content-visibility:auto;contain-intrinsic-size:0 96px}.product-tile.with-image{height:172px;contain-intrinsic-size:0 172px}.density-large .product-tile{font-size:var(--z-text-lg)}.tile-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25}.product-tile .price{margin-top:auto}.product-list{display:flex;flex-direction:column;gap:var(--z-space-2)}.product-row{display:flex;align-items:center;justify-content:space-between;gap:var(--z-space-3);min-height:var(--z-touch-target-lg);padding:var(--z-space-2) var(--z-space-3);background:var(--z-surface);border:1px solid var(--z-border);border-radius:var(--z-radius-md);cursor:pointer;text-align:left;font-size:var(--z-text-md);touch-action:manipulation;content-visibility:auto;contain-intrinsic-size:0 56px}.product-row:active{background:var(--z-brand-100)}.row-main{display:flex;flex-direction:column;min-width:0;flex:1}.row-main .tile-name{-webkit-line-clamp:1}.row-secondary{color:var(--z-text-muted);font-size:var(--z-text-sm);font-family:var(--z-font-mono)}.row-price{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.product-tile:active{background:var(--z-brand-100)}.product-tile .price{display:block;color:var(--z-text-muted);font-size:var(--z-text-sm);margin-top:var(--z-space-1)}.tile-img{display:block;width:100%;height:72px;object-fit:cover;border-radius:var(--z-radius-sm);margin-bottom:var(--z-space-2);background:var(--z-bg)}.tile-img-empty{border:1px dashed var(--z-border)}.tile-emoji{display:flex;align-items:center;justify-content:center;font-size:2.5rem;line-height:1;background:var(--z-bg)}.row-media{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px}.row-img{width:40px;height:40px;object-fit:cover;border-radius:var(--z-radius-sm);border:1px solid var(--z-border)}.row-emoji{font-size:1.75rem;line-height:1}.row-emoji-empty{width:40px;height:40px;border-radius:var(--z-radius-sm);background:var(--z-bg)}.variant-hint{color:var(--z-brand-600);font-weight:600}.pill-failed{background:var(--z-pill-danger-bg);color:var(--z-pill-danger-fg)}.qty-stepper{display:inline-flex;align-items:center;gap:2px}.qty-stepper button{min-width:var(--z-touch-target);min-height:var(--z-touch-target-min);border:1px solid var(--z-border);border-radius:var(--z-radius-sm);background:var(--z-bg);color:var(--z-text);font-size:var(--z-text-md);cursor:pointer;touch-action:manipulation}.qty-stepper .qty-remove{color:var(--z-danger);margin-left:var(--z-space-1)}.qty-stepper .qty-discount{font-size:var(--z-text-sm);min-width:40px}.qty-stepper .qty-discount.active{background:var(--z-brand-100);color:var(--z-accent-fg);border-color:var(--z-brand-500)}.qty-value{min-width:28px;text-align:center;font-variant-numeric:tabular-nums}.cart-line-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cart-line-product-name{flex:1;min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:600;font-size:var(--z-text-md)}.cart-line-amount{font-weight:600;font-size:var(--z-text-md);white-space:nowrap;font-variant-numeric:tabular-nums}.quick-tender{display:flex;gap:var(--z-space-2)}.quick-tender button{flex:1;min-height:var(--z-touch-target);border:1px solid var(--z-border);border-radius:var(--z-radius-md);background:var(--z-bg);color:var(--z-text);font-weight:600;cursor:pointer;touch-action:manipulation}.cart{background:var(--z-surface);border:1px solid var(--z-border);border-radius:var(--z-radius-lg);padding:var(--z-space-4);display:flex;flex-direction:column;container-type:inline-size;container-name:cart;min-height:0}.cart h2{margin:0 0 var(--z-space-3);font-size:var(--z-text-lg)}.cart-head{display:flex;justify-content:space-between;align-items:center}.cart-head h2{margin:0}.pill.as-btn{border:none;cursor:pointer;touch-action:manipulation}.split-rows{display:flex;flex-direction:column;gap:var(--z-space-2)}.split-row{display:flex;gap:var(--z-space-2);align-items:center}.split-row select{min-width:110px}.split-row input{flex:1}.split-remainder{flex:1;text-align:right;font-variant-numeric:tabular-nums;color:var(--z-text-muted)}.parked-row{gap:var(--z-space-2);align-items:center;border-bottom:1px solid var(--z-border);padding:var(--z-space-2) 0}.danger-text{color:var(--z-danger)!important}.cart-lines{flex:1;min-height:0;overflow-y:auto}.cart-line{display:flex;flex-direction:column;gap:var(--z-space-2);padding:var(--z-space-3) 0;border-bottom:1px solid var(--z-border);font-variant-numeric:tabular-nums}.cart-line-header{display:flex;align-items:baseline;gap:var(--z-space-3)}.cart-line-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--z-space-1) var(--z-space-2)}.cart-line-meta:empty{display:none}.cart-line-controls{display:flex;align-items:center;gap:var(--z-space-2);flex-wrap:wrap}@container cart (max-width: 320px){.cart-line-header{flex-direction:column;align-items:stretch;gap:var(--z-space-1)}.cart-line-amount{align-self:flex-end}.staff-select{margin-left:0;max-width:none;width:100%}}.totals{margin-top:var(--z-space-3);font-variant-numeric:tabular-nums}.totals .row{display:flex;justify-content:space-between;color:var(--z-text-muted);font-size:var(--z-text-sm);padding:2px 0}.totals .grand{color:var(--z-text);font-size:clamp(1.4rem,1.2rem + 1.5vw,1.8rem);font-weight:700;padding-top:var(--z-space-2)}.tile-name{font-size:clamp(.95rem,.9rem + .45vw,1.15rem)}.product-tile .price,.product-row .price{font-size:clamp(.9rem,.86rem + .3vw,1.05rem)}.pay-btn{margin-top:var(--z-space-3);min-height:var(--z-touch-target-lg);border:none;border-radius:var(--z-radius-md);background:var(--z-brand-600);color:var(--z-text-inverse);font-size:var(--z-text-lg);font-weight:600;cursor:pointer}@media(hover:hover){.pay-btn:hover:not(:disabled){background:var(--z-brand-500)}}.pay-btn:disabled{opacity:.4;cursor:default}@media(max-width:720px){.register-shell{height:auto;overflow:visible}.topbar-actions{display:none}.topbar-more{display:inline-flex}.register{grid-template-columns:1fr;grid-template-rows:auto;overflow:visible}.catalog-pane{overflow-y:visible}.cart{position:sticky;bottom:0;z-index:5;max-height:45dvh;box-shadow:var(--z-shadow-2);padding-bottom:max(var(--z-space-4),env(safe-area-inset-bottom))}.cart-lines{max-height:18dvh;overflow-y:auto}}.rental-sheet{max-width:32rem;width:100%}.rental-body{display:flex;flex-direction:column;gap:var(--z-space-3);padding:var(--z-space-3) 0 0}.rental-asset-list{display:flex;flex-direction:column;gap:var(--z-space-2);max-height:14rem;overflow-y:auto}.rental-asset-card{display:flex;flex-direction:column;gap:2px;padding:var(--z-space-2) var(--z-space-3);background:var(--z-surface);border:1px solid var(--z-border);border-radius:var(--z-radius-md);text-align:left;cursor:pointer;min-height:56px;touch-action:manipulation}.rental-asset-card.selected{border-color:var(--z-brand-600);background:var(--z-brand-100)}.rental-asset-name{font-weight:600;font-size:var(--z-text-md)}.rental-asset-cat{font-size:var(--z-text-sm);color:var(--z-text-muted)}.rental-asset-rate{font-size:var(--z-text-sm);color:var(--z-accent-fg);font-weight:500}.rental-deposit-badge{color:var(--z-text-muted);font-weight:400}.rental-form{display:flex;flex-direction:column;gap:var(--z-space-2);border-top:1px solid var(--z-border);padding-top:var(--z-space-3)}.field-label{display:flex;flex-direction:column;gap:4px;font-size:var(--z-text-sm);color:var(--z-text-muted)}.rental-days-input{width:5rem;padding:var(--z-space-2);border:1px solid var(--z-border);border-radius:var(--z-radius-sm);background:var(--z-bg);color:var(--z-text);font-size:var(--z-text-lg);font-weight:600;text-align:center}.rental-calc{font-size:var(--z-text-sm);margin:0}.rental-return-link{font-size:var(--z-text-sm);color:var(--z-text-muted);text-align:center;padding:var(--z-space-2) 0 0}.rental-overdue{color:var(--z-danger);font-weight:600}.loyalty-section{border:1px solid var(--z-accent-fg);border-radius:8px;padding:10px 12px;margin-top:8px;background:color-mix(in srgb,var(--z-accent-fg) 6%,transparent)}.loyalty-header{margin:0 0 8px;font-weight:600;font-size:.85rem;color:var(--z-accent-fg)}.loyalty-star{margin-right:4px}.loyalty-balance-row span{font-size:.9rem}.loyalty-pts{font-weight:600;color:var(--z-accent-fg)}.loyalty-value{font-weight:400;font-size:.8em;opacity:.8}.loyalty-redeem-row{display:flex;align-items:center;gap:8px;margin-top:6px}.loyalty-redeem-label{display:flex;align-items:center;gap:8px;font-size:.85rem;flex:1}.loyalty-redeem-label input{width:90px;padding:4px 8px;font-size:var(--z-text-md);min-height:var(--z-touch-target-min)}.loyalty-min-note{margin-top:4px;font-size:.78rem}.loyalty-discount-row{opacity:.9}.loyalty-savings{color:var(--z-accent-fg);font-weight:600}.loyalty-earned-row{background:color-mix(in srgb,var(--z-accent-fg) 8%,transparent);border-radius:4px;padding:4px 0;margin:4px 0}.loyalty-earned-row span:first-child{color:var(--z-accent-fg);font-weight:600}.gc-section{background:color-mix(in srgb,var(--z-success) 6%,transparent);border:1px solid color-mix(in srgb,var(--z-success) 20%,transparent);border-radius:var(--z-radius-md);padding:var(--z-space-3);margin-top:var(--z-space-3)}.gc-header{font-size:.82rem;font-weight:600;margin:0 0 8px;color:var(--z-text)}.gc-input-row{display:flex;gap:8px}.gc-code-input{flex:1;padding:6px 10px;font-size:var(--z-text-md);min-height:var(--z-touch-target-min);border:1px solid var(--z-border);border-radius:6px;background:var(--z-bg);color:var(--z-text);letter-spacing:.08em;text-transform:uppercase}.gc-balance-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.gc-balance{font-weight:600;font-size:.9rem;color:var(--z-success)}.gc-expiry{font-size:.76rem}.gc-amount-label{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;gap:8px;margin-bottom:6px}.gc-amount-label input{width:110px;padding:4px 8px;font-size:var(--z-text-md);min-height:var(--z-touch-target-min);border:1px solid var(--z-border);border-radius:6px;background:var(--z-bg);color:var(--z-text)}.gc-applied-row{opacity:.9}.gc-savings{color:var(--z-success);font-weight:600}.tip-section{padding-bottom:var(--z-space-3);margin-bottom:var(--z-space-2);border-bottom:1px solid var(--z-border)}.tip-presets{display:flex;gap:var(--z-space-1);flex-wrap:wrap;margin-top:var(--z-space-1)}.tip-btn{padding:.3rem .7rem;border:1px solid var(--z-border);border-radius:var(--z-radius-sm);background:var(--z-surface);color:var(--z-text);font-size:.85rem;cursor:pointer;transition:background .12s,color .12s}@media(hover:hover){.tip-btn:hover{background:var(--z-surface-hover)}}.tip-btn.active{background:var(--z-accent-fg);color:var(--z-text-inverse);border-color:var(--z-accent-fg);font-weight:600}@keyframes z-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton-tile{border-radius:var(--z-radius-md);background:linear-gradient(90deg,var(--z-border) 25%,color-mix(in srgb,var(--z-border) 60%,var(--z-bg)) 50%,var(--z-border) 75%);background-size:800px 100%;animation:z-shimmer 1.4s infinite linear;min-height:72px}@media(prefers-reduced-motion:reduce){.skeleton-tile{animation:none}}.suspended-banner{padding:var(--z-space-3) var(--z-space-4);background:color-mix(in srgb,var(--z-danger) 14%,var(--z-surface));border-bottom:2px solid var(--z-danger);color:var(--z-text);font-size:var(--z-text-sm);line-height:1.4}.suspended-banner strong{color:var(--z-danger)}.customer-display{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--z-space-8);background:var(--z-bg);color:var(--z-text);text-align:center}.customer-display-idle{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:var(--z-space-8);background:linear-gradient(160deg,var(--z-brand-100) 0%,var(--z-bg) 55%)}.customer-display-badge{display:inline-flex;align-items:center;gap:var(--z-space-2);color:var(--z-text-muted);font-size:var(--z-text-sm);font-weight:600;letter-spacing:.02em;opacity:.7}.customer-display-hero{display:flex;flex-direction:column;align-items:center;gap:var(--z-space-2)}.customer-display-welcome-to{margin:0;font-size:1.5rem;font-weight:500;color:var(--z-text-muted)}.customer-display-business{margin:0;font-size:clamp(2.5rem,8vw,5rem);font-weight:700;color:var(--z-accent-fg);line-height:1.15;text-wrap:balance}.customer-display-tagline{margin:var(--z-space-2) 0 0;font-size:1.25rem;color:var(--z-text-muted)}.customer-display-clock{margin:0;font-size:1.5rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--z-text-muted)}.customer-display-cart{display:flex;flex-direction:column;width:min(100%,40rem);height:100%;max-height:90vh}.customer-display-lines{list-style:none;margin:0;padding:0;flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--z-space-3)}.customer-display-lines li{display:flex;justify-content:space-between;gap:var(--z-space-4);font-size:1.5rem;padding:var(--z-space-2) 0;border-bottom:1px solid var(--z-border)}.customer-display-line-name{text-align:left;overflow-wrap:anywhere}.customer-display-line-amount{font-variant-numeric:tabular-nums;white-space:nowrap}.customer-display-totals{border-top:2px solid var(--z-border);margin-top:var(--z-space-4);padding-top:var(--z-space-4)}.customer-display-subrow{display:flex;justify-content:space-between;font-size:1.25rem;color:var(--z-text-muted);margin-bottom:var(--z-space-2)}.customer-display-total{display:flex;justify-content:space-between;font-size:3rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--z-brand-600)}.customer-display-payment{display:flex;flex-direction:column;align-items:center;gap:var(--z-space-4);width:min(100%,30rem)}.customer-display-thanks{margin:0;font-size:3rem;font-weight:700}.customer-display-payment .customer-display-total{width:100%}.customer-display-change{width:100%;font-size:1.75rem}.customer-display-loyalty{margin:var(--z-space-4) 0 0;font-size:1.25rem;color:var(--z-text-muted)}
